From 6325ef722e9f6a47779054aecb46025fdc864a9a Mon Sep 17 00:00:00 2001 From: jinxin <1013386558@qq.com> Date: 星期三, 11 六月 2025 09:46:24 +0800 Subject: [PATCH] 11 --- C#/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs | 238 +++++++++++++++++++++++++++++++---------------------------- 1 files changed, 124 insertions(+), 114 deletions(-) diff --git "a/C\043/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs" "b/C\043/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs" index f33ec2e..3a95f06 100644 --- "a/C\043/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs" +++ "b/C\043/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs" @@ -112,7 +112,7 @@ { var result = new WeiLiResult(); var db = new SqlHelper<object>().GetInstance(); - var cntrweight = model.cntrWeight == 1 ? 2 : model.cntrWeight == 2 ? 3 : model.cntrWeight == 3 ? 11 : model.cntrWeight == 4 ? 30 : model.cntrWeight == 5 ? 150 : 0; + var cntrweight = model.cntrWeight; if (!string.IsNullOrEmpty(model.startBit) && !string.IsNullOrEmpty(model.endBit)) { if (!string.IsNullOrEmpty(model.TaskNo)) @@ -947,135 +947,145 @@ var db = new SqlHelper<object>().GetInstance(); var result = new PlcSendTaskres { requestPk = model.requestPk, code = "0" }; string message = ""; - if (model.noticeType == "0" || model.noticeType == "ERROR") + try { - //绉伴噸 - if (model.noticeType == "0") + if (model.noticeType == "0" || model.noticeType == "ERROR") { - //澶栧舰妫�祴鎴愬姛 淇敼浠诲姟鍙傛暟 - var wcsTask = db.Queryable<WCSTask>().Where(it => it.S_CNTR_CODE == model.contNo && it.N_B_STATE == 2 && it.S_SCHEDULE_TYPE == "NDC").First(); - if (wcsTask != null) + //绉伴噸 + if (model.noticeType == "0") { - wcsTask.N_ERR = 200; - db.Updateable(wcsTask).UpdateColumns(it => new { it.N_ERR }).ExecuteCommand(); - } - } - else - { - //澶栧舰妫�祴澶辫触 淇敼浠诲姟鍙傛暟 - var wcsTask = db.Queryable<WCSTask>().Where(it => it.S_CNTR_CODE == model.contNo && it.N_B_STATE == 2 && it.S_SCHEDULE_TYPE == "NDC").First(); - if (wcsTask != null) - { - Location endLoc = null; - var Setting = Settings.ConnetAreas.Where(a => a.InLocList.Contains(wcsTask.S_END_LOC)).FirstOrDefault(); - if (Setting != null) + //澶栧舰妫�祴鎴愬姛 淇敼浠诲姟鍙傛暟 + var wcsTask = db.Queryable<WCSTask>().Where(it => it.S_CNTR_CODE == model.contNo && it.N_B_STATE == 2 && it.S_SCHEDULE_TYPE == "NDC").First(); + if (wcsTask != null) { - if (Settings.DBAreas.Contains(wcsTask.S_START_AREA)) + wcsTask.N_ERR = 200; + db.Updateable(wcsTask).UpdateColumns(it => new { it.N_ERR }).ExecuteCommand(); + } + } + else + { + //澶栧舰妫�祴澶辫触 淇敼浠诲姟鍙傛暟 + var wcsTask = db.Queryable<WCSTask>().Where(it => it.S_CNTR_CODE == model.contNo && it.N_B_STATE == 2 && it.S_SCHEDULE_TYPE == "NDC").First(); + if (wcsTask != null) + { + Location endLoc = null; + var Setting = Settings.ConnetAreas.Where(a => a.InLocList.Contains(wcsTask.S_END_LOC)).FirstOrDefault(); + if (Setting != null) { - endLoc = db.Queryable<Location>().Where(a => a.S_CODE == wcsTask.S_START_LOC).First(); - } - else - { - var endArea = Setting.ErrorArea; - endLoc = db.Queryable<Location>().Where(a => a.S_AREA_CODE == endArea && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0).First(); - } - - if (endLoc != null) - { - var wmsTask = db.Queryable<WMSTask>().Where(a => a.S_CODE == wcsTask.S_OP_CODE).First(); - if (wmsTask != null) + if (Settings.DBAreas.Contains(wcsTask.S_START_AREA)) { - var PlcTask = db.Queryable<WCSTask>().Where(it => it.S_CNTR_CODE == model.contNo && (it.N_B_STATE == 2 || it.N_B_STATE == 1) && it.S_SCHEDULE_TYPE == "WCS").First(); - if (PlcTask != null) - { - TaskProcess.Cancel(PlcTask); - //鍙栨秷plc浠诲姟 - TaskProcess.OperateStatus(PlcTask, 7); - WCSHelper.Fail(PlcTask); - } - LocationHelper.UnLockLoc(wmsTask.S_END_LOC); - LocationHelper.LockLoc(endLoc.S_CODE, 1); - LocationHelper.LockLoc(wcsTask.S_END_LOC, 2); - wcsTask.S_ERR_LOC = endLoc.S_CODE; - wcsTask.N_ERR = 500; - db.Updateable(wcsTask).UpdateColumns(it => new { it.N_ERR, it.S_ERR_LOC }).ExecuteCommand(); + endLoc = db.Queryable<Location>().Where(a => a.S_CODE == wcsTask.S_START_LOC).First(); } - } - else - { - LogHelper.Info($"澶栧舰妫�祴澶辫触 鏈壘鍒伴�璐х粓鐐�); - } + else + { + var endArea = Setting.ErrorArea; + endLoc = db.Queryable<Location>().Where(a => a.S_AREA_CODE == endArea && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0).First(); + } + + if (endLoc != null) + { + var wmsTask = db.Queryable<WMSTask>().Where(a => a.S_CODE == wcsTask.S_OP_CODE).First(); + if (wmsTask != null) + { + var PlcTask = db.Queryable<WCSTask>().Where(it => it.S_CNTR_CODE == model.contNo && (it.N_B_STATE == 2 || it.N_B_STATE == 1) && it.S_SCHEDULE_TYPE == "WCS").First(); + if (PlcTask != null) + { + TaskProcess.Cancel(PlcTask); + //鍙栨秷plc浠诲姟 + TaskProcess.OperateStatus(PlcTask, 7); + WCSHelper.Fail(PlcTask); + } + LocationHelper.UnLockLoc(wmsTask.S_END_LOC); + LocationHelper.LockLoc(endLoc.S_CODE, 1); + LocationHelper.LockLoc(wcsTask.S_END_LOC, 2); + wcsTask.S_ERR_LOC = endLoc.S_CODE; + wcsTask.N_ERR = 500; + db.Updateable(wcsTask).UpdateColumns(it => new { it.N_ERR, it.S_ERR_LOC }).ExecuteCommand(); + } + } + else + { + LogHelper.Info($"澶栧舰妫�祴澶辫触 鏈壘鍒伴�璐х粓鐐�); + } + } } } } - } - else - { - var task = WCSHelper.GetTask(model.requestPk); - if (task != null) - { - //if (!WCSHelper.CheckActionRecordExist(task.S_CODE, int.Parse(model.noticeType))) - //{ - switch (model.noticeType) - { - case "1": - //鎵ц鐘舵� - WCSHelper.Begin(task); - if (task.S_TYPE == "鍒嗘嫞鍑�) - { - WCSHelper.UpdateStorStatus(task.S_CNTR_CODE, 3); - } - break; - case "5": - //鍙栬揣鏃犺揣(閲婃斁璐т綅) - TaskProcess.OperateStatus(task, 4); - break; - case "2": - if (!WCSHelper.CheckActionRecordExist(task.S_CODE, 5)) - { - TaskProcess.OperateStatus(task, 4); - } - //瀹屾垚鐘舵� (鍑哄簱浠诲姟鐢熸垚绗簩娈礱gv浠诲姟) 瑙g粦璧风偣缁堢偣 - //if (task.S_B_STATE != "鍙栨秷" && task.S_B_STATE != "瀹屾垚" && task.S_B_STATE != "鍏抽棴" && task.S_B_STATE != "寮哄埗瀹屾垚") - //{ - TaskProcess.OperateStatus(task, 6); - if (task.S_OP_NAME == "鍏ュ簱") - { - WMSHelper.AddChange(task); - } - if (task.S_OP_NAME == "鍑哄簱") - { - WMSHelper.DeleteChange(task); - } - if (task.S_TYPE == "鍒嗘嫞鍥�) - { - WMSHelper.PreparationState(task); - } - //TaskProcess.PlcSencondTask(task); - WCSHelper.End(task); - WMSHelper.End(task); - //} - break; - case "8": - //鍙栬揣鏃犺揣(閲婃斁璐т綅) - quhuowuhuo(db, task); - break; - case "9": - //鏀捐揣鏈夎揣 (閲嶅垎璐т綅) - fanghuoyouhuo(db, result, task); - break; - } - WCSHelper.AddActionRecord(task.S_CODE, int.Parse(model.noticeType), "", ""); - //} - } else { - result.code = "1"; - result.msg = "璇ヤ换鍔$紪鍙蜂笉瀛樺湪"; + var task = WCSHelper.GetTask(model.requestPk); + if (task != null) + { + //if (!WCSHelper.CheckActionRecordExist(task.S_CODE, int.Parse(model.noticeType))) + //{ + switch (model.noticeType) + { + case "1": + //鎵ц鐘舵� + WCSHelper.Begin(task); + if (task.S_TYPE == "鍒嗘嫞鍑�) + { + WCSHelper.UpdateStorStatus(task.S_CNTR_CODE, 3); + } + break; + case "5": + //鍙栬揣鏃犺揣(閲婃斁璐т綅) + TaskProcess.OperateStatus(task, 4); + break; + case "2": + if (!WCSHelper.CheckActionRecordExist(task.S_CODE, 5)) + { + TaskProcess.OperateStatus(task, 4); + } + //瀹屾垚鐘舵� (鍑哄簱浠诲姟鐢熸垚绗簩娈礱gv浠诲姟) 瑙g粦璧风偣缁堢偣 + //if (task.S_B_STATE != "鍙栨秷" && task.S_B_STATE != "瀹屾垚" && task.S_B_STATE != "鍏抽棴" && task.S_B_STATE != "寮哄埗瀹屾垚") + //{ + TaskProcess.OperateStatus(task, 6); + if (task.S_OP_NAME == "鍏ュ簱") + { + WMSHelper.AddChange(task); + } + if (task.S_OP_NAME == "鍑哄簱") + { + WMSHelper.DeleteChange(task); + } + if (task.S_TYPE == "鍒嗘嫞鍥�) + { + WMSHelper.PreparationState(task); + } + //TaskProcess.PlcSencondTask(task); + WCSHelper.End(task); + WMSHelper.End(task); + //} + break; + case "8": + //鍙栬揣鏃犺揣(閲婃斁璐т綅) + quhuowuhuo(db, task); + break; + case "9": + //鏀捐揣鏈夎揣 (閲嶅垎璐т綅) + fanghuoyouhuo(db, result, task); + break; + } + WCSHelper.AddActionRecord(task.S_CODE, int.Parse(model.noticeType), "", ""); + //} + } + else + { + result.code = "1"; + result.msg = "璇ヤ换鍔$紪鍙蜂笉瀛樺湪"; + } } } + catch (Exception ex) + { + LogHelper.Error($"WCS鍥炴姤浠诲姟澶辫触 寮傚父淇℃伅{ex.Message}", ex); + result.code = "1"; + result.msg = $"WCS鍥炴姤浠诲姟澶辫触 寮傚父淇℃伅{ex.Message}"; + } + return result; } -- Gitblit v1.9.1