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
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
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|