From 607fa9a9dec5ff4fe780231d635bbd62e1740f37 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周一, 02 12月 2024 18:37:27 +0800
Subject: [PATCH] 1

---
 CC/iWareCC_ASRS/ThreadService/03_BZ12(机器人码包工位)/DataProcess_BZ12.cs |   52 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 42 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..fe7c0f2 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,16 @@
                                     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.鐮佸灈涓�;
+                                upiObj.AreaCode = (int)AreaCodeEnum.鐮佸灈鍖哄煙;
                                 //鏌ュ杩欏寘鎵�鏈夌殑鏁伴噺
                                 var upiList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == upiObj.PackageCode).ToList();
                                 //鏌ヨ鏄惁鏈澘骞朵笖鍒ゆ柇鏈夋病鏈夋贩鎵�
@@ -88,6 +115,7 @@
                                     }
                                     else
                                     {
+                                        lastnum = 1;
                                         wms_rbline_runmode.PalletizingUPI = upiObj.PackageCode;
                                         if (obj.R_PalletizingStation1 == 1)
                                         {
@@ -99,22 +127,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 +174,7 @@
                                     CreateUserName = "CC",
                                     UpdateTime = DateTime.Now,
                                     UpdateUserName = "CC",
-                                    PlaceCode=place
+                                    PlaceCode = place
                                 };
 
                                 wmsDB.wms_rbline_task.Add(task);
@@ -153,8 +182,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}";
@@ -166,6 +195,9 @@
                                     }
                                 }
 
+
+                                WmsRecordUpiProcessHandler.SaveWmsRecordUpiProcess(wmsDB, upiObj, "BZ12绔欑偣", "鐮佸寘");
+
                                 wmsDB.SaveChanges();
                             }
                         }

--
Gitblit v1.9.3