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