From e01a2b8111b8d9204b8f322709a9233969e26294 Mon Sep 17 00:00:00 2001
From: zongzhibin <zongzhibin@weben-smart.com>
Date: 周四, 28 11月 2024 10:52:00 +0800
Subject: [PATCH] add

---
 CC/iWareCC_ASRS/ThreadService/03_BZ12(机器人码包工位)/DataProcess_BZ12.cs |   48 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 38 insertions(+), 10 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.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.cs"
index 93a2133..1b1d699 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.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.cs"
@@ -26,7 +26,7 @@
                 SystemWarningMsg._lbl_alert_DataProcess_BZ12 = string.Empty;
                 try
                 {
-                    if ( SystemValue.isStartedModel)
+                    if (SystemValue.isStartedModel)
                     {
                         var rgvLocation = StationLocationEnum.BZ12.ToString();
                         /*
@@ -34,6 +34,25 @@
                          * 2銆佹牴鎹綈濂楃粨鏋滐紝鎺ㄩ�佺粰PLC
                          */
                         var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault();
+                        if (obj.R_PalletizingAck)
+                        {
+                                //缁橮LC鎺ㄩ�佷换鍔″畬鎺ユ敹瀹屾垚澶嶄綅淇″彿
+                                using (StationServiceClient client = new StationServiceClient())
+                                {
+                                    var res = client.WriteStation_ACK((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}");
+                                    }
+                                }
+                            
+
+                        }
                         if (obj.R_ReqParseData)
                         {
                             var result = obj.R_ReadCodeResult;
@@ -43,15 +62,16 @@
                                 continue;
                             }
                             var upiCode = result.Replace("/r", ""); ;
-                            bool islast = false;//鏄惁鏈澘
+                            short lastnum = 0;//鏄惁鏈澘
                             short isrotate = 0;//鏄惁鏃嬭浆
                             short placeX = 0;
                             short placeY = 0;
+                            short placeZ = 0;
                             string place = "";
                             using (WmsDBModel wmsDB = new WmsDBModel())
                             {
                                 //瑕佹槸鏈夊凡涓嬪彂鐨勪换鍔★紝灏变笉瑕佹墽琛�
-                                var isValidate = TaskHandler.ValidateIssueTaskForBZ12(wmsDB);
+                                var isValidate = TaskHandler.ValidateIssueTaskForBZ12(wmsDB, result);
                                 if (!isValidate)
                                 {
                                     SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-鏈夆�樺凡涓嬪彂鈥欑殑浠诲姟锛屼笉鑳藉鐞�,姝ゆ寰幆缁撴潫";
@@ -63,9 +83,15 @@
                                     SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
                                     continue;
                                 }
-                                isrotate = 1;
+                                isrotate = short.Parse(upiObj.Info17);
                                 placeX = (short)upiObj.MachineXCenter;
                                 placeY = (short)upiObj.MachineYCenter;
+                                placeZ = (short)upiObj.MachineZCenter;
+                                if (upiObj.UpiStatus == (int)UpiStatusEnum.宸茬爜鍨泑|upiObj.UpiStatus== (int)UpiStatusEnum.鐮佸灈涓�)
+                                {
+                                    continue;
+                                }
+                                upiObj.UpiStatus = (int)UpiStatusEnum.鐮佸灈涓�;
                                 //鏌ュ杩欏寘鎵�鏈夌殑鏁伴噺
                                 var upiList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == upiObj.PackageCode).ToList();
                                 //鏌ヨ鏄惁鏈澘骞朵笖鍒ゆ柇鏈夋病鏈夋贩鎵�
@@ -88,6 +114,7 @@
                                     }
                                     else
                                     {
+                                        lastnum = 1;
                                         wms_rbline_runmode.PalletizingUPI = upiObj.PackageCode;
                                         if (obj.R_PalletizingStation1 == 1)
                                         {
@@ -99,22 +126,23 @@
 
                                         }
                                         else
-                                            {
+                                        {
                                             SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},UPI:{upiCode}鏃犲彲鐢ㄧ爜鍨涚洰鏍囦綅 ";
                                             continue;
                                         }
+                                        wms_rbline_runmode.PalletizingStation = int.Parse(place);
                                     }
                                     //濡傛灉娆″簭绛変簬褰撻挶鍖呮�绘暟閲忥紝鏄惁鏈澘缃负true
                                     if (upiObj.Shelf == upiList.Count())
                                     {
-                                        islast = true;
+                                        lastnum = 2;
                                         wms_rbline_runmode.PalletizingUPI = null;
                                         wms_rbline_runmode.PalletizingStation = 0;
                                     }
 
                                 }
                                 //鏌ヨ鏈夋病鏈夋搴忓皬浜庡綋鍓嶆搴忓苟涓旀病鏈夌爜鍨涚殑
-                                var oldupi = upiList.Where(x => x.Shelf < upiObj.Shelf && x.UpiStatus != (int)UpiStatusEnum.宸茬爜鍨�).FirstOrDefault();
+                                var oldupi = upiList.Where(x => x.Shelf < upiObj.Shelf && (x.UpiStatus != (int)UpiStatusEnum.宸茬爜鍨� && x.UpiStatus != (int)UpiStatusEnum.鐮佸灈涓�)).FirstOrDefault();
                                 if (oldupi != null)
                                 {
                                     SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()},UPI:{upiCode}鐮佸寘椤哄簭閿欒 ";
@@ -145,7 +173,7 @@
                                     CreateUserName = "CC",
                                     UpdateTime = DateTime.Now,
                                     UpdateUserName = "CC",
-                                    PlaceCode=place
+                                    PlaceCode = place
                                 };
 
                                 wmsDB.wms_rbline_task.Add(task);
@@ -153,8 +181,8 @@
                                 using (StationServiceClient client = new StationServiceClient())
                                 {
 
-                                    var res = client.WritePalletizingTaskInfo((int)EDevice.Station, rgvLocation, Convert.ToInt32(task.TaskNo), islast,
-                                          (short)upiObj.Length, (short)upiObj.Width, (short)upiObj.Thk, isrotate, short.Parse(task.PlaceCode), placeX, placeY);
+                                    var res = client.WritePalletizingTaskInfo((int)EDevice.Station, rgvLocation, Convert.ToInt32(task.TaskNo),
+                                          (short)upiObj.Length, (short)upiObj.Width, (short)upiObj.Thk, isrotate, short.Parse(task.PlaceCode), placeX, placeY, placeZ, lastnum);
                                     if (!res.result)
                                     {
                                         SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 澶辫触,WriteInStoreTaskInfoAsync 杩斿洖:{res.resMsg}";

--
Gitblit v1.9.3