You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1380 lines
72 KiB
1380 lines
72 KiB
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
using NFine.Code;
|
|
using NFine.Data.Extensions;
|
|
using NFine.Domain._03_Entity.SRM;
|
|
using NFine.Repository;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Data.Common;
|
|
using System.Data.SqlClient;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Mail;
|
|
using System.Net.Security;
|
|
using System.Security.Cryptography.X509Certificates;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using NFine.Domain._03_Entity.SRM;
|
|
|
|
namespace NFine.Application.SRM
|
|
{
|
|
public class BicDoc_PublishApp : RepositoryFactory<ICSVendor>
|
|
{
|
|
string GUID = Guid.NewGuid().ToString();
|
|
//列表查询
|
|
public DataTable GetGridJson(string queryJson, ref Pagination jqgridparam)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
|
|
string sql = @" SELECT
|
|
a.ID,
|
|
a.BidCode ,
|
|
a.BidName ,
|
|
a.BidUser UserName ,
|
|
a.StarTime ,
|
|
a.EndTime ,
|
|
a.BidStatus ,
|
|
a.BidStatus AS BidStatuss,
|
|
a.Remark ,
|
|
c.F_RealName UserName1 ,
|
|
a.OpenTime ,a.MTIME,
|
|
a.WorkPoint,
|
|
a.BidTime
|
|
FROM ICSBidDoc a
|
|
LEFT JOIN Sys_SRM_User b ON a.BidUser=b.F_Account
|
|
LEFT JOIN Sys_SRM_User c ON a.Tenders=c.F_Account
|
|
WHERE 1=1 and a.Status<>'0' ";
|
|
if (!string.IsNullOrWhiteSpace(queryJson))
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(queryParam["BidCode"].ToString()))
|
|
{
|
|
sql += " and a.BidCode like '%" + queryParam["BidCode"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["TimeFrom"].ToString()))
|
|
{
|
|
sql += " and a.StarTime >= '" + queryParam["TimeFrom"].ToString() + "' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["TimeTo"].ToString()))
|
|
{
|
|
sql += " and a.EndTime <= '" + queryParam["TimeTo"].ToString() + "' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["BidStatus"].ToString()))
|
|
{
|
|
//if (queryParam["BidStatus"].ToString() == "已结束")
|
|
//{
|
|
sql += " and a.BidStatus ='" + queryParam["BidStatus"].ToString() + "'";
|
|
//}
|
|
//else if (queryParam["BidStatus"].ToString() == "已保存" || queryParam["BidStatus"].ToString() == "招标中" || queryParam["BidStatus"].ToString() == "已关闭")
|
|
//{
|
|
// sql += " and (a.BidStatus ='" + queryParam["BidStatus"].ToString() + "'and a.BidTime IS NOT NULL) ";
|
|
//}
|
|
//else if (queryParam["BidStatus"].ToString() == "已决标")
|
|
//{
|
|
// sql += " and (a.BidStatus ='" + queryParam["BidStatus"].ToString() + "' and a.BidTime IS NOT NULL) ";
|
|
//}
|
|
|
|
}
|
|
}
|
|
if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
|
|
{
|
|
sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
|
|
}
|
|
//if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
|
|
//{
|
|
// sql += " and a.SupplierCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'";
|
|
//}
|
|
sql += " group by a.ID,a.MTIME, a.BidCode ,a.BidName , a.BidUser,a.StarTime ,a.EndTime ,a.BidStatus ,a.Remark , c.F_RealName ,a.OpenTime ,a.WorkPoint,a.BidTime";
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
//查询招标人列表
|
|
public DataTable GetBidUser(string WorkPoint)
|
|
{
|
|
string ItemCode = string.Empty;
|
|
string F_EnCode = string.Empty;
|
|
string sqlItem = @"SELECT '' as F_ItemCode,'' as F_ItemName
|
|
Union
|
|
select F_ItemCode,b.F_ItemName from [dbo].[Sys_SRM_Items] a
|
|
LEFT JOIN [dbo].[Sys_SRM_ItemsDetail] b on a.F_Id=b.F_itemID
|
|
where F_EnCode like '%{0}%'";
|
|
sqlItem = string.Format(sqlItem, WorkPoint);
|
|
DataTable table = SqlHelper.GetDataTableBySql(sqlItem);
|
|
return table;
|
|
}
|
|
//获取招标书标的列表
|
|
public DataTable GetBidDocBDInfoByCode(string ID, ref Pagination jqgridparam)
|
|
{
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
DataTable dt = new DataTable();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
ID = ID.TrimStart('"').TrimEnd('"');
|
|
string sql = @" SELECT b.ID ,b.InvCode INVCODE,b.Quantity,b.DeliveryTime,b.RowNO
|
|
,c.INVNAME , c.InvUnit ,case when isnull(b.cCode,'')='' then 'ERP' else '请购单' end as Source,b.Remark,c.InvStd,b.cCode FROM ICSBidDoc a
|
|
LEFT JOIN ICSBidDocBD b ON a.BidCode = b.BidCode and b.WorkPoint=b.WorkPoint
|
|
left JOIN ICSINVENTORY c on b.InvCode = c.INVCODE and b.WorkPoint=c.WorkPoint
|
|
WHERE a.ID= '{0}' and a.WorkPoint in ({1})and b.BidCode !='' ";
|
|
sql = string.Format(sql, ID, WorkPoint.TrimEnd(','));
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
public DataTable GetBidDocBDInfoByBidCode(string BidCode, ref Pagination jqgridparam, string WorkPoint)
|
|
{
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
DataTable dt = new DataTable();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
BidCode = BidCode.TrimStart('"').TrimEnd('"');
|
|
string sql = @"SELECT a.ID ,a.InvCode INVCODE,a.Quantity,a.DeliveryTime,a.RowNO
|
|
,b.INVNAME , b.INVUOM ,a.Remark,b.InvStd ,
|
|
case when isnull(a.cCode,'')='' then 'ERP' else '请购单' end as Source
|
|
from ICSBidDocBD a
|
|
LEFT JOIN ICSINVENTORY b ON a.InvCode = b.INVCODE and a.WorkPoint=b.WorkPoint
|
|
LEFT JOIN ICSBidDoc c ON a.BidCode = c.BidCode and b.WorkPoint=c.WorkPoint
|
|
WHERE a.BidCode= '{0}' and a.WorkPoint in ('{1}')";
|
|
sql = string.Format(sql, BidCode, WorkPoint);
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
//获取招标书供应商列表
|
|
public DataTable GetBidDocGYSInfoByCode(string ID, ref Pagination jqgridparam, string WorkPoint)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
ID = ID.TrimStart('"').TrimEnd('"');
|
|
string sql = @"SELECT a.ID,a.SupplierCode cVenCode,b.VenName AS cVenName ,'ERP' Source,a.RowNO--,case when EarnestMoney='1' Then '是'Else'否' End as EarnestMoney
|
|
FROM ICSBidDocGYS a
|
|
LEFT JOIN ICSVendor b on a.SupplierCode=b.VenCode and a.WorkPoint=b.WorkPoint
|
|
LEFT JOIN ICSBidDoc c ON a.BidCode = c.BidCode and b.WorkPoint=c.WorkPoint
|
|
WHERE c.ID = '{0}' and a.WorkPoint = '{1}' ";
|
|
sql = string.Format(sql, ID, WorkPoint);
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
//选择物料列表
|
|
public DataTable GetItemList(string queryJson, ref Pagination jqgridparam, string WorkPoint)
|
|
{
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @"SELECT ID,INVCODE ,INVNAME , InvUnit ,'ERP' Source,InvStd
|
|
FROM ICSINVENTORY WHERE 1=1 and ISNULL(ClassName,'')!='生产类型' ";
|
|
if (!string.IsNullOrEmpty(queryJson))
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(queryParam["INVCODE"].ToString()))
|
|
sql += " and INVCODE like '%" + queryParam["INVCODE"].ToString() + "%'";
|
|
if (!string.IsNullOrWhiteSpace(queryParam["INVNAME"].ToString()))
|
|
sql += " and INVNAME like '%" + queryParam["INVNAME"].ToString() + "%'";
|
|
}
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
sql += " and WorkPoint=('" + WorkPoint + "')";
|
|
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
|
|
//获取主表信息
|
|
public DataRow GetFormDetail(string tmpID, string WorkPoint)
|
|
{
|
|
DataRow dr = null;
|
|
string sql = string.Empty;
|
|
try
|
|
{
|
|
sql = @"SELECT * FROM ICSBidDoc
|
|
WHERE ID='" + tmpID + "' and WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
|
|
dr = SqlHelper.GetDataRowBySql(sql);
|
|
return dr;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
}
|
|
//选择供应商列表
|
|
public DataTable GetVendorList(string queryJson, ref Pagination jqgridparam, string WorkPoint)
|
|
{
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @" SELECT DISTINCT VenCode AS cVenCode ,VenName AS cVenName ,'ERP' Source--,case when EarnestMoney='1' Then '是'Else'否' End as EarnestMoney
|
|
FROM ICSVendor WHERE 1=1";
|
|
if (!string.IsNullOrEmpty(queryJson))
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(queryParam["cVenCode"].ToString()))
|
|
sql += " and VenCode like '%" + queryParam["cVenCode"].ToString() + "%'";
|
|
if (!string.IsNullOrWhiteSpace(queryParam["cVenName"].ToString()))
|
|
sql += " and VenName like '%" + queryParam["cVenName"].ToString() + "%'";
|
|
}
|
|
sql += " and WorkPoint in ('" + WorkPoint + "')";
|
|
//权限设置
|
|
if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
|
|
{
|
|
sql = SqlHelper.OrganizeByVendor_F_ParentId(sql, NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode);
|
|
}
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
|
|
//保存
|
|
public void SaveDetail(ICSBicDoc details)
|
|
{
|
|
string sql = string.Empty;
|
|
try
|
|
{
|
|
List<ICSBidDocBD> list_BD = JsonConvert.DeserializeObject<List<ICSBidDocBD>>(details.arrayBidDocBD);
|
|
List<ICSBidDocGYS> list_GYS = JsonConvert.DeserializeObject<List<ICSBidDocGYS>>(details.arrayBidDocGYS);
|
|
|
|
string connString = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
|
|
SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
|
|
conn.Open();
|
|
SqlTransaction sqlTran = conn.BeginTransaction();
|
|
SqlCommand cmd = new SqlCommand();
|
|
cmd.Transaction = sqlTran;
|
|
cmd.Connection = conn;
|
|
try
|
|
{
|
|
string Muser = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string MuserName = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
sql = "select * from ICSBidDoc where BidCode='" + details.BidCode + "' and ID!='" + details.ID + "' and WorkPoint='" + details.WorkPoint + "'";
|
|
DataTable dt = SqlCommandHelper.SQlReturnData(sql, cmd);
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
{
|
|
throw new Exception("招标书编号已存在");
|
|
}
|
|
|
|
sql = @"IF NOT EXISTS(SELECT * FROM dbo.ICSBidDoc WHERE ID=@ID)
|
|
BEGIN
|
|
INSERT INTO dbo.ICSBidDoc
|
|
( ID, BidCode, BidName, BidUser, StarTime, EndTime, BidStatus, BidType, Remark,
|
|
LogTime, LogUser, WorkPoint, MUSER, MUSERName, MTIME,Status)
|
|
VALUES ( @ID, @BidCode, @BidName , @BidUser , @StarTime , @EndTime , @BidStatus , @BidType , @Remark ,
|
|
getdate() , @LogUser , @WorkPoint ,@MUSER , @MUSERName , getdate(),@Status)
|
|
INSERT INTO dbo.ICSBidLog
|
|
( ID, BidCode, LogType, LogDes, LogTime, LogUser, WorkPoint, MUSER, MUSERName, MTIME )
|
|
VALUES ( newid(), @BidCode, '企业' , '招标书-新增' , getdate() , @LogUser , @WorkPoint ,@MUSER , @MUSERName , getdate())
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE dbo.ICSBidDoc SET
|
|
BidCode=@BidCode , BidName=@BidName ,BidUser=@BidUser, StarTime=@StarTime , EndTime=@EndTime , Remark=@Remark ,
|
|
BidStatus=@BidStatus, BidType=@BidType , LogUser=@LogUser , LogTime=GETDATE(),Status=@Status WHERE ID=@ID
|
|
INSERT INTO dbo.ICSBidLog
|
|
( ID, BidCode, LogType, LogDes, LogTime, LogUser, WorkPoint, MUSER, MUSERName, MTIME )
|
|
VALUES ( newid(), @BidCode, '企业' , '招标书-变更' , getdate() , @LogUser , @WorkPoint ,@MUSER , @MUSERName , getdate())
|
|
END";
|
|
SqlParameter[] sp_Detail = {
|
|
new SqlParameter("@ID",details.ID),
|
|
new SqlParameter("@BidCode",details.BidCode),
|
|
new SqlParameter("@BidName",details.BidName),
|
|
new SqlParameter("@BidUser",details.BidUser),
|
|
new SqlParameter("@StarTime",details.StarTime),
|
|
new SqlParameter("@EndTime",details.EndTime),
|
|
//new SqlParameter("@ZTBCount",details.ZTBCount),
|
|
new SqlParameter("@BidStatus","已保存"),
|
|
new SqlParameter("@BidType","企业"),
|
|
new SqlParameter("@Remark",details.Remark),
|
|
new SqlParameter("@LogUser",Muser),
|
|
new SqlParameter("@WorkPoint",details.WorkPoint),
|
|
new SqlParameter("@Status","1"),
|
|
new SqlParameter("@MUSER",Muser),
|
|
new SqlParameter("@MUSERName",MuserName)
|
|
};
|
|
SqlCommandHelper.CmdExecuteNonQuery(sql, sp_Detail, cmd);
|
|
|
|
#region 标的
|
|
foreach (ICSBidDocBD BD in list_BD)
|
|
{
|
|
sql = @"IF NOT EXISTS(SELECT * FROM dbo.ICSBidDocBD WHERE BidCode=@BidCode and InvCode=@InvCode)
|
|
BEGIN
|
|
INSERT INTO dbo.ICSBidDocBD( ID, BidCode, InvCode, ItemType, Remark, Quantity, DeliveryTime, RowNo,
|
|
WorkPoint, MUSER, MUSERName, MTIME,cCode)
|
|
VALUES ( @ID, @BidCode, @InvCode, @ItemType, @Remark, @Quantity, @DeliveryTime, @RowNo,
|
|
@WorkPoint, @MUSER, @MUSERName, GETDATE(),@cCode)
|
|
--UPDATE ICSPU_AppVouch SET BidCode=@BidCode WHERE cCode=@cCode and cInvCode=@InvCode and WorkPoint=@WorkPoint
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE dbo.ICSBidDocBD SET BidCode=@BidCode,InvCode=@InvCode,ItemType=@ItemType,
|
|
Remark=@Remark,Quantity=@Quantity , DeliveryTime=@DeliveryTime,RowNo=@RowNo,cCode=@cCode
|
|
WHERE ID=@ID
|
|
--UPDATE ICSPU_AppVouch SET BidCode=@BidCode WHERE cCode=@cCode and cInvCode=@InvCode and WorkPoint=@WorkPoint
|
|
END";
|
|
SqlParameter[] sp_BD = {
|
|
new SqlParameter("@ID",BD.ID),
|
|
new SqlParameter("@BidCode",details.BidCode),
|
|
new SqlParameter("@InvCode",BD.InvCode),
|
|
new SqlParameter("@ItemType",BD.ItemType),
|
|
new SqlParameter("@Remark",BD.Remark),
|
|
new SqlParameter("@Quantity",BD.Quantity),
|
|
new SqlParameter("@DeliveryTime",BD.DeliveryTime),
|
|
new SqlParameter("@RowNo",BD.RowNo),
|
|
new SqlParameter("@WorkPoint",details.WorkPoint),
|
|
new SqlParameter("@MUSER",Muser),
|
|
new SqlParameter("@MUSERName",MuserName),
|
|
new SqlParameter("@cCode",BD.cCode)
|
|
};
|
|
SqlCommandHelper.CmdExecuteNonQuery(sql, sp_BD, cmd);
|
|
}
|
|
|
|
#endregion
|
|
#region 临时物料
|
|
|
|
foreach (ICSBidDocBD BD in list_BD)
|
|
{
|
|
if (BD.Source == "手工")
|
|
{
|
|
sql = @"INSERT INTO dbo.ICSINVENTORY
|
|
(
|
|
ID
|
|
,INVCODE
|
|
,INVNAME
|
|
,InvUnit
|
|
,INVSTD
|
|
,ClassCode
|
|
,ClassName
|
|
,MUSER
|
|
,MUSERName
|
|
,MTIME
|
|
,WorkPoint
|
|
)
|
|
VALUES (
|
|
@ID
|
|
,@INVCODE
|
|
,@INVNAME
|
|
,@InvUnit
|
|
,@INVSTD
|
|
,@ClassCode
|
|
,@ClassName
|
|
,@MUSER
|
|
,@MUSERName
|
|
,Getdate()
|
|
,@WorkPoint
|
|
)
|
|
";
|
|
SqlParameter[] sp_INv = {
|
|
new SqlParameter("@ID",BD.ID),
|
|
new SqlParameter("@INVCODE",BD.InvCode),
|
|
new SqlParameter("@INVNAME",BD.INVNAME),
|
|
new SqlParameter("@InvUnit",BD.INVUOM),
|
|
new SqlParameter("@INVSTD",BD.InvStd),
|
|
//new SqlParameter("@INVTYPE","生产类型"),
|
|
new SqlParameter("@ClassCode","生产类型"),
|
|
new SqlParameter("@ClassName","生产类型"),
|
|
new SqlParameter("@WorkPoint",details.WorkPoint),
|
|
new SqlParameter("@MUSER",Muser),
|
|
new SqlParameter("@MUSERName",MuserName),
|
|
//new SqlParameter("@WorkPoint",BD.cCode)
|
|
};
|
|
SqlCommandHelper.CmdExecuteNonQuery(sql, sp_INv, cmd);
|
|
}
|
|
}
|
|
#endregion
|
|
#region 供应商
|
|
foreach (ICSBidDocGYS GYS in list_GYS)
|
|
{
|
|
sql = @"IF NOT EXISTS(SELECT * FROM dbo.ICSBidDocGYS WHERE ID=@ID)
|
|
BEGIN
|
|
INSERT INTO dbo.ICSBidDocGYS (ID, BidCode, SupplierCode, RowNo, ResultConfirmed, WorkPoint, MUSER, MUSERName, MTIME )
|
|
VALUES (@ID, @BidCode, @SupplierCode, @RowNo, @ResultConfirmed, @WorkPoint, @MUSER, @MUSERName,GETDATE())
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE dbo.ICSBidDocGYS SET BidCode=@BidCode, SupplierCode=@SupplierCode, RowNo=@RowNo,
|
|
ResultConfirmed=@ResultConfirmed WHERE ID=@ID
|
|
END";
|
|
SqlParameter[] sp_GYS = {
|
|
|
|
new SqlParameter("@ID",GYS.ID),
|
|
new SqlParameter("@BidCode",details.BidCode),
|
|
new SqlParameter("@SupplierCode",GYS.SupplierCode),
|
|
new SqlParameter("@RowNo",GYS.RowNo),
|
|
new SqlParameter("@ResultConfirmed",GYS.ResultConfirmed),
|
|
new SqlParameter("@WorkPoint",details.WorkPoint),
|
|
new SqlParameter("@MUSER",Muser),
|
|
new SqlParameter("@MUSERName",MuserName),
|
|
};
|
|
SqlCommandHelper.CmdExecuteNonQuery(sql, sp_GYS, cmd);
|
|
|
|
|
|
//投标信息
|
|
sql = @"IF NOT EXISTS(SELECT * FROM dbo.ICSBidInfo WHERE BidCode=@BidCode and SupplierCode=@SupplierCode)
|
|
BEGIN
|
|
INSERT INTO dbo.ICSBidInfo (ID, BidCode, SupplierCode, IsSub, WorkPoint, MUSER, MUSERName, MTIME)
|
|
VALUES (@ID, @BidCode, @SupplierCode, 0, @WorkPoint, @MUSER, @MUSERName,GETDATE())
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE dbo.ICSBidInfo SET BidCode=@BidCode, SupplierCode=@SupplierCode, IsSub=0 WHERE BidCode=@BidCode and SupplierCode=@SupplierCode
|
|
END";
|
|
SqlParameter[] sp_BidInfo = {
|
|
|
|
new SqlParameter("@ID",GYS.ID),
|
|
//new SqlParameter("@TBCount",details.ZTBCount),
|
|
new SqlParameter("@BidCode",details.BidCode),
|
|
new SqlParameter("@SupplierCode",GYS.SupplierCode),
|
|
new SqlParameter("@WorkPoint",details.WorkPoint),
|
|
new SqlParameter("@MUSER",Muser),
|
|
new SqlParameter("@MUSERName",MuserName),
|
|
};
|
|
SqlCommandHelper.CmdExecuteNonQuery(sql, sp_BidInfo, cmd);
|
|
#region 是否付定金
|
|
//sql = @"Update ICSVendor set EarnestMoney=@EarnestMoney Where cVenCode=@VenCode ";
|
|
//SqlParameter[] paras = new SqlParameter[]
|
|
// {
|
|
// new SqlParameter("@EarnestMoney",SqlDbType.NVarChar),
|
|
// new SqlParameter("@VenCode", SqlDbType.NVarChar)
|
|
// };
|
|
|
|
|
|
//paras[0].Value = GYS.IsDid;
|
|
//paras[1].Value = GYS.VenCode;
|
|
//SqlCommandHelper.CmdExecuteNonQuery(sql, paras, cmd);
|
|
#endregion
|
|
|
|
}
|
|
#endregion
|
|
cmd.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
cmd.Transaction.Rollback();
|
|
throw new Exception(ex.Message);
|
|
}
|
|
finally
|
|
{
|
|
if (conn.State == ConnectionState.Open)
|
|
{
|
|
conn.Close();
|
|
}
|
|
conn.Dispose();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
}
|
|
|
|
//开标
|
|
public int UpDateByDocNo(string ID, string BidCode, string WorkPoint)
|
|
{
|
|
string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string MUSERName = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
|
|
ID = ID.TrimStart('"').TrimEnd('"').TrimEnd(',');
|
|
|
|
BidCode = BidCode.TrimStart('"').TrimEnd('"').TrimEnd(',');
|
|
string MailOpen = ConfigurationManager.ConnectionStrings["MailOpen"].ConnectionString;
|
|
if (MailOpen == "true")
|
|
{
|
|
string SendHost = ConfigurationManager.ConnectionStrings["SendHost"].ConnectionString;
|
|
string StrSendPort = ConfigurationManager.ConnectionStrings["SendPort"].ConnectionString;
|
|
int SendPort = 25;
|
|
if (!string.IsNullOrEmpty(StrSendPort))
|
|
SendPort = Convert.ToInt32(ConfigurationManager.ConnectionStrings["SendPort"].ConnectionString);
|
|
string SendDisplayName = ConfigurationManager.ConnectionStrings["SendDisplayName"].ConnectionString;
|
|
string SendAddress = ConfigurationManager.ConnectionStrings["SendAddress"].ConnectionString;
|
|
string SendPassword = ConfigurationManager.ConnectionStrings["SendPassword"].ConnectionString;
|
|
string sqlEmail = @"SELECT SupplierCode,c.F_Email,c.F_RealName,a.StarTime,a.EndTime,a.BidCode FROM ICSBidDoc a
|
|
LEFT JOIN ICSBidInfo b ON b.BidCode=a.BidCode and a.WorkPoint=b.WorkPoint
|
|
LEFT JOIN SYS_SRM_USER c ON b.SupplierCode=c.F_VenCode AND b.WorkPoint=c.F_location
|
|
WHERE a.BIdCode=" + BidCode + " and a.WorkPoint='" + WorkPoint + "'";
|
|
DataTable dt = SqlHelper.GetDataTableBySql(sqlEmail);
|
|
foreach (DataRow dr in dt.Rows)
|
|
{
|
|
|
|
string cVenCode = dr["SupplierCode"].ToString();
|
|
string TOAddress = dr["F_Email"].ToString();
|
|
string[] Partint = TOAddress.Split(';');
|
|
if (!string.IsNullOrEmpty(TOAddress))
|
|
{
|
|
foreach (var p in Partint)
|
|
{
|
|
string CCAddress = "";
|
|
string Subject = "有来自佑伦SRM平台新发布的标书信息";
|
|
bool isBodyHtml = false;
|
|
string F_RealName = dr["F_RealName"].ToString();
|
|
//string StarTime = dr["StarTime"].ToString();
|
|
string EndTime = dr["EndTime"].ToString();
|
|
string BidCodeName = dr["BidCode"].ToString();
|
|
string NowDate = DateTime.Now.GetDateTimeFormats('D')[0].ToString();
|
|
string body = F_RealName + ":";
|
|
body += "\r\n";
|
|
body += " \r\n\r\n\r\n 您有一个 招投书 待投标 ,招标书编号:" + BidCodeName + ",投标截止时间:" + EndTime + ",请尽快登录SRM进行投标!";
|
|
body += "\r\n";
|
|
body += " 顺颂商祺!";
|
|
body += "\r\n";
|
|
body += " 佑伦真空设备科技有限公司";
|
|
body += "\r\n";
|
|
body += " " + NowDate;
|
|
string StrConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
|
|
|
|
if (!string.IsNullOrEmpty(TOAddress))
|
|
{
|
|
try
|
|
{
|
|
SendEmail(StrConn, SendHost, SendPort, SendDisplayName, SendAddress, SendPassword, p.ToString(), CCAddress, Subject, isBodyHtml, body);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception("供应商:" + cVenCode + "邮件发送失败! \r\n" + ex.Message);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
string sql = string.Empty;
|
|
sql = @"UPDATE dbo.ICSBidDoc SET OpenTime=GETDATE() ,
|
|
Tenders='{0}', BidStatus='招标中' , LogUser='{0}' , LogTime=GETDATE() WHERE ID in ({1})
|
|
INSERT INTO dbo.ICSBidLog
|
|
( ID, BidCode, LogType, LogDes, LogTime, LogUser, WorkPoint, MUSER, MUSERName, MTIME )
|
|
SELECT newid(), BidCode, '企业', '招标书-开标', GETDATE(), '{0}', '{3}', '{0}', '{4}', GETDATE()
|
|
FROM ICSBidLog WHERE BidCode in ({2}) and LogDes='招标书-新增'";
|
|
sql = string.Format(sql, MUSER, ID, BidCode, WorkPoint, MUSERName);
|
|
return SqlHelper.ExecuteNonQuery(sql);
|
|
}
|
|
public static void SendEmail(string ConnectionString, string SendHost, int SendPort, string SendDisplayName, string SendAddress, string SendPassword, string TOAddress, string CCAddress, string Subject, bool IsBodyHtml, string Body)
|
|
{
|
|
try
|
|
{
|
|
SmtpClient smtpClient = new SmtpClient
|
|
{
|
|
//EnableSsl = false,
|
|
UseDefaultCredentials = false,
|
|
Host = SendHost,
|
|
Port = SendPort,
|
|
Credentials = new NetworkCredential(SendAddress, SendPassword)
|
|
};
|
|
|
|
MailMessage mailMessage = new MailMessage
|
|
{
|
|
Subject = Subject,
|
|
SubjectEncoding = Encoding.GetEncoding("utf-8"),
|
|
BodyEncoding = Encoding.GetEncoding("utf-8"),
|
|
From = new MailAddress(SendAddress, SendDisplayName),
|
|
IsBodyHtml = IsBodyHtml,
|
|
Body = Body
|
|
};
|
|
string[] array = TOAddress.Split(new char[]
|
|
{
|
|
','
|
|
});
|
|
string[] array2 = array;
|
|
for (int i = 0; i < array2.Length; i++)
|
|
{
|
|
string text = array2[i];
|
|
if (!string.IsNullOrEmpty(text))
|
|
{
|
|
mailMessage.To.Add(text);
|
|
}
|
|
}
|
|
string[] array3 = CCAddress.Split(new char[]
|
|
{
|
|
','
|
|
});
|
|
array2 = array3;
|
|
for (int i = 0; i < array2.Length; i++)
|
|
{
|
|
string text2 = array2[i];
|
|
if (!string.IsNullOrEmpty(text2))
|
|
{
|
|
mailMessage.CC.Add(text2);
|
|
}
|
|
}
|
|
ServicePointManager.ServerCertificateValidationCallback = ((object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) => true);
|
|
smtpClient.Send(mailMessage);
|
|
// InsertData(ConnectionString, SendHost, SendPort, SendDisplayName, SendAddress, SendPassword, TOAddress, CCAddress, Subject, IsBodyHtml, Body, "1", null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//InsertData(ConnectionString, SendHost, SendPort, SendDisplayName, SendAddress, SendPassword, TOAddress, CCAddress, Subject, IsBodyHtml, Body, "2", ex.Message);
|
|
throw;
|
|
}
|
|
}
|
|
|
|
//删除招标书
|
|
public string DeleteBidDoc(string BidCode, string WorkPoint)
|
|
{
|
|
string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string MUSERName = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
|
|
BidCode = BidCode.TrimStart('"').TrimEnd('"').TrimEnd(',');
|
|
|
|
string sql = string.Empty;
|
|
sql = @"INSERT INTO dbo.ICSBidLog
|
|
( ID, BidCode, LogType, LogDes, LogTime, LogUser, WorkPoint, MUSER, MUSERName, MTIME )
|
|
SELECT newid(), BidCode, '企业', '招标书-删除', GETDATE(), '{0}', '{2}', '{0}', '{3}', GETDATE()
|
|
FROM ICSBidLog WHERE BidCode in ({1}) and LogDes='招标书-新增'
|
|
|
|
delete FROM ICSBidInfo where BidCode in ({1})
|
|
delete FROM ICSBidDocBD where BidCode in ({1})
|
|
delete FROM ICSBidDocGYS where BidCode in ({1})
|
|
delete FROM ICSBidDoc where BidCode in ({1})
|
|
delete FROM ICSPU_AppVouch where BidCode in ({1})";
|
|
sql = string.Format(sql, MUSER, BidCode, WorkPoint, MUSERName);
|
|
string msg = "";
|
|
try
|
|
{
|
|
SqlHelper.ExecuteNonQuery(sql);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
msg = ex.Message;
|
|
}
|
|
return msg;
|
|
|
|
}
|
|
|
|
//关闭
|
|
public int CloseBidding(string ID, string BidCode, string WorkPoint)
|
|
{
|
|
string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string MUSERName = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
|
|
ID = ID.TrimStart('"').TrimEnd('"').TrimEnd(',');
|
|
|
|
BidCode = BidCode.TrimStart('"').TrimEnd('"').TrimEnd(',');
|
|
|
|
string sql = string.Empty;
|
|
sql = @"UPDATE dbo.ICSBidDoc SET OpenTime=GETDATE() ,
|
|
Tenders='{0}', BidStatus='已关闭' , LogUser='{0}' , LogTime=GETDATE() WHERE ID in ({1})
|
|
update ICSBidInfo set IsLock=0 where BidCode in ({2})
|
|
INSERT INTO dbo.ICSBidLog
|
|
( ID, BidCode, LogType, LogDes, LogTime, LogUser, WorkPoint, MUSER, MUSERName, MTIME )
|
|
SELECT newid(), BidCode, '企业', '招标书-关闭', GETDATE(), '{0}', '{3}', '{0}', '{4}', GETDATE()
|
|
FROM ICSBidLog WHERE BidCode in ({2}) and LogDes='招标书-新增'";
|
|
sql = string.Format(sql, MUSER, ID, BidCode, WorkPoint, MUSERName);
|
|
return SqlHelper.ExecuteNonQuery(sql);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除招标书供应商数据
|
|
/// </summary>
|
|
/// <param name="keyValue"></param>
|
|
/// <returns></returns>
|
|
public string DeleteSup(string ID, string WorkPoint)
|
|
{
|
|
ID = ID.TrimStart('"').TrimEnd('"').TrimEnd(',');
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
string msg = "";
|
|
string sql = string.Format(@"DELETE
|
|
FROM dbo.ICSBidDocGYS
|
|
WHERE ID IN ('{0}') and WorkPoint ='{1}' ", ID, WorkPoint);
|
|
try
|
|
{
|
|
SqlHelper.ExecuteNonQuery(sql);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
msg = ex.Message;
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除招标书供应商数据
|
|
/// </summary>
|
|
/// <param name="keyValue"></param>
|
|
/// <returns></returns>
|
|
public string DeleteBD(string ID, string WorkPoint)
|
|
{
|
|
//ID = ID.TrimStart('"').TrimEnd('"').TrimEnd(',');
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
string msg = "";
|
|
string sql = string.Format(@"DELETE
|
|
FROM dbo.ICSBidDocBD
|
|
WHERE ID IN ('{0}') and WorkPoint ='{1}' ", ID, WorkPoint);
|
|
try
|
|
{
|
|
SqlHelper.ExecuteNonQuery(sql);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
msg = ex.Message;
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 上传招标文件
|
|
/// </summary>
|
|
/// <param name="keyValue"></param>
|
|
/// <returns></returns>
|
|
public int UpLoadFile(string FilePath, string FileName, string BidCode, string ID)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
string sql = "";
|
|
sql += string.Format(@"update ICSBidDoc set FileName='{0}'
|
|
where ID='{1}'",
|
|
FilePath, ID);
|
|
sql += "\r\n";
|
|
StringBuilder Str = new StringBuilder(sql);
|
|
return Repository().ExecuteBySql(Str);
|
|
}
|
|
public string ISHave(string InvCode)
|
|
{
|
|
string sql = @"SELECT * FROM ICSInventory WHERE InvCode='" + InvCode + "'";
|
|
DataTable dt = SqlHelper.GetDataTableBySql(sql);
|
|
if (dt != null && dt.Rows.Count > 0)
|
|
{
|
|
return "0";
|
|
}
|
|
else
|
|
{
|
|
return "1";
|
|
}
|
|
}
|
|
public string SetData_PR(String savePath, string ID, string BidCode, string WorkPoint)
|
|
{
|
|
string msg = "";
|
|
string connString = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
|
|
SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
|
|
conn.Open();
|
|
SqlTransaction sqlTran = conn.BeginTransaction();
|
|
SqlCommand cmd = new SqlCommand();
|
|
cmd.Transaction = sqlTran;
|
|
cmd.Connection = conn;
|
|
|
|
//数据获取
|
|
try
|
|
{
|
|
if (BidCode != "")
|
|
{
|
|
string sqls = "Delete ICSBidDocBD Where BidCode='" + BidCode + "'";
|
|
int count = SqlHelper.ExecuteNonQuery(sqls);
|
|
}
|
|
string Muser = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string MuserName = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
string sql = "";
|
|
int rowNO = 0;
|
|
DataTable data = FileToExcel.ExcelToTable(savePath);
|
|
var parent = data.DefaultView.ToTable(true, "物料编码", "物料名称", "计划采购数量", "单位", "交期", "备注");
|
|
foreach (DataRow dr in parent.Rows)
|
|
{
|
|
rowNO = rowNO + 1;
|
|
string GUID = Guid.NewGuid().ToString();
|
|
if (string.IsNullOrWhiteSpace(dr["物料编码"].ToString()))
|
|
throw new Exception("物料编码不能为空!");
|
|
if (string.IsNullOrWhiteSpace(dr["物料名称"].ToString()))
|
|
throw new Exception("物料名称不能为空!");
|
|
if (string.IsNullOrWhiteSpace(dr["计划采购数量"].ToString()))
|
|
throw new Exception("计划采购数量不能为空!");
|
|
if (string.IsNullOrWhiteSpace(dr["单位"].ToString()))
|
|
throw new Exception("单位不能为空!");
|
|
if (string.IsNullOrWhiteSpace(dr["交期"].ToString()))
|
|
throw new Exception("交期不能为空!");
|
|
string ishave = ISHave(dr["物料编码"].ToString());
|
|
if (ishave == "1")
|
|
{
|
|
msg += "物料" + dr["物料编码"].ToString() + "不存在!";
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
sql = @"IF NOT EXISTS(SELECT * FROM dbo.ICSBidDocBD WHERE ID=@ID)
|
|
BEGIN
|
|
INSERT INTO dbo.ICSBidDocBD( ID, BidCode, InvCode, ItemType, Remark, Quantity, DeliveryTime, RowNo,
|
|
WorkPoint, MUSER, MUSERName, MTIME)
|
|
VALUES ( @ID, @BidCode, @InvCode, @ItemType, @Remark, @Quantity, @DeliveryTime, @RowNo,
|
|
@WorkPoint, @MUSER, @MUSERName, GETDATE())
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE dbo.ICSBidDocBD SET BidCode=@BidCode,InvCode=@InvCode,ItemType=@ItemType,
|
|
Remark=@Remark,Quantity=@Quantity , DeliveryTime=@DeliveryTime,RowNo=@RowNo
|
|
WHERE ID=@ID
|
|
END";
|
|
SqlParameter[] sp_BD = {
|
|
new SqlParameter("@ID",GUID),
|
|
new SqlParameter("@BidCode",BidCode),
|
|
new SqlParameter("@InvCode",dr["物料编码"].ToString()),
|
|
new SqlParameter("@ItemType",""),
|
|
new SqlParameter("@Remark",dr["备注"].ToString()),
|
|
new SqlParameter("@Quantity",dr["计划采购数量"].ToString()),
|
|
new SqlParameter("@DeliveryTime",dr["交期"].ToString()),
|
|
new SqlParameter("@RowNo",rowNO),
|
|
new SqlParameter("@WorkPoint",WorkPoint),
|
|
new SqlParameter("@MUSER",Muser),
|
|
new SqlParameter("@MUSERName",MuserName),
|
|
|
|
//sql += "Insert Into ICSFManger Values('{0}','{1}','{2}','{3}','{4}','','{9}',CONVERT(varchar(100), '{10}', 23))";
|
|
//DataRow[] drs = data.Select("供应商编码+供应商名称+物料编码+物料名称='" + dr["供应商编码"].ToString() + dr["供应商名称"].ToString() + dr["物料编码"].ToString() + dr["物料名称"].ToString() + "'");
|
|
//foreach (DataRow de in drs)
|
|
//{
|
|
// foreach (DataColumn dc in data.Columns)
|
|
// {
|
|
// if (dc.Caption == "供应商编码" || dc.Caption == "供应商名称" || dc.Caption == "物料编码" || dc.Caption == "物料名称" || dc.Caption == "交货量" || dc.Caption == "排程日期")
|
|
// continue;
|
|
// sql += @"Insert INto ICSFMangerDetail Values ('{5}','{6}','','{7}',{8},CONVERT(varchar(100), '{10}', 23),'{9}')";
|
|
// sql = string.Format(sql, GUID, dr["供应商编码"].ToString(), dr["供应商名称"].ToString(), dr["物料编码"].ToString(), dr["物料名称"].ToString(), GUID, dc.Caption, de["交货量"].ToString(), de[dc.Caption].ToString(), MUSERNAME, DateTime.Now);
|
|
// }
|
|
|
|
//}
|
|
};
|
|
SqlCommandHelper.CmdExecuteNonQuery(sql, sp_BD, cmd);
|
|
}
|
|
|
|
}
|
|
cmd.Transaction.Commit();
|
|
msg += "导入成功";
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception("" + ex.Message + "!");
|
|
}
|
|
finally
|
|
{
|
|
if (conn.State == ConnectionState.Open)
|
|
{
|
|
conn.Close();
|
|
}
|
|
conn.Dispose();
|
|
}
|
|
return msg;
|
|
}
|
|
public string InsertID(string ID,string WorkPoints)
|
|
{
|
|
string Muser = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string MuserName = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
string sql = @" INSERT INTO dbo.ICSBidDoc
|
|
( ID, BidCode, BidName, BidUser, StarTime, EndTime, BidStatus, BidType, Remark,
|
|
LogTime, LogUser, WorkPoint, MUSER, MUSERName, MTIME,Status )
|
|
VALUES ( '" + ID + "', '', '' ,'','' , '' , '' , '', '' , getdate() , '' , "+ WorkPoint.Trim(',') + ", '" + Muser + "' , '" + MuserName + "', getdate(),0)";
|
|
int count = SqlHelper.ExecuteNonQuery(sql);
|
|
return ID;
|
|
}
|
|
public DataTable GetSubGridJsonBid(string queryJson, ref Pagination jqgridparam, string WorkPoint)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @" SELECT a.ID,b.INVCODE, b.INVNAME AS InvName,b.INVStd AS InvStd,b.INVUOM AS Unit,a.Quantity ,a.DeliveryTime,'ERP'as Source,a.ENTTRIBUTE1,d.cVenCode,d.cVenName
|
|
FROM ICSBidDocBD a
|
|
LEFT JOIN ICSInventory b ON a.InvCode = b.INVCODE and a.WorkPoint=b.WorkPoint
|
|
left join ICSBidDocGYS c on a.BidCode=c.BidCode and b.WorkPoint=c.WorkPoint
|
|
LEFT JOIN ICSVendor d on c.SupplierCode=d.cVenCode and c.WorkPoint=d.WorkPoint
|
|
WHERE a.BidCode = '{0}' and a.WorkPoint = ({1})";
|
|
sql = string.Format(sql, queryJson, WorkPoint);
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
/// <summary>
|
|
/// 请购单信息
|
|
/// </summary>
|
|
/// <param name="queryJson"></param>
|
|
/// <param name="jqgridparam"></param>
|
|
/// <param name="WorkPoint"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetBicDocByPU(string queryJson, ref Pagination jqgridparam, string WorkPoint)
|
|
{
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
DataTable dt = new DataTable();
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
|
|
string sql = @" SELECT
|
|
'请购单'as Source,
|
|
ID,
|
|
cCode,
|
|
ivouchrowno,
|
|
CONVERT(NVARCHAR(20),dDate,23) AS dDate,
|
|
cInvCode,
|
|
cInvName,
|
|
cInvStd,
|
|
INVUOM,
|
|
CONVERT(NVARCHAR(20),dRequirDate,23) AS dRequirDate,
|
|
CONVERT(NVARCHAR(20),dArriveDate,23) AS dArriveDate,
|
|
fQuantity,
|
|
WorkPoint,
|
|
Free1
|
|
FROM dbo.ICSPU_AppVouch WHERE BidCode is NUll ";
|
|
if (!string.IsNullOrWhiteSpace(queryJson))
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(queryParam["cCode"].ToString()))
|
|
{
|
|
sql += " and cCode like '%" + queryParam["cCode"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["BegiondDate"].ToString()))
|
|
{
|
|
sql += " and dDate >= '" + queryParam["BegiondDate"].ToString() + "' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["EnddDate"].ToString()))
|
|
{
|
|
sql += " and dDate <= '" + queryParam["EnddDate"].ToString() + "' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
|
|
{
|
|
sql += " and cInvCode ='" + queryParam["InvCode"].ToString() + "' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["InvName"].ToString()))
|
|
{
|
|
sql += " and cInvName ='" + queryParam["InvName"].ToString() + "' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(WorkPoint))
|
|
{
|
|
sql += " and WorkPoint ='" + WorkPoint + "' ";
|
|
}
|
|
}
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
public DataTable GetWorkPointByUser()
|
|
{
|
|
DataRow dr = null;
|
|
string sql = string.Empty;
|
|
string Muser = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
try
|
|
{
|
|
sql = @"SELECT F_Location FROM sys_SRM_USer
|
|
WHERE F_Account='" + Muser + "'";
|
|
DataTable dt = SqlHelper.GetDataTableBySql(sql);
|
|
return dt;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
}
|
|
public string GetBidCode(string WorkPoint, string Vendor)
|
|
{
|
|
string BidCide = string.Empty;
|
|
string sqlGetBidCide = @"SELECT a.F_ItemCode,a.F_ItemName,a.F_Description FROM Sys_SRM_ItemsDetail a
|
|
LEFT JOIN Sys_SRM_Items b ON a.F_ItemId = b.F_Id
|
|
WHERE b.F_EnCode = 'ZTBGZ01'";
|
|
if (!string.IsNullOrWhiteSpace(WorkPoint))
|
|
{
|
|
sqlGetBidCide += "and a.F_ItemCode='" + WorkPoint + "'";
|
|
}
|
|
DataTable dtGetBidCide = SqlHelper.GetDataTableBySql(sqlGetBidCide);
|
|
if (dtGetBidCide.Rows.Count <= 0 || dtGetBidCide.Rows[0]["F_Description"].ToString() == null)
|
|
{
|
|
throw new Exception("请先维护数据字典!");
|
|
}
|
|
string F_Description = dtGetBidCide.Rows.Count <= 0 || dtGetBidCide.Rows[0]["F_Description"].ToString() == null ? "" : dtGetBidCide.Rows[0]["F_Description"].ToString();
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
|
|
if (!string.IsNullOrEmpty(WorkPoint))
|
|
{
|
|
string Date = DateTime.Now.ToString("yyyy");
|
|
string Muoth = DateTime.Now.ToString("MM");
|
|
string Day = DateTime.Now.ToString("dd");
|
|
string Pre = F_Description + Date + Muoth + Day;
|
|
BidCide = GetSerialCode(WorkPoint, "ICSBidDoc", "BidCode", Pre, 2);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(BidCide))
|
|
{
|
|
string sqlISHave = @"SELECT BidCode FROM ICSBidDoc a
|
|
WHERE a.BidCode = '{0}'";
|
|
sqlISHave = string.Format(sqlISHave, BidCide);
|
|
DataTable dtIsHave = SqlHelper.GetDataTableBySql(sqlISHave);
|
|
if (dtIsHave.Rows.Count > 0)
|
|
{
|
|
throw new Exception("标书已存在!");
|
|
}
|
|
}
|
|
return BidCide;
|
|
}
|
|
|
|
public string GetBidItemCode(string WorkPoint, string Vendor)
|
|
{
|
|
string BidItemCode = string.Empty;
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
|
|
if (!string.IsNullOrEmpty(WorkPoint))
|
|
{
|
|
string Date = DateTime.Now.ToString("yy");
|
|
string Muoth = DateTime.Now.ToString("MM");
|
|
string Day = DateTime.Now.ToString("dd");
|
|
string Pre = "SRM" + WorkPoint;
|
|
BidItemCode = GetSerialCode(WorkPoint, "ICSBidDoc", "BidCode", Pre, 5);
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(BidItemCode))
|
|
{
|
|
string sqlISHave = @"SELECT InvCode FROM ICSINVENTORY a
|
|
WHERE a.InvCode = '{0}'";
|
|
sqlISHave = string.Format(sqlISHave, BidItemCode);
|
|
DataTable dtIsHave = SqlHelper.GetDataTableBySql(sqlISHave);
|
|
if (dtIsHave.Rows.Count > 0)
|
|
{
|
|
throw new Exception("正式物料已存在!");
|
|
}
|
|
}
|
|
return BidItemCode;
|
|
}
|
|
public string GetSerialCode(string workPointCode, string tbName, string colName, string Pre, int numLen)
|
|
{
|
|
string sql = "EXEC Addins_GetSerialCode '{0}','{1}','{2}','{3}',{4}";
|
|
sql = string.Format(sql, new object[] { workPointCode, tbName, colName, Pre, numLen });
|
|
return DbHelper.ExecuteScalar(CommandType.Text, sql).ToString();
|
|
}
|
|
public string SubmitOARejict(string BidCode, string WorkPoint)
|
|
{
|
|
string sql = "";
|
|
string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string msg = "";
|
|
DataTable dt = new DataTable();
|
|
var reqInterNme = "http://172.16.8.33/seeyon/rest/token/SRMTEST/25eba5c2-95e9-4bf8-92f5-0f42595255ba?loginName="+UserCode;
|
|
var responseStr = httpGet(reqInterNme);
|
|
try
|
|
{
|
|
string Pre = "HH-SRM" + WorkPoint;
|
|
string BIDCodes = GetSerialCode(WorkPoint, "ICSBidDoc", "code", Pre, 3);
|
|
|
|
//JObject res = (JObject)JsonConvert.DeserializeObject(dtsql.Rows[0]["searchKey"].ToString());
|
|
JObject res = (JObject)JsonConvert.DeserializeObject(responseStr);
|
|
string ID = res["id"].ToString();//获取Tockn
|
|
JObject resultbidUser = (JObject)JsonConvert.DeserializeObject(res["bindingUser"].ToString());
|
|
string id = resultbidUser["id"].ToString(); //用户ID
|
|
string departmentId = resultbidUser["departmentId"].ToString(); //部门ID
|
|
string postId = resultbidUser["postId"].ToString(); //岗位ID
|
|
//string Message = res["Message"].ToString();
|
|
if (!string.IsNullOrWhiteSpace(ID))
|
|
{
|
|
NFine.Domain._03_Entity.SRM.ICSBidDocOA.thirdAttachments ths = new NFine.Domain._03_Entity.SRM.ICSBidDocOA.thirdAttachments();
|
|
List<NFine.Domain._03_Entity.SRM.ICSBidDocOA.thirdAttachments> thirdAttachments = new List<NFine.Domain._03_Entity.SRM.ICSBidDocOA.thirdAttachments>();
|
|
NFine.Domain._03_Entity.SRM.ICSBidDocOA.datadetail dat = new NFine.Domain._03_Entity.SRM.ICSBidDocOA.datadetail();
|
|
NFine.Domain._03_Entity.SRM.ICSBidDocOA.datass dds = new NFine.Domain._03_Entity.SRM.ICSBidDocOA.datass();
|
|
|
|
string sqlFile = "SELECT FileName FROM ICSBidDoc Where BidCode='" + BidCode + "'and WorkPoint='" + WorkPoint + "'";
|
|
DataTable dts = SqlHelper.GetDataTableBySql(sqlFile);
|
|
string fileName = dts.Rows[0]["FileName"].ToString().TrimEnd(';');
|
|
string[] PrintParas = fileName.Split(';');
|
|
int subReference=0;
|
|
Random rd = new Random(); //无参即为使用系统时钟为种子
|
|
subReference=rd.Next();
|
|
int sort = 1;
|
|
string fileUrl = "";
|
|
if (!string.IsNullOrWhiteSpace(fileName))
|
|
{
|
|
foreach (var p in PrintParas)
|
|
{
|
|
string filePath = System.Web.HttpContext.Current.Server.MapPath("~\\File\\ZTBFile\\" + BidCode + "\\" + p.ToString());
|
|
string APIURL = "http://172.16.8.33/seeyon/rest/attachment?token=" + ID;
|
|
var IDFile = UploadLog(filePath, APIURL);
|
|
JObject resFile = (JObject)JsonConvert.DeserializeObject(IDFile);
|
|
JArray result = (JArray)JsonConvert.DeserializeObject(resFile["atts"].ToString());
|
|
|
|
foreach (var item in result)
|
|
{
|
|
JObject jo = (JObject)item;
|
|
fileUrl = jo["fileUrl"].ToString(); //地址
|
|
}
|
|
//JObject result = (JObject)JsonConvert.DeserializeObject(resFile["atts"].ToString());//企业信息
|
|
ths.subReference = subReference;
|
|
ths.fileUrl = fileUrl;
|
|
ths.sort = sort;
|
|
thirdAttachments.Add(ths);
|
|
sort++;
|
|
}
|
|
dds.thirdAttachments.Add(ths);
|
|
}
|
|
ICSBidDocOA da = new ICSBidDocOA();
|
|
da.appName = "collaboration";
|
|
|
|
List<NFine.Domain._03_Entity.SRM.ICSBidDocOA.attachments> attachmentsdetail = new List<NFine.Domain._03_Entity.SRM.ICSBidDocOA.attachments>();
|
|
NFine.Domain._03_Entity.SRM.ICSBidDocOA.attachments attachments = new NFine.Domain._03_Entity.SRM.ICSBidDocOA.attachments();
|
|
|
|
attachments.ID = "";
|
|
attachmentsdetail.Add(attachments);
|
|
dat.templateCode = "SRM01";
|
|
dat.draft = "0";
|
|
dat.relateDoc = "";//(OA 公文附件 ID,默认为空,不使用)
|
|
dat.subject = "";//(OA 流程标题,默认为空,OA 端自动生成标题)
|
|
sql = @"SELECT a.SupplierCode,b.cVenName,b.cVenRegCode,b.Free1 FROM dbo.ICSBidDocGYS a
|
|
LEFT JOIN dbo.ICSVendor b ON a.SupplierCode=b.cVenCode AND a.WorkPoint=b.WorkPoint
|
|
WHERE BidCode='" + BidCode + "'and a.WorkPoint='" + WorkPoint + "'";
|
|
DataTable dtVenDor = SqlHelper.GetDataTableBySql(sql);
|
|
for (int i = 0; i < dtVenDor.Rows.Count; i++)
|
|
{
|
|
List<NFine.Domain._03_Entity.SRM.ICSBidDocOA.formson_0023> formson_0023 = new List<NFine.Domain._03_Entity.SRM.ICSBidDocOA.formson_0023>();
|
|
Domain._03_Entity.SRM.ICSBidDocOA.formson_0023 dm0023 = new Domain._03_Entity.SRM.ICSBidDocOA.formson_0023();
|
|
dm0023.邀标供应商编码 = dtVenDor.Rows[i]["SupplierCode"].ToString();
|
|
dm0023.邀标供应商税号 = dtVenDor.Rows[i]["cVenRegCode"].ToString();
|
|
dm0023.邀标供应商名称 = dtVenDor.Rows[i]["cVenName"].ToString();
|
|
dm0023.邀标供应商备注 = "";
|
|
dds.formson_0023.Add(dm0023);
|
|
}
|
|
sql = @"SELECT a.InvCode,b.INVNAME,b.INVSTD,b.INVUOM,a.Quantity,a.DeliveryTime,a.Remark FROM dbo.ICSBidDocBD a
|
|
LEFT JOIN dbo.ICSINVENTORY b ON a.InvCode=b.INVCODE AND a.WorkPoint=b.WorkPoint
|
|
WHERE BidCode='" + BidCode + "' and a.WorkPoint='" + WorkPoint + "'";
|
|
DataTable dtDB =SqlHelper.GetDataTableBySql(sql) ;
|
|
for (int i = 0; i < dtDB.Rows.Count; i++)
|
|
{
|
|
List<NFine.Domain._03_Entity.SRM.ICSBidDocOA.formson_0022> formson_0022 = new List<NFine.Domain._03_Entity.SRM.ICSBidDocOA.formson_0022>();
|
|
Domain._03_Entity.SRM.ICSBidDocOA.formson_0022 dm0022 = new Domain._03_Entity.SRM.ICSBidDocOA.formson_0022();
|
|
dm0022.物料编码 = dtDB.Rows[i]["InvCode"].ToString();
|
|
dm0022.物料名称 = dtDB.Rows[i]["INVNAME"].ToString();
|
|
dm0022.规格型号 = dtDB.Rows[i]["INVSTD"].ToString();
|
|
dm0022.物料单位 = dtDB.Rows[i]["INVUOM"].ToString();
|
|
dm0022.采购数量 = Convert.ToDecimal(dtDB.Rows[i]["Quantity"].ToString());
|
|
dm0022.交期 = Convert.ToDateTime(dtDB.Rows[i]["DeliveryTime"]).ToString("yyyy-MM-dd HH:mm:ss.fff");
|
|
dm0022.备注 = dtDB.Rows[i]["Remark"].ToString();
|
|
dds.formson_0022.Add(dm0022);
|
|
}
|
|
sql = @"SELECT BidCode,BidName,StarTime,EndTime,b.ID,a.Remark FROM dbo.ICSBidDoc a
|
|
LEFT JOIN ICSOAEnum b ON a.WorkPoint=b.WorkPoint
|
|
WHERE a.BidCode='" + BidCode + "' and a.WorkPoint='" + WorkPoint + "'";
|
|
DataTable dtDBDoc = SqlHelper.GetDataTableBySql(sql);
|
|
Domain._03_Entity.SRM.ICSBidDocOA.formmain_0021 dm0021 = new Domain._03_Entity.SRM.ICSBidDocOA.formmain_0021();
|
|
dm0021.日期 = DateTime.Now.ToString("yyyy-MM-dd");
|
|
dm0021.公司 = dtDBDoc.Rows[0]["ID"].ToString();
|
|
dm0021.编号 = BIDCodes;
|
|
dm0021.姓名 = id;
|
|
dm0021.部门 = departmentId;
|
|
dm0021.岗位 = postId;
|
|
dm0021.招标编号 = dtDBDoc.Rows[0]["BidCode"].ToString();
|
|
dm0021.标案名称 = dtDBDoc.Rows[0]["BidName"].ToString();
|
|
dm0021.招标公司 = dtDBDoc.Rows[0]["ID"].ToString();
|
|
dm0021.招标负责人 = id;
|
|
dm0021.招标开始时间 = Convert.ToDateTime(dtDBDoc.Rows[0]["StarTime"]).ToString("yyyy-MM-dd HH:mm:ss.fff");
|
|
dm0021.招标结束时间 = Convert.ToDateTime(dtDBDoc.Rows[0]["EndTime"]).ToString("yyyy-MM-dd HH:mm:ss.fff");
|
|
dm0021.是否缴纳保证金 = "";
|
|
dm0021.保证金额 = "";
|
|
dm0021.备注说明 = dtDBDoc.Rows[0]["Remark"].ToString();
|
|
dm0021.附件 = subReference;
|
|
|
|
dds.formmain_0021 = dm0021;
|
|
dat.data = dds;
|
|
da.data = dat;
|
|
string input = JsonConvert.SerializeObject(da);
|
|
//}
|
|
string APIURLBid = "http://172.16.8.33/seeyon/rest/bpm/process/start?token=" + ID;
|
|
string resultBid = HttpPost(APIURLBid, input);
|
|
JObject resBId = (JObject)JsonConvert.DeserializeObject(resultBid);
|
|
string Code = resBId["code"].ToString();//获取Tockn
|
|
if (Code=="0")
|
|
{
|
|
sql = "Update ICSBidDoc set BidStatus='OA审核中' Where BidCode='" + BidCode + "'";
|
|
SqlHelper.CmdExecuteNonQueryLi(sql);
|
|
}
|
|
else
|
|
{
|
|
msg = "OA上传OA失败!";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
msg="获取Token失败";
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
msg=ex.Message;
|
|
}
|
|
return msg;
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Http Get请求
|
|
/// </summary>
|
|
/// <param name="url"></param>
|
|
/// <param name="headerValue"></param>
|
|
/// <returns></returns>
|
|
static String httpGet(string url)
|
|
{
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
|
|
|
WebHeaderCollection headers = new WebHeaderCollection();
|
|
//headers.Add("Token", headerValue[0]);
|
|
//headers.Add("Timespan", headerValue[1]);
|
|
request.UserAgent = null;
|
|
request.Headers = headers;
|
|
request.Method = "GET";
|
|
|
|
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
|
var httpStatusCode = (int)response.StatusCode;
|
|
Console.WriteLine("返回码为 {0}", httpStatusCode);
|
|
if (httpStatusCode == 200)
|
|
{
|
|
Stream myResponseStream = response.GetResponseStream();
|
|
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
|
|
string retString = myStreamReader.ReadToEnd();
|
|
myStreamReader.Close();
|
|
myResponseStream.Close();
|
|
return retString;
|
|
}
|
|
else
|
|
{
|
|
Console.WriteLine("未返回数据 {0}", httpStatusCode);
|
|
throw new Exception("no data response");
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Http P0st请求
|
|
/// </summary>
|
|
/// <param name="url"></param>
|
|
/// <param name="headerValue"></param>
|
|
/// <returns></returns>
|
|
public static string UploadLog(string file, string fileippath)
|
|
{
|
|
var uploadUrl = fileippath;
|
|
HttpWebRequest request = WebRequest.Create(uploadUrl) as HttpWebRequest;
|
|
request.AllowAutoRedirect = true;
|
|
request.Method = "POST";
|
|
//这段代码不是必须,请求头传输内容,看业务情况
|
|
//request.Headers.Add("iauth", ia);//加鉴权
|
|
|
|
string boundary = DateTime.Now.Ticks.ToString("X"); // 随机分隔线
|
|
request.ContentType = "multipart/form-data;charset=utf-8;boundary=" + boundary;
|
|
byte[] itemBoundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "\r\n");
|
|
byte[] endBoundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n");
|
|
|
|
int pos = file.LastIndexOf("\\");
|
|
string fileName = file.Substring(pos + 1);
|
|
|
|
//请求头部信息
|
|
StringBuilder sbHeader = new StringBuilder(string.Format("Content-Disposition:form-data;name=\"file\";filename=\"{0}\"\r\nContent-Type:application/octet-stream\r\n\r\n", fileName));
|
|
|
|
byte[] postHeaderBytes = Encoding.UTF8.GetBytes(sbHeader.ToString());
|
|
|
|
FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read);
|
|
byte[] bArr = new byte[fs.Length];
|
|
fs.Read(bArr, 0, bArr.Length);
|
|
fs.Close();
|
|
|
|
Stream postStream = request.GetRequestStream();
|
|
postStream.Write(itemBoundaryBytes, 0, itemBoundaryBytes.Length);
|
|
postStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);
|
|
postStream.Write(bArr, 0, bArr.Length);
|
|
postStream.Write(endBoundaryBytes, 0, endBoundaryBytes.Length);
|
|
postStream.Close();
|
|
|
|
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
|
|
Stream instream = response.GetResponseStream();
|
|
StreamReader sr = new StreamReader(instream, Encoding.UTF8);
|
|
string content = sr.ReadToEnd();
|
|
return content;
|
|
}
|
|
public class ASn
|
|
{
|
|
public byte[] File { get; set; }
|
|
//public string warehouseCode { get; set; }
|
|
}
|
|
public class DeleteICSAsndet
|
|
{
|
|
public List<ASn> icsasn = new List<ASn>();
|
|
}
|
|
public static string HttpPost(string url, string body)
|
|
{
|
|
try
|
|
{
|
|
Encoding encoding = Encoding.UTF8;
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
|
request.Method = "POST";
|
|
request.Accept = "application/json, text/javascript, */*"; //"text/html, application/xhtml+xml, */*";
|
|
request.ContentType = "application/json; charset=utf-8";
|
|
|
|
byte[] buffer = encoding.GetBytes(body);
|
|
request.ContentLength = buffer.Length;
|
|
request.GetRequestStream().Write(buffer, 0, buffer.Length);
|
|
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
|
using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding))
|
|
{
|
|
return reader.ReadToEnd();
|
|
}
|
|
}
|
|
catch (WebException ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 创建临时物料
|
|
/// </summary>
|
|
/// <param name="queryJson"></param>
|
|
/// <returns></returns>
|
|
// public string SubmitFormCFType(string queryJson)
|
|
// {
|
|
// string msg = string.Empty;
|
|
// try
|
|
// {
|
|
// DataTable dt = new DataTable();
|
|
// List<DbParameter> parameter = new List<DbParameter>();
|
|
// ICSBicItemFSC[] list = JsonConvert.DeserializeObject<ICSBicItemFSC[]>(queryJson);
|
|
// string sql = string.Empty;
|
|
// string connString = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
|
|
// SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
|
|
// conn.Open();
|
|
// SqlTransaction sqlTran = conn.BeginTransaction();
|
|
// SqlCommand cmd = new SqlCommand();
|
|
// cmd.Transaction = sqlTran;
|
|
// cmd.Connection = conn;
|
|
// try
|
|
// {
|
|
// string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
// string UserCodeName = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
|
|
// foreach (var obj in list)
|
|
// {
|
|
// sql = @"
|
|
// INSERT INTO dbo.ICSINVENTORY
|
|
// (
|
|
// ID
|
|
// ,INVCODE
|
|
// ,INVNAME
|
|
// ,INVUOM
|
|
// ,INVSTD
|
|
// ,INVTYPE
|
|
// ,INVCLASS
|
|
// ,INVEXPORTIMPORT
|
|
// ,MUSER
|
|
// ,MUSERName
|
|
// ,MTIME
|
|
// ,WorkPoint
|
|
// )
|
|
// VALUES
|
|
// (
|
|
// NEWID()
|
|
// ,@INVCODE
|
|
// ,@INVNAME
|
|
// ,@INVUOM
|
|
// ,@INVSTD
|
|
// ,@INVTYPE
|
|
// ,@INVCLASS
|
|
// ,@INVEXPORTIMPORT
|
|
// ,@MUSER
|
|
// ,@MUSERName
|
|
// ,GetDate()
|
|
// ,@WorkPoint
|
|
// ) ";
|
|
// SqlParameter[] sp_Detail = {
|
|
// //new SqlParameter("@ID",obj.ID),
|
|
// new SqlParameter("@INVCODE",obj.INVCODE),
|
|
// new SqlParameter("@INVNAME",obj.INVCODE),
|
|
// new SqlParameter("@INVSTD",obj.INVSTD),
|
|
// new SqlParameter("@INVUOM",obj.INVUOM),
|
|
// new SqlParameter("@INVTYPE","非生产物料"),
|
|
// new SqlParameter("@INVCLASS","非生产物料"),
|
|
// new SqlParameter("@INVEXPORTIMPORT","非生产物料"),
|
|
// new SqlParameter("@MUSER",UserCode),
|
|
// new SqlParameter("@MUSERName",UserCodeName),
|
|
// new SqlParameter("@WorkPoint",obj.WorkPoint),
|
|
// };
|
|
// SqlCommandHelper.CmdExecuteNonQuery(sql, sp_Detail, cmd);
|
|
// }
|
|
// cmd.Transaction.Commit();
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// cmd.Transaction.Rollback();
|
|
// msg = ex.Message;
|
|
// }
|
|
// finally
|
|
// {
|
|
// if (conn.State == ConnectionState.Open)
|
|
// {
|
|
// conn.Close();
|
|
// }
|
|
// conn.Dispose();
|
|
// }
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// msg=ex.Message;
|
|
// }
|
|
// return msg;
|
|
// }
|
|
|
|
}
|
|
}
|