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/process/TaskProcess.cs |   31 ++++++++++++++++++++++++-------
 1 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs
index d6064c0..528b307 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs
@@ -8,6 +8,7 @@
 using HH.WCS.JiaTong.wms;
 using Microsoft.Owin.BuilderProperties;
 using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using SqlSugar;
 using System;
 using System.Collections.Generic;
@@ -214,13 +215,25 @@
                             if (Device != null)
                             {
                                 //鍐欏叆澶辫触閲嶆柊鍐欏叆
-                                while (!S7Helper.WriteDpj(Device.address, 1001, 1))
+                                if (!S7Helper.WriteDpj(Device.address, 1001, 1))
                                 {
-                                    Thread.Sleep(1000);
+                                    Task.Run(() =>
+                                    {
+                                        while (!S7Helper.WriteDpj(Device.address, 1001, 1))
+                                        {
+                                            Thread.Sleep(1000);
+                                        }
+                                    });
                                 }
-                                while (!S7Helper.WriteDpj(Device.address, 1002, 0))
+                                if (!S7Helper.WriteDpj(Device.address, 1002, 0))
                                 {
-                                    Thread.Sleep(1000);
+                                    Task.Run(() =>
+                                    {
+                                        while (!S7Helper.WriteDpj(Device.address, 1002, 0))
+                                        {
+                                            Thread.Sleep(1000);
+                                        }
+                                    });
                                 }
                             }
                             else
@@ -448,7 +461,7 @@
             if (taskLimit != null)
             {
                 Console.WriteLine($"浠诲姟锛歿mst.S_CODE},璧风偣浠撳簱锛歿mst.S_START_WH}宸茬粡绂佺敤鎺ㄩ�");
-                return false;
+                return result;
             }
 
             var mstbyEqno = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO == mst.S_EQ_NO).ToList();
@@ -476,12 +489,16 @@
                 else if (mst.S_TYPE == "鐢垫2")
                 {
                     var mst2 = mstbyEqno.Where(a => a.S_TYPE == "鐢垫1").First();
-                    if (mst2.S_B_STATE == "鍗歌揣瀹屾垚" || mst2.S_B_STATE == "瀹屾垚")
-                    {
+                    if (mst2 == null)
+                    { 
                         return result;
                     }
                     else
                     {
+                        if (mst2.S_B_STATE == "鍗歌揣瀹屾垚" || mst2.S_B_STATE == "瀹屾垚")
+                        {
+                            return result;
+                        }
                         result = false;
                     }
                 }

--
Gitblit v1.9.1