From 7d331e13fef4abcec306745dbe9721bafbaf1821 Mon Sep 17 00:00:00 2001
From: pulg <plg@Haninfo>
Date: 星期一, 30 六月 2025 19:10:14 +0800
Subject: [PATCH] 1

---
 HH.WCS.QingXiNongfu/process/TaskProcess.cs |   99 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 83 insertions(+), 16 deletions(-)

diff --git a/HH.WCS.QingXiNongfu/process/TaskProcess.cs b/HH.WCS.QingXiNongfu/process/TaskProcess.cs
index 8d25bc1..9636f3c 100644
--- a/HH.WCS.QingXiNongfu/process/TaskProcess.cs
+++ b/HH.WCS.QingXiNongfu/process/TaskProcess.cs
@@ -1,26 +1,14 @@
-锘縰sing HH.WCS.QingXigongchang.api;
-using HH.WCS.QingXigongchang.core;
-using HH.WCS.QingXigongchang.device;
+锘縰sing HH.WCS.QingXigongchang.device;
 using HH.WCS.QingXigongchang.dispatch;
 using HH.WCS.QingXigongchang.util;
 using HH.WCS.QingXigongchang.wms;
 using Newtonsoft.Json;
-using NLog.Fluent;
 using SqlSugar;
 using System;
-using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
-using System.Reflection;
-using System.Reflection.Emit;
-using System.Runtime.InteropServices;
-using System.Security.Cryptography;
-using System.Security.Policy;
 using System.Threading;
-using System.Threading.Tasks;
-using System.Web.Http.Results;
 using static HH.WCS.QingXigongchang.api.ApiModel;
-using static HH.WCS.QingXigongchang.device.OITcpHelper;
 using Monitor = HH.WCS.QingXigongchang.core.Monitor;
 
 namespace HH.WCS.QingXigongchang.process
@@ -321,6 +309,7 @@
             return result;
         }
 
+
         /// <summary>
         /// 浠诲姟鐘舵�鏇存柊澶勭悊
         /// </summary>
@@ -397,17 +386,35 @@
                     //}
                 }
 
+                //缁堢偣璐т綅涓�YWLT1TSJCD  鎴栬� YWLT2TSJCD 鐨�瑕佸彇璐у畬鎴愯В閿佽捣鐐癸紝瑙g粦璧风偣锛岀粦瀹氱粓鐐癸紝鍗歌揣瀹屾垚锛岃В閿佺粓鐐� 2025骞�鏈�0鏃� Plg
+                //if (mst.S_END_LAREA?.Trim() == "YWLT1TSJCD" || mst.S_END_LAREA?.Trim() == "YWLT2TSJCD")
+                //{
+                //    //瑙g粦璧风偣
+                //    CacheBitUpdate(mst, load: true);
+                //    //缁戝畾缁堢偣
+                //    CacheBitUpdate(mst, load: false);
+                //}
                 LocationHelper.UnLockLoc(mst.S_START_LOC.Trim());
             }
             //new List<string> { "鎴愬搧婊℃-鍏ュ簱", "" }
             if (state == 6 || state == 5)
             {
+
                 LogHelper.Info($"浠诲姟绫诲瀷锛歿mst.S_TYPE}- 鍔ㄤ綔锛歿state}. 鏄惁5绠�锛焮mst.S_TYPE.Contains("鎴愬搧婊℃") || mst.S_TYPE.Contains("澶囪揣")} ");
                 if (mst.S_TYPE.Contains("澶囪揣"))
                 {
                     if (state == 6) goto vvv;
                 }
-                else if (state == 5) goto vvv;
+                else if (state == 5)
+                {
+                    ///鍙渶瑕侀噴鏀捐揣浣嶅氨琛屼簡
+                    //if (mst.S_END_LAREA?.Trim() == "YWLT1TSJCD" || mst.S_END_LAREA?.Trim() == "YWLT2TSJCD")
+                    //{
+                    //    LocationHelper.UnLockLoc(mst.S_END_LOC.Trim());
+                    //    return r;
+                    //}
+                    goto vvv;
+                }
 
                 if (mst.S_TYPE.Trim() == "J绌虹摱鍧�鍑哄簱")
                 {
@@ -426,7 +433,10 @@
                     && mst.S_TYPE.Trim() != "鐡剁洊绌虹瓙杞繍-J2"
                     && mst.S_TYPE.Trim() != "闈掓邯绾哥鎼繍鐗╂枡"
                     && !mst.S_TYPE.Trim().Contains("鑷敱鐐瑰鐐�))
+                {
                     CacheBitUpdate(mst, load: false, mst.S_NOTE);
+                }
+
 
                 if (mst.S_TYPE.Trim().Contains("鎴愬搧-绌烘墭涓婄嚎"))
                 {
@@ -1102,6 +1112,12 @@
             {
                 CacheBitCancelUpdate(mst, out r, true);
             }
+            if (state == 9)
+            {
+                var g = LocationHelper.UnLockLoc(mst.S_END_LOC.Trim());
+                var T = LocationHelper.UnLockLoc(mst.S_START_LOC.Trim());
+                CacheBitUpdate(mst, load: true);
+            }
             return r;
         }
 
@@ -1339,6 +1355,48 @@
                         else return false;
                     }
                 }
+                //else if (taskType.Contains("鏀剁缉鑶滃弶杩�鍏ュ簱") || taskType.Contains("鏀剁缉鑶滃弶杩�鍏ュ簱") || taskType.Contains("鏀剁缉鑶滃弶杩�璐ф灦鍑烘彁鍗囨満"))
+                //{
+                //    var ts = 5;
+                //    start = LocationHelper.GetAgvSite(mst.S_START_LOC);//璧风偣绔欑偣
+                //    end = LocationHelper.GetAgvSite(mst.S_END_LOC);//缁堢偣绔欑偣
+                //    var dic = new Dictionary<string, string>();
+                //    dic.Add("From", start.ToString());
+                //    dic.Add("To", end.ToString());
+                //    dic.Add("FUNC", "0");
+                //    dic.Add("DATA", "0");
+                //    int height = 0;
+                //    var itemcode = "";
+                //    var ItemLayer = 0;
+                //    var db = new SqlHelper<object>().GetInstance();
+                //    var cirs = ContainerHelper.GetCntrItemRel(mst.S_CNTRS.Split(',').ToList().FirstOrDefault()).First();
+                //    LogHelper.Info($"鍘熺墿鏂�鏀剁缉鑶滃弶杩�瀹瑰櫒鐗╂枡琛ㄦ暟鎹畕JsonConvert.SerializeObject(cirs)}", "HosttoagvTask");
+                //    if (cirs != null)
+                //    {
+                //        var ItemF = db.Queryable<ItemInfo>().Where(a => a.S_ITEM_CODE == cirs.S_ITEM_CODE).First();
+                //        itemcode = ItemF.S_ITEM_CODE;
+                //        ItemLayer = ItemF.ItemLayer;
+                //        if (mst.N_START_LAYER < 3 || mst.N_END_LAYER < 3)
+                //        {
+                //            height = ItemF.trayHeight;
+                //        }
+                //        else
+                //        {
+                //            height = ItemF.trayHeight1;
+                //        }
+                //    }
+                //    dic.Add("ItemHeight", height.ToString());
+                //    dic.Add("StaItemHeight", "0");
+                //    dic.Add("TrayType", $"{mst.N_START_LAYER}{mst.N_END_LAYER}");
+                //    var ggh = NDC.AddTaskNew(ts, mst.N_PRIORITY, mst.S_TASK_NO, dic);
+                //    if (ggh)
+                //    {
+                //        TaskHelper.UpdateStatus(mst, "宸叉帹閫�);
+                //        result = true;
+                //        GeneralInterFaceFunc(mst, 8 + "");
+                //    }
+                //}
+
                 //else if ( mst.S_END_LAREA == "WJBQDDKQ" || mst.S_END_LAREA == "SXBQDDKQ"|| mst.S_START_LAREA == "WJBQDDKQ" ||mst.S_START_LAREA == "SXBQDDKQ" )
                 //{
                 //    if (start == 0)
@@ -1406,6 +1464,7 @@
                 //}
                 else
                 {
+
                     if (start == 0)
                     {
                         //bool flag3 = ;
@@ -1516,6 +1575,11 @@
                     }
                 }
 
+                //if (Settings.GetDeviceInfoList().Find(x => x.location.Contains(mst.S_END_LOC))?.deviceType == 13 && mst.S_TYPE.Contains("鏀剁缉鑶滃弶杩�))
+                //{
+                //    end = 7027;
+                //}
+
                 LogHelper.Info("SendTask " + mst.S_TASK_NO);
                 Console.WriteLine("start=" + start.ToString());
                 Console.WriteLine("end= " + end.ToString());
@@ -1593,8 +1657,11 @@
         /// <param name="trayCarryCount"></param>
         /// <param name="priority"></param>
         /// <returns></returns>
-        public static bool CreateTransport(string wWorkNo, string start, string end, string taskType, List<string> cntrs, int startLayer, int endLayer, int trayCarryCount = 1, int priority = 1, string note = "")
+        public static bool CreateTransport(string wWorkNo, string start, string end, string taskType, List<string> cntrs, int startLayer, int endLayer, int trayCarryCount = 1, int priority = 1, string note = "", string TwoEndLoc = "")
         {
+            if (string.IsNullOrEmpty(start) || string.IsNullOrEmpty(end))
+                return false;
+
             var result = false;
             //鎵规鍙峰瓨鎵樼洏鍙凤紝1~3涓墭鐩�             var trayCodes = string.Join(",", cntrs);
@@ -1602,7 +1669,7 @@
 
             LogHelper.Info($"CreateTransport-  " + $"{taskNo}-{start}-{end}-{taskType}");
 
-            var res = TaskHelper.CreateTask(wWorkNo, start.Trim(), end.Trim(), taskType, priority, trayCodes, trayCarryCount, startLayer, endLayer, note, lockLoc: true);
+            var res = TaskHelper.CreateTask(wWorkNo, start.Trim(), end.Trim(), taskType, priority, trayCodes, trayCarryCount, startLayer, endLayer, note, lockLoc: true, TwoEndLoc);
             if (res)
             {
                 result = true;

--
Gitblit v1.9.1