From 8abc9481eafeb715b39a4f4f8d6f628a642e6b53 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期三, 19 三月 2025 17:38:18 +0800
Subject: [PATCH] 优化AGV和输送线、产线对接逻辑

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs |   59 +++++++++++++++++++++--------------------------------------
 1 files changed, 21 insertions(+), 38 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs"
index ae23e5f..7bc6222 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs"
@@ -8,6 +8,7 @@
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DTO;
 using WIDESEAWCS_QuartzJob.Service;
 using WIDESEAWCS_Tasks.ProductionLineJob;
 using WIDESEAWCS_Tasks.StackerCraneJob;
@@ -35,15 +36,6 @@
         {
             try
             {
-                //ProductionLineDTO MaterielGroupDTO = new ProductionLineDTO()
-                //{
-                //    stationCode = "MDX01",
-                //    traytype = 4,
-                //    Barcode = "25" + i.ToString("000000"),
-                //    batchNo = "20250222T3",
-                //};
-                //var content = ProductionLineToWMSRequest(MaterielGroupDTO);
-                //i++;
                 #region MyRegion
                 OtherDevice ProductionLine = (OtherDevice)context.JobDetail.JobDataMap.Get("JobParams");
                 if (ProductionLine != null)
@@ -55,8 +47,8 @@
                         //var content = Request(ProductionLine, traytype, ProductionLine.DeviceCode);
                         if (traytype == 4)
                         {
-                            var Barcode = ProductionLine.GetValue<ProductionLineDBName, string>(ProductionLineDBName.trayBarcode);
-                            var batchNo = ProductionLine.GetValue<ProductionLineDBName, string>(ProductionLineDBName.batchNo);
+                            var Barcode = ProductionLine.GetValue<ProductionLineDBName, string>(ProductionLineDBName.trayBarcode).Replace("\0", "");
+                            var batchNo = ProductionLine.GetValue<ProductionLineDBName, string>(ProductionLineDBName.batchNo).Replace("\0", "");
                             ProductionLineDTO MaterielGroupDTO = new ProductionLineDTO()
                             {
                                 stationCode = ProductionLine.DeviceCode,
@@ -65,36 +57,11 @@
                                 batchNo = batchNo,
                             };
                             var content = ProductionLineToWMSRequest(MaterielGroupDTO);
-                            if (content.Status) ProductionLine.SetValue(ProductionLineDBName.Wrequest, 1);
+                            if (content.Status)
+                                ProductionLine.SetValue(ProductionLineDBName.Wrequest, request);
                         }
                     }
                 }
-                #endregion
-                #region MyRegion
-                //short[] shorts = { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 };
-                //ProductionLineDTO MaterielGroupDTO = new ProductionLineDTO()
-                //{
-                //    Barcode = "A1001",
-                //    batchNo = "20241212001T1",
-                //    stationCode = "Z1",
-                //    productQty = string.Join(",", shorts),
-                //    traytype = 4
-                //};
-                //ProductionLineToWMSRequest(MaterielGroupDTO);
-                //if (ProductionLine != null)
-                //{
-                //    switch (ProductionLine.DeviceName)
-                //    {
-                //        case "鍏ュ簱浜х嚎":
-                //            ProductionLineIn(ProductionLine);
-                //            break;
-                //        case "鍑哄簱浜х嚎":
-                //            ProductionLineOut(ProductionLine);
-                //            break;
-                //        default:
-                //            throw new Exception("鏈畾涔変骇绾�");
-                //    }
-                //} 
                 #endregion
             }
             catch (Exception ex)
@@ -103,5 +70,21 @@
             }
             return Task.CompletedTask;
         }
+
+        public string GetString<TEnum, TResult>(TEnum value, OtherDevice ProductionLine) where TEnum : Enum
+        {
+            TEnum value2 = value;
+            if (!ProductionLine.IsConnected)
+            {
+                throw new Exception("閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+            }
+            DeviceProDTO deviceProDTO = ProductionLine.DeviceProDTOs.FirstOrDefault((DeviceProDTO x) => x.DeviceProParamName == value2.ToString());
+            if (deviceProDTO != null)
+            {
+                return Encoding.ASCII.GetString(ProductionLine.Communicator.Read(deviceProDTO.DeviceProAddress, deviceProDTO.DeviceProDataLength)).Replace("\0", "");
+                //return (TResult)Communicator.ReadAsObj(deviceProDTO.DeviceProAddress, deviceProDTO.DeviceDataType);
+            }
+            throw new Exception("璇诲彇鏁版嵁閿欒,鏈湪鍗忚淇℃伅閲岄潰鎵惧埌鍙傛暟" + value2.ToString());
+        }
     }
 }

--
Gitblit v1.9.3