From 0fc71730109bb5904ded8e1a14c945e45b289c50 Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期四, 03 七月 2025 18:24:05 +0800 Subject: [PATCH] 111 --- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ApiHelper.cs | 227 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 138 insertions(+), 89 deletions(-) diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ApiHelper.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ApiHelper.cs index 9080940..2736558 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ApiHelper.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ApiHelper.cs @@ -453,71 +453,94 @@ var req = JsonConvert.DeserializeObject<mesInfo>(res); if(req != null) { - var timeCuo = MongoDBSingleton.Instance.FindOne<TimeCuoInfoCom>(Query.EQ("packingMachineNumber", models.machineNo), "TimeCuoInfoCom"); - if (timeCuo == null) + if (req.isSucess) { - MongoDBSingleton.Instance.Insert<TimeCuoInfoCom>(new TimeCuoInfoCom + var mesCodeLen = req.data.mesCode.Length; + var mesCodeTwo = int.Parse(req.data.mesCode.Substring(0, mesCodeLen - 3)); + var timeCuo = MongoDBSingleton.Instance.FindOne<TimeCuoInfoCom>(Query.EQ("packingMachineNumber", models.machineNo), "TimeCuoInfoCom"); + if (timeCuo == null) { - isFold = 1, - packingMachineNumber = models.machineNo, - needWeight = (int)req.data.FMustQty, - realWeight = (int)req.data.FMustQty, - totalWeight = (int)req.data.FMustQty, - batchNumber = req.data.Flot, - productModel = req.data.materialSpec, - bagNumber_1 = req.data.bagNum, - totalCount = 1, - timeStamp = req.data.mesCode, - photoURL = req.data.barCode, - ProductionDate = req.data.ywDate, - // ERP鍙樻洿-鐓х浉鏈烘柊澧炲瓧娈�- materialCode = req.data.FMaterialNumber, - materialName = req.data.materialName, - measurementUnit = req.data.FUnit, - createOrganization = req.data.FPrdOrgNumber, - WarehouseCode = req.data.FStockNumber, - workshopCode = req.data.FWorkShopNumber, - BusinessDate = req.data.ywDate, - barcode = req.data.barCode, - - employeeID1 = req.data.jycjj, - - //鍙樻洿娉ㄩ噴 - totalNeedWeight = (int)req.data.FMustQty, - FEntryID_1 = 0, - }); - } - else - { - var query = Query.EQ("packingMachineNumber", models.machineNo); - //鍙樻洿娉ㄩ噴 - UpdateBuilder update = Update.Set("isFold", 1).Set("packingMachineNumber",models.machineNo).Set("needWeight", (int)req.data.FMustQty) - .Set("realWeight", (int)req.data.FMustQty).Set("totalWeight", (int)req.data.FMustQty).Set("batchNumber", req.data.Flot) - .Set("productModel", req.data.materialSpec).Set("bagNumber_1", req.data.bagNum).Set("totalCount", 1).Set("timeStamp", req.data.mesCode) - .Set("photoURL", req.data.barCode).Set("ProductionDate", req.data.ywDate).Set("materialCode", req.data.FMaterialNumber) - .Set("materialName", req.data.materialName).Set("measurementUnit", req.data.FUnit) - .Set("createOrganization", req.data.FPrdOrgNumber).Set("WarehouseCode", req.data.FStockNumber).Set("workshopCode", req.data.FWorkShopNumber) - .Set("BusinessDate", req.data.ywDate).Set("barcode", req.data.barCode).Set("employeeID1", req.data.jycjj) - .Set("totalNeedWeight", (int)req.data.FMustQty).Set("FEntryID_1", 0); - MongoDBSingleton.Instance.Update<TimeCuoInfoCom>(query, update, UpdateFlags.None); - } - - //鐢熸垚鍒版帴椹冲钩鍙扮殑浠诲姟 - string traycode = DateTime.Now.ToString("yyyy-MM-dd").Replace("-", ""); - string timeCuo2 = req.data.mesCode.ToString(); - var CBInfo = Settings.GetConnectingbitsList().Where(a => a.enable == 1).ToList(); - if (CBInfo != null) - { - AMSHelper.HHAmsExecuteResult amsResult = null; - foreach (var a in CBInfo) - { - if (!string.IsNullOrEmpty(a.locCode)) + MongoDBSingleton.Instance.Insert<TimeCuoInfoCom>(new TimeCuoInfoCom { - //鍦ㄤ腑闂磋〃涓煡鎵剧偣浣�- var CBTable = MongoDBSingleton.Instance.FindOne<ConnectingBits>(Query.EQ("Bit", a.locCode), "ConnectingBits"); - if (CBTable != null) + isFold = 1, + packingMachineNumber = models.machineNo, + needWeight = (int)req.data.FMustQty, + realWeight = (int)req.data.FMustQty, + totalWeight = (int)req.data.FMustQty, + batchNumber = req.data.Flot, + productModel = req.data.materialSpec, + bagNumber_1 = req.data.bagNum, + totalCount = 1, + timeStamp = mesCodeTwo, + photoURL = req.data.barCode, + ProductionDate = req.data.ywDate, + // ERP鍙樻洿-鐓х浉鏈烘柊澧炲瓧娈�+ materialCode = req.data.FMaterialNumber, + materialName = req.data.materialName, + measurementUnit = req.data.FUnit, + createOrganization = req.data.FPrdOrgNumber, + WarehouseCode = req.data.FStockNumber, + workshopCode = req.data.FWorkShopNumber, + BusinessDate = req.data.ywDate, + barcode = req.data.barCode, + + employeeID1 = req.data.jycjj, + + //鍙樻洿娉ㄩ噴 + totalNeedWeight = (int)req.data.FMustQty, + FEntryID_1 = 0, + }); + } + else + { + var query = Query.EQ("packingMachineNumber", models.machineNo); + //鍙樻洿娉ㄩ噴 + UpdateBuilder update = Update.Set("isFold", 1).Set("packingMachineNumber", models.machineNo).Set("needWeight", (int)req.data.FMustQty) + .Set("realWeight", (int)req.data.FMustQty).Set("totalWeight", (int)req.data.FMustQty).Set("batchNumber", req.data.Flot) + .Set("productModel", req.data.materialSpec).Set("bagNumber_1", req.data.bagNum).Set("totalCount", 1).Set("timeStamp", mesCodeTwo) + .Set("photoURL", req.data.barCode).Set("ProductionDate", req.data.ywDate).Set("materialCode", req.data.FMaterialNumber) + .Set("materialName", req.data.materialName).Set("measurementUnit", req.data.FUnit) + .Set("createOrganization", req.data.FPrdOrgNumber).Set("WarehouseCode", req.data.FStockNumber).Set("workshopCode", req.data.FWorkShopNumber) + .Set("BusinessDate", req.data.ywDate).Set("barcode", req.data.barCode).Set("employeeID1", req.data.jycjj) + .Set("totalNeedWeight", (int)req.data.FMustQty).Set("FEntryID_1", 0); + MongoDBSingleton.Instance.Update<TimeCuoInfoCom>(query, update, UpdateFlags.None); + } + + //鐢熸垚鍒版帴椹冲钩鍙扮殑浠诲姟 + string traycode = DateTime.Now.ToString("yyyy-MM-dd").Replace("-", ""); + string timeCuo2 = mesCodeTwo.ToString(); + var CBInfo = Settings.GetConnectingbitsList().Where(a => a.enable == 1).ToList(); + if (CBInfo != null) + { + AMSHelper.HHAmsExecuteResult amsResult = null; + foreach (var a in CBInfo) + { + if (!string.IsNullOrEmpty(a.locCode)) { - if (string.IsNullOrEmpty(CBTable.trayCode)) + //鍦ㄤ腑闂磋〃涓煡鎵剧偣浣�+ var CBTable = MongoDBSingleton.Instance.FindOne<ConnectingBits>(Query.EQ("Bit", a.locCode), "ConnectingBits"); + if (CBTable != null) + { + if (string.IsNullOrEmpty(CBTable.trayCode)) + { + //鐢熸垚浠诲姟锛屽苟涓斿皢鐐逛綅鍐欏叆涓棿琛�+ amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), models.machineNo, a.locCode, "PDA鎵撳寘涓嬬嚎", 0, traycode); + if (amsResult.success) + { + result.success = true; + CMMLog.Debug($"PDA鎵撳寘涓嬬嚎锛欰MS璋冪敤API鎴愬姛锛�); + MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", traycode).Set("timeCuo", timeCuo2), UpdateFlags.None); + + //涓婃姤鏉$爜琛�+ CMMLog.Info($" INSERT INTO T_JY_BARCODESync (FBarCode, FBarCodeRule,FMaterialNumber,FCreateOrgNumber,FLot,FUnit,FQty,FStockNumber,FDept,FBillDate,F_JY_CZZ,FOpStatus) VALUES ('{req.data.barCode}','01','{req.data.materialName}','02','{req.data.Flot}','{req.data.FUnit}','{req.data.FMustQty}','CK020','BM000161','{req.data.ywDate}','{req.data.jycjj}','0')"); + new SqlHelper<object>().ExecuteSql($" INSERT INTO T_JY_BARCODESync (FBarCode, FBarCodeRule,FMaterialNumber,FCreateOrgNumber,FLot,FUnit,FQty,FStockNumber,FDept,FBillDate,F_JY_CZZ,FOpStatus) VALUES ('{req.data.barCode}','01','{req.data.materialName}','02','{req.data.Flot}','{req.data.FUnit}','{req.data.FMustQty}','CK020','BM000161','{req.data.ywDate}','{req.data.jycjj}','0')", false); + + break; + } + else CMMLog.Debug($"PDA鎵撳寘涓嬬嚎锛欰MS璋冪敤API澶辫触锛屽紑濮嬮噸鏂拌皟鐢紒"); + } + } + else { //鐢熸垚浠诲姟锛屽苟涓斿皢鐐逛綅鍐欏叆涓棿琛� amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), models.machineNo, a.locCode, "PDA鎵撳寘涓嬬嚎", 0, traycode); @@ -525,7 +548,9 @@ { result.success = true; CMMLog.Debug($"PDA鎵撳寘涓嬬嚎锛欰MS璋冪敤API鎴愬姛锛�); - MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", traycode).Set("timeCuo", timeCuo2), UpdateFlags.None); + //鎵撳寘涓嬬嚎浠诲姟鐢熸垚鎴愬姛锛屽悜涓棿琛ㄦ彃鍏ユ暟鎹�+ + MongoDBSingleton.Instance.Insert<ConnectingBits>(new ConnectingBits { Bit = a.locCode, trayCode = traycode, state = "0", timeCuo = timeCuo2 }); //涓婃姤鏉$爜琛� CMMLog.Info($" INSERT INTO T_JY_BARCODESync (FBarCode, FBarCodeRule,FMaterialNumber,FCreateOrgNumber,FLot,FUnit,FQty,FStockNumber,FDept,FBillDate,F_JY_CZZ,FOpStatus) VALUES ('{req.data.barCode}','01','{req.data.materialName}','02','{req.data.Flot}','{req.data.FUnit}','{req.data.FMustQty}','CK020','BM000161','{req.data.ywDate}','{req.data.jycjj}','0')"); @@ -536,35 +561,20 @@ else CMMLog.Debug($"PDA鎵撳寘涓嬬嚎锛欰MS璋冪敤API澶辫触锛屽紑濮嬮噸鏂拌皟鐢紒"); } } - else - { - //鐢熸垚浠诲姟锛屽苟涓斿皢鐐逛綅鍐欏叆涓棿琛�- amsResult = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), models.machineNo, a.locCode, "PDA鎵撳寘涓嬬嚎", 0, traycode); - if (amsResult.success) - { - result.success = true; - CMMLog.Debug($"PDA鎵撳寘涓嬬嚎锛欰MS璋冪敤API鎴愬姛锛�); - //鎵撳寘涓嬬嚎浠诲姟鐢熸垚鎴愬姛锛屽悜涓棿琛ㄦ彃鍏ユ暟鎹�- - MongoDBSingleton.Instance.Insert<ConnectingBits>(new ConnectingBits { Bit = a.locCode, trayCode = traycode, state = "0", timeCuo = timeCuo2 }); - - //涓婃姤鏉$爜琛�- CMMLog.Info($" INSERT INTO T_JY_BARCODESync (FBarCode, FBarCodeRule,FMaterialNumber,FCreateOrgNumber,FLot,FUnit,FQty,FStockNumber,FDept,FBillDate,F_JY_CZZ,FOpStatus) VALUES ('{req.data.barCode}','01','{req.data.materialName}','02','{req.data.Flot}','{req.data.FUnit}','{req.data.FMustQty}','CK020','BM000161','{req.data.ywDate}','{req.data.jycjj}','0')"); - new SqlHelper<object>().ExecuteSql($" INSERT INTO T_JY_BARCODESync (FBarCode, FBarCodeRule,FMaterialNumber,FCreateOrgNumber,FLot,FUnit,FQty,FStockNumber,FDept,FBillDate,F_JY_CZZ,FOpStatus) VALUES ('{req.data.barCode}','01','{req.data.materialName}','02','{req.data.Flot}','{req.data.FUnit}','{req.data.FMustQty}','CK020','BM000161','{req.data.ywDate}','{req.data.jycjj}','0')", false); - - break; - } - else CMMLog.Debug($"PDA鎵撳寘涓嬬嚎锛欰MS璋冪敤API澶辫触锛屽紑濮嬮噸鏂拌皟鐢紒"); - } + else CMMLog.Debug("鎵撳寘涓嬬嚎鍙f帴椹充綅鐐逛綅鏈厤缃�); } - else CMMLog.Debug("鎵撳寘涓嬬嚎鍙f帴椹充綅鐐逛綅鏈厤缃�); + if (amsResult == null || amsResult.success == false) + { + result.errMsg = "浠诲姟鐢熸垚澶辫触锛屾帴椹充綅鏈変换鍔″崰鐢�; + } } - if(amsResult == null || amsResult.success == false) - { - result.errMsg = "浠诲姟鐢熸垚澶辫触锛屾帴椹充綅鏈変换鍔″崰鐢�; - } + else CMMLog.Debug("鎵撳寘涓嬬嚎鍙f帴椹充綅鏈厤缃�); } - else CMMLog.Debug("鎵撳寘涓嬬嚎鍙f帴椹充綅鏈厤缃�); + else + { + result.errMsg = req.msg; + } + } else { @@ -585,6 +595,37 @@ { result.errMsg = "鍙傛暟杈撳叆閿欒"; } + return result; + } + + /// <summary> + /// 鐢甸挻杞﹂棿鍖呰涓嬬嚎鑾峰彇wms浼犲叆鐨勬墭鐩�+ /// </summary> + /// <param name="trayCode"></param> + /// <returns></returns> + /// <exception cref="NotImplementedException"></exception> + internal static SimpleResult DGPackingLineFull(string trayCode) + { + SimpleResult result = new SimpleResult() { success = false,errCode = -1 }; + + if (!string.IsNullOrEmpty(trayCode)){ + var DGInfo = MongoDBSingleton.Instance.FindOne<DGPackingLineFullModel>(Query.EQ("trayCode", trayCode), "DGPackingLineFullModel"); + if (DGInfo == null) + { + MongoDBSingleton.Instance.Insert<DGPackingLineFullModel>(new DGPackingLineFullModel() { trayCode = trayCode, createTime = DateTime.Now }, "DGPackingLineFullModel"); + result.success = true; + result.errCode = 0; + } + else + { + result.errMsg = $"褰撳墠鎵樼洏鍙凤紝宸插瓨鍦ㄤ簬ams涓棿琛ㄤ腑锛屾墭鐩樺彿锛歿trayCode}"; + } + } + else + { + result.errMsg = $"褰撳墠鎵樼洏鍙蜂负绌�; + } + return result; } @@ -657,7 +698,7 @@ /// <summary> /// 鍞竴鐮� /// </summary> - public int mesCode { get; set; } + public string mesCode { get; set; } /// <summary> /// 瀹屾暣鏉$爜 /// </summary> @@ -728,6 +769,14 @@ public int haveItem { get; set; } } + public class DGPackingLineFullModel + { + public ObjectId _id { get; set; } + public string trayCode { get; set; } + public string isUse { get; set; } = "0"; + public DateTime createTime { get; set; } + } + public class secondResultCache { /// <summary> -- Gitblit v1.9.1