From d0b3abf74ac5f94f5373922172ed79fbfc24e6be Mon Sep 17 00:00:00 2001
From: lss <Lss@HanInfo>
Date: 星期二, 17 六月 2025 17:28:53 +0800
Subject: [PATCH] 电梯流程开发

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs |   57 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 29 insertions(+), 28 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 5bb4768..95b74ba 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/api/ApiHelper.cs
@@ -2078,9 +2078,9 @@
         /// <returns></returns>
         internal static Result CreatelevatorTask(ElevatorModel model)
         {
-            Result result = new Result() { code = "200", msg = "鐐瑰鐐逛换鍔″垱寤烘垚鍔� };
-            string Source = "MES";
-            if (model == null)
+            Result result = new Result() { code = "200", msg = "鐢垫鎼繍浠诲姟鍒涘缓鎴愬姛" };
+            string Source = "WMS";
+            if (model.Data == null)
             {
                 result.code = "1";
                 result.msg = "鍙傛暟涓簄ull";
@@ -2103,11 +2103,10 @@
                     if (startloc.N_LOCK_STATE != 0)
                     {
                         result.code = "1";
-                        result.msg = $"鍒涘缓浠诲姟澶辫触锛岃捣鐐箋startloc.S_CODE}鏈夐攣";
+                        result.msg = $"鍒涘缓浠诲姟澶辫触锛岃捣鐐箋startloc.S_CODE}鏈夐攣锛岀數姊湁鍏朵粬浠诲姟锛岃绛夊緟鐢垫浠诲姟瀹屾垚";
                         AddErrorInfo("璐т綅鏈夐攣", result.msg, Source);
                         return result;
                     }
-
                     var cntr = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == startloc.S_CODE).First();
                     if (cntr == null)
                     {
@@ -2136,26 +2135,7 @@
                     //鏍规嵁浠诲姟鏁伴噺鍒ゆ柇閫佸線鍝釜鐢垫 锛堝叿浣撶數姊祦绋嬫牴鎹幇鍦虹數姊暟閲忥級
                     var elevatorLoc = LocationHelper.GetElevatorLoc();
 
-                    //鍒涘缓wcs鍒嗘浠诲姟
                     var wcsTask = new WCSTask
-                    {
-
-                        S_CODE = WCSHelper.GenerateTaskNo(),
-                        S_TYPE = "鐢垫1",
-                        S_EQ_NO = model.Data.task_no,
-                        S_START_LOC = startloc.S_CODE,
-                        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 = cntr.S_CNTR_CODE,
-                        N_END_LAYER = 1,
-                        Z_TYPE = 6
-                    };
-                    var wcsTask1 = new WCSTask
                     {
                         S_CODE = WCSHelper.GenerateTaskNo(),
                         S_TYPE = "鐢垫2",
@@ -2173,13 +2153,34 @@
                         Z_TYPE = 6
                     };
 
-                    LogHelper.Info("鍒涘缓浠诲姟锛� + JsonConvert.SerializeObject(wcsTask), "CreateTask");
-                    if (WCSHelper.CreateTask(wcsTask) && WCSHelper.CreateTask(wcsTask1))
+                
+                    if (WCSHelper.CreateTask(wcsTask) )
                     {
+                        LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                        var device = Settings.deviceInfos.Where(a => a.TN_Location == startloc.S_CODE).FirstOrDefault();
+                        var loc = LocationHelper.GetLocByLoc(endloc.S_CODE);
+                        if (device == null)
+                        {
+                            LogHelper.Info($"鏍规嵁浠诲姟璧风偣:{startloc.S_CODE},鏈壘鍒板搴旂數姊厤缃枃浠�);
+                        }
+                        if (loc == null)
+                        {
+                            LogHelper.Info($"鏍规嵁浠诲姟璧风偣:{endloc.S_CODE},鏈壘鍒板搴旇揣浣�);
+                        }
+                        if (device!=null&&loc!=null)
+                        {
+                            int value = 0;
+                            if (loc.N_LAYER == 1) value = 1;
+                            else if (loc.N_LAYER == 2) value = 3;
+                            else if (loc.N_LAYER == 3) value = 5;
 
+                            ModbusHelper.WriteSingleRegister(40089, value, device.address, 1024);
+                            ModbusHelper.WriteSingleRegister(40102, 1, device.address, 1024);
+                        }
+                       
                         //LocationHelper.LockLoc(startloc.S_CODE, 2);
                         //LocationHelper.LockLoc(endloc.S_CODE, 1);
-                        LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                     
                     }
                     else
                     {
@@ -2203,7 +2204,7 @@
             {
 
                 result.code = "1";
-                result.msg = $"鐗╂枡涓绘暟鎹垱寤哄け璐�閿欒淇℃伅锛歿ex}";
+                result.msg = $"鐢垫鎼繍浠诲姟鍒涘缓澶辫触 閿欒淇℃伅锛歿ex}";
                 LogHelper.Error("鐐瑰鐐逛换鍔�Error锛� + ex.ToString(), ex);
                 return result;
             }

--
Gitblit v1.9.1