From 9597b1df912c1ca4401a74970d9472e268b3a9c2 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周六, 07 12月 2024 15:12:59 +0800
Subject: [PATCH] 33

---
 CC/iWareCC_ASRS/ThreadService/04_BZ21(搬运整垛机器人)/1、DataProcess_BZ21.cs |   72 ++++++++++++++++++++++++++++++++---
 1 files changed, 65 insertions(+), 7 deletions(-)

diff --git "a/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/1\343\200\201DataProcess_BZ21.cs" "b/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/1\343\200\201DataProcess_BZ21.cs"
index e82dbab..83a60d4 100644
--- "a/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/1\343\200\201DataProcess_BZ21.cs"
+++ "b/CC/iWareCC_ASRS/ThreadService/04_BZ21\357\274\210\346\220\254\350\277\220\346\225\264\345\236\233\346\234\272\345\231\250\344\272\272\357\274\211/1\343\200\201DataProcess_BZ21.cs"
@@ -12,6 +12,7 @@
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
+using System.Diagnostics.Contracts;
 using System.Linq;
 using System.Text;
 using System.Threading;
@@ -39,6 +40,11 @@
                          * 1銆佷粠鏁版嵁搴撲腑鍒ゆ柇鏄惁榻愬
                          * 2銆佹牴鎹綈濂楃粨鏋滐紝鎺ㄩ�佺粰PLC
                          */
+                        if (FormCC.stationView == null)
+                        {
+                            SystemWarningMsg._lbl_Alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-鑾峰彇PLC瀵硅薄涓簄ull";
+                            continue;
+                        }
                         var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
                         if (obj.R_PalletizingAck)
                         {
@@ -48,7 +54,7 @@
                                 var res = client.WriteStation_ACK((int)EDevice.Station, false, rgvLocation);
                                 if (!res.result)
                                 {
-                                    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTask = $"{rgvLocation.ToString()}-涓嬪彂鐮佹澘浠诲姟 澶辫触,SetPalletizingTaskFinishAck 杩斿洖:{res.resMsg}";
+                                    SystemWarningMsg._lbl_Alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-涓嬪彂鐮佹澘浠诲姟 澶辫触,SetPalletizingTaskFinishAck 杩斿洖:{res.resMsg}";
                                     continue;
                                 }
                                 else
@@ -73,25 +79,43 @@
                             using (WmsDBModel wmsDB = new WmsDBModel())
                             {
                                 //瑕佹槸鏈夊凡涓嬪彂鐨勪换鍔★紝灏变笉瑕佹墽琛�
-                                var isValidate = TaskHandler.ValidateIssueTaskForBZ21(wmsDB, result);
+                                var isValidate = TaskHandler.ValidateIssueTaskForNoFinishTaskByUpi(wmsDB, result);
                                 if (!isValidate)
                                 {
                                     SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-鏈夆�樺凡涓嬪彂鈥欑殑浠诲姟锛屼笉鑳藉鐞�,姝ゆ寰幆缁撴潫";
                                     continue;
                                 }
+
+                                //澧炲姞鏍¢獙锛屽鏋滀笂涓�涓换鍔pi璺熸湰娆pi涓�鑷达紝灏辨姤閿� 銆怑ditby shaocx,2024-12-03銆�
+                                var lastTask = wmsDB.wms_rbline_task.Where(x => x.RbTaskType == (int)RbTaskTypeEnum.鍚堝寘浠诲姟).OrderByDescending(x => x.Id).FirstOrDefault();
+                                if (lastTask != null && lastTask.UPI == result)
+                                {
+                                    SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-PLC閲嶅彂姝や换鍔★紝upi锛歿result}锛岀郴缁熶笉鑳介噸澶嶅鐞�,姝ゆ寰幆缁撴潫";
+                                    continue;
+                                }
+
                                 var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == result).FirstOrDefault();
                                 if (upiObj == null)
                                 {
                                     SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()},鏍规嵁UPI:{result}娌℃湁鎵惧埌瀵硅薄 ";
                                     continue;
                                 }
+
+                                //楠岃瘉鏄惁鍏佽鍒囩焊
+                                var validteReslt = ValidateIsAllowCut();
+                                if (validteReslt == false)
+                                {
+                                    continue;
+                                }
+
                                 //string upi = "LS070700101B0001GS";
                                 //璋冪敤鍑虹焊鏈烘帴鍙�
                                 var papercut = ClassHelper.RotationMapping<mes_push_papercut, mes_batchOrderUPI_new>(upiObj);
                                 papercut.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                                 papercut.ApiMessage = "";
-                                papercut.PushNum = 1;
+                                papercut.PushNum = 0;
                                 papercut.PushStatus = (int)PushStatusEnum.NotPush;
+                                papercut.CreateUserName = papercut.UpdateUserName = "璋冨害绯荤粺";
                                 papercut.CreateTime = papercut.UpdateTime = DateTime.Now;
                                 wmsDB.mes_push_papercut.Add(papercut);
 
@@ -123,12 +147,12 @@
                                     PackageCode = upiObj.PackageCode,
                                     PushStatus = 0,
                                     PushNum = 0,
-                                    ApiMessage = "寰呮帹閫�",
+                                    ApiMessage = "",
                                     CreateTime = DateTime.Now,
-                                    CreateUserName = "CC",
+                                    CreateUserName = "璋冨害绯荤粺",
                                     UpdateTime = DateTime.Now,
-                                    UpdateUserName = "CC",
-                                    CreateOrgName = "11"
+                                    UpdateUserName = "璋冨害绯荤粺",
+
                                 };
                                 //鏂板浠诲姟琛�
                                 var task = new wms_rbline_task()
@@ -227,5 +251,39 @@
         }
 
 
+        /// <summary>
+        /// 楠岃瘉鏄惁鍏佽鍒囩焊
+        /// </summary>
+        /// <returns></returns>
+        public static bool ValidateIsAllowCut()
+        {
+            var rgvLocation = StationLocationEnum.BZ3007.ToString();
+
+            if (FormCC.stationView == null)
+            {
+                SystemWarningMsg._lbl_Alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-鑾峰彇PLC瀵硅薄涓簄ull";
+                return false;
+            }
+            var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
+            if (obj != null)
+            {
+                if (obj.R_AllowCut)
+                {
+                    return true;
+                }
+                else
+                {
+                    SystemWarningMsg._lbl_Alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-PLC涓嶅厑璁稿垏绾�";
+                    return false;
+                }
+            }
+            else
+            {
+                SystemWarningMsg._lbl_Alert_DataProcess_BZ21 = $"{rgvLocation.ToString()}-鑾峰彇PLC瀵硅薄涓簄ull";
+                return false;
+            }
+
+        }
+
     }
 }

--
Gitblit v1.9.3