From 17e3ef45fe0a6b6f8a147b50740834ac734f9317 Mon Sep 17 00:00:00 2001
From: lss <2538410689@qq.com>
Date: 星期二, 15 七月 2025 17:30:13 +0800
Subject: [PATCH] 1111

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/DeviceProcess.cs |   74 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 1 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/DeviceProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/DeviceProcess.cs
index f7feec4..db06484 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/DeviceProcess.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/process/DeviceProcess.cs
@@ -2,11 +2,14 @@
 using HH.WCS.DaYang.dispatch;
 using HH.WCS.DaYang.util;
 using HH.WCS.DaYang.wms;
+using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Security.Policy;
 using System.Threading;
+using static HH.WCS.DaYang.api.ApiModel;
+using static HH.WCS.DaYang.util.Settings;
 
 namespace HH.WCS.DaYang.process
 {
@@ -60,7 +63,7 @@
                 for (int i = 0; i < plc.deviceNo.Length; i++)
                 {
                     var state = data.Substring(i * 2 + 1, 1);
-                    //Console.WriteLine($"闂▄plc.deviceNo[i]}鐨勭姸鎬亄state}");
+                    //Console.WriteLine($"闂▄plc.DEVICENO[i]}鐨勭姸鎬亄state}");
                     if (doorStatus.Keys.Contains(plc.deviceNo[i]))
                     {
                         doorStatus[plc.deviceNo[i]].info = state;
@@ -129,5 +132,74 @@
 
             }
         }
+
+        /// <summary>
+        /// 鍙犵洏鏈鸿ˉ绌烘墭
+        /// </summary>
+        internal static void DijStatus()
+        {
+            var db = new SqlHelper<object>().GetInstance();
+            HttpHelper httpHelper = new HttpHelper();
+            TableUrl tableUrl = Settings.tableUrls.Find(a => a.id == 3);
+            string DiePanLoc = "CPDPJ-1-1";
+            Location startloc = null;
+            if (tableUrl != null)
+            {
+                Result<DeviceStatusModel> DeviceStatu = httpHelper.GetDeviceStatus(new string[] { DiePanLoc }, tableUrl.url);
+                if (DeviceStatu.Data != null)
+                {
+                    if (int.Parse(DeviceStatu.Data.CntrQty) > 0 && int.Parse(DeviceStatu.Data.CntrQty) < 4)
+                    {
+                        startloc = LocationHelper.GetLocByItemCodeOrderyTime("YCLLKQ", "");
+
+                    }
+                    else
+                    {
+
+                        startloc = db.Queryable<Location>().Where(a => a.N_CURRENT_NUM == 4).OrderByDescending(a => a.N_POS).First();
+
+                    }
+                    //鏍规嵁鎵樼洏鑾峰彇璧风偣淇℃伅
+                    var endloc = db.Queryable<Location>().Where(a => a.S_CODE == DiePanLoc).First();
+                    if (endloc == null)
+                    {
+                        return;
+                    }
+                    #region 鍒涘缓浠诲姟
+                    if (startloc != null && endloc != null)
+                    {
+                        //鑾峰彇鎵樼洏
+                        var Cntr = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE.Trim() == startloc.S_CODE).ToList();
+                        if (Cntr == null)
+                        {
+                            return;
+                        }
+                        var wcsTask = new WMSTask
+                        {
+                            S_CODE = WMSHelper.GenerateTaskNo(),
+                            S_TYPE = "绌烘墭鍑哄簱",
+                            N_TYPE = 3,
+                            S_START_LOC = startloc.S_CODE,
+                            S_END_LOC = endloc.S_CODE,
+                            S_START_WH = startloc.S_WH_CODE,
+                            S_START_AREA = startloc.S_AREA_CODE,
+                            S_END_WH = endloc.S_WH_CODE,
+                            S_END_AREA = endloc.S_AREA_CODE,
+                         
+                            S_CNTR_CODE = JsonConvert.SerializeObject(Cntr.Select(a => a.S_CNTR_CODE).ToList())
+                        };
+                        LogHelper.Info("鍒涘缓鍏ュ钩搴撲换鍔★細" + JsonConvert.SerializeObject(wcsTask));
+                        if (WMSHelper.CreateTask(wcsTask))
+                        {
+                            LocationHelper.LockLoc(startloc.S_CODE, 2);
+                            LocationHelper.LockLoc(endloc.S_CODE, 1);
+                            LogHelper.Info("鍒涘缓浠诲姟鎴愬姛");
+                        }
+
+                        #endregion
+                    }
+                }
+            }
+        }
     }
 }

--
Gitblit v1.9.1