From ba528c7a15058967ee3af7364035209aa0048025 Mon Sep 17 00:00:00 2001
From: lss <2538410689@qq.com>
Date: 星期一, 07 七月 2025 17:30:14 +0800
Subject: [PATCH] 测试优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/core/WMSCore.cs |   89 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 80 insertions(+), 9 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/core/WMSCore.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/core/WMSCore.cs
index 885a072..8b14353 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/core/WMSCore.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.DaYang/core/WMSCore.cs
@@ -1,4 +1,6 @@
-锘縰sing HH.WCS.DaYang.wms;
+锘縰sing HH.WCS.DaYang.util;
+using HH.WCS.DaYang.wms;
+using Opc.Ua;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -45,6 +47,7 @@
             List<WMSTask> list = WMSHelper.GetWaitingOperationList();
             if (list.Count > 0)
             {
+                var db = new SqlHelper<WCSTask>().GetInstance();
                 //绌烘墭鍥炲簱浠诲姟鍒涘缓
                 list.ForEach(a =>
                 {
@@ -53,7 +56,11 @@
                     {
                         if (!string.IsNullOrEmpty(a.S_END_LOC))
                         {
-                            string JbwLoc = "";
+                            var jbwloc = db.Queryable<Location>().Where(b => b.S_CODE == "XTGKW-1-1").First();
+                            if (jbwloc == null)
+                            {
+                                LogHelper.Info("鍒涘缓鍑哄簱浠诲姟鏈壘鍒版帴椹充綅璐т綅缂栫爜锛岃鍋囨煡鎺ラ┏浣嶇疆璐т綅");
+                            }
                             //鍒涘缓agv鎼繍浠诲姟
                             var wcsTask1 = new WCSTask
                             {
@@ -62,7 +69,9 @@
                                 S_CODE = WCSHelper.GenerateTaskNo(),
                                 S_TYPE = "绌烘墭鍥炲簱",
                                 S_START_LOC = a.S_START_LOC,
-                                S_END_LOC = JbwLoc,
+                                S_START_AREA = a.S_START_AREA,
+                                S_END_LOC = jbwloc.S_CODE,
+                                S_END_AREA = jbwloc.S_AREA_CODE,
                                 N_SCHEDULE_TYPE = 1,
                                 N_CNTR_COUNT = 1,
                                 S_CNTR_CODE = a.S_CNTR_CODE,
@@ -75,8 +84,10 @@
                                 S_OP_NAME = "鍏ュ簱",
                                 S_CODE = WCSHelper.GenerateTaskNo(),
                                 S_TYPE = "绌烘墭鍥炲簱",
-                                S_START_LOC = JbwLoc,
+                                S_START_LOC = jbwloc.S_CODE,
+                                S_START_AREA = jbwloc.S_AREA_CODE,
                                 S_END_LOC = a.S_END_LOC,
+                                S_END_AREA = a.S_END_AREA,
                                 N_SCHEDULE_TYPE = 2,
                                 N_CNTR_COUNT = 1,
                                 S_CNTR_CODE = a.S_CNTR_CODE,
@@ -96,9 +107,66 @@
                     }
                     else if (a.N_TYPE == 2)
                     {
+                        #region MyRegion
+                        //鍒ゆ柇澶栦晶鏈夋病鏈夋墭鐩橈紝闇�笉闇�绉诲簱
+                        var StartLoc = db.Queryable<Location>().Where(b => b.S_CODE == a.S_START_LOC).First();
+                        if (StartLoc.N_POS == 1)
+                        {
+                            var OutLoc = db.Queryable<Location>().Where(b => b.S_AREA_CODE == StartLoc.S_AREA_CODE && b.N_LAYER == StartLoc.N_LAYER && b.N_POS == 2 && b.N_CURRENT_NUM == 1 && b.N_LOCK_STATE == 0).First();
+                            if (OutLoc != null)
+                            {
+                                //鏍规嵁璧风偣鑾峰彇鎵樼洏鍜屾墭鐩樼墿鏂欑粦瀹氬叧绯�+                                string itemCode = "";
+                                var cntrLoc = LocationHelper.GetLocCntr(OutLoc.S_CODE).FirstOrDefault();
+                                if (cntrLoc != null)
+                                {
+                                    //鑾峰彇鎵樼洏鐗╂枡缁戝畾鍏崇郴
+                                    var cntrItem = db.Queryable<CntrItemDetail>().Where(b => b.S_CNTR_CODE == cntrLoc.S_CNTR_CODE).First();
+                                    if (cntrItem != null)
+                                    {
+                                        itemCode = cntrItem.S_ITEM_CODE;
+                                    }
+                                }
 
-                        string JbwLoc = "";
+                                var YiKuLoc = LocationHelper.InStorage(itemCode);
+                                if (YiKuLoc != null)
+                                {
+                                    var wcsTask = new WCSTask
+                                    {
+                                        S_OP_CODE = a.S_CODE,
+                                        S_OP_NAME = "鍑哄簱",
+                                        S_CODE = WCSHelper.GenerateTaskNo(),
+                                        S_TYPE = "绉诲簱",
+                                        S_START_LOC = OutLoc.S_CODE,
+                                        S_END_LOC = YiKuLoc.S_CODE,
+                                        N_SCHEDULE_TYPE = 2,
+                                        N_CNTR_COUNT = 1,
+                                        S_CNTR_CODE = a.S_CNTR_CODE,
 
+                                    };
+                                    if (WCSHelper.CreateTask(wcsTask))
+                                    {
+                                        //鏇存柊浣滀笟鐘舵�涓烘墽琛�                                
+                                        LocationHelper.LockLoc(OutLoc.S_CODE, 2);
+                                        LocationHelper.LockLoc(YiKuLoc.S_CODE, 1);
+                                    }
+                                }
+                                else
+                                {
+                                    LogHelper.Info($"浣滀笟锛歿a.S_CODE}澶栦晶璐т綅{OutLoc.S_CODE}锛屾湭璁$畻鍒扮Щ搴撹揣浣�浣滀笟涓嶅惎鍔�);
+                                    return;
+                                }
+
+                            }
+                        }
+                        #endregion
+
+                       // string JbwLoc = "XTGKW-1-1";
+                        var jbwloc= db.Queryable<Location>().Where(b => b.S_CODE == "XTGKW-1-1").First();
+                        if (jbwloc == null)
+                        {
+                            LogHelper.Info("鍒涘缓鍑哄簱浠诲姟鏈壘鍒版帴椹充綅璐т綅缂栫爜锛岃鍋囨煡鎺ラ┏浣嶇疆璐т綅");
+                        }
                         //鍒涘缓wcs浠诲姟
                         var wcsTask1 = new WCSTask
                         {
@@ -107,21 +175,25 @@
                             S_CODE = WCSHelper.GenerateTaskNo(),
                             S_TYPE = "鍑哄簱",
                             S_START_LOC = a.S_START_LOC,
-                            S_END_LOC = JbwLoc,
+                            S_START_AREA = a.S_START_AREA,
+                            S_END_LOC = jbwloc.S_CODE,
+                            S_END_AREA = jbwloc.S_AREA_CODE,
                             N_SCHEDULE_TYPE = 2,
                             N_CNTR_COUNT = 1,
                             S_CNTR_CODE = a.S_CNTR_CODE,
 
                         };
-                        //鍒涘缓wcs鍥炲簱浠诲姟
+                        //鍒涘缓agv鍑哄簱浠诲姟
                         var wcsTask2 = new WCSTask
                         {
                             S_OP_CODE = a.S_CODE,
                             S_OP_NAME = "鍑哄簱",
                             S_CODE = WCSHelper.GenerateTaskNo(),
                             S_TYPE = "鍑哄簱",
-                            S_START_LOC = JbwLoc,
+                            S_START_LOC = jbwloc.S_CODE,
+                            S_START_AREA = jbwloc.S_AREA_CODE,
                             S_END_LOC = a.S_END_LOC,
+                            S_END_AREA = a.S_END_AREA,
                             N_SCHEDULE_TYPE = 1,
                             N_CNTR_COUNT = 1,
                             S_CNTR_CODE = a.S_CNTR_CODE,
@@ -138,7 +210,6 @@
                             WMSHelper.UpdateTaskState(a);
                         }
                     }
-
 
                 });
 

--
Gitblit v1.9.1