From bed4ab58ff88c866de95e9a5f29a7512ed43a7fa Mon Sep 17 00:00:00 2001
From: zongzhibin <zongzhibin@weben-smart.com>
Date: 周三, 27 11月 2024 09:36:11 +0800
Subject: [PATCH] add

---
 CC/iWareCC_ASRS/ThreadService/03_BZ12(机器人码包工位)/DataProcess_BZ12_FinishTask.cs |   68 ++++++++++++++++++++++++++--------
 1 files changed, 52 insertions(+), 16 deletions(-)

diff --git "a/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/DataProcess_BZ12_FinishTask.cs" "b/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/DataProcess_BZ12_FinishTask.cs"
index 103abe3..626bc20 100644
--- "a/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/DataProcess_BZ12_FinishTask.cs"
+++ "b/CC/iWareCC_ASRS/ThreadService/03_BZ12\050\346\234\272\345\231\250\344\272\272\347\240\201\345\214\205\345\267\245\344\275\215\051/DataProcess_BZ12_FinishTask.cs"
@@ -16,13 +16,13 @@
 {
     public class DataProcess_BZ12_FinishTask
     {
-        public static  void Handler()
+        public static void Handler()
         {
             var alertMsg = "";
             LogType logType = LogType.DataProcess_BZ12;
             while (true)
             {
-                Thread.Sleep(2000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
+                Thread.Sleep(1000);//浼戠湢2绉掞紝灏嗕紤鐪犲啓鍒板墠闈紝鏄负浜嗕笅闈㈢殑continue鏂规硶鎵ц鍚庝笉鏄剧ず閿欒淇℃伅鐨勬彁绀猴紒锛侊紒銆怑ditBy shaocx,2022-05-24銆�
                 SystemWarningMsg._lbl_alert_DataProcess_BZ12 = string.Empty;
                 try
                 {
@@ -54,11 +54,23 @@
                                 var task = wmsDB.wms_rbline_task.Where(x =>
                                  x.TaskNo == obj.R_PalletizingTaskNo.ToString()
                                 && x.RbTaskType == (int)RbTaskTypeEnum.鐮佹澘浠诲姟
-                                && x.TaskStatus == (int)TaskStatusEnum.宸蹭笅鍙�).FirstOrDefault();
+                                ).OrderByDescending(x=>x.Id).FirstOrDefault();
                                 if (task == null)
                                 {
                                     SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()},鏍规嵁 R_InboundNumber:{obj.R_InboundNumber}娌℃湁鎵惧埌宸蹭笅鍙戠殑浠诲姟 ";
                                     continue;
+                                }
+                                else
+                                {
+                                    if (task.TaskStatus == (int)TaskStatusEnum.宸插畬鎴�)
+                                    {
+                                        //缁橮LC鎺ㄩ�佷换鍔″畬鎴愮‘璁や俊鍙�
+                                        using (StationServiceClient client = new StationServiceClient())
+                                        {
+                                            var res = client.SetPalletizingTaskFinishAck((int)EDevice.Station, true, rgvLocation);
+                                        }
+                                        continue;
+                                    }
                                 }
                                 var upiobj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == task.UPI).FirstOrDefault();
                                 if (upiobj != null)
@@ -69,23 +81,47 @@
                                 task.TaskStatusName = TaskStatusEnum.宸插畬鎴�.ToString();
                                 task.FinishedTime = DateTime.Now;
 
-
-                                //缁橮LC鎺ㄩ�佷换鍔″畬鎴愮‘璁や俊鍙�
-                                using (StationServiceClient client = new StationServiceClient())
+                                if (wmsDB.SaveChanges() > 0)
                                 {
-                                    var res = client.SetPalletizingTaskFinishAck((int)EDevice.Station, true, rgvLocation);
-                                    if (!res.result)
+                                    var isRight = true;
+                                    while (isRight)
                                     {
-                                        SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()}-涓嬪彂鐮佹澘浠诲姟 澶辫触,SetPalletizingTaskFinishAck 杩斿洖:{res.resMsg}";
-                                        continue;
-                                    }
-                                    else
-                                    {
-                                        Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 鎴愬姛,SetPalletizingTaskFinishAck锛屽弬鏁�: 绔欑偣{rgvLocation}");
+                                        obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
+                                        isRight = obj.R_PalletizingFinish;
+                                        //缁橮LC鎺ㄩ�佷换鍔″畬鎴愮‘璁や俊鍙�
+                                        using (StationServiceClient client = new StationServiceClient())
+                                        {
+                                            var res = client.SetPalletizingTaskFinishAck((int)EDevice.Station, true, rgvLocation);
+                                            if (!res.result)
+                                            {
+                                                SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()}-涓嬪彂鐮佹澘浠诲姟 澶辫触,SetPalletizingTaskFinishAck 杩斿洖:{res.resMsg}";
+                                                continue;
+                                            }
+                                            else
+                                            {
+                                                Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 鎴愬姛,SetPalletizingTaskFinishAck锛屽弬鏁�: 绔欑偣{rgvLocation}");
+                                            }
+                                        }
+                                        Thread.Sleep(1000);
                                     }
                                 }
-
-                                wmsDB.SaveChanges();
+                            }
+                        }
+                        else
+                        {
+                            //缁橮LC鎺ㄩ�佷换鍔″畬鎴愮‘璁や俊鍙�
+                            using (StationServiceClient client = new StationServiceClient())
+                            {
+                                var res = client.SetPalletizingTaskFinishAck((int)EDevice.Station, false, rgvLocation);
+                                //if (!res.result)
+                                //{
+                                //    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()}-涓嬪彂鐮佹澘浠诲姟 澶辫触,SetPalletizingTaskFinishAck 杩斿洖:{res.resMsg}";
+                                //    continue;
+                                //}
+                                //else
+                                //{
+                                //    Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 鎴愬姛,SetPalletizingTaskFinishAck锛屽弬鏁�: 绔欑偣{rgvLocation}");
+                                //}
                             }
                         }
                     }

--
Gitblit v1.9.3