From 97ae26c59fe8c0f967903538e147240f8c1600a5 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期二, 15 四月 2025 17:04:09 +0800
Subject: [PATCH] 更改保存条码方式

---
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/UpdateTaskAGV.cs |   49 ++++++++++++++++++++++++++-----------------------
 1 files changed, 26 insertions(+), 23 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/UpdateTaskAGV.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/UpdateTaskAGV.cs"
index 1f66fc7..7ba609f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/UpdateTaskAGV.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGVJob/UpdateTaskAGV.cs"
@@ -1,5 +1,4 @@
-锘縰sing Newtonsoft.Json;
-using WIDESEAWCS_Common.AGVEnum;
+锘縰sing WIDESEAWCS_Common.AGVEnum;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_DTO.TaskInfo;
 using WIDESEAWCS_ITaskInfoRepository;
@@ -204,7 +203,6 @@
                                 }
                             }
 
-
                             //agvtask_HtyRepository.AddTaskHistory(agvTask, OperateType.Finished.ToString());
                             _taskRepository.DeleteData(agvTask);
                             plcClient.Communicator.Write(taskFbInteractive2, 1);
@@ -259,7 +257,7 @@
             }
         }
 
-        public static void UpdateTask(AGV plcClient, ITaskRepository taskRepository, ITaskCZRepository _taskCZRepository)
+        public static void UpdateTask(AGV plcClient, ITaskRepository taskRepository, ITaskCZRepository _taskCZRepository, ITaskCZDetailsRepository _detailsRepository)
         {
             // 浣跨敤Interlocked.Exchange淇濊瘉鍚屼竴鏃堕棿鍙湁涓�涓嚎绋嬪彲浠ユ墽琛屼换鍔℃洿鏂�
             if (Interlocked.Exchange(ref _readUpdateAGVTaskSignalso, 1) == 0)
@@ -365,30 +363,35 @@
                                 {
                                     // 鎻愬崌鏈鸿繘鐑樼
                                     // TODO: 璋冪敤鍒涙櫤鎺ュ彛鑾峰彇瀹屾暣鏉$爜
-                                    var czTask = _taskCZRepository.QueryFirst(x => x.Id == agvTask.WMSId);
-                                    CZTaskBarCodeDto barCodeDto = JsonConvert.DeserializeObject<CZTaskBarCodeDto>(czTask.DtCZTaskDetails);
-                                    var materials = Enumerable.Range(0, 2)
-                                            .Select(i => new BakingClass
-                                            {
-                                                MaterialType = czTask.TaskProductCode,
-                                                BarCode = GetBarCodeByIndex(barCodeDto, i, hasDesc: !string.IsNullOrEmpty(czTask.TaskDesc))
-                                            })
-                                            .ToList();
+                                    //var czTask = _taskCZRepository.QueryFirst(x => x.Id == agvTask.WMSId);
+                                    //CZTaskBarCodeDto barCodeDto = JsonConvert.DeserializeObject<CZTaskBarCodeDto>(czTask.DtCZTaskDetails);
+                                    //var materials = Enumerable.Range(0, 2)
+                                    //        .Select(i => new BakingClass
+                                    //        {
+                                    //            MaterialType = czTask.TaskProductCode,
+                                    //            BarCode = GetBarCodeByIndex(barCodeDto, i, hasDesc: !string.IsNullOrEmpty(czTask.TaskDesc))
+                                    //        })
+                                    //        .ToList();
+
+                                    var details = _detailsRepository.QueryData(x => x.TaskEndAddress == agvTask.TargetAddress && x.TaskName == agvTask.Roadway).OrderBy(x => x.CreateDate).ToList();
+
+                                    if (details.Count >= 2)
+                                    {
+                                        details = details.Take(2).ToList();
+                                    }
+
+                                    var materials = details.Select(x => new BakingClass
+                                    {
+                                        MaterialType = x.MaterialType,
+                                        BarCode = x.MaterialBarCode,
+                                    }).ToList();
 
                                     MESback WMSbackresult = MESAPIInvoke.BakingFeedingBinding(agvTask.TargetAddress, materials);
                                     if (WMSbackresult.Code > 0) { new Exception(WMSbackresult.Message); return; }
                                     else
                                     {
-                                        if (!string.IsNullOrEmpty(czTask.TaskDesc))
-                                        {
-                                            czTask.TaskDesc = "浠诲姟瀹屾垚涓ゆ娆�";
-                                            _taskCZRepository.DeleteData(czTask);
-                                        }
-                                        else
-                                        {
-                                            czTask.TaskDesc = "浠诲姟瀹屾垚涓�娆�";
-                                            _taskCZRepository.UpdateData(czTask);
-                                        }
+                                        // 鍒犻櫎details鏁版嵁
+                                        _detailsRepository.DeleteData(details);
                                     }
                                 }
                             }

--
Gitblit v1.9.3