From 3f016f3de352db04e5c2d99dae9e4b7472198359 Mon Sep 17 00:00:00 2001
From: Admin <Admin@ADMIN>
Date: 星期二, 23 十二月 2025 17:43:46 +0800
Subject: [PATCH] 最新

---
 项目代码/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundAreaDispathAction.cs |   86 ++++++++++++++++++++++---------------------
 1 files changed, 44 insertions(+), 42 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundAreaDispathAction.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundAreaDispathAction.cs"
index a422c67..4329c02 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundAreaDispathAction.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEA_WCSServer/WIDESEA_WCS/Jobs/ConveyorLine/OutboundArea/OutboundAreaDispathAction.cs"
@@ -3,6 +3,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Reflection.Metadata;
 using System.Text;
 using System.Threading;
 using WIDESEA_Common;
@@ -248,48 +249,25 @@
         {
             try
             {
-                string barcode = client.ReadValue(CLineInfoDBName.R_Line_Barcode.ToString(), ReInboundRequestStationNo).ToString();
+                int R_Line_PLCDispatch = int.Parse(client.ReadValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo).ToString());
                 bool load = bool.Parse(client.ReadValue(CLineInfoDBName.R_Line_LoadSleep.ToString(), ReInboundRequestStationNo).ToString());
-                if (!string.IsNullOrEmpty(barcode) && !"0".Equals(barcode) && load)
+                if (R_Line_PLCDispatch ==1 && load)
                 {
-                    Dt_TaskWCSinfo wcsInfo = taskWCSinfoRepository.FindFirst(r => r.wcstask_barcode == barcode && r.wcstask_type == TaskType.TaskType_Empty_Pallet_Inbound.ToString());
-                    if (null == wcsInfo)
+                    string barcode = client.ReadValue(CLineInfoDBName.R_Line_Barcode.ToString(), ReInboundRequestStationNo).ToString();
+                    if (!string.IsNullOrEmpty(barcode) && !"0".Equals(barcode))
                     {
-                        //鑾峰彇杞﹁酱鍑哄簱
-                        List<Dt_TaskWCSinfo> executingTask = taskWCSinfoRepository.Find(r => (r.wcstask_type.Equals(TaskType.TaskType_Box_Pallet_Outbound.ToString()) ||
-                            r.wcstask_type.Equals(TaskType.TaskType_Empty_Pallet_Outbound.ToString())) && endStationNo.Contains(r.wcstask_endPoint));
-
-                        //鑾峰彇鏈夊灏戞潯鍑哄簱鐨勪换鍔�
-                        int LineExecucount = executingTask.Count(x => x.wcstask_state == TaskState.TaskState_Box_Out_Line_Executing.ToString());
-                        if (LineExecucount >= 4)
+                        Dt_TaskWCSinfo wcsInfo = taskWCSinfoRepository.FindFirst(r => r.wcstask_barcode == barcode && r.wcstask_type == TaskType.TaskType_Empty_Pallet_Inbound.ToString());
+                        if (null == wcsInfo)
                         {
-                            //鍒ゆ柇鏄惁鏈夊搴斿眰鐨勫嚭搴撲换鍔★紝
-                            //鐢宠鍏ュ簱浠诲姟
-                            WebResponseContent content = WMSApi.PostInboundRequstToWMS(barcode);
-                            if (content.Status)
-                            {
-                                WmsTaskInfo wmsTask = JsonConvert.DeserializeObject<WmsTaskInfo>(content.Data.ToString());
-                                wcsInfo = CommonFunction.AddWCSEmptyInboundTask(wmsTask, taskWCSinfoRepository);
-                                taskWCSinfoRepository.Add(wcsInfo, true);
-                                client.WriteValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo, 1);
-                                
+                            //鑾峰彇杞﹁酱鍑哄簱
+                            List<Dt_TaskWCSinfo> executingTask = taskWCSinfoRepository.Find(r => (r.wcstask_type.Equals(TaskType.TaskType_Box_Pallet_Outbound.ToString()) ||
+                                r.wcstask_type.Equals(TaskType.TaskType_Empty_Pallet_Outbound.ToString())) && endStationNo.Contains(r.wcstask_endPoint));
 
-                            }
-                            else
+                            //鑾峰彇鏈夊灏戞潯鍑哄簱鐨勪换鍔�
+                            int LineExecucount = executingTask.Count(x => x.wcstask_state == TaskState.TaskState_Box_Out_Line_Executing.ToString());
+                            if (LineExecucount >= 4)
                             {
-                                client.WriteValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo, 2);
-                                throw new Exception("鍏ュ簱鐢宠澶辫触:" + content.Message);
-                                
-                            }
-                                
-                        }
-                        else
-                        {
-                            //鍒ゆ柇鏈夊灏戞潯鍦ㄧ紦瀛樻灦鐨�
-                            int RGV_Finishedcount = executingTask.Count(x => x.wcstask_state != TaskState.TaskState_Box_Out_Line_Executing.ToString()
-                            && x.wcstask_state != TaskState.TaskState_Assigned.ToString());
-                            if (RGV_Finishedcount == 0)
-                            {
+                                //鍒ゆ柇鏄惁鏈夊搴斿眰鐨勫嚭搴撲换鍔★紝
                                 //鐢宠鍏ュ簱浠诲姟
                                 WebResponseContent content = WMSApi.PostInboundRequstToWMS(barcode);
                                 if (content.Status)
@@ -297,24 +275,48 @@
                                     WmsTaskInfo wmsTask = JsonConvert.DeserializeObject<WmsTaskInfo>(content.Data.ToString());
                                     wcsInfo = CommonFunction.AddWCSEmptyInboundTask(wmsTask, taskWCSinfoRepository);
                                     taskWCSinfoRepository.Add(wcsInfo, true);
-                                    client.WriteValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo, 1);
-
+                                    client.WriteValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo, 2);
                                 }
                                 else
                                 {
-                                    client.WriteValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo, 2);
                                     throw new Exception("鍏ュ簱鐢宠澶辫触:" + content.Message);
-                                    
                                 }
-                                    
+
+                            }
+                            else
+                            {
+                                //鍒ゆ柇鏈夊灏戞潯鍦ㄧ紦瀛樻灦鐨�
+                                int RGV_Finishedcount = executingTask.Count(x => x.wcstask_state != TaskState.TaskState_Box_Out_Line_Executing.ToString()
+                                && x.wcstask_state != TaskState.TaskState_Assigned.ToString());
+                                if (RGV_Finishedcount == 0)
+                                {
+                                    //鐢宠鍏ュ簱浠诲姟
+                                    WebResponseContent content = WMSApi.PostInboundRequstToWMS(barcode);
+                                    if (content.Status)
+                                    {
+                                        WmsTaskInfo wmsTask = JsonConvert.DeserializeObject<WmsTaskInfo>(content.Data.ToString());
+                                        wcsInfo = CommonFunction.AddWCSEmptyInboundTask(wmsTask, taskWCSinfoRepository);
+                                        taskWCSinfoRepository.Add(wcsInfo, true);
+                                        client.WriteValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo, 2);
+                                    }
+                                    else
+                                    {
+                                        throw new Exception("鍏ュ簱鐢宠澶辫触:" + content.Message);
+                                    }
+
+                                }
                             }
                         }
-
+                    }
+                    else
+                    {
+                        throw new Exception("鍏ュ簱鐢宠澶辫触:璇诲彇鍒扮殑绌烘墭鐩樻潯鐮佷负绌猴紝璇诲彇鍐呭锛�"+ barcode);
                     }
                 }
             }
             catch (Exception ex)
             {
+                client.WriteValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo, 3);
                 Console.Out.WriteLine(DateTime.Now + ex.Message);
             }
         }

--
Gitblit v1.9.3