From 5e04278c55e10c245a184057b6ae3bd8238dd93a Mon Sep 17 00:00:00 2001 From: zxx <Zxx@HanInfo> Date: 星期二, 01 七月 2025 14:24:28 +0800 Subject: [PATCH] xiaomi --- HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs | 221 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 218 insertions(+), 3 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 e47f1b8..1a4c96a 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs @@ -46,13 +46,32 @@ { Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}"); LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}"); - LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList()); + if (mst.S_FRAME_CODE != null) + { + LocationHelper.UnBindingLocHj(mst.S_START_LOC, mst.S_FRAME_CODE); + + } + else + { + LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList()); + + } } else { 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}"); - LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); + //濡傛灉璐ф灦鏈夊�鍒欑粦璐ф灦 + if (mst.S_FRAME_CODE!=null) + { + LocationHelper.BindingLocHj(mst.S_END_LOC, mst.S_FRAME_CODE); + + } + else + { + LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); + + } } } @@ -380,7 +399,24 @@ } return result; } + //灏忕背璐ф灦浠诲姟 + public static bool CreateTransportHj(string start, string end, string taskType, string frame, int startLayer, int endLayer, int trayCarryCount = 1, int priority = 1) + { + var result = false; + var trayCodes = frame; + var taskNo = DateTime.Now.Ticks.ToString(); + + var res = WCSHelper.CreateTaskHj(taskNo, start.Trim(), end.Trim(), taskType, priority, trayCodes, trayCarryCount, startLayer, endLayer); + if (res) + { + result = true; + //浠诲姟鍒涘缓鎴愬姛锛岃捣鐐硅揣浣嶅嚭搴撻攣瀹氾紝缁堢偣璐т綅鍏ュ簱閿佸畾 + LocationHelper.LockLoc(start, 2); + LocationHelper.LockLoc(end, 1); + } + return result; + } /// <summary> /// 鍒涘缓鎼繍浠诲姟 /// </summary> @@ -1834,9 +1870,188 @@ } - + + /// <summary> + /// 灏忎欢 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + internal static TaskResponse smallMaterial(smallMaterial model) + { + try + { + var startLoc = new Location(); + var endLoc = new Location(); + string Message = null; + + if (model.taskType=="鑷姩") + { + + autoSmallMaterial(model); + } + else if (model.taskType == "浜哄伐") + { + artificialSmallMaterial(model); + + } + + + + + + + + var result = new TaskResponse(); + if (Message != null) + { + result = new TaskResponse + { + 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.taskID } }, + version = "" + } + }; + } + return result; + + } + catch (Exception ex) + { + Console.WriteLine("bigMaterial:" + ex.Message + ex.StackTrace); + LogHelper.Error("bigMaterial:" + ex.Message, ex); + throw; + } + + } + //鑷姩 鎷嗗垎 + private static string autoSmallMaterial(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) + { + Message = $"{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) + { + return Message="鑷姩涓婄嚎浠诲姟鍒涘缓澶辫触"; + } + } + //鏂欐灦涓婄殑鎵樼洏鍒版寚瀹氱殑宸ヤ綅 + 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) + { + Message = $"{model.parameters[0].src}搴撲綅宸茶閿佸畾!"; + } + //璐ф灦涓婄殑璐у垽鏂竴涓嬭揣鏋舵湁娌℃湁閿�+ var startFrameParent = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == parameter.src).First(); + if (startFrameParent != null) + { + var startLocParent = db.Queryable<Location>().Where(a => a.S_CODE == startFrameParent.S_FRAME_CODE).First(); + if (startLocParent == null || startLocParent.N_LOCK_STATE != 0) + { + Message = $"{startFrameParent.S_FRAME_CODE}搴撲綅宸茶閿佸畾!"; + } + } + + + + + } + + return Message; + //switch (model.ts_name) + //{ + // case "p2p": + // startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameter.src).First(); + // if (startLoc == null || startLoc.N_LOCK_STATE != 0 || startLoc.C_ENABLE != "Y") + // { + // Message = $"{model.parameter.src}搴撲綅宸茶閿佸畾!"; + // } + + // endLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameter.dst).First(); + // if (startLoc == null || startLoc.N_LOCK_STATE != 0 || startLoc.C_ENABLE != "Y") + // { + // Message = $"{model.parameter.dst}搴撲綅宸茶閿佸畾!"; + // } + + // break; + // case "p2a": + // startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameter.src).First(); + // if (startLoc == null || startLoc.N_LOCK_STATE != 0 || startLoc.C_ENABLE != "Y") + // { + // Message = $"{model.parameter.src}搴撲綅宸茶閿佸畾!"; + // } + // endLoc = InWorkTransport(model.parameter.dst); + // if (endLoc == null) + // { + // Message = $"{model.parameter.dst}搴撳尯娌℃湁鍙叆璐т綅!"; + // } + // break; + // case "a2p": + // startLoc = OutWorkTransport(model.parameter.src); + // if (startLoc == null) + // { + // Message = $"{model.parameter.dst}搴撳尯娌℃湁鍙嚭璐т綅!"; + // } + + // endLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameter.dst).First(); + // if (startLoc == null || startLoc.N_LOCK_STATE != 0 || startLoc.C_ENABLE != "Y") + // { + // Message = $"{model.parameter.dst}搴撲綅宸茶閿佸畾!"; + // } + // break; + //} + + //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.CreateTransport(startLoc.S_CODE, endLoc.S_CODE, model.ts_name, locCntrRel.S_CNTR_CODE, 1, 1); + //if (!res) + //{ + // return new TaskResponse + // { + // header = new ResponseHead { code = 1, desc = Message } + // }; + + //} + } + //浜哄伐 涓嶆媶鍒�+ private static void artificialSmallMaterial(smallMaterial model) + { + var db = new SqlHelper<Location>().GetInstance(); + + + } } -- Gitblit v1.9.1