using NFine.Code; using NFine.Data.Extensions; using NFine.Domain._03_Entity.SRM; using NFine.Repository; using System; using System.Collections.Generic; using System.Data.Common; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Globalization; namespace NFine.Application.DHAY { public class ICSFinishedProductShipmentApp : RepositoryFactory { ICSCreateItemLotApp app = new ICSCreateItemLotApp(); public DataTable GetICSSDN(string queryJson, ref Pagination jqgridparam) { DataTable dt = new DataTable(); var queryParam = queryJson.ToJObject(); List parameter = new List(); string UserName = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; string User = UserName.Substring(0, 2); #region [SQL] string sql = @" select DISTINCT a.id ,SDNCode ,a.Sequence ,a.SOCode ,a.SOSequence ,b.EATTRIBUTE3 ,a.InvCode ,c.InvName ,c.EATTRIBUTE2 ,b.EATTRIBUTE6 ,a.EATTRIBUTE6 as Project ,a.EATTRIBUTE7 ,c.InvStd ,isnull(a.Quantity,0) AS Quantity ,ISNULL(SDNQuantity, 0) AS SDNQuantity ,isnull(a.Quantity,0)-ISNULL(SDNQuantity, 0) as SYQty ,ISNULL(SDNQuantity, 0)*(1.1) AS KQty ,ISNULL(SDNQuantity, 0)*(1.1)-ISNULL(d.LotQty,0) AS SYSDNQuantity ,d.LotQty ,a.MUSER ,a.MTIME ,a.CusName from ICSSDN a left join ICSSO b on a.socode=b.socode and a.SOSequence=b.Sequence left join ICSInventory c on a.InvCode=c.InvCode and a.WorkPoint=c.WorkPoint left JOIN (SELECT SUM(ISNULL(Quantity,0))AS LotQty,TransCode,TransSequence FROM ICSFinishedProductShipment WHERE type='1' GROUP BY TransCode,TransSequence)d on SDNCode=d.TransCode and a.Sequence=d.TransSequence WHERE a.Type='1' and isnull(SDNQuantity,0)<>0"; if (!string.IsNullOrWhiteSpace(queryJson)) { if (!string.IsNullOrWhiteSpace(queryParam["SDNCode"].ToString())) { sql += " and a.SDNCode like '%" + queryParam["SDNCode"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["SOCode"].ToString())) { sql += " and a.SOCode like '%" + queryParam["SOCode"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString())) { sql += " and a.InvCode like '%" + queryParam["InvCode"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["CusName"].ToString())) { sql += " and a.CusName like '%" + queryParam["CusName"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["CusInv"].ToString())) { sql += " and b.EATTRIBUTE3 like '%" + queryParam["CusInv"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["TimeFrom"].ToString())) { sql += " and convert(nvarchar(20),a.CreateDateTime,23) >= '" + queryParam["TimeFrom"].ToString() + "' "; } if (!string.IsNullOrWhiteSpace(queryParam["TimeArrive"].ToString())) { sql += " and convert(nvarchar(20),a.CreateDateTime,23) <= '" + queryParam["TimeArrive"].ToString() + "' "; } } #endregion return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); } /// /// 获取流水号,条码信息 /// /// /// /// public DataTable GetICSFinishedProductShipment(string queryJson, ref Pagination jqgridparam) { DataTable dt = new DataTable(); var queryParam = queryJson.ToJObject(); List parameter = new List(); #region [SQL] string sql = @"SELECT ID ,LotNO ,quantity as minPackQty ,ExtensionID ,ProductDate ,PrintTimes ,LastPrintTime ,LastPrintUser ,MUSER ,MTIME ,EATTRIBUTE1 FROM ICSFinishedProductShipment"; sql += " WHERE 1=1 and TransCode='" + queryParam["SDNCode"].ToString() + "'"; if (!string.IsNullOrWhiteSpace(queryParam["FlagVersion"].ToString())) { sql += " and Type= '" + queryParam["FlagVersion"].ToString() + "' "; } if (!string.IsNullOrWhiteSpace(queryParam["Sequence"].ToString())) { sql += " and TransSequence= '" + queryParam["Sequence"].ToString() + "' "; } if (!string.IsNullOrWhiteSpace(queryParam["MOCode"].ToString())) { sql += " and EATTRIBUTE1= '" + queryParam["MOCode"].ToString() + "' "; } sql = string.Format(sql, DbHelper.GetErpIp(), DbHelper.GetErpName()); #endregion return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); } /// /// 获取生成条码信息 /// /// /// /// /// /// public DataTable GetSubGridJsonByCreate(string SDNCode, string Sequence, string WorkPoint,string Type) { DataTable dt = new DataTable(); //var queryParam = queryJson.ToJObject(); List parameter = new List(); string Workpont = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string sql = $@"SELECT a.InvCode,b.InvName,b.EATTRIBUTE5 AS OldInvCode,'' as OldInvName,a.SOCode, ISNULL(c.UseQuantity, 0) UseQuantity ,d.EATTRIBUTE3 as CusInvCode,a.EATTRIBUTE7 as CusOrders FROM ICSSDN a LEFT JOIN ICSInventory b ON a.InvCode=b.InvCode AND a.WorkPoint=b.WorkPoint left JOIN (SELECT TransCode,TransSequence,WorkPoint,sum(Quantity) as UseQuantity FROM ICSFinishedProductShipment WHERE Type='{Type}' AND TransCode='{SDNCode}' AND TransSequence='{Sequence}' GROUP BY TransCode,TransSequence,WorkPoint )c ON a.SDNCode=c.TransCode AND a.Sequence=c.TransSequence AND a.WorkPoint=c.WorkPoint left JOIN ICSSO d ON a.SOCode=d.SOCode AND a.SOSequence=d.Sequence and a.WorkPoint=d.WorkPoint WHERE a.SDNCode='{SDNCode}' AND a.Sequence='{Sequence}' AND a.WorkPoint='{Workpont}' "; return Repository().FindTableBySql(sql.ToString()); } /// /// 获取生产日期 /// /// /// /// public DataTable GetProductDate(string SDNCode, string Sequence) { DataTable dt = new DataTable(); //var queryParam = queryJson.ToJObject(); List parameter = new List(); string Workpont = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string sql = $@" SELECT top 1 ISNULL(ProductDate, '') ProductDate FROM ICSFinishedProductShipment WHERE TransCode='{SDNCode}' AND TransSequence='{Sequence}' and WorkPoint='{Workpont}' ORDER BY ProductDate asc "; return Repository().FindTableBySql(sql.ToString()); } /// /// 批次信息 /// /// /// /// /// public DataTable GetBatchInformation(string SDNCode, string Sequence) { DataTable dt = new DataTable(); //var queryParam = queryJson.ToJObject(); List parameter = new List(); string Workpont = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string sql = $@"SELECT '' as Code,'' as Name UNION all --非期初工单(生成条码的来源单据为工单) SELECT DISTINCT b.TransCode as Code,b.TransCode as Name FROM ICSWareHouseLotInfoLog a INNER JOIN ( SELECT a.LotNo, ISnull(b.type,a.Type) Type,a.WorkPoint,a.ExtensionID,a.EATTRIBUTE5 FROM ICSInventoryLot a left JOIN ICSInventoryLot b ON a.EATTRIBUTE1=b.LotNo AND a.WorkPoint =b.WorkPoint ) d ON a.LotNo=d.lotNo and a.workPoint=d.WorkPoint AND d.Type<>'0' AND d.Type<>'4' INNER JOIN ICSInventoryLotDetail b ON a.LotNo=b.lotNo and a.workPoint=b.WorkPoint INNER JOIN ICSMO c ON c.MOCode=b.TransCode AND c.Sequence=b.TransSequence AND c.WorkPoint=b.WorkPoint WHERE a.TransCode='{SDNCode}' AND a.TransSequence='{Sequence}' AND a.WorkPoint='{Workpont}' AND a.BusinessCode='19' UNION --非期初非工单(生成条码的来源单据并非工单,显示批次)如果是分批取分批前条码类型 SELECT DISTINCT e.BatchCode as Code,e.BatchCode as Name FROM ICSWareHouseLotInfoLog a INNER JOIN (SELECT a.LotNo, ISnull(b.type,a.Type) Type,a.WorkPoint,a.ExtensionID FROM ICSInventoryLot a left JOIN ICSInventoryLot b ON a.EATTRIBUTE1=b.LotNo AND a.WorkPoint =b.WorkPoint ) b ON a.LotNo=b.lotNo and a.workPoint=b.WorkPoint AND b.Type<>'0' AND b.Type<>'4' INNER JOIN ICSInventoryLotDetail d ON a.LotNo=d.lotNo and a.workPoint=d.WorkPoint left JOIN ICSMO c ON c.MOCode=d.TransCode AND c.Sequence=d.TransSequence AND c.WorkPoint=d.WorkPoint left JOIN ICSExtension e ON e.Id=b.ExtensionID WHERE a.TransCode='{SDNCode}' AND a.TransSequence='{Sequence}' AND a.WorkPoint='{Workpont}' AND a.BusinessCode='19' AND c. MOCode is NULL UNION --期初 SELECT DISTINCT b.BatchCode as Code,b.BatchCode as Name FROM ICSWareHouseLotInfoLog a INNER JOIN ( SELECT a.LotNo, ISnull(b.type,a.Type) Type,a.WorkPoint,a.ExtensionID,a.EATTRIBUTE5 FROM ICSInventoryLot a left JOIN ICSInventoryLot b ON a.EATTRIBUTE1=b.LotNo AND a.WorkPoint =b.WorkPoint ) c ON a.LotNo=c.lotNo and a.workPoint=c.WorkPoint AND c.Type ='0' INNER JOIN ICSExtension b ON c.ExtensionID=b.ID and a.workPoint=b.WorkPoint WHERE a.TransCode='{SDNCode}' AND a.TransSequence='{Sequence}' AND a.WorkPoint='{Workpont}' AND a.BusinessCode='19' UNION --销售退货原条码(取销售退货备注工单) 如果是分批取分批前条码类型 SELECT DISTINCT c.EATTRIBUTE5 as Code,c.EATTRIBUTE5 as Name FROM ICSWareHouseLotInfoLog a INNER JOIN ( SELECT a.LotNo, ISnull(b.type,a.Type) Type,a.WorkPoint,a.ExtensionID,a.EATTRIBUTE5 FROM ICSInventoryLot a left JOIN ICSInventoryLot b ON a.EATTRIBUTE1=b.LotNo AND a.WorkPoint =b.WorkPoint ) c ON a.LotNo=c.lotNo and a.workPoint=c.WorkPoint AND c.Type ='4' WHERE a.TransCode='{SDNCode}' AND a.TransSequence='{Sequence}' AND a.WorkPoint='{Workpont}' AND a.BusinessCode='19' "; return Repository().FindTableBySql(sql.ToString()); } /// /// 获取工单信息 /// /// /// /// public DataTable GetMOCode(string SDNCode, string TransSequence, string Type) { DataTable dt = new DataTable(); //var queryParam = queryJson.ToJObject(); List parameter = new List(); string Workpont = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string sql = $@"SELECT '' as Code,'' as Name UNION all SELECT distinct EATTRIBUTE1 AS Code,EATTRIBUTE1 AS Name From ICSFinishedProductShipment WHERE TransCode='{SDNCode}' AND TransSequence='{TransSequence}' AND Type='{Type}' AND WorkPoint='{Workpont}' "; return Repository().FindTableBySql(sql.ToString()); } /// /// 获取工单信息 /// /// /// /// public string MarkPrint(string Key) { try { string Workpont = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string UserName = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; Key = Key.Substring(2, Key.Length - 5); string sql = $@"UPDATE ICSFinishedProductShipment SET PrintTimes=ISNULL(PrintTimes, 0)+1 ,LastPrintUser='{UserName}',LastPrintTime=GETDATE() WHERE ID IN({Key.TrimEnd('|')}) "; if (SqlHelper.CmdExecuteNonQuery(sql) > 0) { return "操作成功"; } else { return "操作失败"; } } catch (Exception ex) { return ex.Message; } } /// /// 批次数量 /// /// /// /// /// public DataTable GetBatchCodeCount(string MOCode, string SDNCode, string Sequence, string Type) { DataTable dt = new DataTable(); //var queryParam = queryJson.ToJObject(); List parameter = new List(); string Workpont = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string sql = string.Empty; // 1.工单数量 2.批次数量 3.销售退货数量 if (Type == "3") { sql = $@" SELECT SUM(Quantity) as Quantity,sum(CurrentQuantity) as CurrentQuantity,aa.MOCode,aa.TransCode,d.UseQuantity from ( SELECT c.TransCode as MOCode,a.TransCode as TransCode,a.WorkPoint,sum(ISnull(a.Quantity,0)) as Quantity,sum(ISnull(a.Quantity,0)) as CurrentQuantity from ICSWareHouseLotInfoLog a INNER JOIN ICSWareHouseLotInfo b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint INNER JOIN ( SELECT a.LotNo, ISnull(b.type,a.Type) Type,a.WorkPoint,a.ExtensionID,a.EATTRIBUTE5 FROM (SELECT LotNo, Type, WorkPoint, ExtensionID, EATTRIBUTE5 ,CASE WHEN Type='101' THEN dbo.fn_GetRootBarcode(LotNo) else EATTRIBUTE1 end EATTRIBUTE1 from ICSInventoryLot ) a left JOIN ICSInventoryLot b ON a.EATTRIBUTE1=b.LotNo AND a.WorkPoint =b.WorkPoint where ISnull(b.type,a.Type)='3') f ON a.LotNo=f.lotNo and a.workPoint=f.WorkPoint and f.Type <>'0' inner JOIN ICSInventoryLotDetail c ON b.LotNo=c.LotNo AND b.WorkPoint=c.WorkPoint WHERE a.TransCode='{SDNCode}' AND a.TransSequence='{Sequence}' AND c.TransCode='{MOCode}' and a.WorkPoint='{Workpont}' AND a.BusinessCode='19' GROUP BY c.TransCode,a.TransCode,a.WorkPoint UNION all SELECT e.BatchCode as MOCode,a.TransCode as TransCode,a.WorkPoint,sum(ISnull(a.Quantity,0)) as Quantity,sum(ISnull(a.Quantity,0)) as CurrentQuantity from ICSWareHouseLotInfoLog a INNER JOIN ICSWareHouseLotInfo b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint INNER JOIN ( SELECT a.LotNo, ISnull(b.type,a.Type) Type,a.WorkPoint,a.ExtensionID,a.EATTRIBUTE5 FROM ICSInventoryLot a left JOIN ICSInventoryLot b ON a.EATTRIBUTE1=b.LotNo AND a.WorkPoint =b.WorkPoint where ISnull(b.type,a.Type)<>'4' and ISnull(b.type,a.Type)<>'3') f ON a.LotNo=f.lotNo and a.workPoint=f.WorkPoint INNER JOIN ICSExtension e ON e.Id=f.ExtensionID and e.workPoint=f.WorkPoint inner JOIN ICSInventoryLotDetail c ON b.LotNo=c.LotNo AND b.WorkPoint=c.WorkPoint WHERE a.TransCode='{SDNCode}' AND a.TransSequence='{Sequence}' AND e.BatchCode='{MOCode}' and a.WorkPoint='{Workpont}' AND a.BusinessCode='19' GROUP BY e.BatchCode,a.TransCode,a.WorkPoint UNION all SELECT f.EATTRIBUTE5 as MOCode,a.TransCode as TransCode,a.WorkPoint,sum(ISnull(a.Quantity,0)) as Quantity,sum(ISnull(a.Quantity,0)) as CurrentQuantity from ICSWareHouseLotInfoLog a INNER JOIN ICSWareHouseLotInfo b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint INNER JOIN ( SELECT a.LotNo, ISnull(b.type,a.Type) Type,a.WorkPoint,a.ExtensionID,a.EATTRIBUTE5 FROM ICSInventoryLot a left JOIN ICSInventoryLot b ON a.EATTRIBUTE1=b.LotNo AND a.WorkPoint =b.WorkPoint where ISnull(b.type,a.Type)='4') f ON a.LotNo=f.lotNo and a.workPoint=f.WorkPoint AND f.Type ='4' WHERE a.TransCode='{SDNCode}' AND a.TransSequence='{Sequence}' AND f.EATTRIBUTE5='{MOCode}' AND a.BusinessCode='19' GROUP BY f.EATTRIBUTE5,a.TransCode,a.WorkPoint) aa left join (SELECT sum(Quantity) as UseQuantity,WorkPoint,EATTRIBUTE1,TransCode FROM ICSFinishedProductShipment WHERE Type='{Type}' AND EATTRIBUTE1='{MOCode}' AND TransCode='{SDNCode}' AND TransSequence='{Sequence}' GROUP BY WorkPoint,TransCode,EATTRIBUTE1 ) d ON d.WorkPoint=aa.WorkPoint AND d.EATTRIBUTE1=aa.MOCode GROUP BY aa.MOCode,aa.TransCode,d.UseQuantity "; } else { sql = $@" SELECT SUM(Quantity) as Quantity,sum(CurrentQuantity) as CurrentQuantity,aa.MOCode,aa.TransCode,d.UseQuantity from ( SELECT c.TransCode as MOCode,a.TransCode as TransCode,a.WorkPoint,sum(ISnull(a.Quantity,0))*1.1 as Quantity,sum(ISnull(a.Quantity,0)) as CurrentQuantity from ICSWareHouseLotInfoLog a INNER JOIN ICSWareHouseLotInfo b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint INNER JOIN ( SELECT a.LotNo, ISnull(b.type,a.Type) Type,a.WorkPoint,a.ExtensionID,a.EATTRIBUTE5 FROM (SELECT LotNo, Type, WorkPoint, ExtensionID, EATTRIBUTE5 ,CASE WHEN Type='101' THEN dbo.fn_GetRootBarcode(LotNo) else EATTRIBUTE1 end EATTRIBUTE1 from ICSInventoryLot ) a left JOIN ICSInventoryLot b ON a.EATTRIBUTE1=b.LotNo AND a.WorkPoint =b.WorkPoint where ISnull(b.type,a.Type)='3' ) f ON a.LotNo=f.lotNo and a.workPoint=f.WorkPoint and f.Type <>'0' inner JOIN ICSInventoryLotDetail c ON b.LotNo=c.LotNo AND b.WorkPoint=c.WorkPoint WHERE a.TransCode='{SDNCode}' AND a.TransSequence='{Sequence}' AND c.TransCode='{MOCode}' and a.WorkPoint='{Workpont}' AND a.BusinessCode='19' GROUP BY c.TransCode,a.TransCode,a.WorkPoint UNION all SELECT e.BatchCode as MOCode,a.TransCode as TransCode,a.WorkPoint,sum(ISnull(a.Quantity,0))*1.1 as Quantity,sum(ISnull(a.Quantity,0)) as CurrentQuantity from ICSWareHouseLotInfoLog a INNER JOIN ICSWareHouseLotInfo b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint INNER JOIN ( SELECT a.LotNo, ISnull(b.type,a.Type) Type,a.WorkPoint,a.ExtensionID,a.EATTRIBUTE5 FROM ICSInventoryLot a left JOIN ICSInventoryLot b ON a.EATTRIBUTE1=b.LotNo AND a.WorkPoint =b.WorkPoint where ISnull(b.type,a.Type)<>'4' and ISnull(b.type,a.Type)<>'3') f ON a.LotNo=f.lotNo and a.workPoint=f.WorkPoint INNER JOIN ICSExtension e ON e.Id=f.ExtensionID and e.workPoint=f.WorkPoint inner JOIN ICSInventoryLotDetail c ON b.LotNo=c.LotNo AND b.WorkPoint=c.WorkPoint WHERE a.TransCode='{SDNCode}' AND a.TransSequence='{Sequence}' AND e.BatchCode='{MOCode}' and a.WorkPoint='{Workpont}' AND a.BusinessCode='19' GROUP BY e.BatchCode,a.TransCode,a.WorkPoint UNION all SELECT f.EATTRIBUTE5 as MOCode,a.TransCode as TransCode,a.WorkPoint,sum(ISnull(a.Quantity,0))*1.1 as Quantity,sum(ISnull(a.Quantity,0)) as CurrentQuantity from ICSWareHouseLotInfoLog a INNER JOIN ICSWareHouseLotInfo b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint INNER JOIN ( SELECT a.LotNo, ISnull(b.type,a.Type) Type,a.WorkPoint,a.ExtensionID,a.EATTRIBUTE5 FROM ICSInventoryLot a left JOIN ICSInventoryLot b ON a.EATTRIBUTE1=b.LotNo AND a.WorkPoint =b.WorkPoint where ISnull(b.type,a.Type)='4') f ON a.LotNo=f.lotNo and a.workPoint=f.WorkPoint AND f.Type ='4' WHERE a.TransCode='{SDNCode}' AND a.TransSequence='{Sequence}' AND f.EATTRIBUTE5='{MOCode}' and a.WorkPoint='{Workpont}' AND a.BusinessCode='19' GROUP BY f.EATTRIBUTE5,a.TransCode,a.WorkPoint) aa left join (SELECT sum(Quantity) as UseQuantity,WorkPoint,EATTRIBUTE1,TransCode FROM ICSFinishedProductShipment WHERE Type='{Type}' AND EATTRIBUTE1='{MOCode}' AND TransCode='{SDNCode}' AND TransSequence='{Sequence}' GROUP BY WorkPoint,TransCode,EATTRIBUTE1 ) d ON d.WorkPoint=aa.WorkPoint AND d.EATTRIBUTE1=aa.MOCode GROUP BY aa.MOCode,aa.TransCode,d.UseQuantity "; } return Repository().FindTableBySql(sql.ToString()); } /// /// 生成条码 /// /// /// /// /// /// /// public int SubmitForm(string SDNCode, string Sequence,string Type, string keyValue, string WorkPoint) { var queryParam = keyValue.ToJObject(); string WorkPoints = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(','); int createPageCount = Convert.ToInt32(queryParam["createPageCount"].ToString()); decimal minPackQty = Convert.ToDecimal(queryParam["minPackQty"].ToString()); decimal thisCreateQty = Convert.ToDecimal(queryParam["thisCreateQty"].ToString()); decimal LOTQTY = minPackQty; string Pre = ""; string sql = string.Empty; //string VendorLot = queryParam["VendorLot"].ToString(); string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; string PRODUCTDATE = queryParam["PRODUCTDATE"].ToString(); string sqls = string.Empty; int num = 0; string LotNo=string.Empty; string sqlCount = $@"SELECT max(CONVERT(int,Lotno)) as count from ICSFinishedProductShipment WHERE TransCode='{SDNCode}' And Type='{Type}' And EATTRIBUTE1='{queryParam["MOCode"]}' and EATTRIBUTE5='{queryParam["CusOrders"]}' "; var numer= SqlHelper.CmdExecuteDataTable(sqlCount)?.Rows[0]["count"].ToInt(); for (int i = 0; i < createPageCount; i++) { if (i + 1 == createPageCount) { if (minPackQty * createPageCount > thisCreateQty) { LOTQTY = thisCreateQty - (minPackQty * (createPageCount - 1)); } } if (Type == "1") { if (numer.IsEmpty() && i == 0) { LotNo = "00001"; } else { LotNo = (numer + i + 1)?.ToString("D5"); } } else if (Type == "2") { if (numer.IsEmpty() && i == 0) { LotNo = "0001"; } else { LotNo = (numer + i + 1)?.ToString("D4"); } } else if (Type == "3") { if (numer.IsEmpty() && i == 0) { LotNo = "001"; } else { LotNo = (numer + i + 1)?.ToString("D3"); } } else { return 0; } //LotNo = app.GetSerialCode(WorkPoints, "ICSFinishedProductShipment", "LotNO", Pre, num); sql += $@"INSERT INTO [dbo].[ICSFinishedProductShipment] ([ID], [LotNo], [InvCode], [ProductDate], [ExpirationDate], [Quantity], [TransCode], [TransSequence], [ExtensionID], [Type], [PrintTimes], [LastPrintUser], [LastPrintTime], [MUSER], [MUSERName], [MTIME], [WorkPoint], [minPackQty],[EATTRIBUTE1],[EATTRIBUTE5],[EATTRIBUTE6]) VALUES (newID(), N'{LotNo}', N'{queryParam["InvCode"]}', '{queryParam["PRODUCTDATE"]}', '2099-12-31', {LOTQTY}, N'{SDNCode}', N'{Sequence}', NULL, N'{Type}', NULL, NULL, NULL, N'{MUSER}', N'{MUSERNAME}', GetDate(), N'{WorkPoints}','{minPackQty}','{queryParam["MOCode"]}','{queryParam["CusOrders"]}','{queryParam["Remark"]}');"; } int count = SqlHelper.CmdExecuteNonQueryLi(sql); return count; } /// /// 删除送货单 /// /// /// public string DeleteFinishedLot(string keyValue) { string msg = ""; keyValue = keyValue.Substring(1, keyValue.Length - 2); string sql = ""; try { sql = string.Format(@" DELETE FROM dbo.ICSFinishedProductShipment WHERE ID IN ({0})", keyValue.TrimEnd(',')); SqlHelper.ExecuteNonQuery(sql); }catch (Exception ex) { msg = ex.Message; } return msg; } } }