From f8b06c1a8a4075459cebf4472ca0757290ca38ce Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期四, 17 七月 2025 17:18:12 +0800 Subject: [PATCH] 111 --- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ERPService.cs | 110 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 69 insertions(+), 41 deletions(-) diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ERPService.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ERPService.cs index 9f783b6..dbecd46 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ERPService.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ERPService.cs @@ -681,49 +681,73 @@ if (sendERPTaskInfoList.Count == 5 || timeInfo.dateTime.AddHours(1) < DateTime.Now) { // 鍏堟牴鎹换鍔℃壒娆″彿瀛楁鑾峰彇鏃堕棿鎴充腑闂磋〃-TimeCuoInfoCom 鏁版嵁锛屽苟杩涜鍚庣画璋冪敤锛屽鐞嗘垚鍔熷垹闄ゆ椂闂存埑涓棿琛�TimeCuoInfoCom 鏁版嵁 + int count = sendERPTaskInfoList.Where(a => string.IsNullOrEmpty(a.orderCode) || a.orderCode.Length < 2 || a.orderCode.Substring(0, 2) != "MO").ToList().Count(); + #region 璁$畻鍗曟嵁缂栧彿 + string FBillNO = ""; + int num = 0; + string S_NUM = ""; + string time = DateTime.Now.ToString("yyMMdd"); + CMMLog.Info($"SendERPTaskCompleteFunc time锛歿time}"); + var midInfo = db.Queryable<ADDMid>().Where(b => b.time == time).First(); + if (midInfo != null) + { + midInfo.num = midInfo.num + 1; + num = midInfo.num; + db.Updateable(midInfo).UpdateColumns(b => new { b.num }).ExecuteCommand(); + } + else + { + num = 1; + midInfo = new ADDMid + { + time = DateTime.Now.ToString("yyMMdd"), + num = 1 + }; + db.Insertable(midInfo).ExecuteCommand(); + } + + CMMLog.Info($"SendERPTaskCompleteFunc num: {num}"); + for (int i = num.ToString().Length + 1; i <= 4; i++) + { + S_NUM = S_NUM + "0"; + } + + FBillNO = "ARKD" + DateTime.Now.ToString("yyMMdd") + S_NUM + num.ToString(); + CMMLog.Info($"SendERPTaskCompleteFunc: {FBillNO}"); + #endregion int n = 0; //琛屽彿 + int m = 0; sendERPTaskInfoList.ForEach(a => { - n = n + 1; - #region 璁$畻鍗曟嵁缂栧彿 - string FBillNO = ""; - int num = 0; - string S_NUM = ""; - string time = DateTime.Now.ToString("yyMMdd"); - CMMLog.Info($"SendERPTaskCompleteFunc time锛歿time}"); - var midInfo = db.Queryable<ADDMid>().Where(b => b.time == time).First(); - if (midInfo != null) - { - midInfo.num = midInfo.num + 1; - num = midInfo.num; - db.Updateable(midInfo).UpdateColumns(b => new { b.num }).ExecuteCommand(); - } - else - { - num = 1; - midInfo = new ADDMid - { - time = DateTime.Now.ToString("yyMMdd"), - num = 1 - }; - db.Insertable(midInfo).ExecuteCommand(); - } - - CMMLog.Info($"SendERPTaskCompleteFunc num: {num}"); - for (int i = num.ToString().Length + 1; i <= 4; i++) - { - S_NUM = S_NUM + "0"; - } - - FBillNO = "ARKD" + DateTime.Now.ToString("yyMMdd") + S_NUM + num.ToString(); - CMMLog.Info($"SendERPTaskCompleteFunc: {FBillNO}"); - #endregion - if(!string.IsNullOrEmpty(a.orderCode) && a.orderCode.Length >= 2 && a.orderCode.Substring(0,2) == "MO") { - CMMLog.Info($"SendERPTaskCompleteFunc:INSERT INTO T_JY_PRDINSTOCKOP (FBillNO,FSourceBillNo,FEntryID,FSEQ,FQTY,FStockNumber,FLot,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','{a.orderCode}','{a.FEntryID}','1','{a.totalNeedWeight}','CK020','{a.lotCode}','{a.productTime}','{a.invalidationTime}','{a.taskNo}','1','0')"); - string sql = $"INSERT INTO T_JY_PRDINSTOCKOP (FBillNO,FSourceBillNo,FEntryID,FSEQ,FQTY,FStockNumber,FLot,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','{a.orderCode}','{a.FEntryID}','1','{a.totalNeedWeight}','CK020','{a.lotCode}','{a.productTime}','{a.invalidationTime}','{a.taskNo}','1','0')"; + m = m + 1; + if(m > 1) + { + //2025-07-14 鎻掑叆鏂拌〃鐨勫崟鎹紪鍙凤紝涓�潯涓�釜鍗曟嵁缂栧彿 + #region 璁$畻鍗曟嵁缂栧彿 + S_NUM = ""; + midInfo = db.Queryable<ADDMid>().Where(b => b.time == time).First(); + if (midInfo != null) + { + midInfo.num = midInfo.num + 1; + num = midInfo.num; + db.Updateable(midInfo).UpdateColumns(b => new { b.num }).ExecuteCommand(); + } + + CMMLog.Info($"SendERPTaskCompleteFunc num: {num}"); + for (int i = num.ToString().Length + 1; i <= 4; i++) + { + S_NUM = S_NUM + "0"; + } + + FBillNO = "ARKD" + DateTime.Now.ToString("yyMMdd") + S_NUM + num.ToString(); + CMMLog.Info($"SendERPTaskCompleteFunc: {FBillNO}"); + #endregion + } + CMMLog.Info($"SendERPTaskCompleteFunc:INSERT INTO T_JY_PRDINSTOCKOP (FBillNO,FSourceBillNo,FEntryID,FSEQ,FQTY,FStockNumber,FLot,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','{a.orderCode}','{a.FEntryID}','{1}','{a.totalNeedWeight}','CK020','{a.lotCode}','{a.productTime}','{a.invalidationTime}','{a.taskNo}','{1}','0')"); + string sql = $"INSERT INTO T_JY_PRDINSTOCKOP (FBillNO,FSourceBillNo,FEntryID,FSEQ,FQTY,FStockNumber,FLot,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','{a.orderCode}','{a.FEntryID}','{1}','{a.totalNeedWeight}','CK020','{a.lotCode}','{a.productTime}','{a.invalidationTime}','{a.taskNo}','{1}','0')"; if (new SqlHelper<object>().ExecuteSql(sql, false)) { #region 鍙嶉淇℃伅缁檓es 瀵规帴鏂囨。 https://365.kdocs.cn/l/cltzoEaznLco @@ -758,7 +782,7 @@ else { //鎻掑叆澶辫触锛屽皢鏁版嵁鎻掑叆鏂拌〃锛屼汉宸ユ墜鍔ㄥ鐞嗭紝閲嶆柊鎻掑叆 - MongoDBSingleton.Instance.Insert<SendErpTaskInfoTableBak>(new SendErpTaskInfoTableBak + MongoDBSingleton.Instance.Insert<SendErpTaskInfoTableBak>(new SendErpTaskInfoTableBak { orderCode = a.orderCode, FEntryID = a.FEntryID, @@ -772,8 +796,9 @@ } else { - CMMLog.Info($"SendERPTaskCompleteFunc:INSERT INTO T_JY_SPInStockADD (FBillNO,FStockOrgNumber,FPrdOrgNumber,FSeq,FMaterialNumber,Flot,FInStockType,FMustQty,FStockNumber,FWorkShopNumber,FStockStatus,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','02','02','{n}','{a.materiCode}','{a.lotCode}','1','{a.totalWeight}','CK020','BM000161','1','{a.productTime}','{a.invalidationTime}','{a.taskNo}',{sendERPTaskInfoList.Count},'0')"); - string sql = $"INSERT INTO T_JY_SPInStockADD (FBillNO,FStockOrgNumber,FPrdOrgNumber,FSeq,FMaterialNumber,Flot,FInStockType,FMustQty,FStockNumber,FWorkShopNumber,FStockStatus,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','02','02','{n}','{a.materiCode}','{a.lotCode}','1','{a.totalWeight}','CK020','BM000161','1','{a.productTime}','{a.invalidationTime}','{a.taskNo}',{sendERPTaskInfoList.Count},'0')"; + n = n + 1; + CMMLog.Info($"SendERPTaskCompleteFunc:INSERT INTO T_JY_SPInStockADD (FBillNO,FStockOrgNumber,FPrdOrgNumber,FSeq,FMaterialNumber,Flot,FInStockType,FMustQty,FStockNumber,FWorkShopNumber,FStockStatus,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','02','02','{n}','{a.materiCode}','{a.lotCode}','1','{a.totalWeight}','CK020','BM000161','1','{a.productTime}','{a.invalidationTime}','{a.taskNo}','{count}','0')"); + string sql = $"INSERT INTO T_JY_SPInStockADD (FBillNO,FStockOrgNumber,FPrdOrgNumber,FSeq,FMaterialNumber,Flot,FInStockType,FMustQty,FStockNumber,FWorkShopNumber,FStockStatus,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','02','02','{n}','{a.materiCode}','{a.lotCode}','1','{a.totalWeight}','CK020','BM000161','1','{a.productTime}','{a.invalidationTime}','{a.taskNo}','{count}','0')"; if(new SqlHelper<object>().ExecuteSql(sql, false)) { } @@ -2040,7 +2065,7 @@ } - internal static void senderpTaskDG(string startBit, string trayCode) + internal static bool senderpTaskDG(string startBit, string trayCode) { try { @@ -2094,6 +2119,7 @@ //鍙樻洿娉ㄩ噴 mesSucess = "0" }, "SendErpTaskInfoTableDG"); + return true; } else { @@ -2109,6 +2135,8 @@ CMMLog.Info("鎻掑叆SendErpTaskInfoTableDG琛�err:" + ex.Message); } + + return false; } internal static void SendERPTaskCompleteFuncDG() -- Gitblit v1.9.1