From 9aa12613873326b0d07ec7b6335b1fa6f5261849 Mon Sep 17 00:00:00 2001 From: zxx <Zxx@HanInfo> Date: 星期五, 11 七月 2025 08:40:41 +0800 Subject: [PATCH] 1 --- HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs | 260 +++++++++++++++++++++++++-------------------------- 1 files changed, 129 insertions(+), 131 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs index 286d391..ca10fbc 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs @@ -64,7 +64,7 @@ Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}"); LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}"); //濡傛灉璐ф灦鏈夊�鍒欑粦璐ф灦 - if (mst.S_FRAME_CODE!=null) + if (mst.S_FRAME_CODE != null) { LocationHelper.BindingLocHj(mst.S_END_LOC, mst.S_FRAME_CODE); @@ -140,9 +140,15 @@ if (state == 7) { CacheBitCancelUpdate(mst); + ////灏忕背璁㈠崟鍙栨秷 + //CancelModel cancelModel = new CancelModel(); + //cancelModel.order_id = mst.S_WORKSHOP_NO; + //cancelModel.order_command_type_id = "2"; + //RcsHelper.CancelOrder(cancelModel); + } } - + private static object locLocker = new object(); /// <summary> @@ -379,24 +385,29 @@ { Console.WriteLine($"浠诲姟mst {JsonConvert.SerializeObject(mst)}"); LogHelper.Info($"浠诲姟mst {JsonConvert.SerializeObject(mst)}", "浠诲姟"); - var startLoc = LocationHelper.GetLoc(mst.S_START_LOC); - var endLoc = LocationHelper.GetLoc(mst.S_END_LOC); - if (startLoc != null && endLoc != null) + //var startLoc = LocationHelper.GetLoc(mst.S_START_LOC); + //var endLoc = LocationHelper.GetLoc(mst.S_END_LOC); + if (mst.S_START_LOC != null && mst.S_END_LOC != null) { - string src = $"\"src\":\"{startLoc.S_AGV_SITE}\","; - string dst = $"\"dst\":\"{endLoc.S_AGV_SITE}\""; - string carrier_type_id = $"\"carrier_type_id\":\"-99\""; + string src = $"\"src\":\"{mst.S_START_LOC}\","; + string dst = $"\"dst\":\"{mst.S_END_LOC}\","; + string carrier_type_id = $"\"carrier_type_id\":\"1\""; string parmeS = "{"; string parmeD = "}"; string parme = parmeS + src + dst + carrier_type_id + parmeD; - + LogHelper.Info($"鎺ㄩ�浠诲姟鍙傛暟{parme}", "浠诲姟"); AntsTaskModel model = new AntsTaskModel(); model.order_name = mst.S_CODE; model.priority = 1; model.dead_line = DateTime.Now.ToString(); model.ts_name = mst.S_TYPE; - + model.parameters = parme; + //model.parameters = new AntsParasModel { + // src = mst.S_START_LOC, + // dst = mst.S_END_LOC, + // carrier_type_id="-99" + //}; var res = RcsHelper.CreateAntsOrder(model); if (res) { @@ -451,14 +462,15 @@ return result; } //灏忕背澶т欢 - public static bool CreateTransportDj(string start, string end, string taskType, string cntrs,string orderName, int startLayer, int endLayer, int trayCarryCount = 1, int priority = 1) + public static bool CreateTransportDj(string start, string end, string taskType, string cntrs, string orderName, int startLayer, int endLayer, int trayCarryCount = 1, int priority = 1) { var result = false; var trayCodes = cntrs; var taskNo = DateTime.Now.Ticks.ToString(); - var res = WCSHelper.CreateTaskDj(taskNo, start.Trim(), end.Trim(), taskType, priority, trayCodes, orderName,trayCarryCount, startLayer, endLayer); + + var res = WCSHelper.CreateTaskDj(taskNo, start.Trim(), end.Trim(), taskType, priority, trayCodes, orderName, trayCarryCount, startLayer, endLayer); if (res) { result = true; @@ -783,7 +795,7 @@ result = list.OrderBy(s => s.N_ROW).ThenBy(x => x.N_COL).FirstOrDefault(); } - + } } @@ -963,65 +975,66 @@ switch (model.ts_name) { case "p2p": - startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameter.src).First(); + startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameters.src).First(); if (startLoc == null || startLoc.N_LOCK_STATE != 0 || startLoc.C_ENABLE != "Y") { - Message = $"{model.parameter.src}搴撲綅宸茶閿佸畾!"; + Message = $"{model.parameters.src}搴撲綅宸茶閿佸畾!"; } - endLocStr = model.parameter.dst; - + endLocStr = model.parameters.dst; + break; case "p2a": - startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameter.src).First(); + startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameters.src).First(); if (startLoc == null || startLoc.N_LOCK_STATE != 0 || startLoc.C_ENABLE != "Y") { - Message = $"{model.parameter.src}搴撲綅宸茶閿佸畾!"; + Message = $"{model.parameters.src}搴撲綅宸茶閿佸畾!"; } - var endLoc = InWorkTransport(model.parameter.dst_area); - if (endLoc==null) + var endLoc = InWorkTransport(model.parameters.dst_area); + if (endLoc == null) { //濡傛灉娌℃壘鍒板氨绛夌涓�潯 - endLocStr = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.parameter.dst).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE; + endLocStr = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.parameters.dst).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE; } break; case "a2p": - startLoc = OutWorkTransport(model.parameter.src_area); - if (startLoc==null) - { - Message = $"{model.parameter.dst}搴撳尯娌℃湁鍙嚭璐т綅!"; - } - - endLocStr = model.parameter.dst; - break; - case "a2a": - startLoc = OutWorkTransport(model.parameter.src_area); + startLoc = OutWorkTransport(model.parameters.src_area); if (startLoc == null) { - Message = $"{model.parameter.src}搴撳尯娌℃湁鍙嚭璐т綅!"; + Message = $"{model.parameters.dst}搴撳尯娌℃湁鍙嚭璐т綅!"; } - var endLoc1 = InWorkTransport(model.parameter.dst_area); + + endLocStr = model.parameters.dst; + break; + case "a2a": + startLoc = OutWorkTransport(model.parameters.src_area); + if (startLoc == null) + { + Message = $"{model.parameters.src}搴撳尯娌℃湁鍙嚭璐т綅!"; + } + var endLoc1 = InWorkTransport(model.parameters.dst_area); if (endLoc1 == null) { //濡傛灉娌℃壘鍒板氨绛夌涓�潯 - endLocStr = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.parameter.dst).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE; + endLocStr = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.parameters.dst).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE; } break; case "p2u": - startLoc = OutWorkTransport(model.parameter.src); + startLoc = OutWorkTransport(model.parameters.src); if (startLoc == null) { - Message = $"{model.parameter.src}搴撳尯娌℃湁鍙嚭璐т綅!"; + Message = $"{model.parameters.src}搴撳尯娌℃湁鍙嚭璐т綅!"; } endLocStr = ""; break; } + LogHelper.Info($"bigMaterial 鎺ユ敹鍙傛暟{JsonConvert.SerializeObject(model)}"); //鍒涘缓鎵樼洏璐т綅缁戝畾鍏崇郴 string trayCode = ContainerHelper.GenerateCntrNo(); //缁戝畾璧风偣璐т綅(浜х嚎)鍜岀墿鏂�- ContainerHelper.BindLocCntrsXm(startLoc.S_CODE, trayCode, model.parameter.sku, "", model.parameter.BatchNo, model.parameter.issueMode, model.parameter.num); + ContainerHelper.BindLocCntrsXm(startLoc.S_CODE, trayCode, model.parameters.sku, "", model.parameters.BatchNo, model.parameters.issueMode, model.parameters.num); var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First(); //鍒涘缓浠诲姟 @@ -1069,127 +1082,112 @@ } - - public static TaskResponse autoSmallMaterial(smallMaterial model) { + //灏忎欢 + public static TaskResponse smallMaterial(smallMaterial model) + { var db = new SqlHelper<Location>().GetInstance(); - - string Message = null; - - //鎷嗗垎鎴愪袱鏉′换鍔★紝涓�潯鏄枡鏋跺埌鎸囧畾鐨勭紦瀛樺尯锛屼簩鏄枡鏋朵笂鐨勬墭鐩樺埌鎸囧畾鐨勫伐浣嶏紙灏忕背wcs浼狅級涓�澶�- var startFrame = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == model.parameters[0].src).First(); - - var startLoc = db.Queryable<Location>().Where(a => a.S_CODE == startFrame.S_FRAME_CODE).First(); - if (startLoc == null || startLoc.N_LOCK_STATE != 0) + try { - return new TaskResponse - { - header = new ResponseHead { code = 0, desc = $"{model.parameters[0].src}搴撲綅宸茶閿佸畾!" } - }; - } - var endReservoirs = Settings.ReservoirAreas.Where(s => s.areaName == model.routeType).FirstOrDefault(); - var endLoc = TaskProcess.InWorkTransport(endReservoirs.areaCode); - if (endLoc != null) - { - //鍒涘缓鍒扮紦瀛樺尯浠诲姟 - var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First(); - //鍒涘缓浠诲姟 - LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startLoc.S_CODE}缁堢偣:{endLoc.S_CODE}", model.ts_name); - var res = TaskProcess.CreateTransportHj(startLoc.S_CODE, endLoc.S_CODE, model.ts_name, locCntrRel.S_FRAME_CODE, 1, 1); - if (!res) + string Message = null; + + //鎷嗗垎鎴愪袱鏉′换鍔★紝涓�潯鏄枡鏋跺埌鎸囧畾鐨勭紦瀛樺尯锛屼簩鏄枡鏋朵笂鐨勬墭鐩樺埌鎸囧畾鐨勫伐浣嶏紙灏忕背wcs浼狅級涓�澶�+ var startFrame = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == model.taskList[0].parameters.src).First(); + + var startLoc = db.Queryable<Location>().Where(a => a.S_CODE == startFrame.S_FRAME_CODE).First(); + if (startLoc == null || startLoc.N_LOCK_STATE != 0) { return new TaskResponse { - header = new ResponseHead { code = 0, desc = "鑷姩涓婄嚎浠诲姟鍒涘缓澶辫触" } - }; + header = new ResponseHead { code = 0, desc = $"{model.taskList[0].parameters.src}搴撲綅宸茶閿佸畾!" } + }; } - } - //鏂欐灦涓婄殑鎵樼洏鍒版寚瀹氱殑宸ヤ綅 - foreach (var parameter in model.parameters) - { - var startLocHj = db.Queryable<Location>().Where(a => a.S_CODE == parameter.src).First(); - if (startLocHj == null || startLocHj.N_LOCK_STATE != 0) + var endLoc = TaskProcess.InWorkTransport(model.shippingRoute); + if (endLoc != null) { - Message = Message==null? $"{model.parameters[0].src}搴撲綅宸茶閿佸畾!": Message+ $"{model.parameters[0].src}搴撲綅宸茶閿佸畾!"; - } - else - { - //璐ф灦涓婄殑璐у垽鏂竴涓嬭揣鏋舵湁娌℃湁閿�- var startFrameParent = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == parameter.src).First(); - if (startFrameParent != null) + //鍒涘缓鍒扮紦瀛樺尯浠诲姟 + var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First(); + //鍒涘缓浠诲姟 + LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startLoc.S_CODE}缁堢偣:{endLoc.S_CODE}", "鏂欐灦鍒扮紦瀛樺尯"); + var res = TaskProcess.CreateTransportHj(startLoc.S_CODE, endLoc.S_CODE, "鏂欐灦鍒扮紦瀛樺尯", locCntrRel.S_FRAME_CODE, 1, 1); + if (!res) { - var startLocParent = db.Queryable<Location>().Where(a => a.S_CODE == startFrameParent.S_FRAME_CODE).First(); - if (startLocParent == null || startLocParent.N_LOCK_STATE != 0) + return new TaskResponse + { + header = new ResponseHead { code = 0, desc = "鑷姩涓婄嚎浠诲姟鍒涘缓澶辫触" } + }; + } + } + //鏂欐灦涓婄殑鎵樼洏鍒版寚瀹氱殑宸ヤ綅 + foreach (var tasklist in model.taskList) + { + if (tasklist.ts_name == "p2p") + { + var startloc = db.Queryable<Location>().Where(a => a.S_CODE == tasklist.rackPosition).First(); + if (startloc == null || startloc.N_LOCK_STATE != 0) { return new TaskResponse { - header = new ResponseHead { code = 0, desc = $"{startFrameParent.S_FRAME_CODE}璐ф灦宸茶閿佸畾!" } + header = new ResponseHead { code = 0, desc = $"{startloc.S_CODE}搴撲綅宸茶閿佸畾!" } }; } - } - var endLocHj = db.Queryable<Location>().Where(a => a.S_CODE == parameter.dst).First(); - if (endLocHj == null || endLocHj.N_LOCK_STATE != 0 || endLocHj.C_ENABLE != "Y") - { - //搴旇缁曡矾 + var endlocstr = tasklist.parameters.dst; - Message = Message == null ? $"{parameter.dst}搴撲綅宸茶閿佸畾!" : Message + $"{parameter.dst}搴撲綅宸茶閿佸畾!"; - } - else - { - //璐ф灦涓婄殑璐у垽鏂竴涓嬭揣鏋舵湁娌℃湁閿�- var endFrameParent = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == parameter.dst).First(); - if (endFrameParent != null) - { - var endLocParent = db.Queryable<Location>().Where(a => a.S_CODE == endFrameParent.S_FRAME_CODE).First(); - if (endLocParent == null || endLocParent.N_LOCK_STATE != 0) - { - return new TaskResponse - { - header = new ResponseHead { code = 0, desc = $"{endFrameParent.S_FRAME_CODE}璐ф灦宸茶閿佸畾!" } - }; - } - } - //鍒涘缓鍒扮紦瀛樺尯浠诲姟 - var locCntrRel1 = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLocHj.S_CODE).First(); + //鍒涘缓鎵樼洏璐т綅缁戝畾鍏崇郴 + string trayCode = ContainerHelper.GenerateCntrNo(); + //缁戝畾璧风偣璐т綅(浜х嚎)鍜岀墿鏂�+ ContainerHelper.BindLocCntrsXm(startloc.S_CODE, trayCode, tasklist.parameters.sku, "", tasklist.parameters.BatchNo, tasklist.parameters.issueMode, tasklist.parameters.num); + + var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startloc.S_CODE).First(); //鍒涘缓浠诲姟 - LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startLocHj.S_CODE}缁堢偣:{endLocHj.S_CODE}", model.ts_name); - var res = TaskProcess.CreateTransport(startLocHj.S_CODE, endLocHj.S_CODE, model.ts_name, locCntrRel1.S_CNTR_CODE, 1, 1); + LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startloc.S_CODE}缁堢偣:{endlocstr}", tasklist.ts_name); + var res = TaskProcess.CreateTransportDj(startloc.S_CODE, endlocstr, tasklist.ts_name, locCntrRel.S_CNTR_CODE, tasklist.order_name, 1, 1); if (!res) { return new TaskResponse { - header = new ResponseHead { code = 0, desc = "鑷姩涓婄嚎浠诲姟2鍒涘缓澶辫触" } + header = new ResponseHead { code = 1, desc = Message } }; + } } - + } - } - var result = new TaskResponse(); - if (Message != null) - { - result = new TaskResponse + var result = new TaskResponse(); + if (Message != null) { - header = new ResponseHead { code = 0, desc = Message } - }; - } - else - { - result = new TaskResponse - { - header = new ResponseHead { code = 200, desc = "SUCCESS" }, - body = new ResponseBody + result = new TaskResponse { - msg = "success", - app_name = "Guozi client", - data = new List<ResponseData> { new ResponseData { in_order_id = model.taskID } }, - version = "" - } - }; + header = new ResponseHead { code = 0, desc = Message } + }; + } + else + { + result = new TaskResponse + { + header = new ResponseHead { code = 200, desc = "SUCCESS" }, + body = new ResponseBody + { + msg = "success", + app_name = "Guozi client", + data = new List<ResponseData> { new ResponseData { in_order_id = model.taskList[0].taskID } }, + version = "" + } + }; + } + return result; + + + } - return result; + catch (Exception ex) + { + Console.WriteLine("smallMaterial:" + ex.Message + ex.StackTrace); + LogHelper.Error("smallMaterial:" + ex.Message, ex); + throw; + } } - + } -- Gitblit v1.9.1