From 663ffc09a8fc33eb7d2346e6ed10c08679f0006c Mon Sep 17 00:00:00 2001 From: lss <Lss@HanInfo> Date: 星期一, 16 六月 2025 17:25:10 +0800 Subject: [PATCH] 新增任务推送限制 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs | 971 ++++++++++++++++++++++++++++++--------------------------- 1 files changed, 510 insertions(+), 461 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs index b36f7c1..5bb4768 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs @@ -12,6 +12,7 @@ using System.Collections.Generic; using System.Linq; using System.Reflection.Emit; +using System.Runtime.CompilerServices; using System.ServiceModel; using System.Threading; using System.Threading.Tasks; @@ -35,12 +36,14 @@ #region 浣抽�鍚堣偉鎺ュ彛涓氬姟 - + + public static object _lockCreateTask = new object(); /// <summary> /// 绔嬪簱浠诲姟涓嬪彂=銆嬪垱寤轰换鍔� /// </summary> /// <param name="model"></param> /// <returns></returns> + internal static Result Createtask(CreateTask model) { Result result = new Result() { code = "0", msg = "鍒涘缓鎴愬姛" }; @@ -117,267 +120,106 @@ Location endloc = new Location(); Location startloc = new Location(); - - if (taskData.taskType == 1) //鍑哄簱娴佺▼锛岄�杩囩墿鏂欐満鍙拌绠楃嚎杈硅揣浣�+ lock (_lockCreateTask) { - note = "鍑哄簱"; - startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First(); - if (startloc != null) + if (taskData.taskType == 1) //鍑哄簱娴佺▼锛岄�杩囩墿鏂欐満鍙拌绠楃嚎杈硅揣浣� { - //鍒涘缓鎵樼洏鐗╂枡缁戝畾淇℃伅锛屽苟璁$畻缁堢偣璐т綅 - Start = taskData.pickStation; - if (CreateCntrIteminfo(partData, taskData)) + note = "鍑哄簱"; + startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First(); + if (startloc != null) { - endloc = Computeloc(CntrCode, taskData.dropStation, taskData.carrierType); - if (endloc != null) + //鍒涘缓鎵樼洏鐗╂枡缁戝畾淇℃伅锛屽苟璁$畻缁堢偣璐т綅 + Start = taskData.pickStation; + if (CreateCntrIteminfo(partData, taskData)) { - End = endloc.S_CODE; + endloc = Computeloc(CntrCode, taskData.dropStation, taskData.carrierType); + if (endloc != null) + { + End = endloc.S_CODE; + } + else + { + result.code = "1"; + result.msg = $"鏈哄彴缂栫爜:{taskData.dropStation}锛屾湭鎵惧埌鍙敤璐т綅"; + AddErrorInfo("瀵绘壘鍑哄簱璐т綅澶辫触", result.msg, Source); + return result; + } } else { result.code = "1"; - result.msg = $"鏈哄彴缂栫爜:{taskData.dropStation}锛屾湭鎵惧埌鍙敤璐т綅"; - AddErrorInfo("瀵绘壘鍑哄簱璐т綅澶辫触", result.msg, Source); + result.msg = "鍒涘缓鎵樼洏鐗╂枡淇℃伅澶辫触"; + AddErrorInfo("鍒涘缓鎵樼洏澶辫触", result.msg, Source); return result; } } else { + result.code = "1"; - result.msg = "鍒涘缓鎵樼洏鐗╂枡淇℃伅澶辫触"; - AddErrorInfo("鍒涘缓鎵樼洏澶辫触", result.msg, Source); - return result; - } - } - else - { - - result.code = "1"; - result.msg = $"Putin==> 浠诲姟璧风偣:{taskData.pickStation}鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; - LogHelper.Info($"Putin==> {result.msg}"); - AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); - } - } - else if (taskData.taskType == 2)//鍏ュ簱娴佺▼锛岀洿鎺ヤ娇鐢ㄨ捣鐐硅揣浣嶅拰缁堢偣璐т綅鐢熸垚浠诲姟锛岃捣鐐归渶瑕佹湁鎵樼洏 - { - note = "鍏ュ簱"; - startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First(); - if (startloc != null) - { - Start = startloc.S_CODE; - var CntrRel = LocationHelper.GetLocCntrRel(startloc.S_CODE).FirstOrDefault(); - if (CntrRel != null) - { - CntrCode = CntrRel.S_CNTR_CODE; - } - //else - //{ - // result.code = "1"; - // result.msg = $"鏍规嵁璧风偣{Start},鏈壘鍒版墭鐩樿揣浣嶇粦瀹氬叧绯�; - // AddErrorInfo("鎵樼洏鏌ユ壘澶辫触", result.msg, Source); - // return result; - //} - - } - else - { - result.code = "1"; - result.msg = $"鏍规嵁璧风偣{taskData.pickStation},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; - AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); - return result; - } - - endloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.dropStation).First(); - if (endloc != null) - { - End = taskData.dropStation; - } - else - { - result.code = "1"; - result.msg = $"鏍规嵁缁堢偣{End},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; - AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); - return result; - } - } - else if (taskData.taskType == 3)//绉诲簱娴佺▼锛岀洿鎺ヤ娇鐢ㄨ捣鐐硅揣浣嶅拰缁堢偣璐т綅鐢熸垚浠诲姟锛�- { - note = "鍑哄簱"; - //鍒涘缓鎵樼洏鐗╂枡缁戝畾淇℃伅锛屽苟璁$畻缁堢偣璐т綅 - startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First(); - if (startloc != null) - { - Start = taskData.pickStation; - } - else - { - result.code = "1"; - result.msg = $"鏍规嵁璧风偣{taskData.pickStation},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; - AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); - return result; - } - endloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.dropStation).First(); - if (endloc != null) - { - End = taskData.dropStation; - } - else - { - result.code = "1"; - result.msg = $"鏍规嵁缁堢偣{taskData.dropStation},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; - AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); - return result; - } - } - else if (taskData.taskType == 4)//鍘熸潗鏂欏簱闇�鍒ゆ柇鏄惁闇�鍒嗛厤鐢垫浠诲姟,鍒涘缓鍒嗘。浠诲姟 - { - startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First(); - if (startloc != null) - { - Start = taskData.pickStation; - } - endloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.dropStation).First(); - if (endloc != null) - { - End = taskData.dropStation; - } - - //鍒ゆ柇妤煎眰鏄惁鐩哥瓑锛屽鏋滀笉鐩稿悓闇�鐢熸垚鍒嗘浠诲姟杩涜鐢垫璋冪敤 - if (!string.IsNullOrEmpty(Start) && !string.IsNullOrEmpty(End)) - { - var startArea = db.Queryable<Area>().Where(a => a.S_CODE.Trim() == startloc.S_AREA_CODE).First(); - var endArea = db.Queryable<Area>().Where(a => a.S_CODE.Trim() == endloc.S_AREA_CODE).First(); - if (startArea == null || endArea == null) - { - result.code = "1"; - result.msg = $"鍒涘缓浠诲姟澶辫触锛岃捣鐐�{startloc.S_AREA_CODE},缁堢偣锛歿endloc.S_AREA_CODE}鏈壘鍒板搴斿簱鍖�; + result.msg = $"Putin==> 浠诲姟璧风偣:{taskData.pickStation}鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; + LogHelper.Info($"Putin==> {result.msg}"); AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); return result; } - if (startArea.N_FLOOR == endArea.N_FLOOR) + } + else if (taskData.taskType == 2)//鍏ュ簱娴佺▼锛岀洿鎺ヤ娇鐢ㄨ捣鐐硅揣浣嶅拰缁堢偣璐т綅鐢熸垚浠诲姟锛岃捣鐐归渶瑕佹湁鎵樼洏 + { + note = "鍏ュ簱"; + startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First(); + if (startloc != null) { - //鍒涘缓wcs浠诲姟 - var wcsTask = new WCSTask + Start = startloc.S_CODE; + var CntrRel = LocationHelper.GetLocCntrRel(startloc.S_CODE).FirstOrDefault(); + if (CntrRel != null) { - S_CODE = WCSHelper.GenerateTaskNo(), - S_TYPE = startArea.S_NAME + "->" + endArea.S_NAME, - S_EQ_NO = taskData.taskNum, - S_START_LOC = Start, - S_END_LOC = End, - N_CNTR_COUNT = 1, - S_START_WH = startloc.S_WH_CODE, - S_START_AREA = startloc.S_AREA_CODE, - S_END_WH = endloc.S_WH_CODE, - S_END_AREA = endloc.S_AREA_CODE, - N_SCHEDULE_TYPE = 1, - S_CNTR_CODE = CntrCode, - N_PRIORITY = taskData.priority, - N_START_LAYER = 1, - N_END_LAYER = 1, - S_WMS_NO = taskData.wmsTaskNo, - Z_TYPE = n_type, - - - }; - LogHelper.Info("鍒涘缓浠诲姟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask"); - if (WCSHelper.CreateTask(wcsTask)) - { - // LocationHelper.LockLoc(End, 2); - - LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); - } - else - { - result.code = "1"; - result.msg = $"浠诲姟鍒涘缓澶辫触"; - AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); - return result; - } - } - else if (startArea.N_FLOOR != endArea.N_FLOOR) - { - //妤煎眰鐢垫鍒嗛厤 - var elevatorLoc = LocationHelper.GetElevatorLoc(); - - if (elevatorLoc != null) - { //鍒涘缓wcs鍒嗘浠诲姟 - var wcsTask = new WCSTask + if (CntrRel.S_CNTR_CODE!= partData.rfid) { - S_CODE = WCSHelper.GenerateTaskNo(), - S_TYPE = "鐢垫1", - S_EQ_NO = taskData.taskNum, - S_START_LOC = Start, - S_END_LOC = elevatorLoc.S_CODE, - N_CNTR_COUNT = 1, - S_START_WH = startloc.S_WH_CODE, - S_START_AREA = startloc.S_AREA_CODE, - S_END_WH = elevatorLoc.S_WH_CODE, - S_END_AREA = elevatorLoc.S_AREA_CODE, - N_SCHEDULE_TYPE = 1, - S_CNTR_CODE = CntrCode, - N_PRIORITY = taskData.priority, - N_START_LAYER = 1, - N_END_LAYER = 1, - S_WMS_NO = taskData.wmsTaskNo, - Z_TYPE = n_type, - S_MES_NO = taskData.mesTaskNo - }; - var wcsTask1 = new WCSTask - { - S_CODE = WCSHelper.GenerateTaskNo(), - S_TYPE = "鐢垫2", - S_EQ_NO = taskData.taskNum, - S_START_LOC = elevatorLoc.S_CODE, - S_END_LOC = End, - N_CNTR_COUNT = 1, - S_START_WH = elevatorLoc.S_WH_CODE, - S_START_AREA = elevatorLoc.S_AREA_CODE, - S_END_WH = endloc.S_WH_CODE, - S_END_AREA = endloc.S_AREA_CODE, - N_SCHEDULE_TYPE = 1, - S_CNTR_CODE = CntrCode, - N_PRIORITY = taskData.priority, - S_WMS_NO = taskData.wmsTaskNo, - N_START_LAYER = 1, - N_END_LAYER = 1, - Z_TYPE = n_type, - S_MES_NO = taskData.mesTaskNo - - }; - LogHelper.Info("鍒涘缓浠诲姟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask"); - if (WCSHelper.CreateTask(wcsTask) && WCSHelper.CreateTask(wcsTask1)) - { - - // LocationHelper.LockLoc(Start, 1); - //LocationHelper.LockLoc(End, 2); - LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + result.code = "1"; + result.msg = $"鏍规嵁璧风偣锛歿Start}鑾峰彇鎵樼洏:{CntrRel.S_CNTR_CODE}涓庝笅鍙戞墭鐩橈細{partData.rfid}涓嶄竴鑷达紝璇锋鏌ユ墭鐩樼爜鏄惁姝g‘"; + AddErrorInfo("鎵樼洏鐮佹牎妫�け璐�, result.msg, Source); + return result; } else { - result.code = "1"; - result.msg = $"浠诲姟鍒涘缓澶辫触"; - AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); - return result; + CntrCode = CntrRel.S_CNTR_CODE; } + } - - + //else + //{ + // result.code = "1"; + // result.msg = $"鏍规嵁璧风偣{Start},鏈壘鍒版墭鐩樿揣浣嶇粦瀹氬叧绯�; + // AddErrorInfo("鎵樼洏鏌ユ壘澶辫触", result.msg, Source); + // return result; + //} } + else + { + result.code = "1"; + result.msg = $"鏍规嵁璧风偣{taskData.pickStation},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; + AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); + return result; + } + + endloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.dropStation).First(); + if (endloc != null) + { + End = taskData.dropStation; + } + else + { + result.code = "1"; + result.msg = $"鏍规嵁缁堢偣{End},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; + AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); + return result; + } } - else + else if (taskData.taskType == 3)//绉诲簱娴佺▼锛岀洿鎺ヤ娇鐢ㄨ捣鐐硅揣浣嶅拰缁堢偣璐т綅鐢熸垚浠诲姟锛� { - result.code = "1"; - result.msg = "鍒涘缓浠诲姟澶辫触锛屾湭鎵惧埌瀵瑰簲鐨勫彇璐х偣鎴栧嵏璐х偣"; - return result; - } - } - else if (taskData.taskType == 5)//绉诲簱娴佺▼锛岀洿鎺ヤ娇鐢ㄨ捣鐐硅揣浣嶅拰缁堢偣璐т綅鐢熸垚浠诲姟锛屽苟缁戝畾鎵樼洏 - { - note = "鍑哄簱"; - //鍒涘缓鎵樼洏鐗╂枡缁戝畾淇℃伅锛屽苟璁$畻缁堢偣璐т綅 - if (CreateCntrIteminfo(partData, taskData)) - { + note = "鍑哄簱"; + //鍒涘缓鎵樼洏鐗╂枡缁戝畾淇℃伅锛屽苟璁$畻缁堢偣璐т綅 startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First(); if (startloc != null) { @@ -403,197 +245,373 @@ return result; } } - else - { - result.code = "1"; - result.msg = "鍒涘缓鎵樼洏鐗╂枡淇℃伅澶辫触"; - AddErrorInfo("鍒涘缓鎵樼洏澶辫触", result.msg, Source); - return result; - } - - } - //鏆傚瓨浣嶅洖搴�- else if (taskData.taskType == 6)//鍏ュ簱娴佺▼锛岀洿鎺ヤ娇鐢ㄨ捣鐐硅揣浣嶅拰缁堢偣璐т綅鐢熸垚浠诲姟 - { - note = "鍏ュ簱"; - //鏍规嵁鎵樼洏鍙锋壘璐т綅 - var CntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_CNTR_CODE == partData.rfid).First(); - if (CntrRel != null) - { - startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == CntrRel.S_LOC_CODE).First(); - if (startloc != null) - { - Start = startloc.S_CODE; - CntrCode = CntrRel.S_CNTR_CODE; - } - else - { - result.code = "1"; - result.msg = $"鏍规嵁鎵樼洏{partData.rfid},鏈壘鍒版墭鐩樿揣浣嶇粦瀹氬叧绯�; - AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); - return result; - } - } - endloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.dropStation).First(); - if (endloc != null) - { - End = taskData.dropStation; - } - else - { - result.code = "1"; - result.msg = $"鏍规嵁缁堢偣{End},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; - AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); - return result; - } - } - //鐐瑰搴撳尯 - else if (taskData.taskType == 7)//寮傚父浣�- { - note = "寮傚父搴撳尯鍏ュ簱"; - //鍒涘缓鎵樼洏鐗╂枡缁戝畾淇℃伅锛屽苟璁$畻缁堢偣璐т綅 - if (CreateCntrIteminfo(partData, taskData)) + else if (taskData.taskType == 4)//鍘熸潗鏂欏簱闇�鍒ゆ柇鏄惁闇�鍒嗛厤鐢垫浠诲姟,鍒涘缓鍒嗘。浠诲姟 { startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First(); if (startloc != null) { Start = taskData.pickStation; } - var EndLocs = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == taskData.dropStation).ToList(); - if (EndLocs.Count > 0) + endloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.dropStation).First(); + if (endloc != null) { - endloc = EndLocs.Find(a => a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0); - if (endloc != null) + End = taskData.dropStation; + } + + //鍒ゆ柇妤煎眰鏄惁鐩哥瓑锛屽鏋滀笉鐩稿悓闇�鐢熸垚鍒嗘浠诲姟杩涜鐢垫璋冪敤 + if (!string.IsNullOrEmpty(Start) && !string.IsNullOrEmpty(End)) + { + var startArea = db.Queryable<Area>().Where(a => a.S_CODE.Trim() == startloc.S_AREA_CODE).First(); + var endArea = db.Queryable<Area>().Where(a => a.S_CODE.Trim() == endloc.S_AREA_CODE).First(); + if (startArea == null || endArea == null) { - End = endloc.S_CODE; + result.code = "1"; + result.msg = $"鍒涘缓浠诲姟澶辫触锛岃捣鐐�{startloc.S_AREA_CODE},缁堢偣锛歿endloc.S_AREA_CODE}鏈壘鍒板搴斿簱鍖�; + AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); + return result; + } + if (startArea.N_FLOOR == endArea.N_FLOOR) + { + //鍒涘缓wcs浠诲姟 + var wcsTask = new WCSTask + { + S_CODE = WCSHelper.GenerateTaskNo(), + S_TYPE = startArea.S_NAME + "->" + endArea.S_NAME, + S_EQ_NO = taskData.taskNum, + S_START_LOC = Start, + S_END_LOC = End, + N_CNTR_COUNT = 1, + S_START_WH = startloc.S_WH_CODE, + S_START_AREA = startloc.S_AREA_CODE, + S_END_WH = endloc.S_WH_CODE, + S_END_AREA = endloc.S_AREA_CODE, + N_SCHEDULE_TYPE = 1, + S_CNTR_CODE = CntrCode, + N_PRIORITY = taskData.priority, + N_START_LAYER = 1, + N_END_LAYER = 1, + S_WMS_NO = taskData.wmsTaskNo, + Z_TYPE = n_type, + + + }; + LogHelper.Info("鍒涘缓浠诲姟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask"); + if (WCSHelper.CreateTask(wcsTask)) + { + // LocationHelper.LockLoc(End, 2); + + LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + } + else + { + result.code = "1"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + return result; + } + } + else if (startArea.N_FLOOR != endArea.N_FLOOR) + { + //妤煎眰鐢垫鍒嗛厤 + var elevatorLoc = LocationHelper.GetElevatorLoc(); + + if (elevatorLoc != null) + { //鍒涘缓wcs鍒嗘浠诲姟 + var wcsTask = new WCSTask + { + S_CODE = WCSHelper.GenerateTaskNo(), + S_TYPE = "鐢垫1", + S_EQ_NO = taskData.taskNum, + S_START_LOC = Start, + S_END_LOC = elevatorLoc.S_CODE, + N_CNTR_COUNT = 1, + S_START_WH = startloc.S_WH_CODE, + S_START_AREA = startloc.S_AREA_CODE, + S_END_WH = elevatorLoc.S_WH_CODE, + S_END_AREA = elevatorLoc.S_AREA_CODE, + N_SCHEDULE_TYPE = 1, + S_CNTR_CODE = CntrCode, + N_PRIORITY = taskData.priority, + N_START_LAYER = 1, + N_END_LAYER = 1, + S_WMS_NO = taskData.wmsTaskNo, + Z_TYPE = n_type, + S_MES_NO = taskData.mesTaskNo + }; + var wcsTask1 = new WCSTask + { + S_CODE = WCSHelper.GenerateTaskNo(), + S_TYPE = "鐢垫2", + S_EQ_NO = taskData.taskNum, + S_START_LOC = elevatorLoc.S_CODE, + S_END_LOC = End, + N_CNTR_COUNT = 1, + S_START_WH = elevatorLoc.S_WH_CODE, + S_START_AREA = elevatorLoc.S_AREA_CODE, + S_END_WH = endloc.S_WH_CODE, + S_END_AREA = endloc.S_AREA_CODE, + N_SCHEDULE_TYPE = 1, + S_CNTR_CODE = CntrCode, + N_PRIORITY = taskData.priority, + S_WMS_NO = taskData.wmsTaskNo, + N_START_LAYER = 1, + N_END_LAYER = 1, + Z_TYPE = n_type, + S_MES_NO = taskData.mesTaskNo + + }; + LogHelper.Info("鍒涘缓浠诲姟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask"); + if (WCSHelper.CreateTask(wcsTask) && WCSHelper.CreateTask(wcsTask1)) + { + + // LocationHelper.LockLoc(Start, 1); + //LocationHelper.LockLoc(End, 2); + LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + } + else + { + result.code = "1"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + return result; + } + } + + + + } + } + else + { + result.code = "1"; + result.msg = "鍒涘缓浠诲姟澶辫触锛屾湭鎵惧埌瀵瑰簲鐨勫彇璐х偣鎴栧嵏璐х偣"; + return result; + } + } + else if (taskData.taskType == 5)//绉诲簱娴佺▼锛岀洿鎺ヤ娇鐢ㄨ捣鐐硅揣浣嶅拰缁堢偣璐т綅鐢熸垚浠诲姟锛屽苟缁戝畾鎵樼洏 + { + note = "鍑哄簱"; + //鍒涘缓鎵樼洏鐗╂枡缁戝畾淇℃伅锛屽苟璁$畻缁堢偣璐т綅 + if (CreateCntrIteminfo(partData, taskData)) + { + startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First(); + if (startloc != null) + { + Start = taskData.pickStation; } else { result.code = "1"; - result.msg = $"缁堢偣搴撳尯锛歿taskData.dropStation}鏃犲彲鐢ㄨ揣浣�; + result.msg = $"鏍规嵁璧风偣{taskData.pickStation},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; + AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); + return result; + } + endloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.dropStation).First(); + if (endloc != null) + { + End = taskData.dropStation; + } + else + { + result.code = "1"; + result.msg = $"鏍规嵁缁堢偣{taskData.dropStation},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; + AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); + return result; + } + } + else + { + result.code = "1"; + result.msg = "鍒涘缓鎵樼洏鐗╂枡淇℃伅澶辫触"; + AddErrorInfo("鍒涘缓鎵樼洏澶辫触", result.msg, Source); + return result; + } + + } + //鏆傚瓨浣嶅洖搴�+ else if (taskData.taskType == 6)//鍏ュ簱娴佺▼锛岀洿鎺ヤ娇鐢ㄨ捣鐐硅揣浣嶅拰缁堢偣璐т綅鐢熸垚浠诲姟 + { + note = "鍏ュ簱"; + //鏍规嵁鎵樼洏鍙锋壘璐т綅 + var CntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_CNTR_CODE == partData.rfid).First(); + if (CntrRel != null) + { + startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == CntrRel.S_LOC_CODE).First(); + if (startloc != null) + { + Start = startloc.S_CODE; + CntrCode = CntrRel.S_CNTR_CODE; + } + else + { + result.code = "1"; + result.msg = $"鏍规嵁鎵樼洏{partData.rfid},鏈壘鍒版墭鐩樿揣浣嶇粦瀹氬叧绯�; + AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); + return result; + } + } + endloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.dropStation).First(); + if (endloc != null) + { + End = taskData.dropStation; + } + else + { + result.code = "1"; + result.msg = $"鏍规嵁缁堢偣{End},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; + AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); + return result; + } + } + //鐐瑰搴撳尯 + else if (taskData.taskType == 7)//寮傚父浣�+ { + note = "寮傚父搴撳尯鍏ュ簱"; + //鍒涘缓鎵樼洏鐗╂枡缁戝畾淇℃伅锛屽苟璁$畻缁堢偣璐т綅 + if (CreateCntrIteminfo(partData, taskData)) + { + startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First(); + if (startloc != null) + { + Start = taskData.pickStation; + } + var EndLocs = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == taskData.dropStation).ToList(); + if (EndLocs.Count > 0) + { + endloc = EndLocs.Find(a => a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0); + if (endloc != null) + { + End = endloc.S_CODE; + } + else + { + result.code = "1"; + result.msg = $"缁堢偣搴撳尯锛歿taskData.dropStation}鏃犲彲鐢ㄨ揣浣�; + AddErrorInfo("鏌ユ壘搴撳尯澶辫触", result.msg, Source); + return result; + } + + } + else + { + result.code = "1"; + result.msg = $"鏍规嵁缁堢偣搴撳尯锛歿taskData.dropStation},鏈壘鍒板搴旇揣浣�; AddErrorInfo("鏌ユ壘搴撳尯澶辫触", result.msg, Source); return result; } - } else { result.code = "1"; - result.msg = $"鏍规嵁缁堢偣搴撳尯锛歿taskData.dropStation},鏈壘鍒板搴旇揣浣�; - AddErrorInfo("鏌ユ壘搴撳尯澶辫触", result.msg, Source); + result.msg = "鍒涘缓鎵樼洏鐗╂枡淇℃伅澶辫触"; + AddErrorInfo("鍒涘缓鎵樼洏澶辫触", result.msg, Source); return result; } } - else + else if (taskData.taskType == 8)//鍙犵洏鏈虹┖鎵樺洖搴� { - result.code = "1"; - result.msg = "鍒涘缓鎵樼洏鐗╂枡淇℃伅澶辫触"; - AddErrorInfo("鍒涘缓鎵樼洏澶辫触", result.msg, Source); - return result; - } - } - else if (taskData.taskType == 8)//鍙犵洏鏈虹┖鎵樺洖搴�- { - note = "绌烘墭鍥炲簱";//浜曟澗绌烘墭鍥炲簱锛岄渶瑕佷笌鍙犵洏鏈哄畨鍏ㄤ氦浜�- startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First(); - if (startloc != null) - { - Start = startloc.S_CODE; - } - else - { - result.code = "1"; - result.msg = $"鏍规嵁璧风偣:{taskData.pickStation},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; - AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); - return result; - } - endloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.dropStation).First(); - if (endloc != null) - { - End = taskData.dropStation; - } - else - { - result.code = "1"; - result.msg = $"鏍规嵁缁堢偣:{End},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; - AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); - return result; - } - } - else - { - LogHelper.Info($"Createtask==> 浠诲姟绫诲瀷鏈夎"); - result.code = "1"; - result.msg = "浠诲姟绫诲瀷锛歿taskData.taskType}涓嶅湪瑙勫畾鑼冨洿鍐�; - AddErrorInfo("浠诲姟绫诲瀷閿欒", result.msg, Source); - } - if (taskData.taskType != 4) - { - if (!string.IsNullOrEmpty(Start) && !string.IsNullOrEmpty(End)) - { - if (startloc.N_LOCK_STATE != 0) + note = "绌烘墭鍥炲簱";//浜曟澗绌烘墭鍥炲簱锛岄渶瑕佷笌鍙犵洏鏈哄畨鍏ㄤ氦浜�+ startloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.pickStation).First(); + if (startloc != null) { - result.code = "1"; - result.msg = $"鍒涘缓浠诲姟澶辫触锛岃捣鐐箋Start}鏈夐攣"; - AddErrorInfo("璐т綅鏈夐攣", result.msg); - return result; - } - var startArea = db.Queryable<Area>().Where(a => a.S_CODE.Trim() == startloc.S_AREA_CODE.Trim()).First(); - var endArea = db.Queryable<Area>().Where(a => a.S_CODE.Trim() == endloc.S_AREA_CODE.Trim()).First(); - if (startArea == null || endArea == null) - { - LogHelper.Info($"璧风偣锛歿JsonConvert.SerializeObject(startArea)}"); - LogHelper.Info($"缁堢偣锛歿JsonConvert.SerializeObject(endArea)}"); - result.code = "1"; - result.msg = $"鍒涘缓浠诲姟澶辫触锛岃捣鐐�{startloc.S_AREA_CODE},缁堢偣{endloc.S_AREA_CODE}鏈壘鍒板搴斿簱鍖�; - AddErrorInfo("搴撳尯鏌ユ壘澶辫触", result.msg); - return result; - } - //鍒涘缓wcs浠诲姟 - var wcsTask = new WCSTask - { - S_CODE = WCSHelper.GenerateTaskNo(), - S_TYPE = startArea.S_NAME + "->" + endArea.S_NAME, - S_EQ_NO = taskData.taskNum, - S_START_LOC = Start, - S_END_LOC = End, - N_CNTR_COUNT = 1, - S_START_WH = startloc.S_WH_CODE, - S_END_WH = endloc.S_WH_CODE, - S_END_AREA = endloc.S_AREA_CODE, - N_SCHEDULE_TYPE = 1, - S_CNTR_CODE = CntrCode, - N_PRIORITY = taskData.priority, - Z_TYPE = n_type, - N_START_LAYER = 1, - N_END_LAYER = 1, - S_WMS_NO = taskData.wmsTaskNo, - S_NOTE = note, - S_MES_NO = taskData.mesTaskNo - - }; - LogHelper.Info("鍒涘缓浠诲姟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask"); - if (WCSHelper.CreateTask(wcsTask)) - { - // LocationHelper.LockLoc(Start, 2); - //LocationHelper.LockLoc(End, 1); - LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + Start = startloc.S_CODE; } else { result.code = "1"; - result.msg = $"浠诲姟鍒涘缓澶辫触"; - AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + result.msg = $"鏍规嵁璧风偣:{taskData.pickStation},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; + AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); + return result; + } + endloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == taskData.dropStation).First(); + if (endloc != null) + { + End = taskData.dropStation; + } + else + { + result.code = "1"; + result.msg = $"鏍规嵁缁堢偣:{End},鎵句笉鍒板搴旇揣浣嶏紝璇锋鏌ヨ揣浣嶈〃"; + AddErrorInfo("璐т綅鏌ユ壘澶辫触", result.msg, Source); return result; } } else { + LogHelper.Info($"Createtask==> 浠诲姟绫诲瀷鏈夎"); result.code = "1"; - result.msg = "鍒涘缓浠诲姟澶辫触锛屾湭鎵惧埌瀵瑰簲鐨勫彇璐х偣鎴栧嵏璐х偣"; - return result; + result.msg = "浠诲姟绫诲瀷锛歿taskData.taskType}涓嶅湪瑙勫畾鑼冨洿鍐�; + AddErrorInfo("浠诲姟绫诲瀷閿欒", result.msg, Source); + } + if (taskData.taskType != 4) + { + if (!string.IsNullOrEmpty(Start) && !string.IsNullOrEmpty(End)) + { + if (startloc.N_LOCK_STATE != 0) + { + result.code = "1"; + result.msg = $"鍒涘缓浠诲姟澶辫触锛岃捣鐐箋Start}鏈夐攣"; + AddErrorInfo("璐т綅鏈夐攣", result.msg); + return result; + } + var startArea = db.Queryable<Area>().Where(a => a.S_CODE.Trim() == startloc.S_AREA_CODE.Trim()).First(); + var endArea = db.Queryable<Area>().Where(a => a.S_CODE.Trim() == endloc.S_AREA_CODE.Trim()).First(); + if (startArea == null || endArea == null) + { + LogHelper.Info($"璧风偣锛歿JsonConvert.SerializeObject(startArea)}"); + LogHelper.Info($"缁堢偣锛歿JsonConvert.SerializeObject(endArea)}"); + result.code = "1"; + result.msg = $"鍒涘缓浠诲姟澶辫触锛岃捣鐐�{startloc.S_AREA_CODE},缁堢偣{endloc.S_AREA_CODE}鏈壘鍒板搴斿簱鍖�; + AddErrorInfo("搴撳尯鏌ユ壘澶辫触", result.msg); + return result; + } + //鍒涘缓wcs浠诲姟 + var wcsTask = new WCSTask + { + S_CODE = WCSHelper.GenerateTaskNo(), + S_TYPE = startArea.S_NAME + "->" + endArea.S_NAME, + S_EQ_NO = taskData.taskNum, + S_START_LOC = Start, + S_END_LOC = End, + N_CNTR_COUNT = 1, + S_START_WH = startloc.S_WH_CODE, + S_END_WH = endloc.S_WH_CODE, + S_END_AREA = endloc.S_AREA_CODE, + N_SCHEDULE_TYPE = 1, + S_CNTR_CODE = CntrCode, + N_PRIORITY = taskData.priority, + Z_TYPE = n_type, + N_START_LAYER = 1, + N_END_LAYER = 1, + S_WMS_NO = taskData.wmsTaskNo, + S_NOTE = note, + S_MES_NO = taskData.mesTaskNo + + }; + LogHelper.Info("鍒涘缓浠诲姟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask"); + if (WCSHelper.CreateTask(wcsTask)) + { + // LocationHelper.LockLoc(Start, 2); + //LocationHelper.LockLoc(End, 1); + LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + } + else + { + result.code = "1"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); + return result; + } + } + else + { + result.code = "1"; + result.msg = "鍒涘缓浠诲姟澶辫触锛屾湭鎵惧埌瀵瑰簲鐨勫彇璐х偣鎴栧嵏璐х偣"; + return result; + } } } + return result; } @@ -983,7 +1001,6 @@ string areacode = ""; var db = new SqlHelper<object>().GetInstance(); #endregion - try { @@ -1071,56 +1088,60 @@ #endregion #region 浠诲姟鍒涘缓 - if (!string.IsNullOrEmpty(Start) && !string.IsNullOrEmpty(End)) + if (string.IsNullOrEmpty(Start)) { - if (loc.N_LOCK_STATE != 0) - { - result.code = "1"; - result.msg = $"鍒涘缓浠诲姟澶辫触锛岃捣鐐箋Start}鏈夐攣"; - AddErrorInfo("璐т綅鏈夐攣", result.msg, Source); - return result; - } - //鍒涘缓wcs浠诲姟 - var wcsTask = new WCSTask - { - S_CODE = WCSHelper.GenerateTaskNo(), - S_TYPE = "鍑哄钩搴�, - S_EQ_NO = model.TaskNumber, - S_START_LOC = Start, - S_END_LOC = End, - S_START_WH = loc.S_WH_CODE, - S_START_AREA = loc.S_AREA_CODE, - S_END_WH = Endloc.S_WH_CODE, - S_END_AREA = Endloc.S_AREA_CODE, - N_CNTR_COUNT = 1, - N_SCHEDULE_TYPE = 1, - S_CNTR_CODE = CntrCode, - N_START_LAYER = 1, - N_END_LAYER = 1, - Z_TYPE = n_type + result.code = "1"; + result.msg = "鍒涘缓浠诲姟澶辫触锛屾湭鎵惧埌瀵瑰簲鐨勫彇璐х偣"; + return result; + } + if (string.IsNullOrEmpty(End)) + { + result.code = "1"; + result.msg = "鍒涘缓浠诲姟澶辫触锛屾湭鎵惧埌瀵瑰簲鐨勫嵏璐х偣"; + return result; + } + if (loc.N_LOCK_STATE != 0) + { + result.code = "1"; + result.msg = $"鍒涘缓浠诲姟澶辫触锛岃捣鐐箋Start}鏈夐攣"; + AddErrorInfo("璐т綅鏈夐攣", result.msg, Source); + return result; + } + //鍒涘缓wcs浠诲姟 + var wcsTask = new WCSTask + { + S_CODE = WCSHelper.GenerateTaskNo(), + S_TYPE = "鍑哄钩搴�, + S_EQ_NO = model.TaskNumber, + S_START_LOC = Start, + S_END_LOC = End, + S_START_WH = loc.S_WH_CODE, + S_START_AREA = loc.S_AREA_CODE, + S_END_WH = Endloc.S_WH_CODE, + S_END_AREA = Endloc.S_AREA_CODE, + N_CNTR_COUNT = 1, + N_SCHEDULE_TYPE = 1, + S_CNTR_CODE = CntrCode, + N_START_LAYER = 1, + N_END_LAYER = 1, + Z_TYPE = n_type - }; - LogHelper.Info("鍒涘缓鍑哄钩搴撲换鍔★細" + JsonConvert.SerializeObject(wcsTask)); - if (WCSHelper.CreateTask(wcsTask)) - { - LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); - //LocationHelper.LockLoc(Start, 2); - //LocationHelper.LockLoc(End, 1); - } - else - { - result.code = "1"; - result.msg = $"浠诲姟鍒涘缓澶辫触"; - AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); - return result; - } + }; + LogHelper.Info("鍒涘缓鍑哄钩搴撲换鍔★細" + JsonConvert.SerializeObject(wcsTask)); + if (WCSHelper.CreateTask(wcsTask)) + { + LogHelper.Info("鍒涘缓浠诲姟鎴愬姛"); + //LocationHelper.LockLoc(Start, 2); + //LocationHelper.LockLoc(End, 1); } else { result.code = "1"; - result.msg = "鍒涘缓浠诲姟澶辫触锛屾湭鎵惧埌瀵瑰簲鐨勫彇璐х偣鎴栧嵏璐х偣"; + result.msg = $"浠诲姟鍒涘缓澶辫触"; + AddErrorInfo("浠诲姟鍒涘缓澶辫触", result.msg, Source); return result; } + #endregion return result; @@ -1205,8 +1226,9 @@ loc = dploc.FindAll(a => a.N_LOCK_STATE == 0 && a.N_CURRENT_NUM < 6).OrderByDescending(a => a.N_CURRENT_NUM).FirstOrDefault(); if (loc == null) { + LogHelper.Info($"涓夋ゼ璐т綅鍙犵洏浣嶏紝閮藉凡缁忔湁閿佹垨鑰呭凡缁忓彔婊★紝璇锋鏌ヨ揣浣嶇姸鎬�); result.code = "1"; - result.msg = $"鍙犵洏璐т綅涓嶅彲鐢�; + result.msg = $"鍙犵洏璐т綅涓嶅彲鐢紝缁堢偣搴撳尯娌℃湁鍙敤璐т綅锛岃妫�煡閿佺姸鎬佸拰鏁伴噺"; AddErrorInfo("鏌ユ壘搴撳尯澶辫触", result.msg, Source); return result; } @@ -1217,9 +1239,9 @@ } else { - + // LogHelper.Info($"鏍规嵁璐т綅妤煎眰锛歿startloc.N_LAYER}锛屼粨搴撶紪鐮侊細{startloc.S_WH_CODE}锛岃揣浣嶅娉細鍙犵洏锛屾湭鎵惧埌鍙犵洏璐т綅"); result.code = "1"; - result.msg = $"鍙犵洏璐т綅涓嶅彲鐢�; + result.msg = $"鍙犵洏璐т綅涓嶅彲鐢紝鏈壘鍒板彲鍙犵洏璐т綅"; LogHelper.Info($"鏍规嵁璐т綅澶囨敞锛氬彔鐩橈紝璐т綅妤煎眰:{startloc.N_LAYER},璐т綅浠撳簱:{startloc.S_WH_CODE}锛屾壘涓嶅埌鍙犵洏璐т綅"); AddErrorInfo("鏌ユ壘璐т綅澶辫触", result.msg, Source); return result; @@ -1234,8 +1256,9 @@ loc = KjDploc.FindAll(a => a.N_LOCK_STATE == 0 && a.N_CURRENT_NUM < 6).OrderByDescending(a => a.N_CURRENT_NUM).FirstOrDefault(); if (loc == null) { + LogHelper.Info($"鐗囪兌鍫嗗彔浣嶏紝閮藉凡缁忔湁閿佹垨鑰呭凡缁忓彔婊★紝璇锋鏌ヨ揣浣嶇姸鎬�); result.code = "1"; - result.msg = $"鍙犵洏璐т綅涓嶅彲鐢�; + result.msg = $"鍙犵洏璐т綅涓嶅彲鐢紝缁堢偣搴撳尯娌℃湁鍙敤璐т綅锛岃妫�煡閿佺姸鎬佸拰鏁伴噺"; AddErrorInfo("鏌ユ壘搴撳尯澶辫触", result.msg, Source); return result; } @@ -1269,7 +1292,7 @@ { result.code = "1"; result.msg = $"鏍规嵁璧风偣浠撳簱缂栫爜锛歿startloc.S_WH_CODE}鏈壘鍒板搴旈厤缃枃浠�; - LogHelper.Info($"Putin==> {result.msg}"); + LogHelper.Info($" {result.msg}"); AddErrorInfo("鏌ユ壘搴撳尯澶辫触", result.msg, Source); return result; } @@ -1277,14 +1300,18 @@ //鍥炲簱璐т綅璁$畻搴撳尯璐т綅 loc = StorageCompute(itemcode, areacode); - //if (loc == null) - //{ - // loc = emptyRow(areacode); - // if (loc == null) - // { - // LogHelper.Info($"搴撳尯锛歿areacode}娌℃湁绌烘帓"); - // } - //} + if (loc == null) + { + loc = emptyRow(areacode); + if (loc == null) + { + result.code = "1"; + result.msg = $"搴撳尯锛歿areacode}娌℃湁鍙敤璐т綅"; + LogHelper.Info($" {result.msg}"); + AddErrorInfo("鏌ユ壘搴撳尯澶辫触", result.msg, Source); + // LogHelper.Info($"搴撳尯锛歿areacode}娌℃湁鍙敤璐т綅"); + } + } //else //{ @@ -1399,10 +1426,11 @@ #region 鍙橀噺 string Start = ""; string End = model.TargetLocation; - + string areacode = ""; string cntrcode = ""; Location startloc = new Location(); + // startloc = LocationHelper.GetLocByAreacode(areacode, model.CarrierType); #endregion try @@ -1412,7 +1440,6 @@ #region 鏍规嵁浠撳簱缂栫爜鍒ゆ柇搴撳尯 骞惰绠楀嚭搴撹揣浣� var endloc = db.Queryable<Location>().Where(a => a.S_CODE.Trim() == End).First(); //鏍规嵁浠撳簱 璁$畻搴撳尯 - if (endloc != null) { var whcode = Settings.wareLoc.Where(a => a.AreaCode == endloc.S_WH_CODE).FirstOrDefault(); @@ -1428,10 +1455,9 @@ AddErrorInfo("鏌ユ壘搴撳尯澶辫触", result.msg, Source); return result; } - //璁$畻鍑哄簱鎵樼洏 - startloc = LocationHelper.GetLocByAreacode(areacode,model.CarrierType); + startloc = LocationHelper.GetLocByAreacode(areacode, model.CarrierType); if (startloc != null) { var cntr = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == startloc.S_CODE).First(); @@ -1448,7 +1474,14 @@ AddErrorInfo("鏌ユ壘鎵樼洏澶辫触", result.msg, Source); return result; } - + } + else + { + result.code = "1"; + result.msg = $"鍒涘缓绌哄伐瑁呭懠鍙换鍔�=>鏍规嵁搴撳尯锛歿areacode}锛屾墭鐩樼被鍨嬶細{model.CarrierType}鎵句笉鍒板搴旂┖鎵�; + LogHelper.Info($"callfixture:{result.msg}"); + AddErrorInfo("鏌ユ壘鎵樼洏澶辫触", result.msg, Source); + return result; } } @@ -2043,7 +2076,7 @@ /// </summary> /// <param name="model"></param> /// <returns></returns> - internal static Result CreatelevatorTask(Elevator model) + internal static Result CreatelevatorTask(ElevatorModel model) { Result result = new Result() { code = "200", msg = "鐐瑰鐐逛换鍔″垱寤烘垚鍔� }; string Source = "MES"; @@ -2273,19 +2306,20 @@ if (loccntr != null) { - string cntrcode = loccntr.S_CNTR_CODE; var CntrItem = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE.Trim() == cntrcode).First(); if (CntrItem != null) { - if (LocationHelper.UnBindingLoc(loc, new List<string>() { cntrcode })) - { - LogHelper.Info($"娓呴櫎鎵樼洏璐т綅鍏崇郴鎴愬姛"); - } + //娓呴櫎鎵樼洏鐗╂枡缁戝畾鍏崇郴 + db.Deleteable<CntrItemDetail>().Where(it => it.S_CNTR_CODE.Trim() == CntrItem.S_CNTR_CODE).ExecuteCommand(); } else { LogHelper.Info($"ClearLocCntr 鎵樼洏{cntrcode}鏃犵墿鏂欑粦瀹氬叧绯�); + } + if (LocationHelper.UnBindingLoc(loc, new List<string>() { cntrcode })) + { + LogHelper.Info($"娓呴櫎鎵樼洏璐т綅鍏崇郴鎴愬姛"); } } @@ -2368,7 +2402,7 @@ } } - + } else { @@ -2410,14 +2444,14 @@ DeviceInfoModel device = new DeviceInfoModel(); List<DeviceInfos> deviceInfos = new List<DeviceInfos>();//鍙犵洏鏈烘姤閿欎俊鎭�- List<AgvInfos> agvInfos = new List<AgvInfos>();//agv鎶ラ敊淇℃伅 + // List<AgvInfos> agvInfos = new List<AgvInfos>();//agv鎶ラ敊淇℃伅 //鑾峰彇鍐呭瓨涓彔鐩樻満鐨勬姤閿欎俊鎭� foreach (var dpjInfo in DeviceProcess.DpjInfoDirectory) { deviceInfos.Add(new DeviceInfos() { Device = dpjInfo.Value.DeviceName, DeviceInfo = dpjInfo.Value.ErrorInfo }); } - device.DeviceInfos = deviceInfos; + // device.DeviceInfos = deviceInfos; //鑾峰彇杞﹁締鎶ヨ淇℃伅 var agvDeviceInfo = db.Queryable<HangChaAGV>().ToList(); if (agvDeviceInfo.Count > 0) @@ -2429,10 +2463,10 @@ foreach (var agv in agvDeviceInfo) { string agvErrorInfo = GetAgvAlarmSendCodeTwo(agv.agvErrCode, agv.errCode2, agv.faildCode); - agvInfos.Add(new AgvInfos() { AgvNo = agv.agvNo, AgvInfo = agvErrorInfo }); + deviceInfos.Add(new DeviceInfos() { AgvNo = agv.agvNo, AgvInfo = agvErrorInfo }); } } - device.AgvInfos = agvInfos; + device.DeviceInfos = deviceInfos; return device; } @@ -2497,7 +2531,7 @@ #region 鍚堣偉浣抽�涓氬姟鏂规硶 - + /// <summary> /// 鎵樼洏鍏ュ簱绠楁硶 /// </summary> @@ -2671,6 +2705,21 @@ } } + + //internal static bool CreateCntrLoc(taskData taskData) + //{ + // if ( taskData == null) + // { + // LogHelper.Info($"CreateCntrIteminfo==> 绔嬪簱浠诲姟涓嬪彂鍙傛暟鏈夌┖锛屽垱寤虹墿鏂欐墭鐩樼粦瀹氬叧绯诲け璐�); + // return false; + // } + // else + // { + // LocationHelper.BindingLoc(taskData.pickStation,new List<string>() { taskData.rfid }); + + // } + + //} private static object _lockLocation = new object(); /// <summary> /// 鏍规嵁鎵樼洏缂栫爜锛屾満鍙扮紪鐮侊紝宸ヨ绫诲瀷璁$畻鏈哄彴绾胯竟鍖哄煙 -- Gitblit v1.9.1