From c8f338feee0b6003d8f069b1d37fd9b90dd1b7f4 Mon Sep 17 00:00:00 2001
From: 杨前锦 <1010338399@qq.com>
Date: 星期一, 07 七月 2025 17:31:38 +0800
Subject: [PATCH] 印尼佳通优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.HD/core/Monitor.cs |   81 ++++++++++++++++++++++++----------------
 1 files changed, 49 insertions(+), 32 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.HD/core/Monitor.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.HD/core/Monitor.cs
index efa0ea3..834ffda 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.HD/core/Monitor.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.HD/core/Monitor.cs
@@ -224,18 +224,28 @@
                         if (locCntrRel != null)
                         {
                             LogHelper.Info("1111111", "杈撻�绾�);
-                            if (lineSignalInfo.faultMessage == 1)
-                            {
-                                // 鍥炴姤杞﹂棿鎺у埗鍣�-                                LogHelper.Info("杈撻�绾�绾夸綋銆� + line.code + "銆戣皟鏁翠负鎵嬪姩鐘舵�", "杈撻�绾�);
-                                continue;
-                            }
-
                             WMSTask wmsTask = WMSHelper.GetWmsTaskByCntr(locCntrRel.S_CNTR_CODE);
                             if (wmsTask == null)
                             {
                                 LogHelper.Info("娌℃湁姝e湪鎵ц鐨勪换鍔★紝璐т綅锛� + locCntrRel.S_LOC_CODE + " 瀹瑰櫒锛� + locCntrRel.S_CNTR_CODE, "杈撻�绾�);
                                 continue;
+                            }
+                            
+                            if (lineSignalInfo.faultMessage != 0) 
+                            {
+                                // 鍥炴姤杞﹂棿鎺у埗鍣�+                                WMSStatusInfo statusInfo = new WMSStatusInfo()
+                                {
+                                    wmsId = wmsTask.S_CODE,
+                                    errMsg = $"{line.code}杈撻�绾挎晠闅滐紝鏁呴殰缂栫爜锛歿lineSignalInfo.faultMessage}"
+                                };
+                                ShopFloorControl.wmsUpdateStatus(statusInfo);
+
+                                if (lineSignalInfo.faultMessage == 1)
+                                {
+                                    LogHelper.Info("杈撻�绾�绾夸綋銆� + line.code + "銆戣皟鏁翠负鎵嬪姩鐘舵�", "杈撻�绾�);
+                                    continue;
+                                }
                             }
 
                             var date = DateTime.Now.ToString("yyMMdd");
@@ -337,33 +347,40 @@
                                         }
                                         LogHelper.Info("鍫嗗灈鏈哄叆搴撲换鍔$粓鐐�, "杈撻�绾�);
                                         Location endLoc = WMSHelper.GetEndLocation(wmsTask.S_END_AREA, itemCode, originLocation.N_ROADWAY, originLocation.N_ROW);
-                                        LogHelper.Info($"鍫嗗灈鏈哄叆搴撲换鍔$粓鐐癸細{endLoc.S_CODE}", "杈撻�绾�);
-                                        wmsTask.S_END_LOC = endLoc.S_CODE;
-                                        WMSHelper.UpdateTask(wmsTask);
-                                        string eqNo = ApiHelper.getEqNo(endLoc.S_AREA_CODE, endLoc.N_ROADWAY);
+                                        if (endLoc != null)
+                                        {
+                                            LogHelper.Info($"鍫嗗灈鏈哄叆搴撲换鍔$粓鐐癸細{endLoc.S_CODE}", "杈撻�绾�);
+                                            wmsTask.S_END_LOC = endLoc.S_CODE;
+                                            WMSHelper.UpdateTask(wmsTask);
+                                            string eqNo = ApiHelper.getEqNo(endLoc.S_AREA_CODE, endLoc.N_ROADWAY);
 
-                                        List<string> areaCdoes = Settings.getStoreAreaCodes(2, 1);
-                                        WCSTask twoWcsTask = new WCSTask
+                                            List<string> areaCdoes = Settings.getStoreAreaCodes(2, 1);
+                                            WCSTask twoWcsTask = new WCSTask
+                                            {
+                                                S_OP_NAME = wmsTask.S_OP_DEF_NAME,
+                                                S_OP_CODE = wmsTask.S_CODE,
+                                                S_CODE = WCSHelper.GenerateTaskNo(),
+                                                S_CNTR_CODE = wmsTask.S_CNTR_CODE,
+                                                S_TYPE = wmsTask.S_TYPE + "-2",
+                                                S_START_LOC = originLocation.S_CODE,
+                                                S_START_AREA = originLocation.S_AREA_CODE,
+                                                S_END_LOC = wmsTask.S_END_LOC,
+                                                S_END_AREA = wmsTask.S_END_AREA,
+                                                S_EQ_NO = eqNo,
+                                                S_SCHEDULE_TYPE = "RB",
+                                                T_START_TIME = DateTime.Now,
+                                            };
+                                            if (WCSHelper.CreateTask(twoWcsTask))
+                                            {
+                                                // 鎺ラ┏浣嶅姞鍑哄簱閿�缁堢偣璐т綅鍔犲叆搴撻攣
+                                                LocationHelper.LockLoc(twoWcsTask.S_START_LOC, 2);
+                                                LocationHelper.LockLoc(twoWcsTask.S_END_LOC, 1);
+                                                LogHelper.Info("鍫嗗灈鏈哄叆搴撲换鍔″凡涓嬪彂锛屼换鍔′俊鎭細" + JsonConvert.SerializeObject(twoWcsTask), "杈撻�绾�);
+                                            }
+                                        }
+                                        else 
                                         {
-                                            S_OP_NAME = wmsTask.S_OP_DEF_NAME,
-                                            S_OP_CODE = wmsTask.S_CODE,
-                                            S_CODE = WCSHelper.GenerateTaskNo(),
-                                            S_CNTR_CODE = wmsTask.S_CNTR_CODE,
-                                            S_TYPE = wmsTask.S_TYPE + "-2",
-                                            S_START_LOC = originLocation.S_CODE,
-                                            S_START_AREA = originLocation.S_AREA_CODE,
-                                            S_END_LOC = wmsTask.S_END_LOC,
-                                            S_END_AREA = wmsTask.S_END_AREA,
-                                            S_EQ_NO = eqNo,
-                                            S_SCHEDULE_TYPE = "RB",
-                                            T_START_TIME = DateTime.Now,
-                                        };
-                                        if (WCSHelper.CreateTask(twoWcsTask))
-                                        {
-                                            // 鎺ラ┏浣嶅姞鍑哄簱閿�缁堢偣璐т綅鍔犲叆搴撻攣
-                                            LocationHelper.LockLoc(twoWcsTask.S_START_LOC, 2);
-                                            LocationHelper.LockLoc(twoWcsTask.S_END_LOC, 1);
-                                            LogHelper.Info("鍫嗗灈鏈哄叆搴撲换鍔″凡涓嬪彂锛屼换鍔′俊鎭細" + JsonConvert.SerializeObject(twoWcsTask), "杈撻�绾�);
+                                            LogHelper.Info($"鍫嗗灈鏈哄叆搴撲换鍔$粓鐐癸細null", "杈撻�绾�);
                                         }
                                     }
                                     else {

--
Gitblit v1.9.1