From c6dad51bdd23cf8425a2e6bb47b9b9412a0dabbe Mon Sep 17 00:00:00 2001
From: zongzhibin <zongzhibin@weben-smart.com>
Date: 周五, 29 11月 2024 15:53:06 +0800
Subject: [PATCH] add

---
 CC/iWareCC_ASRS/FormCC.cs                                                |    1 
 CC/iWareCC_ASRS/ThreadService/05_BZ30(齐套验证)/DataProcess_ValidateQiTao.cs |   18 +++--
 CC/iWareSql/WmsDBModel/mes_push_papercut.cs                              |    2 
 SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs       |   12 +++
 CC/iWareCC_ASRS/ThreadService/04_BZ21(搬运整垛机器人)/DataProcess_BZ21.cs       |  105 ++++++++++++++++++++++++++++++----
 CC/iWareModel/EnumType/EDevice/Station/StationLocationEnum.cs            |    6 +
 SDA/iWareSda/Model/StationLocationEnum.cs                                |    6 +
 7 files changed, 126 insertions(+), 24 deletions(-)

diff --git a/CC/iWareCC_ASRS/FormCC.cs b/CC/iWareCC_ASRS/FormCC.cs
index 99387b2..cb971be 100644
--- a/CC/iWareCC_ASRS/FormCC.cs
+++ b/CC/iWareCC_ASRS/FormCC.cs
@@ -28,6 +28,7 @@
 using System.Windows.Forms;
 using XiGang.Core.Model;
 using XiGang.Core.Model.ViewModels;
+using static iWareCC.ThreadService._04_BZ21_鎼繍鏁村灈鏈哄櫒浜篲.DataProcess_BZ21;
 
 namespace iWareCC
 {
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/DataProcess_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/DataProcess_BZ21.cs"
index 4d19cd1..20fa695 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/DataProcess_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/DataProcess_BZ21.cs"
@@ -5,8 +5,10 @@
 using iWareModel;
 using iWareSql.DataAccess;
 using iWareSql.WmsDBModel;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
+using System.ComponentModel;
 using System.Linq;
 using System.Text;
 using System.Threading;
@@ -28,6 +30,7 @@
                 {
                     if (SystemValue.isStartedModel)
                     {
+                        
                         var rgvLocation = StationLocationEnum.BZ21.ToString();
                         /*
                          * 1銆佷粠鏁版嵁搴撲腑鍒ゆ柇鏄惁榻愬
@@ -80,6 +83,22 @@
                                     SystemWarningMsg._lbl_alert_DataProcess_BZ21 = $"{rgvLocation.ToString()},鏍规嵁UPI:{upiCode}娌℃湁鎵惧埌瀵硅薄 ";
                                     continue;
                                 }
+                                string upi = "LS070700101B0001GS";
+                                var res =new HTTPService("http://172.17.1.22:44374/api/LuLi/").getContent<Respone>("cartons-machine?PackageCode="+upi, Guid.NewGuid(),10000);
+                                if (res.iState == 0)
+                                {
+                                    var papercut = ClassHelper.RotationMapping<mes_push_papercut, mes_batchOrderUPI_new>(upiObj);
+                                    papercut.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+                                    papercut.ApiMessage = res.message;
+                                    papercut.PushStatus = (int)PushStatusEnum.PushSuccess;
+                                    wmsDB.mes_push_papercut.Add(papercut);
+                                }
+                                else
+                                {
+
+                                    continue;
+                                }
+                                //鏇存柊琛�
                                 var mesgather = wmsDB.mes_package_gather.Where(x => x.PackageCode == upiObj.PackageCode).FirstOrDefault();
                                 if (mesgather != null)
                                 {
@@ -95,21 +114,24 @@
                                 var _id = Yitter.IdGenerator.YitIdHelper.NextId();
                                 var putpakegecodeid = Yitter.IdGenerator.YitIdHelper.NextId();
                                 var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask();
+                                //鏂板琛�
                                 var mesinequeue = ClassHelper.RotationMapping<mes_package_linequeue, mes_batchOrderUPI_new>(upiObj);
                                 mesinequeue.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+                                //鏂板mes鎺ㄩ�佽〃
                                 var putpakegecode = new mes_push_packagecode()
                                 {
                                     Id = putpakegecodeid,
                                     PackageCode = upiObj.PackageCode,
                                     PushStatus = 0,
                                     PushNum = 0,
-                                    ApiMessage = "11",
+                                    ApiMessage = "寰呮帹閫�",
                                     CreateTime = DateTime.Now,
                                     CreateUserName = "CC",
                                     UpdateTime = DateTime.Now,
                                     UpdateUserName = "CC",
                                     CreateOrgName = "11"
                                 };
+                                //鏂板浠诲姟琛�
                                 var task = new wms_rbline_task()
                                 {
                                     Id = _id,
@@ -133,17 +155,32 @@
                                     UpdateUserName = "CC",
                                     PlaceCode = place
                                 };
+                                //鏂板鎵撳嵃琛�
+                                var printid= Yitter.IdGenerator.YitIdHelper.NextId();
+                                var print = ClassHelper.RotationMapping<wms_record_print, mes_batchOrderUPI_new>(upiObj);
+                                print.Id = printid;
+                                print.PrintType = (int)PrintTypeEnum.鍖呰鏉$爜;
+                                print.PrintSource = (int)PrintSourceEnum.鍖呰鏉$爜鎵撳嵃;
+                                print.PrintSheetNum = 1;
+                                print.PrintNum= 0;
+                                print.PrintStatus = (int)PrintStatuEnum.鏈墦鍗�;
+                                print.IsAllowPrint= true;
+                                wmsDB.wms_record_print.Add(print);
+                                wms_record_print printtwo = print;
+                                printtwo.Id= Yitter.IdGenerator.YitIdHelper.NextId();
+                                wmsDB.wms_record_print.Add(printtwo);
+
                                 wmsDB.mes_package_linequeue.Add(mesinequeue);
-                                wmsDB.wms_rbline_task.Add(task);
+                                wmsDB.wms_rbline_task.Add(task); 
                                 wmsDB.mes_push_packagecode.Add(putpakegecode);
                                 using (StationServiceClient client = new StationServiceClient())
                                 {
 
-                                    var res = client.WriteSurroundTaskInfo((int)EDevice.Station, rgvLocation, short.Parse(task.TaskNo),
+                                    var plcres = client.WriteSurroundTaskInfo((int)EDevice.Station, rgvLocation, short.Parse(task.TaskNo),
                                           (short)upiObj.Length, (short)upiObj.Width, cartonhigh, cartonwidth, 0, 0);
-                                    if (!res.result)
+                                    if (!plcres.result)
                                     {
-                                        SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 澶辫触,WriteInStoreTaskInfoAsync 杩斿洖:{res.resMsg}";
+                                        SystemWarningMsg._lbl_alert_DataProcess_BZ12 = $"{rgvLocation.ToString()}-涓嬪彂鍏ュ簱浠诲姟 澶辫触,WriteInStoreTaskInfoAsync 杩斿洖:{plcres.resMsg}";
                                         continue;
                                     }
                                     else
@@ -164,6 +201,9 @@
                 }
             }
         }
+        /// <summary>
+        /// 鍚憁es鎺ㄩ�佸寘瑁呭畬鎴�
+        /// </summary>
         public static void PushPackageCode()
         {
             while (true)
@@ -177,7 +217,22 @@
                         PushPackageCodeInput input = new PushPackageCodeInput();
                         input.PackageCode = value.PackageCode;
                         var res = HttpHelper.GetHttpResponse<PushPackageCodeInput, Respone>(" ", input, 10000);
-
+                        if (res.iState == 0)
+                        {
+                            value.PushStatus = (int)PushStatusEnum.PushSuccess;
+                            value.ApiMessage = res.message;
+                        }
+                        else
+                        {
+                            value.PushStatus = (int)PushStatusEnum.Pushing;
+                            value.PushNum++;
+                            value.ApiMessage+= res.message;
+                            if (value.PushNum == 3)
+                            {
+                                value.PushStatus = (int)PushStatusEnum.PushFail;
+                            }
+                        }
+                        edm.SaveChanges();
                     }
                 }
             }
@@ -191,7 +246,7 @@
             /// <summary>
             /// 杩斿洖鐮�
             /// </summary>
-            public string code { get; set; }
+            public int iState { get; set; }
 
             /// <summary>
             /// 杩斿洖娑堟伅
@@ -199,14 +254,38 @@
             public string message { get; set; }
 
             /// <summary>
-            /// 璇锋眰缂栧彿
-            /// </summary>
-            public string reqCode { get; set; }
-
-            /// <summary>
-            /// 鑷畾涔夎繑鍥烇紙杩斿洖浠诲姟鍗曞彿锛�
+            /// 鑷畾涔夎繑鍥�
             /// </summary>
             public string data { get; set; }
         }
+        /// <summary>
+        /// 鎺ㄩ�佺姸鎬�  
+        /// </summary>
+        public enum PushStatusEnum
+        {
+            /// <summary>
+            /// 鏈帹閫�
+            /// </summary>
+            [Description("鏈帹閫�")]
+            NotPush = 0,
+
+            /// <summary>
+            /// 鎺ㄩ�佷腑
+            /// </summary>
+            [Description("鎺ㄩ�佷腑")]
+            Pushing = 1,
+
+            /// <summary>
+            /// 鎺ㄩ�佹垚鍔�
+            /// </summary>
+            [Description("鎺ㄩ�佹垚鍔�")]
+            PushSuccess = 2,
+
+            /// <summary>
+            /// 鎺ㄩ�佸け璐�
+            /// </summary>
+            [Description("鎺ㄩ�佸け璐�")]
+            PushFail = 3,
+        }
     }
 }
diff --git "a/CC/iWareCC_ASRS/ThreadService/05_BZ30\050\351\275\220\345\245\227\351\252\214\350\257\201\051/DataProcess_ValidateQiTao.cs" "b/CC/iWareCC_ASRS/ThreadService/05_BZ30\050\351\275\220\345\245\227\351\252\214\350\257\201\051/DataProcess_ValidateQiTao.cs"
index adb6ebe..d33b27f 100644
--- "a/CC/iWareCC_ASRS/ThreadService/05_BZ30\050\351\275\220\345\245\227\351\252\214\350\257\201\051/DataProcess_ValidateQiTao.cs"
+++ "b/CC/iWareCC_ASRS/ThreadService/05_BZ30\050\351\275\220\345\245\227\351\252\214\350\257\201\051/DataProcess_ValidateQiTao.cs"
@@ -36,7 +36,7 @@
                 {
                     if (SystemValue.isAllowRuning_DataProcess_ValidateQiTao && SystemValue.isStartedModel)
                     {
-                        var rgvLocation = StationLocationEnum.BZ39.ToString();
+                        var rgvLocation = StationLocationEnum.BZ30.ToString();
 
                         using (WmsDBModel wmsDB = new WmsDBModel())
                         {
@@ -55,23 +55,27 @@
                             var configValues = configValue.Split('|');
                             var packageCode = configValues[0];
                             var qitaoValue = configValues[1];//榻愬  涓嶉綈濂�
-
+                            bool iscomplete = false;
+                            if (qitaoValue.Equals("榻愬"))
+                            {
+                                iscomplete = true;
+                            }
                             //TODO:鎺ㄩ�佺粰PLC 鍘诲摢涓柟鍚戯紵
-                            /*
+
                             using (StationServiceClient client = new StationServiceClient())
                             {
-                                var res = await client.ChangeModeAsync((int)EDevice.Station, (int)RbRunModeEnum.鍏ュ簱妯″紡, rgvLocation);
+                                var res = client.WriteQiTaoInfo((int)EDevice.Station, rgvLocation, iscomplete);
                                 if (!res.result)
                                 {
-                                    SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"{rgvLocation.ToString()}-鎺ㄩ�佺粰PLC鍒囨崲妯″紡 澶辫触,ChangeModeAsync 杩斿洖:{res.resMsg}";
+                                    SystemWarningMsg._lbl_Alert_DataProcess_ValidateQiTao = $"{rgvLocation.ToString()}-鎺ㄩ�佺粰PLC鏄惁榻愬澶辫触,ChangeModeAsync 杩斿洖:{res.resMsg}";
                                     continue;
                                 }
                                 else
                                 {
-                                    Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-鎺ㄩ�佺粰PLC鍒囨崲妯″紡 鎴愬姛,ChangeModeAsync锛屽弬鏁�: 绔欑偣{rgvLocation}");
+                                    Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-鎺ㄩ�佺粰PLC鏄惁榻愬 鎴愬姛,ChangeModeAsync锛屽弬鏁�: 绔欑偣{rgvLocation}");
                                 }
                             }
-                            //*/
+                            //
 
 
                             //鏇存柊鍊�
diff --git a/CC/iWareModel/EnumType/EDevice/Station/StationLocationEnum.cs b/CC/iWareModel/EnumType/EDevice/Station/StationLocationEnum.cs
index fae8af5..323ed97 100644
--- a/CC/iWareModel/EnumType/EDevice/Station/StationLocationEnum.cs
+++ b/CC/iWareModel/EnumType/EDevice/Station/StationLocationEnum.cs
@@ -28,6 +28,10 @@
 
         BZ12 = 103,
 
-        BZ21 = 104
+        BZ21 = 104,
+        /// <summary>
+        /// 榻愬楠岃瘉宸ヤ綅
+        /// </summary>
+        BZ30 = 105
     }
 }
diff --git a/CC/iWareSql/WmsDBModel/mes_push_papercut.cs b/CC/iWareSql/WmsDBModel/mes_push_papercut.cs
index eb45ef9..88c771c 100644
--- a/CC/iWareSql/WmsDBModel/mes_push_papercut.cs
+++ b/CC/iWareSql/WmsDBModel/mes_push_papercut.cs
@@ -25,7 +25,7 @@
 
         public DateTime? PushTime { get; set; }
 
-        public int PushNum { get; set; }
+        public int PushNum { get; set; } = 0;
 
         [Required]
         [StringLength(50)]
diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs b/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs
index 03589a6..8eed4ed 100644
--- a/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs
@@ -23,6 +23,7 @@
         public static string W_DBHeaderWithSeparate_BZ12 = "3003" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
         public static string W_DBHeaderWithSeparate_BZ01 = "3001" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
         public static string W_DBHeaderWithSeparate_BZ21 = "3004" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
+        public static string W_DBHeaderWithSeparate_BZ30 = "3005" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
 
         /// <summary>
         /// 璇诲彇DB
@@ -295,9 +296,18 @@
                 R_SurrouondTaskNo = W_DBHeaderWithSeparate_BZ21 + "104.0",
                 R_ReadCodeResult = W_DBHeaderWithSeparate_BZ21 + "52.0",
 
+            });
+            _dbBlockForRead.R_StationForReadCommList.Add(new StationDBForReadComm()
+            {
+                StationCode = StationLocationEnum.BZ30.ToString(),
+                R_PalletizingAck = W_DBHeaderWithSeparate_BZ21 + "50.2",
+
+                R_ReqParseData = W_DBHeaderWithSeparate_BZ21 + "50.0",
+                R_SurrouondTaskFinish = W_DBHeaderWithSeparate_BZ21 + "50.1",
+                R_SurrouondTaskNo = W_DBHeaderWithSeparate_BZ21 + "104.0",
+                R_ReadCodeResult = W_DBHeaderWithSeparate_BZ21 + "52.0",
 
             });
-
             return _dbBlockForRead;
 
         }
diff --git a/SDA/iWareSda/Model/StationLocationEnum.cs b/SDA/iWareSda/Model/StationLocationEnum.cs
index ed977df..eae9eab 100644
--- a/SDA/iWareSda/Model/StationLocationEnum.cs
+++ b/SDA/iWareSda/Model/StationLocationEnum.cs
@@ -34,6 +34,10 @@
         /// <summary>
         /// 鍚堝寘宸ヤ綅
         /// </summary>
-        BZ21 = 104
+        BZ21 = 104,
+        /// <summary>
+        /// 榻愬楠岃瘉宸ヤ綅
+        /// </summary>
+        BZ30 = 105
     }
 }

--
Gitblit v1.9.3