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.
 
 
 
 

1254 lines
62 KiB

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using NFine.Code;
using NFine.Data.Extensions;
using NFine.Domain._03_Entity.SRM;
using NFine.Domain.Entity.ProductManage;
using NFine.Domain.IRepository.ProductManage;
using NFine.Repository;
using NFine.Repository.ProductManage;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.Common;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
namespace NFine.Application
{
public class POMaintenanceApp : RepositoryFactory<ICSPO_PoMain>
{
public DataTable GetGridJson(string queryJson, ref Pagination jqgridparam)
{
string ParentId = "";
DataTable dt = new DataTable();
var queryParam = queryJson.ToJObject();
List<DbParameter> parameter = new List<DbParameter>();
string EATTRIBUTE = SqlHelper.GetEATTRIBUTE("ICSPurchaseOrder", "a").TrimEnd(',');
string sql = @"SELECT DISTINCT a.ID, a.POCode,CONVERT(NVARCHAR(15),CreateDateTime,23) AS PODate,ExtensionID,a.VenCode,d.VenName,ReleaseState,ReleaseState as ReleaseStateBlock,a.WorkPoint,c.WorkPointName,b.PlanArriveDate,a.Sequence,e.ProjectCode
," + EATTRIBUTE + "";
sql+= @" FROM dbo.ICSPurchaseOrder a
LEFT JOIN (SELECT POCode,PlanArriveDate,WorkPoint,Sequence FROM dbo.ICSPurchaseOrder) b ON a.POCode=b.POCode and a.Sequence=b.Sequence and a.WorkPoint=b.WorkPoint
LEFT JOIN Sys_WorkPoint c on a.WorkPoint=c.WorkPointCode
left join ICSVendor d on a.VenCode=d.VenCode and a.WorkPoint=d.WorkPoint
LEFT JOIN dbo.ICSExtension e ON a.ExtensionID=e.ID AND a.WorkPoint=e.WorkPoint
LEFT JOIN dbo.ICSInventory f ON a.InvCode=f.InvCode AND a.WorkPoint=f.WorkPoint
WHERE 1=1 and ReleaseState='1' and a.Status<>'3'";
if (!string.IsNullOrWhiteSpace(queryJson))
{
if (!string.IsNullOrWhiteSpace(queryParam["ORDERNO"].ToString()))
{
sql += " and a.ExtensionID like '%" + queryParam["ORDERNO"].ToString() + "%' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
{
sql += " and a.POCode like '%" + queryParam["POCode"].ToString() + "%' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["BeginDate"].ToString()))
{
sql += " and CONVERT(NVARCHAR(20),CreateDateTime,23) >='" + queryParam["BeginDate"].ToString() + "' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["EndDate"].ToString()))
{
sql += " and CONVERT(NVARCHAR(20),CreateDateTime,23) <='" + queryParam["EndDate"].ToString() + "'";
}
if (!string.IsNullOrWhiteSpace(queryParam["VenCode"].ToString()))
{
sql += " and a.VenCode like '%" + queryParam["VenCode"].ToString() + "%' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["VenName"].ToString()))
{
sql += " and d.VenName like '%" + queryParam["VenName"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["EATTRIBUTE12"].ToString()))
{
sql += " and a.EATTRIBUTE12 like '%" + queryParam["EATTRIBUTE12"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
{
sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["InvName"].ToString()))
{
sql += " and f.InvName like '%" + queryParam["InvName"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["POStatus"].ToString()))
{
string POStatus = queryParam["POStatus"].ToString();
if (POStatus == "1")
{
sql += " AND (a.ArriveDate IS not NULL or a.EATTRIBUTE29 IS not null)";
}
else if(POStatus=="2")
{
sql += " AND (a.ArriveDate is null and a.EATTRIBUTE29 is null )";
}
}
}
if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
{
sql += " and a.VenCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().VenCode + "'";
}
if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
{
//已改多站点
sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
}
ParentId = SqlHelper.Organize_F_ParentId(NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode);
if (!string.IsNullOrWhiteSpace(ParentId) && ParentId != "0" && NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "Vendor")
{
return SqlHelper.FindTablePageBySql_OtherTemp(sql.ToString(), sql, ParentId, parameter.ToArray(), ref jqgridparam);
}
else
{
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
}
}
#region 多交期查询主表
public DataTable GetGridJsonByMore(string queryJson, ref Pagination jqgridparam)
{
string ParentId = "";
DataTable dt = new DataTable();
var queryParam = queryJson.ToJObject();
List<DbParameter> parameter = new List<DbParameter>();
string EATTRIBUTE = SqlHelper.GetEATTRIBUTE("ICSPurchaseOrder", "a").TrimEnd(',');
string sql = @"SELECT DISTINCT a.ID, a.POCode,CONVERT(NVARCHAR(15),CreateDateTime,23) AS PODate,ExtensionID,a.VenCode,d.VenName,ReleaseState,ReleaseState as ReleaseStateBlock,a.WorkPoint,c.WorkPointName,b.PlanArriveDate,a.Sequence,e.ProjectCode
," + EATTRIBUTE + "";
sql += @" FROM dbo.ICSPurchaseOrder a
LEFT JOIN (SELECT POCode,PlanArriveDate,WorkPoint,Sequence FROM dbo.ICSPurchaseOrder) b ON a.POCode=b.POCode and a.Sequence=b.Sequence and a.WorkPoint=b.WorkPoint
LEFT JOIN Sys_WorkPoint c on a.WorkPoint=c.WorkPointCode
left join ICSVendor d on a.VenCode=d.VenCode and a.WorkPoint=d.WorkPoint
LEFT JOIN dbo.ICSExtension e ON a.ExtensionID=e.ID AND a.WorkPoint=e.WorkPoint
LEFT JOIN dbo.ICSInventory f ON a.InvCode=f.InvCode AND a.WorkPoint=f.WorkPoint
WHERE 1=1 and ReleaseState='1' and a.Status<>'3'";
if (!string.IsNullOrWhiteSpace(queryJson))
{
if (!string.IsNullOrWhiteSpace(queryParam["ORDERNO"].ToString()))
{
sql += " and a.ExtensionID like '%" + queryParam["ORDERNO"].ToString() + "%' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
{
sql += " and a.POCode like '%" + queryParam["POCode"].ToString() + "%' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["BeginDate"].ToString()))
{
sql += " and CONVERT(NVARCHAR(20),CreateDateTime,23) >='" + queryParam["BeginDate"].ToString() + "' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["EndDate"].ToString()))
{
sql += " and CONVERT(NVARCHAR(20),CreateDateTime,23) <='" + queryParam["EndDate"].ToString() + "'";
}
if (!string.IsNullOrWhiteSpace(queryParam["VenCode"].ToString()))
{
sql += " and a.VenCode like '%" + queryParam["VenCode"].ToString() + "%' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["VenName"].ToString()))
{
sql += " and d.VenName like '%" + queryParam["VenName"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["EATTRIBUTE12"].ToString()))
{
sql += " and a.EATTRIBUTE12 like '%" + queryParam["EATTRIBUTE12"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
{
sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["InvName"].ToString()))
{
sql += " and f.InvName like '%" + queryParam["InvName"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["ArriveDate"].ToString()))
{
sql += " and a.ArriveDate = '" + queryParam["ArriveDate"].ToString() + "'";
}
if (!string.IsNullOrWhiteSpace(queryParam["DeliveryDate"].ToString()))
{
sql += " and a.DeliveryDate = '" + queryParam["DeliveryDate"].ToString() + "'";
}
if (!string.IsNullOrWhiteSpace(queryParam["EATTRIBUTE29"].ToString()))
{
sql += " and a.EATTRIBUTE29 like '%" + queryParam["EATTRIBUTE29"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["POStatus"].ToString()))
{
string POStatus = queryParam["POStatus"].ToString();
if (POStatus == "1")
{
sql += " AND (a.ArriveDate IS not NULL or a.EATTRIBUTE29 IS not null)";
}
else if (POStatus == "2")
{
sql += " AND (a.ArriveDate is null and a.EATTRIBUTE29 is null )";
}
}
}
if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
{
sql += " and a.VenCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().VenCode + "'";
}
if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
{
//已改多站点
sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
}
ParentId = SqlHelper.Organize_F_ParentId(NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode);
if (!string.IsNullOrWhiteSpace(ParentId) && ParentId != "0" && NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "Vendor")
{
return SqlHelper.FindTablePageBySql_OtherTemp(sql.ToString(), sql, ParentId, parameter.ToArray(), ref jqgridparam);
}
else
{
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
}
}
#endregion
public DataTable GetGridJsonWeiWai(string queryJson, ref Pagination jqgridparam)
{
string ParentId = "";
DataTable dt = new DataTable();
var queryParam = queryJson.ToJObject();
List<DbParameter> parameter = new List<DbParameter>();
string EATTRIBUTE = SqlHelper.GetEATTRIBUTE("ICSPurchaseOrder", "a").TrimEnd(',');
string sql = @" SELECT DISTINCT a.ID, a.OOCode,CONVERT(NVARCHAR(15),CreateDateTime,23) AS PODate,ExtensionID,a.VenCode,d.VenName,ReleaseState,ReleaseState as ReleaseStateBlock,a.WorkPoint,c.WorkPointName,a.PlanArriveDate
," + EATTRIBUTE + "";
sql+= @" FROM dbo.ICSOutsourcingOrder a
LEFT JOIN Sys_WorkPoint c on a.WorkPoint=c.WorkPointCode
left join ICSVendor d on a.VenCode=d.VenCode and a.WorkPoint=d.WorkPoint
LEFT JOIN dbo.ICSInventory f ON a.InvCode=f.InvCode AND a.WorkPoint=f.WorkPoint
WHERE 1=1 and ReleaseState='1' and a.Status<>'3'";
if (!string.IsNullOrWhiteSpace(queryJson))
{
if (!string.IsNullOrWhiteSpace(queryParam["ORDERNO"].ToString()))
{
sql += " and a.ExtensionID like '%" + queryParam["ORDERNO"].ToString() + "%' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
{
sql += " and a.OOCode like '%" + queryParam["POCode"].ToString() + "%' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["BeginDate"].ToString()))
{
sql += " and CONVERT(NVARCHAR(20),CreateDateTime,23) >='" + queryParam["BeginDate"].ToString() + "' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["EndDate"].ToString()))
{
sql += " and CONVERT(NVARCHAR(20),CreateDateTime,23) <='" + queryParam["EndDate"].ToString() + "'";
}
if (!string.IsNullOrWhiteSpace(queryParam["VenCode"].ToString()))
{
sql += " and a.VenCode like '%" + queryParam["VenCode"].ToString() + "%' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["VenName"].ToString()))
{
sql += " and d.VenName like '%" + queryParam["VenName"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
{
sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["InvName"].ToString()))
{
sql += " and f.InvName like '%" + queryParam["InvName"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["POStatus"].ToString()))
{
string POStatus = queryParam["POStatus"].ToString();
if (POStatus == "1")
{
sql += " AND a.ArriveDate IS not NULL";
}
else if (POStatus == "2")
{
sql += " AND a.ArriveDate IS NULL";
}
}
}
if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
{
sql += " and a.VenCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().VenCode + "'";
}
if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
{
//已改多站点
sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
}
ParentId = SqlHelper.Organize_F_ParentId(NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode);
if (!string.IsNullOrWhiteSpace(ParentId) && ParentId != "0" && NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "Vendor")
{
return SqlHelper.FindTablePageBySql_OtherTemp(sql.ToString(), sql, ParentId, parameter.ToArray(), ref jqgridparam);
}
else
{
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
}
}
#region 多交期维护(委外)
public DataTable GetGridJsonWeiWaiByMore(string queryJson, ref Pagination jqgridparam)
{
string ParentId = "";
DataTable dt = new DataTable();
var queryParam = queryJson.ToJObject();
List<DbParameter> parameter = new List<DbParameter>();
string EATTRIBUTE = SqlHelper.GetEATTRIBUTE("ICSPurchaseOrder", "a").TrimEnd(',');
string sql = @" SELECT DISTINCT a.ID, a.OOCode,CONVERT(NVARCHAR(15),CreateDateTime,23) AS PODate,ExtensionID,a.VenCode,d.VenName,ReleaseState,ReleaseState as ReleaseStateBlock,a.WorkPoint,c.WorkPointName,a.PlanArriveDate
," + EATTRIBUTE + "";
sql += @" FROM dbo.ICSOutsourcingOrder a
LEFT JOIN Sys_WorkPoint c on a.WorkPoint=c.WorkPointCode
left join ICSVendor d on a.VenCode=d.VenCode and a.WorkPoint=d.WorkPoint
LEFT JOIN dbo.ICSInventory f ON a.InvCode=f.InvCode AND a.WorkPoint=f.WorkPoint
WHERE 1=1 and ReleaseState='1' and a.Status<>'3'";
if (!string.IsNullOrWhiteSpace(queryJson))
{
if (!string.IsNullOrWhiteSpace(queryParam["ORDERNO"].ToString()))
{
sql += " and a.ExtensionID like '%" + queryParam["ORDERNO"].ToString() + "%' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
{
sql += " and a.OOCode like '%" + queryParam["POCode"].ToString() + "%' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["BeginDate"].ToString()))
{
sql += " and CONVERT(NVARCHAR(20),CreateDateTime,23) >='" + queryParam["BeginDate"].ToString() + "' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["EndDate"].ToString()))
{
sql += " and CONVERT(NVARCHAR(20),CreateDateTime,23) <='" + queryParam["EndDate"].ToString() + "'";
}
if (!string.IsNullOrWhiteSpace(queryParam["VenCode"].ToString()))
{
sql += " and a.VenCode like '%" + queryParam["VenCode"].ToString() + "%' ";
}
if (!string.IsNullOrWhiteSpace(queryParam["VenName"].ToString()))
{
sql += " and a.VenName like '%" + queryParam["VenName"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
{
sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["InvName"].ToString()))
{
sql += " and f.InvName like '%" + queryParam["InvName"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["ArriveDate"].ToString()))
{
sql += " and a.ArriveDate = '" + queryParam["ArriveDate"].ToString() + "'";
}
if (!string.IsNullOrWhiteSpace(queryParam["DeliveryDate"].ToString()))
{
sql += " and a.DeliveryDate = '" + queryParam["DeliveryDate"].ToString() + "'";
}
if (!string.IsNullOrWhiteSpace(queryParam["EATTRIBUTE29"].ToString()))
{
sql += " and a.EATTRIBUTE29 like '%" + queryParam["EATTRIBUTE29"].ToString() + "%'";
}
if (!string.IsNullOrWhiteSpace(queryParam["POStatus"].ToString()))
{
string POStatus = queryParam["POStatus"].ToString();
if (POStatus == "1")
{
sql += " AND a.ArriveDate IS not NULL";
}
else if (POStatus == "2")
{
sql += " AND a.ArriveDate IS NULL";
}
}
}
if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
{
sql += " and a.VenCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().VenCode + "'";
}
if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
{
//已改多站点
sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
}
ParentId = SqlHelper.Organize_F_ParentId(NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode);
if (!string.IsNullOrWhiteSpace(ParentId) && ParentId != "0" && NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "Vendor")
{
return SqlHelper.FindTablePageBySql_OtherTemp(sql.ToString(), sql, ParentId, parameter.ToArray(), ref jqgridparam);
}
else
{
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
}
}
#endregion
/// <summary>
/// 子表查询
/// </summary>
/// <param name="queryJson"></param>
/// <param name="jqgridparam"></param>
/// <returns></returns>
public DataTable GetSubGridJson(string queryJson, ref Pagination jqgridparam,string WorkPoint)
{
DataTable dt = new DataTable();
//var queryParam = queryJson.ToJObject();
List<DbParameter> parameter = new List<DbParameter>();
string sql = @"SELECT a.POCode, a.ID, a.Sequence,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.Quantity,CONVERT(NVARCHAR(50), a.PlanArriveDate,23) as PreArriveDate,
CONVERT(NVARCHAR(50),a.ArriveDate,23) as ArriveDate ,a.ExtensionID, CONVERT(NVARCHAR(50),a.DeliveryDate,23) as DeliveryDate,
case when isnull(a.ArriveDate,'')='' then '0' else '1' end as IsNew,
b.ClassName,b.InvDesc,case when (isnull(a.ArriveDate,'')='' and isnull(a.EATTRIBUTE29,'')='' )then '0' else '1' end as IsNewBlock,a.EATTRIBUTE29,a.EATTRIBUTE30
FROM dbo.ICSPurchaseOrder a
left JOIN dbo.ICSInventory b ON a.InvCode=b.InvCode AND a.WorkPoint=b.WorkPoint
WHERE a.ID='" + queryJson + "' and a.WorkPoint='"+ WorkPoint + "'";
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
}
/// <summary>
/// 子表查询
/// </summary>
/// <param name="queryJson"></param>
/// <param name="jqgridparam"></param>
/// <returns></returns>
public DataTable GetSubGridJsonByYL(string queryJson, ref Pagination jqgridparam, string WorkPoint)
{
DataTable dt = new DataTable();
//var queryParam = queryJson.ToJObject();
List<DbParameter> parameter = new List<DbParameter>();
string sql = @"SELECT a.POCode, a.ID, a.Sequence,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.Quantity,CONVERT(NVARCHAR(50), a.PlanArriveDate,23) as PreArriveDate,
CASE WHEN ISNULL(CONVERT(NVARCHAR(50),a.ArriveDate,23),'')='' THEN CONVERT(NVARCHAR(50), a.PlanArriveDate,23) ELSE CONVERT(NVARCHAR(50),a.ArriveDate,23) end as ArriveDate ,a.ExtensionID, CONVERT(NVARCHAR(50),a.DeliveryDate,23) as DeliveryDate,
case when isnull(a.ArriveDate,'')='' then '0' else '1' end as IsNew,
b.ClassName,b.InvDesc,case when isnull(a.ArriveDate,'')='' then '0' else '1' end as IsNewBlock,a.EATTRIBUTE9
FROM dbo.ICSPurchaseOrder a
left JOIN dbo.ICSInventory b ON a.InvCode=b.InvCode AND a.WorkPoint=b.WorkPoint
WHERE a.ID='" + queryJson + "' and a.WorkPoint='" + WorkPoint + "'";
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
}
/// <summary>
/// 子表查询
/// </summary>
/// <param name="queryJson"></param>
/// <param name="jqgridparam"></param>
/// <returns></returns>
public DataTable GetSubGridJsonWeiWai(string queryJson, ref Pagination jqgridparam,string WorkPoint)
{
DataTable dt = new DataTable();
//var queryParam = queryJson.ToJObject();
List<DbParameter> parameter = new List<DbParameter>();
string sql = @" SELECT a.OOCode, a.ID, a.Sequence,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.Quantity,CONVERT(NVARCHAR(50), a.PlanArriveDate,23) as PreArriveDate,
CONVERT(NVARCHAR(50),a.ArriveDate,23) as ArriveDate ,a.ExtensionID, CONVERT(NVARCHAR(50),a.DeliveryDate,23) as DeliveryDate,
case when isnull(a.ArriveDate,'')='' then '0' else '1' end as IsNew,
b.ClassName,b.InvDesc,case when (isnull(a.ArriveDate,'')='' and isnull(a.EATTRIBUTE29,'')='' )then '0' else '1' end as IsNewBlock,a.EATTRIBUTE29,a.EATTRIBUTE30
FROM dbo.ICSOutsourcingOrder a
left JOIN dbo.ICSInventory b ON a.InvCode=b.InvCode AND a.WorkPoint=b.WorkPoint
WHERE a.ID='" + queryJson + "' and a.WorkPoint='"+ WorkPoint + "'";
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
}
/// <summary>
/// 订单发布
/// </summary>
/// <param name="queryJson">参数</param>
/// <returns></returns>
public string SubmitPoMaintenance(string queryJson)
{
string msg = "";
DataTable dt = new DataTable();
List<DbParameter> parameter = new List<DbParameter>();
ICSPO_PoMain[] list = JsonConvert.DeserializeObject<ICSPO_PoMain[]>(queryJson);
string sql = string.Empty;
//已改多站点
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
string F_ItemName = "";
string Delivery1Name = "";
string Delivery2Name = "";
try
{
string sqldetail = @"SELECT a.F_ItemName,a.F_Define1,a.F_Define2 FROM Sys_SRM_ItemsDetail a
LEFT JOIN Sys_SRM_Items b ON a.F_ItemId = b.F_Id
WHERE b.F_EnCode = 'SYS_POMaintenance' and a.F_EnabledMark='1'";
DataTable dts = SqlHelper.GetDataTableBySql(sqldetail);
if (dts.Rows.Count > 0)
{
F_ItemName = dts.Rows[0]["F_ItemName"].ToString();
Delivery1Name = dts.Rows[0]["F_Define1"].ToString();
Delivery2Name = dts.Rows[0]["F_Define2"].ToString();
}
List<Dictionary<string, object>> parametersList = new List<Dictionary<string, object>>();
if (!string.IsNullOrWhiteSpace(F_ItemName))
{
foreach (var obj in list)
{
var detailItem = new Dictionary<string, object>();
detailItem["WorkPoint"] = obj.WorkPoint;
detailItem["Code"] = obj.POCode;
detailItem["Sequence"] = obj.PORow;
detailItem["Delivery1Name"] = Delivery1Name;
detailItem["Delivery1Value"] = obj.ArriveDate;
detailItem["Delivery2Name"] = Delivery2Name;
detailItem["Delivery2Value"] = obj.DeliveryDate;
// 将Detail项添加到集合中
parametersList.Add(detailItem);
//U9ConnStr = ConfigurationManager.ConnectionStrings["U8connstr"].ConnectionString;
//string sqlU9 = string.Format(@"update b
// set b.cDefine28='" + obj.ArriveDate + @"'
// from dbo.PO_Pomain a left join dbo.po_podetails b on a.POID=b.POID
// where a.cPOID='" + obj.POCode + "' and b.ivouchrowno='" + obj.PORow + "'");
//sqlU9 += "\r\n";
//sqlU9 += string.Format(@"update b
// set b.cDefine29='" + obj.DeliveryDate + @"'
// from dbo.PO_Pomain a left join dbo.po_podetails b on a.POID=b.POID
// where a.cPOID='" + obj.POCode + "' and b.ivouchrowno='" + obj.PORow + "'");
//int i = SqlHelper.ExecuteNonQuery(U9ConnStr, sqlU9);
}
string Inputstr = JsonConvert.SerializeObject(parametersList);
// Inputstr = "[" + Inputstr + "]";
string APIURL = ConfigurationManager.ConnectionStrings["ERPAPIURL"].ConnectionString + "CDEFIND/UPDATE";
string result = HttpPost(APIURL, Inputstr);
JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
string MessAge = Obj["Message"].ToString();
string Success = Obj["Success"].ToString();
string ApiSql = string.Empty;
if (Success.ToUpper() == "FALSE")
{
throw new Exception("ERP接口调用失败:" + MessAge);
}
else
{
foreach (var obj in list)
{
sql += " update ICSPurchaseOrder set ";
if (!string.IsNullOrWhiteSpace(obj.DeliveryDate))
{
sql += "DeliveryDate='" + obj.DeliveryDate + "' ,DeliveryUser='" + UserCode + "'";
}
else
{
sql += " DeliveryDate=null ";
}
if (obj.IsNew == "0")
{
if (!string.IsNullOrWhiteSpace(obj.ArriveDate))
sql += ",ArriveDate='" + obj.ArriveDate + "',ArriveUser='" + UserCode + "',MTIME=getdate() ";
}
sql += " where ID='" + obj.ID + "' and WorkPoint='" + obj.WorkPoint + "'";
sql += " \r\n";
}
SqlHelper.CmdExecuteNonQueryLi(sql);
}
}
else
{
foreach (var obj in list)
{
sql += " update ICSPurchaseOrder set ";
if (!string.IsNullOrWhiteSpace(obj.DeliveryDate))
{
sql += "DeliveryDate='" + obj.DeliveryDate + "' ,DeliveryUser='" + UserCode + "'";
}
else
{
sql += " DeliveryDate=null ";
}
if (obj.IsNew == "0")
{
if (!string.IsNullOrWhiteSpace(obj.ArriveDate))
sql += ",ArriveDate='" + obj.ArriveDate + "',ArriveUser='" + UserCode + "',MTIME=getdate() ";
}
sql += " where ID='" + obj.ID + "' and WorkPoint='" + obj.WorkPoint + "'";
sql += " \r\n";
}
SqlHelper.CmdExecuteNonQueryLi(sql);
}
}
catch (Exception ex)
{
msg=ex.Message;
}
return msg;
}
public string MoreSubmitPoMaintenance(string queryJson)
{
string msg = "";
DataTable dt = new DataTable();
List<DbParameter> parameter = new List<DbParameter>();
ICSPO_PoMain[] list = JsonConvert.DeserializeObject<ICSPO_PoMain[]>(queryJson);
string sql = string.Empty;
//已改多站点
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
string F_ItemName = "";
string Delivery1Name = "";
string Delivery2Name = "";
try
{
string sqldetail = @"SELECT a.F_ItemName,a.F_Define1,a.F_Define2 FROM Sys_SRM_ItemsDetail a
LEFT JOIN Sys_SRM_Items b ON a.F_ItemId = b.F_Id
WHERE b.F_EnCode = 'SYS_POMaintenance' and a.F_EnabledMark='1'";
DataTable dts = SqlHelper.GetDataTableBySql(sqldetail);
if (dts.Rows.Count > 0)
{
F_ItemName = dts.Rows[0]["F_ItemName"].ToString();
Delivery1Name = dts.Rows[0]["F_Define1"].ToString();
Delivery2Name = dts.Rows[0]["F_Define2"].ToString();
}
List<Dictionary<string, object>> parametersList = new List<Dictionary<string, object>>();
if (!string.IsNullOrWhiteSpace(F_ItemName))
{
foreach (var obj in list)
{
var detailItem = new Dictionary<string, object>();
detailItem["WorkPoint"] = obj.WorkPoint;
detailItem["Code"] = obj.POCode;
detailItem["Sequence"] = obj.PORow;
detailItem["Delivery1Name"] = Delivery1Name;
detailItem["Delivery1Value"] = obj.ArriveDate;
detailItem["Delivery2Name"] = Delivery2Name;
detailItem["Delivery2Value"] = obj.DeliveryDate;
// 将Detail项添加到集合中
parametersList.Add(detailItem);
//U9ConnStr = ConfigurationManager.ConnectionStrings["U8connstr"].ConnectionString;
//string sqlU9 = string.Format(@"update b
// set b.cDefine28='" + obj.ArriveDate + @"'
// from dbo.PO_Pomain a left join dbo.po_podetails b on a.POID=b.POID
// where a.cPOID='" + obj.POCode + "' and b.ivouchrowno='" + obj.PORow + "'");
//sqlU9 += "\r\n";
//sqlU9 += string.Format(@"update b
// set b.cDefine29='" + obj.DeliveryDate + @"'
// from dbo.PO_Pomain a left join dbo.po_podetails b on a.POID=b.POID
// where a.cPOID='" + obj.POCode + "' and b.ivouchrowno='" + obj.PORow + "'");
//int i = SqlHelper.ExecuteNonQuery(U9ConnStr, sqlU9);
}
string Inputstr = JsonConvert.SerializeObject(parametersList);
// Inputstr = "[" + Inputstr + "]";
string APIURL = ConfigurationManager.ConnectionStrings["ERPAPIURL"].ConnectionString + "CDEFIND/UPDATE";
string result = HttpPost(APIURL, Inputstr);
JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
string MessAge = Obj["Message"].ToString();
string Success = Obj["Success"].ToString();
string ApiSql = string.Empty;
if (Success.ToUpper() == "FALSE")
{
throw new Exception("ERP接口调用失败:" + MessAge);
}
else
{
foreach (var obj in list)
{
sql += " update ICSPurchaseOrder set ";
if (!string.IsNullOrWhiteSpace(obj.DeliveryDate))
{
sql += "DeliveryDate='" + obj.DeliveryDate + "' ,DeliveryUser='" + UserCode + "'";
}
else
{
sql += " DeliveryDate=null ";
}
if (obj.IsNew == "0")
{
if (!string.IsNullOrWhiteSpace(obj.ArriveDate))
sql += ",ArriveDate='" + obj.ArriveDate + "',ArriveUser='" + UserCode + "',MTIME=getdate() ";
}
sql += " ,EATTRIBUTE29='" + obj.EATTRIBUTE29 + "',EATTRIBUTE30='" + obj.EATTRIBUTE30 + "' ";
sql += " where ID='" + obj.ID + "' and WorkPoint='" + obj.WorkPoint + "'";
sql += " \r\n";
}
SqlHelper.CmdExecuteNonQueryLi(sql);
}
}
else
{
foreach (var obj in list)
{
sql += " update ICSPurchaseOrder set ";
if (!string.IsNullOrWhiteSpace(obj.DeliveryDate))
{
sql += "DeliveryDate='" + obj.DeliveryDate + "' ,DeliveryUser='" + UserCode + "'";
}
else
{
sql += " DeliveryDate=null ";
}
if (obj.IsNew == "0")
{
if (!string.IsNullOrWhiteSpace(obj.ArriveDate))
sql += ",ArriveDate='" + obj.ArriveDate + "',ArriveUser='" + UserCode + "',MTIME=getdate() ";
}
sql += " ,EATTRIBUTE29='" + obj.EATTRIBUTE29 + "',EATTRIBUTE30='" + obj.EATTRIBUTE30 + "' ";
sql += " where ID='" + obj.ID + "' and WorkPoint='" + obj.WorkPoint + "'";
sql += " \r\n";
}
SqlHelper.CmdExecuteNonQueryLi(sql);
}
}
catch (Exception ex)
{
msg = ex.Message;
}
return msg;
}
public int SubmitPoMaintenanceByYL(string queryJson)
{
DataTable dt = new DataTable();
List<DbParameter> parameter = new List<DbParameter>();
ICSPO_PoMain[] list = JsonConvert.DeserializeObject<ICSPO_PoMain[]>(queryJson);
string sql = string.Empty;
//已改多站点
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
foreach (var obj in list)
{
sql += " update ICSPurchaseOrder set ";
if (!string.IsNullOrWhiteSpace(obj.DeliveryDate))
{
sql += "DeliveryDate='" + obj.DeliveryDate + "' ,DeliveryUser='" + UserCode + "'";
}
else
{
sql += " DeliveryDate=null ";
}
if (!string.IsNullOrWhiteSpace(obj.EATTRIBUTE9))
{
sql += ",EATTRIBUTE9='" + obj.EATTRIBUTE9 + "'";
}
else
{
sql += " ,EATTRIBUTE9=null ";
}
if (obj.IsNew == "0")
{
if (!string.IsNullOrWhiteSpace(obj.ArriveDate))
sql += ",ArriveDate='" + obj.ArriveDate + "',ArriveUser='" + UserCode + "',MTIME=getdate() ";
}
sql += " where ID='" + obj.ID + "' and WorkPoint='" + obj.WorkPoint + "'";
sql += " \r\n";
}
string U9ConnStr = "";
string F_ItemName = SqlHelper.GetSHDZDSHItemsDetails("SYS_POMaintenance", "");
if (!string.IsNullOrWhiteSpace(F_ItemName))
{
foreach (var obj in list)
{
//if (obj.WorkPoint== "UFDATA_206_2019")
//{
// U9ConnStr= ConfigurationManager.ConnectionStrings["U8connstr2"].ConnectionString;
//}
//if (obj.WorkPoint == "UFDATA_106_2019")
//{
U9ConnStr = ConfigurationManager.ConnectionStrings["U8connstr"].ConnectionString;
//}
string sqlU9 = string.Format(@"update b
set b.cDefine33='" + obj.DeliveryDate + @"'
from dbo.PO_Pomain a left join dbo.po_podetails b on a.POID=b.POID
where a.cPOID='" + obj.POCode + "' and b.ivouchrowno='" + obj.PORow + "'");
sqlU9 += "\r\n";
int i = SqlHelper.ExecuteNonQuery(U9ConnStr, sqlU9);
}
}
StringBuilder Str = new StringBuilder(sql);
return Repository().ExecuteBySql(Str);
}
/// <summary>
/// 批量回复交期
/// </summary>
/// <param name="POCode">采购订单</param>
/// <param name="PORow">采购订单行号</param>
/// <param name="keyValue">前台传入参数</param>
/// <returns></returns>
public int SubmitFormByBatch(string POCodeRow, string ArriveDate)
{
DataTable dt = new DataTable();
List<DbParameter> parameter = new List<DbParameter>();
string sql = string.Empty;
//keyValue = keyValue.Substring(1, keyValue.Length - 2);
//已改多站点
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
sql += @" update ICSPurchaseOrder set ArriveDate='" + ArriveDate + "' " +
",DeliveryUser='" + UserCode + "' where PoCode+Sequence in("+ POCodeRow.TrimEnd(',') + ")";
StringBuilder Str = new StringBuilder(sql);
return Repository().ExecuteBySql(Str);
}
/// <summary>
/// 批量回复交期
/// </summary>
/// <param name="POCode">采购订单</param>
/// <param name="PORow">采购订单行号</param>
/// <param name="keyValue">前台传入参数</param>
/// <returns></returns>
public int SubmitFormByBatchWeiWai(string POCodeRow, string ArriveDate)
{
DataTable dt = new DataTable();
List<DbParameter> parameter = new List<DbParameter>();
string sql = string.Empty;
//keyValue = keyValue.Substring(1, keyValue.Length - 2);
//已改多站点
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
sql += @" update ICSPurchaseOrder set ArriveDate='" + ArriveDate + "' " +
",DeliveryUser='" + UserCode + "' where PoCode+Sequence in(" + POCodeRow.TrimEnd(',') + ")";
StringBuilder Str = new StringBuilder(sql);
return Repository().ExecuteBySql(Str);
}
/// <summary>
/// 订单发布
/// </summary>
/// <param name="queryJson">参数</param>
/// <returns></returns>
public string SubmitFormWeiWai(string queryJson)
{
string msg = "";
DataTable dt = new DataTable();
List<DbParameter> parameter = new List<DbParameter>();
ICSPO_PoMain[] list = JsonConvert.DeserializeObject<ICSPO_PoMain[]>(queryJson);
string sql = string.Empty;
//已改多站点
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
string F_ItemName = "";
string Delivery1Name = "";
string Delivery2Name = "";
try
{
string sqldetail = @"SELECT a.F_ItemName,a.F_Define1,a.F_Define2 FROM Sys_SRM_ItemsDetail a
LEFT JOIN Sys_SRM_Items b ON a.F_ItemId = b.F_Id
WHERE b.F_EnCode = 'SYS_POMaintenance' and a.F_EnabledMark='1'";
DataTable dts = SqlHelper.GetDataTableBySql(sqldetail);
if (dts.Rows.Count > 0)
{
F_ItemName = dts.Rows[0]["F_ItemName"].ToString();
Delivery1Name = dts.Rows[0]["F_Define1"].ToString();
Delivery2Name = dts.Rows[0]["F_Define2"].ToString();
}
List<Dictionary<string, object>> parametersList = new List<Dictionary<string, object>>();
if (!string.IsNullOrWhiteSpace(F_ItemName))
{
foreach (var obj in list)
{
var detailItem = new Dictionary<string, object>();
detailItem["WorkPoint"] = obj.WorkPoint;
detailItem["Code"] = obj.POCode;
detailItem["Sequence"] = obj.PORow;
detailItem["Delivery1Name"] = Delivery1Name;
detailItem["Delivery1Value"] = obj.ArriveDate;
detailItem["Delivery2Name"] = Delivery2Name;
detailItem["Delivery2Value"] = obj.DeliveryDate;
// 将Detail项添加到集合中
parametersList.Add(detailItem);
//U9ConnStr = ConfigurationManager.ConnectionStrings["U8connstr"].ConnectionString;
//string sqlU9 = string.Format(@"update b
// set b.cDefine28='" + obj.ArriveDate + @"'
// from dbo.PO_Pomain a left join dbo.po_podetails b on a.POID=b.POID
// where a.cPOID='" + obj.POCode + "' and b.ivouchrowno='" + obj.PORow + "'");
//sqlU9 += "\r\n";
//sqlU9 += string.Format(@"update b
// set b.cDefine29='" + obj.DeliveryDate + @"'
// from dbo.PO_Pomain a left join dbo.po_podetails b on a.POID=b.POID
// where a.cPOID='" + obj.POCode + "' and b.ivouchrowno='" + obj.PORow + "'");
//int i = SqlHelper.ExecuteNonQuery(U9ConnStr, sqlU9);
}
string Inputstr = JsonConvert.SerializeObject(parametersList);
//Inputstr = "[" + Inputstr + "]";
string APIURL = ConfigurationManager.ConnectionStrings["ERPAPIURL"].ConnectionString + "CDEFIND/UPDATE";
string result = HttpPost(APIURL, Inputstr);
JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
string MessAge = Obj["Message"].ToString();
string Success = Obj["Success"].ToString();
string ApiSql = string.Empty;
if (Success.ToUpper() == "FALSE")
{
msg = MessAge;
}
else
{
foreach (var obj in list)
{
//if (!string.IsNullOrWhiteSpace(obj.DeliveryDate))
//{
// sql += ",DeliveryDate='" + obj.DeliveryDate + "' ,DeliveryUser='" + UserCode + "'";
//}
//if (obj.IsNew == "0")
//{
// if (!string.IsNullOrWhiteSpace(obj.ArriveDate))
// sql += ",ArriveDate='" + obj.ArriveDate + "',ArriveUser='" + UserCode + "',MTIME=getdate() ";
//}
//sql += " where ID='" + obj.ID + "' and WorkPoint='" + obj.WorkPoint + "'";
//sql += " \r\n";
//sql = "update ICSOutsourcingOrder set " + sql.Substring(1);
sql += " update ICSOutsourcingOrder set ";
if (!string.IsNullOrWhiteSpace(obj.DeliveryDate))
{
sql += "DeliveryDate='" + obj.DeliveryDate + "' ,DeliveryUser='" + UserCode + "'";
}
else
{
sql += " DeliveryDate=null ";
}
if (obj.IsNew == "0")
{
if (!string.IsNullOrWhiteSpace(obj.ArriveDate))
sql += ",ArriveDate='" + obj.ArriveDate + "',ArriveUser='" + UserCode + "',MTIME=getdate() ";
}
sql += " where ID='" + obj.ID + "' and WorkPoint='" + obj.WorkPoint + "'";
sql += " \r\n";
}
SqlHelper.CmdExecuteNonQueryLi(sql);
}
}
else
{
foreach (var obj in list)
{
//if (!string.IsNullOrWhiteSpace(obj.DeliveryDate))
//{
// sql += ",DeliveryDate='" + obj.DeliveryDate + "' ,DeliveryUser='" + UserCode + "'";
//}
//if (obj.IsNew == "0")
//{
// if (!string.IsNullOrWhiteSpace(obj.ArriveDate))
// sql += ",ArriveDate='" + obj.ArriveDate + "',ArriveUser='" + UserCode + "',MTIME=getdate() ";
//}
//sql += " where ID='" + obj.ID + "' and WorkPoint='" + obj.WorkPoint + "'";
//sql += " \r\n";
//sql = "update ICSOutsourcingOrder set " + sql.Substring(1);
sql += " update ICSOutsourcingOrder set ";
if (!string.IsNullOrWhiteSpace(obj.DeliveryDate))
{
sql += "DeliveryDate='" + obj.DeliveryDate + "' ,DeliveryUser='" + UserCode + "'";
}
else
{
sql += " DeliveryDate=null ";
}
if (obj.IsNew == "0")
{
if (!string.IsNullOrWhiteSpace(obj.ArriveDate))
sql += ",ArriveDate='" + obj.ArriveDate + "',ArriveUser='" + UserCode + "',MTIME=getdate() ";
}
sql += " where ID='" + obj.ID + "' and WorkPoint='" + obj.WorkPoint + "'";
sql += " \r\n";
}
SqlHelper.CmdExecuteNonQueryLi(sql);
}
}
catch (Exception ex)
{
msg = ex.Message;
}
return msg;
}
public string MoreSubmitFormWeiWai(string queryJson)
{
string msg = "";
DataTable dt = new DataTable();
List<DbParameter> parameter = new List<DbParameter>();
ICSPO_PoMain[] list = JsonConvert.DeserializeObject<ICSPO_PoMain[]>(queryJson);
string sql = string.Empty;
//已改多站点
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
string F_ItemName = "";
string Delivery1Name = "";
string Delivery2Name = "";
try
{
string sqldetail = @"SELECT a.F_ItemName,a.F_Define1,a.F_Define2 FROM Sys_SRM_ItemsDetail a
LEFT JOIN Sys_SRM_Items b ON a.F_ItemId = b.F_Id
WHERE b.F_EnCode = 'SYS_POMaintenance' and a.F_EnabledMark='1'";
DataTable dts = SqlHelper.GetDataTableBySql(sqldetail);
if (dts.Rows.Count > 0)
{
F_ItemName = dts.Rows[0]["F_ItemName"].ToString();
Delivery1Name = dts.Rows[0]["F_Define1"].ToString();
Delivery2Name = dts.Rows[0]["F_Define2"].ToString();
}
List<Dictionary<string, object>> parametersList = new List<Dictionary<string, object>>();
if (!string.IsNullOrWhiteSpace(F_ItemName))
{
foreach (var obj in list)
{
var detailItem = new Dictionary<string, object>();
detailItem["WorkPoint"] = obj.WorkPoint;
detailItem["Code"] = obj.POCode;
detailItem["Sequence"] = obj.PORow;
detailItem["Delivery1Name"] = Delivery1Name;
detailItem["Delivery1Value"] = obj.ArriveDate;
detailItem["Delivery2Name"] = Delivery2Name;
detailItem["Delivery2Value"] = obj.DeliveryDate;
// 将Detail项添加到集合中
parametersList.Add(detailItem);
//U9ConnStr = ConfigurationManager.ConnectionStrings["U8connstr"].ConnectionString;
//string sqlU9 = string.Format(@"update b
// set b.cDefine28='" + obj.ArriveDate + @"'
// from dbo.PO_Pomain a left join dbo.po_podetails b on a.POID=b.POID
// where a.cPOID='" + obj.POCode + "' and b.ivouchrowno='" + obj.PORow + "'");
//sqlU9 += "\r\n";
//sqlU9 += string.Format(@"update b
// set b.cDefine29='" + obj.DeliveryDate + @"'
// from dbo.PO_Pomain a left join dbo.po_podetails b on a.POID=b.POID
// where a.cPOID='" + obj.POCode + "' and b.ivouchrowno='" + obj.PORow + "'");
//int i = SqlHelper.ExecuteNonQuery(U9ConnStr, sqlU9);
}
string Inputstr = JsonConvert.SerializeObject(parametersList);
//Inputstr = "[" + Inputstr + "]";
string APIURL = ConfigurationManager.ConnectionStrings["ERPAPIURL"].ConnectionString + "CDEFIND/UPDATE";
string result = HttpPost(APIURL, Inputstr);
JObject Obj = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
string MessAge = Obj["Message"].ToString();
string Success = Obj["Success"].ToString();
string ApiSql = string.Empty;
if (Success.ToUpper() == "FALSE")
{
msg = MessAge;
}
else
{
foreach (var obj in list)
{
if (!string.IsNullOrWhiteSpace(obj.DeliveryDate))
{
sql += ",DeliveryDate='" + obj.DeliveryDate + "' ,DeliveryUser='" + UserCode + "'";
}
else
{
sql += " DeliveryDate=null ";
}
if (obj.IsNew == "0")
{
if (!string.IsNullOrWhiteSpace(obj.ArriveDate))
sql += ",ArriveDate='" + obj.ArriveDate + "',ArriveUser='" + UserCode +"',MTIME=getdate() ";
}
sql += " ,EATTRIBUTE29='" + obj.EATTRIBUTE29 + "',EATTRIBUTE30='" + obj.EATTRIBUTE30 + "' ";
sql += " where ID='" + obj.ID + "' and WorkPoint='" + obj.WorkPoint + "'";
sql += " \r\n";
sql = "update ICSOutsourcingOrder set " + sql.Substring(1);
}
SqlHelper.CmdExecuteNonQueryLi(sql);
}
}
else
{
foreach (var obj in list)
{
if (!string.IsNullOrWhiteSpace(obj.DeliveryDate))
{
sql += ",DeliveryDate='" + obj.DeliveryDate + "' ,DeliveryUser='" + UserCode + "'";
}
else
{
sql += " DeliveryDate=null ";
}
if (obj.IsNew == "0")
{
if (!string.IsNullOrWhiteSpace(obj.ArriveDate))
sql += ",ArriveDate='" + obj.ArriveDate + "',ArriveUser='" + UserCode + "',MTIME=getdate() ";
}
sql += " ,EATTRIBUTE29='" + obj.EATTRIBUTE29 + "',EATTRIBUTE30='" + obj.EATTRIBUTE30 + "' ";
sql += " where ID='" + obj.ID + "' and WorkPoint='" + obj.WorkPoint + "'";
sql += " \r\n";
sql = "update ICSOutsourcingOrder set " + sql.Substring(1);
}
SqlHelper.CmdExecuteNonQueryLi(sql);
}
}
catch (Exception ex)
{
msg = ex.Message;
}
return msg;
}
//接口api解析
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);
}
}
#region 文件名回写到栏位
public int UpLoadFile(string pocode, string sequence, string FileName)
{
try
{
DataTable dt = new DataTable();
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
string sql = "";
sql += string.Format(@"update ICSPurchaseOrder set EATTRIBUTE3='{0}'
where POCode='{1}'and Sequence='{2}'",
FileName, pocode, sequence);
// FileName.TrimEnd(';'), pocode, sequence);
sql += "\r\n";
StringBuilder Str = new StringBuilder(sql);
return Repository().ExecuteBySql(Str);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
#endregion
#region 获取质检报告文件列表
public DataTable GetFileInfo(string POCode, string Sequence, ref Pagination jqgridparam)
{
List<DbParameter> parameter = new List<DbParameter>();
string sql = @" select ID, LEFT(EATTRIBUTE2, LEN(EATTRIBUTE2) - 1) as Code
into #sample
from ICSPurchaseOrder where POCode='{0}' and Sequence='{1}'
SELECT ID,b.v as FileName FROM (
SELECT ID,CONVERT(XML,'<n>'+REPLACE(Code,';','</n><n>')+'</n>') as x FROM #sample
) a CROSS APPLY(SELECT k.n.value('.','varchar(100)') v FROM a.x.nodes('n') k(n)) b
select * from #sample
DROP table #sample ";
sql = string.Format(sql, POCode, Sequence);
// string sql = "select invcode,invname,invstd,invuom,invclass from icsinventory where workpoint='" + workpoint + "'" + wherestr;
DataTable dts = SqlHelper.GetDataTableBySql(sql);
return dts;
}
#endregion
#region 删除质检报告文件
public string DeleteFileByCode(string keyValue, string POCode, string Sequence, string path)
{
string msg = string.Empty;
string sql = string.Empty;
string[] File = keyValue.Split(';');
//string [] File = keyValue.TrimEnd(';').Split(';');
for (int i = 0; i < File.Length; i++)
{
var paths = path + "//" + File[i].ToString();
System.IO.File.Delete(paths);
var FileName = File[i].ToString() + ";";
sql += @"UPDATE ICSPurchaseOrder
SET EATTRIBUTE2 = REPLACE(EATTRIBUTE2, '{0}', '')
WHERE POCode='{1}' and Sequence='{2}'";
sql = string.Format(sql, FileName, POCode, Sequence);
}
if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0)
{
msg = "";
}
else
{
msg = "删除失败!";
}
return msg;
}
#endregion
}
}