|
|
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.Linq; using System.Text;
namespace NFine.Application.SRM { public class ASNMangeWeiWaiApp : RepositoryFactory<ICSVendor> { 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 sql = @"
SELECT distinct a.ID, a.OASNCode,a.VenCode,b.VenName AS VENDORNAME,w.WorkPointName,w.WorkPointCode,a.MUSERName, a.MTIME,CONVERT(NVARCHAR(50),a.PlanArriveDate,23) as EXPARRIVALDATE, CASE WHEN c.ODNCode IS NULL THEN a.Status ELSE '3' END AS STATUS,a.EATTRIBUTE1,convert(nvarchar(20),c.MTIME,120) DMTIME FROM dbo.ICSOASN a LEFT JOIN ICSOASNDetail d on a.OASNCode=d.OASNCode and a.WorkPoint=d.WorkPoint left join ICSInventoryLotDetail f on d.LotNo=f.LotNo and d.WorkPoint=f.WorkPoint left join dbo.ICSOutsourcingOrder g on f.TransCode=g.OOCode and f.TransSequence=g.Sequence and f.WorkPoint=g.WorkPoint LEFT JOIN dbo.ICSVendor b ON a.VenCode=b.VenCode and a.WOrkPoint=b.WorkPoint LEFT JOIN ICSODeliveryNotice c ON a.OASNCode = c.OASNCode LEFT JOIN Sys_WorkPoint w on a.WorkPoint=w.WorkPointCode WHERE 1=1";
if (!string.IsNullOrWhiteSpace(queryJson)) { if (!string.IsNullOrWhiteSpace(queryParam["STNO"].ToString())) { sql += " and a.OASNCode like '%" + queryParam["STNO"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["VenCode"].ToString())) { sql += " and a.VenCode like '%" + queryParam["VenCode"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["VenName"].ToString())) { sql += " and b.VenName like '%" + queryParam["VenName"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["TimeFrom"].ToString())) { sql += " and a.MTIME >= '" + queryParam["TimeFrom"].ToString() + "' "; } if (!string.IsNullOrWhiteSpace(queryParam["TimeTo"].ToString())) { sql += " and a.MTIME <= '" + queryParam["TimeTo"].ToString() + "' "; } if (!string.IsNullOrWhiteSpace(queryParam["PoCode"].ToString())) { sql += " and g.OOCode like '%" + queryParam["PoCode"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString())) { sql += " and g.InvCode like '%" + queryParam["InvCode"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["ReleaseState"].ToString())) { string ReleaseState = queryParam["ReleaseState"].ToString(); if (ReleaseState == "0") sql += " AND CASE WHEN c.ODNCode IS NULL THEN a.Status ELSE '3' END = '0'"; else if (ReleaseState == "1") sql += " AND CASE WHEN c.ODNCode IS NULL THEN a.Status ELSE '3' END = '1'"; else if (ReleaseState == "2") sql += " AND CASE WHEN c.ODNCode IS NULL THEN a.Status ELSE '3' END = '2'"; else if (ReleaseState == "3") { sql += " AND CASE WHEN c.ODNCode IS NULL THEN a.Status ELSE '3' END='3'"; } else if (ReleaseState == "4") sql += " AND CASE WHEN c.ODNCode IS NULL THEN a.Status ELSE '3' END = '4'"; } } //多站点
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.VenCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().VenCode + "'"; } 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); } }
/// <summary>
/// 子表查询
/// </summary>
/// <param name="queryJson"></param>
/// <param name="jqgridparam"></param>
/// <returns></returns>
public DataTable GetSubGridJson(string STNO, ref Pagination jqgridparam,string WorkPoint) { //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
DataTable dt = new DataTable(); List<DbParameter> parameter = new List<DbParameter>(); string sql = @" SELECT a.ID, a.LotNo,d.InvCode,d.InvName,c.ContainerID,b.Quantity,
a.OASNCode,f.BatchCode,f.ProjectCode,m.TransCode,m.TransSequence,d.InvDesc,d.ClassName,d.InvStd,w.WorkPointName,w.WorkPointCode,x.ContainerCode as XH,y.ContainerCode as ZB FROM dbo.ICSOASNDetail a LEFT JOIN dbo.ICSInventoryLot b ON a.LotNo =b.LotNo AND a.WorkPoint=b.WorkPoint left join ICSExtension f on b.ExtensionID=f.ID and b.WorkPoint=f.WorkPoint left join ICSInventoryLotDetail m on b.LotNo=m.LotNo and b.WorkPoint=m.WorkPoint LEFT JOIN dbo.ICSContainerLot c ON b.LotNo=c.LotNo AND a.WorkPoint=c.WorkPoint LEFT JOIN dbo.ICSInventory d ON b.InvCode=d.InvCode AND a.WorkPoint=d.WorkPoint LEFT JOIN dbo.ICSOutsourcingOrder e ON m.TransCode=e.OOCode AND m.TransSequence=e.Sequence AND a.WorkPoint=e.WorkPoint LEFT JOIN Sys_WorkPoint w on e.WorkPoint=w.WorkPointCode LEFT JOIN ICSContainer X ON c.ContainerID=X.ID AND c.WorkPoint=x.WorkPoint and X.ContainerType='ContainerType01' left join ICSContainer y on X.ContainerID=y.ID and X.WorkPoint=y.WorkPoint and y.ContainerType='ContainerType04' WHERE (b.TYPE='201' OR ISNULL(b.EATTRIBUTE7,'') ='入库前分批') AND a.OASNCode='" + STNO + "' and a.WorkPoint='" + WorkPoint + "' ";
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); }
/// <summary>
/// 删除送货单
/// </summary>
/// <param name="keyValue"></param>
/// <returns></returns>
public string DeleteSTNO(string keyValue, string WorkPoint, string EATTRIBUTE1) { // string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
string msg = ""; keyValue = keyValue.Substring(1, keyValue.Length - 2); string sql = string.Empty; sql = "SELECT OASNCode as STNO FROM dbo.ICSODeliveryNotice WHERE OASNCode IN (" + keyValue.TrimEnd(',') + ")"; DataTable dt = SqlHelper.GetDataTableBySql(sql); foreach (DataRow dr in dt.Rows) { string STNO = dr["STNO"].ToString(); if (!string.IsNullOrEmpty(STNO)) { msg += "送货单号:" + STNO + "已生成到货单,无法删除!"; } } if (string.IsNullOrEmpty(msg)) { sql = string.Format(@" DELETE FROM dbo.ICSOASNDetail WHERE OASNCode IN ({0}) and WorkPoint in ('{1}')
DELETE FROM dbo.ICSOASN WHERE OASNCode IN ({0}) and WorkPoint in ('{1}') UPDATE ICSASN SET EATTRIBUTE1='{2}'WHERE ASNCode IN ({0}) and WorkPoint in ('{1}')", keyValue.TrimEnd(','), WorkPoint.TrimEnd(','), EATTRIBUTE1);
SqlHelper.ExecuteNonQuery(sql); } return msg; }
public string CheckIsAll(string STNO) { string sql = @"SELECT * FROM dbo.ICSOASNDetail WHERE OASNCode='" + STNO + "' AND ISNULL(ODNQuantity,0)<>0"; sql += " and WorkPoint in(" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")"; DataTable dt = SqlHelper.GetDataTableBySql(sql); if (dt != null && dt.Rows.Count > 0) { return "0"; } else { return "1"; } }
public string GetSTNO(string WorkPoint) { string STNO = string.Empty; string VenCode = NFine.Code.OperatorProvider.Provider.GetCurrent().VenCode; //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
if (!string.IsNullOrEmpty(VenCode)) { string Date = DateTime.Now.ToString("yy"); string Pre = "DN" + VenCode + Date; STNO = GetSerialCode(WorkPoint, "ICSASN", "STNO", Pre, 5); } if (!string.IsNullOrEmpty(STNO)) { string sql = string.Empty; string configSql = string.Empty; string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; string Status = "2";
#region [获取送货单配置信息,判断状态]
configSql = @"SELECT a.F_ItemCode,a.F_ItemName FROM Sys_SRM_ItemsDetail a
LEFT JOIN Sys_SRM_Items b ON a.F_ItemId = b.F_Id WHERE b.F_EnCode = 'DeliveryNoteConfig'";
DataTable dt = SqlHelper.GetDataTableBySql(configSql); foreach (DataRow item in dt.Rows) { if (item["F_ItemName"].ToString().Equals("IsSub")) { Status = item["F_ItemCode"].ToString(); } else if (item["F_ItemName"].ToString().Equals("IsEAV")) { if (Status == "1" && item["F_ItemCode"].ToString() == "3") Status = "2"; } } #endregion
if (string.IsNullOrWhiteSpace(WorkPoint)) { throw new Exception("站点为空!"); } else { sql = @"INSERT INTO dbo.ICSOASN( ID ,MTIME,MUSER,MUSERNAME ,OASNCode ,VenCode ,WorkPoint,Status)
VALUES (NEWID(),GETDATE(),'" + VenCode + "','" + MUSERNAME + "','" + STNO + "','" + VenCode + "','" + WorkPoint + "','" + Status + "')";
try { SqlHelper.ExecuteNonQuery(sql); } catch (Exception ex) { throw new Exception(ex.Message); } } } return STNO; }
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 GetSTNOByPerson(string VenCode, string ExpArrivalDate, string WorkPoint) { string STNO = string.Empty; string Date = DateTime.Now.ToString("yy"); string Pre = "DN" + VenCode + Date;
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
STNO = GetSerialCode(WorkPoint, "ICSASN", "STNO", Pre, 5); if (!string.IsNullOrEmpty(STNO)) { string sql = string.Empty; string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; if (string.IsNullOrWhiteSpace(WorkPoint)) { throw new Exception("站点为空!"); } else { sql = @" INSERT INTO dbo.ICSOASN
( ID ,OASNCode,VenCode , Status ,MUSER ,MUSERName ,MTIME,WorkPoint) VALUES (NEWID(),'" + STNO + "','" + VenCode + "','2','" + MUSER + "','" + MUSERNAME + "',getdate(),'" + WorkPoint + "')";
try { SqlHelper.ExecuteNonQuery(sql); } catch (Exception ex) { throw new Exception(ex.Message); } } } return STNO; }
/// <summary>
/// 获取供应商列表
/// </summary>
/// <returns></returns>
public DataTable GetVendor() { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string sql = @"select '' as F_VenCode,'' as cVenName
union all SELECT DISTINCT a.F_VenCode,isnull(b.VenName,'') as cVenName FROM dbo.Sys_SRM_User a LEFT JOIN dbo.ICSVendor b ON a.F_VenCode=b.VenCode and a.F_Location=b.WorkPoint WHERE a.F_VenCode IS NOT NULL AND a.F_VenCode <>''";
string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode; if (role != "admin") { sql += " and b.WorkPoint in (" + WorkPoint.TrimEnd(',') + ")"; } DataTable dt = SqlHelper.GetDataTableBySql(sql); return dt; }
/// <summary>
/// 获取组织号信息
/// </summary>
/// <returns></returns>
public DataTable GetVendors() { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(','); string role = NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode; string sql = @" select '' as WorkPointCode,'' as WorkPointName
union all SELECT distinct (b.WorkPointCode),b.WorkPointName FROM Sys_SRM_User a LEFT JOIN Sys_WorkPoint b ON a.F_Location=b.WorkPointCode where b.WorkPointCode is not null";
DataTable dt = SqlHelper.GetDataTableBySql(sql); return dt; }
/// <summary>
/// 选择条码信息
/// </summary>
/// <param name="queryJson"></param>
/// <param name="jqgridparam"></param>
/// <returns></returns>
public DataTable GetSubGridJson_Add(string queryJson, ref Pagination jqgridparam) { //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
DataTable dt = new DataTable(); var queryParam = queryJson.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); string sql = @"SELECT a.ID,a.ID as ZJID, a.LOTNO,d.InvCode,d.InvName,c.ContainerID,b.Quantity,
a.OASNCode,m.BatchCode,f.OOCode,f.Sequence,d.InvDesc,d.ClassName,d.InvStd,b.Amount FROM dbo.ICSOASNDetail a LEFT JOIN dbo.ICSInventoryLot b ON a.LotNo =b.LotNo AND a.WorkPoint=b.WorkPoint left join ICSExtension m on b.ExtensionID=m.ID and b.WorkPoint=m.WorkPoint LEFT JOIN dbo.ICSContainerLot c ON a.LotNo=c.LotNo AND a.WorkPoint=c.WorkPoint LEFT JOIN dbo.ICSInventory d ON b.InvCode=d.InvCode AND a.WorkPoint=d.WorkPoint left join ICSInventoryLotDetail e on b.LotNo=e.LotNo and b.WorkPoint=e.WorkPoint LEFT JOIN dbo.ICSOutsourcingOrder f ON e.TransCode=f.OOCode AND e.TransSequence=f.Sequence WHERE 1=1 AND a.OASNCode='" + queryParam["STNO"].ToString() + "' and a.WorkPoint='" + queryParam["WorkPoint"].ToString() + "' ";
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
}
/// <summary>
/// 选择条码
/// </summary>
/// <returns></returns>
public DataTable GetInfoBySelectItemCode(string queryJson, ref Pagination jqgridparam,string WorkPoint) { var queryParam = queryJson.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); string sql = @" SELECT a.ID, a.LotNO,d.InvCode,d.InvName,a.Quantity,a.TYPE,
g.ProjectCode,e.OOCode,e.Sequence,d.InvDesc,d.ClassName,d.INVSTD,g.BatchCode,a.Amount,a.WorkPoint
FROM dbo.ICSInventoryLot a left join ICSExtension g on a.ExtensionID=g.ID and a.WorkPoint=g.WorkPoint LEFT JOIN dbo.ICSContainerLot b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint
LEFT JOIN dbo.ICSOASNDetail c ON a.LotNO=c.LotNO AND a.WorkPoint=c.WorkPoint LEFT JOIN dbo.ICSInventory d ON a.InvCode=d.InvCode AND a.WorkPoint=d.WorkPoint left join ICSInventoryLotDetail f on a.LotNo=f.LotNo and a.WorkPoint=f.WorkPoint LEFT JOIN dbo.ICSOutsourcingOrder e ON f.TransCode=e.OOCode AND f.TransSequence=e.Sequence WHERE c.LotNo is null and B.LotNo IS NULL and ISNULL(a.EATTRIBUTE1,'') ='' and a.Type='201' AND e.Status<>'3' ";
//AND a.TYPE='采购'";
if (!string.IsNullOrEmpty(queryJson)) { if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString())) sql += " and d.InvCode like '%" + queryParam["InvCode"].ToString() + "%'"; if (!string.IsNullOrWhiteSpace(queryParam["InvName"].ToString())) sql += " and d.InvName like '%" + queryParam["InvName"].ToString() + "%'"; if (!string.IsNullOrWhiteSpace(queryParam["OrderNo"].ToString())) sql += " and g.ProjectCode like '%" + queryParam["OrderNo"].ToString() + "%'"; if (!string.IsNullOrWhiteSpace(queryParam["TransNo"].ToString())) sql += " and e.OOCode like '%" + queryParam["TransNo"].ToString() + "%'"; if (!string.IsNullOrWhiteSpace(queryParam["TransLine"].ToString())) sql += " and e.Sequence like '%" + queryParam["TransLine"].ToString() + "%'"; if (!string.IsNullOrWhiteSpace(queryParam["VenCode"].ToString())) sql += " and e.VenCode like '%" + queryParam["VenCode"].ToString() + "%'"; } //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
sql += " and a.WorkPoint='" + WorkPoint + "'";
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); }
public string CheckSTNO_ItemCode(string JsonData, string STNO, string WorkPoint) { 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 msg = ""; string sql = string.Empty; sql = @"
INSERT INTO dbo.ICSOASNDetail ( ID ,OASNCode ,Sequence ,MUSER , LotNo , Quantity ,Amount ,ODNQuantity ,ODNAmount ,MUSERName, MTIME,WorkPoint) SELECT NEWID(),'" + STNO + "',ROW_NUMBER()over(partition by LotNO order by mtime desc),'" + MUSER + @"', a.LotNO,a.Quantity,a.Quantity*Amount as Amount,0,0,'" + MUSERNAME + @"', getdate()," + WorkPoint.TrimEnd(',') + @" FROM dbo.ICSInventoryLot a WHERE a.ID IN (" + JsonData.TrimEnd(',') + ")";
try { SqlHelper.ExecuteNonQuery(sql); } catch (Exception ex) { throw new Exception(ex.Message); }
return msg; }
/// <summary>
/// 获取箱号主表信息
/// </summary>
/// <param name="queryJson"></param>
/// <param name="jqgridparam"></param>
/// <returns></returns>
public DataTable ASNCartonGetCartonGridJson(string queryJson, ref Pagination jqgridparam, string WorkPoint) { string sql = string.Empty; DataTable dt = new DataTable(); var queryParam = queryJson.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); if (queryParam["Type"].ToString()== "ContainerType01") { sql = @" SELECT DISTINCT a.ContainerCode,a.ID,
c.MUSERName, a.MTIME,Dil.F_ItemName FROM ICSContainer a LEFT JOIN dbo.ICSContainerLot c ON a.ID=c.ContainerID and a.WorkPoint=c.WorkPoint left join dbo.ICSInventoryLot lot on c.LotNo=lot.LotNo and a.WorkPoint=lot.WorkPoint and lot.Type='201' left join Sys_SRM_ItemsDetail Dil on F_ItemId='6230217e-4413-4427-9bec-c67ba789eca9' and F_EnabledMark='1' and a.ContainerType=Dil.F_ItemCode WHERE a.ID not IN (SELECT b.ContainerID FROM dbo.ICSOASNDetail a inner JOIN dbo.ICSContainerLot b ON a.LotNO =b.LotNO AND a.WorkPoint=b.WorkPoint) and a.EATTRIBUTE1='2' and a.ContainerID='' ";
} else { sql = @" SELECT DISTINCT a.ContainerCode,a.ID,
c.MUSERName, a.MTIME,Dil.F_ItemName FROM ICSContainer a LEFT JOIN dbo.ICSContainerLot c ON a.ID=c.ContainerID and a.WorkPoint=c.WorkPoint left join dbo.ICSInventoryLot lot on c.LotNo=lot.LotNo and a.WorkPoint=lot.WorkPoint and lot.Type='201' left join Sys_SRM_ItemsDetail Dil on F_ItemId='6230217e-4413-4427-9bec-c67ba789eca9' and F_EnabledMark='1' and a.ContainerType=Dil.F_ItemCode left join ICSContainer xz on a.ID=xz.ContainerID and a.WorkPoint=xz.WorkPoint WHERE xz.ID not IN (SELECT b.ContainerID FROM dbo.ICSOASNDetail a inner JOIN dbo.ICSContainerLot b ON a.LotNO =b.LotNO AND a.WorkPoint=b.WorkPoint) and a.EATTRIBUTE1='2'
";
}
if (!string.IsNullOrWhiteSpace(queryJson)) { if (!string.IsNullOrWhiteSpace(queryParam["CartonNo"].ToString())) { sql += " and a.ContainerID like '%" + queryParam["CartonNo"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["VenCode"].ToString())) { sql += " and a.EATTRIBUTE8 = '" + queryParam["VenCode"].ToString() + "' "; } if (!string.IsNullOrWhiteSpace(queryParam["Type"].ToString())) { sql += " and a.ContainerType = '" + queryParam["Type"].ToString() + "' "; }
} if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin") { sql += " and a.WorkPoint='" + WorkPoint + "'";
} return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); }
/// <summary>
/// 箱号子表查询
/// </summary>
/// <param name="CartonNo"></param>
/// <param name="jqgridparam"></param>
/// <returns></returns>
public DataTable GetCartonSubGridJson(string CartonNo, ref Pagination jqgridparam) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; DataTable dt = new DataTable(); //var queryParam = queryJson.ToJObject();
List<DbParameter> parameter = new List<DbParameter>(); string sql = @"select a.LotNo,a.ID,c.InvCode,d.InvName,f.TransCode,f.TransSequence,d.InvDesc,d.InvStd
from ICSContainerLot a left join ICSContainer b on a.ContainerID=b.ID and a.WorkPoint=b.WorkPoint left join ICSInventoryLot c on a.LotNo=c.LotNo and a.WorkPoint=c.WorkPoint left join ICSInventory d on c.InvCode=d.InvCode and c.WorkPoint=d.WorkPoint left join ICSInventoryLotDetail f on c.LotNo=f.LotNo and f.WorkPoint=c.WorkPoint left join ICSOutsourcingOrder e on f.TransCode=e.OOCode and f.TransSequence=e.Sequence and f.WorkPoint=e.WorkPoint WHERE a.ContainerID='" + CartonNo + "' and a.WorkPoint='" + WorkPoint + "'";
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); }
public string CheckSTNO_CartonNo(string JsonData, string STNO, string WorkPoint) { 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 msg = ""; string sql = string.Empty; sql = @"INSERT INTO dbo.ICSOASNDetail
( ID ,OASNCode ,Sequence ,MUSER , LotNo , Quantity ,Amount ,ODNQuantity ,ODNAmount ,MUSERName, MTIME,WorkPoint) SELECT NEWID(),'" + STNO + "',row_number(),'" + MUSER + @"', a.LotNO,b.Quantity,b.Quantity*b.Amount as Amount,0,0,'" + MUSERNAME + @"', ,getdate()," + WorkPoint.TrimEnd(',') + @" FROM dbo.ICSContainerLot a left JOIN dbo.ICSInventoryLot b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint LEFT JOIN dbo.ICSInventory c ON c.InvCode=b.InvCode AND a.WorkPoint=c.WorkPoint WHERE a.ContainerID IN (" + JsonData.TrimEnd(',') + ") and a.WorkPoint='" + WorkPoint + "'";
try { SqlHelper.ExecuteNonQuery(sql); } catch (Exception ex) { throw new Exception(ex.Message); }
return msg; } /// <summary>
/// 删除送货单内的条码或者箱号
/// </summary>
/// <param name="keyValue"></param>
/// <returns></returns>
public string DeleteInfo(string keyValue,string WorkPoint) { //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
string msg = ""; string sql = string.Format(@" DELETE FROM dbo.ICSOASNDetail
WHERE ID IN ( SELECT ID FROM dbo.ICSOASNDetail WHERE LotNo IN ( SELECT LotNo FROM dbo.ICSContainerLot WHERE ContainerID IN ( SELECT a.ContainerID FROM dbo.ICSContainerLot a LEFT JOIN dbo.ICSOASNDetail b ON a.LotNO=b.LotNo AND a.WorkPoint=b.WorkPoint WHERE b.ID IN ({0}) AND a.WorkPoint='{1}') ))", keyValue.TrimEnd(','), WorkPoint);
SqlHelper.ExecuteNonQuery(sql); sql = string.Format(@" DELETE
FROM dbo.ICSOASNDetail WHERE ID IN ({0}) and WorkPoint ='{1}' ", keyValue.TrimEnd(','), WorkPoint);
try { SqlHelper.ExecuteNonQuery(sql); } catch (Exception ex) { msg = ex.Message; } return msg; }
/// <summary>
/// 更新送货单
/// </summary>
/// <param name="keyValue"></param>
/// <returns></returns>
public string UpdateSTNO(string keyValue, string EATTRIBUTE1) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string msg = ""; keyValue = keyValue.Substring(1, keyValue.Length - 2); string[] keyValues = keyValue.Split(','); string sql = string.Empty; sql = "UPDATE ICSOASN SET MTIME = getdate() , EATTRIBUTE1='{2}' WHERE OASNCode = {0} AND WorkPoint in ({1})"; sql = string.Format(sql, keyValues[0].TrimStart(',').TrimEnd(','), WorkPoint.Trim(','), EATTRIBUTE1); SqlHelper.ExecuteNonQuery(sql); return msg; } public int UpDateBySTNO(string keyValue, string Status, string WorkPoint) { //string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
keyValue = keyValue.Substring(1, keyValue.Length - 2); WorkPoint = WorkPoint.Substring(1, WorkPoint.Length - 2); string sql = string.Empty; sql = @"UPDATE ICSOASN SET Status = '{1}' WHERE OASNCode IN ({0}) AND WorkPoint in({2})"; sql = string.Format(sql, keyValue.TrimEnd(','), Status, WorkPoint.TrimEnd(',')); return SqlHelper.ExecuteNonQuery(sql); }
public string GetWWICSASNCode(string RoleEnCode, string WorkPoint) { DataTable dt = new DataTable(); string Date = DateTime.Now.ToString("yy"); string Pre = "DN" + RoleEnCode + Date; string ASNCode = GetSerialCode(WorkPoint, "ICSASN", "STNO", Pre, 5); return ASNCode; }
public string SaveWWICSASNAndDetail(string ICSASN, string WorkPoint) { string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; string msg = ""; string sql = string.Empty; string ID = Guid.NewGuid().ToString(); string Status; #region [获取送货单配置信息,判断状态]
string F_ItemName = SqlHelper.GetSHDZDSHItemsDetails("ASNAudit", WorkPoint); if (!string.IsNullOrWhiteSpace(F_ItemName)) { Status = "2"; } else { Status = "0"; } #endregion
JArray res = (JArray)JsonConvert.DeserializeObject(ICSASN); foreach (var item in res) { JObject jo = (JObject)item; //创建送货单主表
sql += @" INSERT INTO dbo.ICSOASN
( ID ,OASNCode ,VenCode,Status, MUSER ,MUSERName ,MTIME,WorkPoint) VALUES ( newid(),'{0}','{1}','{2}','{3}','{4}',getdate(),'{5}')";
sql = string.Format(sql, jo["ASNCode"].ToString(), jo["VenCode"].ToString(), Status, MUSER, MUSERNAME, jo["WorkPoint"].ToString());
JArray resdetail = (JArray)JsonConvert.DeserializeObject(jo["Detail"].ToString()); foreach (var detail in resdetail) { //创建送货单子表
JObject det = (JObject)detail; sql += @" INSERT INTO dbo.ICSOASNDetail
( ID ,OASNCode ,Sequence,LotNo,Quantity,Amount,ODNQuantity,ODNAmount, MUSER ,MUSERName ,MTIME,WorkPoint) VALUES ( newid(),'{0}','{1}','{2}','{3}','{4}',0,0,'{5}','{6}',getdate(),'{7}')";
sql = string.Format(sql, jo["ASNCode"].ToString(), det["Sequence"].ToString(), det["LotNo"].ToString(), det["Quantity"].ToString(), det["Amount"].ToString(), MUSER, MUSERNAME, jo["WorkPoint"].ToString());
} }
try { if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0) {
} else { msg = "新增失败"; } } catch (Exception ex) { msg = ex.Message; } return msg; }
public string UpdateWWICSASNAndDetail(string ICSASN) { string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; string msg = ""; string sql = string.Empty; string idss = ""; string Code = ""; JArray res = (JArray)JsonConvert.DeserializeObject(ICSASN); foreach (var item in res) { JObject jo = (JObject)item; JArray resdetail = (JArray)JsonConvert.DeserializeObject(jo["Detail"].ToString()); foreach (var detail in resdetail) { Code = jo["ASNCode"].ToString(); JObject det = (JObject)detail;
if (string.IsNullOrWhiteSpace(det["ZJID"].ToString())) { string DetailID = Guid.NewGuid().ToString(); sql += @"INSERT INTO dbo.ICSOASNDetail
( ID ,OASNCode ,Sequence,LotNo,Quantity,Amount,ODNQuantity,ODNAmount, MUSER ,MUSERName ,MTIME,WorkPoint) VALUES ( '{0}','{1}','{2}','{3}','{4}','{5}',0,0,'{6}','{7}',getdate(),'{8}')";
sql = string.Format(sql, DetailID, jo["ASNCode"].ToString(), det["Sequence"].ToString(), det["LotNo"].ToString(), det["Quantity"].ToString(), det["Amount"].ToString(), MUSER, MUSERNAME, jo["WorkPoint"].ToString()); idss += "'" + DetailID + "',"; } else { idss += "'" + det["ZJID"].ToString() + "',"; } } } sql += @"DELETE ICSOASNDetail where OASNCode ='{0}' and id not in ({1})"; sql = string.Format(sql, Code, idss.Substring(0, idss.Length - 1));
try { if (SqlHelper.CmdExecuteNonQueryLi(sql) > 0) {
} else { msg = "修改失败"; } } catch (Exception ex) { msg = ex.Message; } return msg; }
public DataTable GetLotByContainer(string Value, string WorkPoint) { Value = Value.TrimEnd(','); string sql = @"
WITH ICSBomALL AS ( SELECT ContainerCode AS TContainerCode, ContainerCode AS PContainerCode, ContainerCode AS ContainerCode, ID, ContainerID, 0 AS [Level], CAST(1 AS nvarchar(MAX)) AS SortSeq, CAST('00001' AS nvarchar(MAX)) AS Sort FROM ICSContainer WHERE ContainerCode in ({0}) UNION ALL SELECT b.TContainerCode, b.ContainerCode AS PContainerCode, a.ContainerCode, a.ID, a.ContainerID, b.[Level]+1 AS [Level], CAST(b.SortSeq AS nvarchar(MAX))+'.'+CAST(row_number() over (order by a.ContainerCode) AS nvarchar(MAX)) AS SortSeq, CAST(b.Sort+'.'+REPLICATE('0',5-len(row_number() over (order by a.ContainerCode)))+CAST(row_number() over (order by a.ContainerCode) AS nvarchar(MAX)) AS nvarchar(MAX)) AS Sort FROM ICSContainer a INNER JOIN ICSBomALL b ON a.ID=b.ContainerID ) SELECT a.ID, con.ContainerCode, con.ContainerName, a.LotNo, lotD.TransCode, lotD.TransSequence, a.InvCode, inv.InvName, inv.InvStd, inv.InvUnit, inv.InvDesc, a.Quantity AS Quantity, a.Quantity*(a.Amount/a.Quantity) AS Amount, '' AS WHCode, '' AS WHName, '' AS LocationCode, '' AS LocationName, ext.BatchCode AS BatchCode, inv.AmountUnit, ext.ID AS ExtensionID, ext.ProjectCode, ext.Version, --ext.BatchCode, ext.Brand, ext.cFree1, ext.cFree2, ext.cFree3, ext.cFree4, ext.cFree5, ext.cFree6, ext.cFree7, ext.cFree8, ext.cFree9, ext.cFree10, a.MUSER AS [User], a.MTIME AS [MTime], a.WorkPoint FROM ICSInventoryLot a left join dbo.ICSInventoryLotDetail lotD on a.LotNo=lotD.LotNo and a.WorkPoint=lotD.WorkPoint INNER JOIN ICSExtension ext ON a.ExtensionID=ext.ID AND a.WorkPoint=ext.WorkPoint LEFT JOIN ICSContainerLot conlot ON a.LotNo=conlot.LotNo AND a.WorkPoint=conlot.WorkPoint LEFT JOIN ICSContainer con ON conlot.ContainerID=con.ID AND conlot.WorkPoint=con.WorkPoint LEFT JOIN ICSBomALL bom ON bom.ID=con.ContainerID INNER JOIN ICSInventory inv ON a.InvCode=inv.InvCode AND a.WorkPoint=inv.WorkPoint WHERE bom.ContainerCode in ({0}) AND a.WorkPoint='{1}' UNION ALL SELECT a.ID, con.ContainerCode, con.ContainerName, a.LotNo, lotD.TransCode, lotD.TransSequence, a.InvCode, inv.InvName, inv.InvStd, inv.InvUnit, inv.InvDesc, a.Quantity AS Quantity, a.Quantity*(a.Amount/a.Quantity) AS Amount, '' AS WHCode, '' AS WHName, '' AS LocationCode, '' AS LocationName, ext.BatchCode AS BatchCode, inv.AmountUnit, ext.ID AS ExtensionID, ext.ProjectCode, ext.Version, --ext.BatchCode, ext.Brand, ext.cFree1, ext.cFree2, ext.cFree3, ext.cFree4, ext.cFree5, ext.cFree6, ext.cFree7, ext.cFree8, ext.cFree9, ext.cFree10, a.MUSER AS [User], a.MTIME AS [MTime], a.WorkPoint FROM ICSInventoryLot a left join dbo.ICSInventoryLotDetail lotD on a.LotNo=lotD.LotNo and a.WorkPoint=lotD.WorkPoint INNER JOIN ICSExtension ext ON a.ExtensionID=ext.ID AND a.WorkPoint=ext.WorkPoint LEFT JOIN ICSContainerLot conlot ON a.LotNo=conlot.LotNo AND a.WorkPoint=conlot.WorkPoint LEFT JOIN ICSContainer con ON conlot.ContainerID=con.ID AND conlot.WorkPoint=con.WorkPoint LEFT JOIN ICSBomALL bom ON bom.ID=conlot.ContainerID INNER JOIN ICSInventory inv ON a.InvCode=inv.InvCode AND a.WorkPoint=inv.WorkPoint WHERE bom.ContainerCode in ({0}) AND a.WorkPoint='{1}' ";
sql = string.Format(sql, Value, WorkPoint); DataTable dt = SqlHelper.GetDataTableBySql(sql); return dt;
}
} }
|