From 0864509e1eb593c3dedb66196ec19fe51437922b Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期一, 26 五月 2025 10:25:42 +0800
Subject: [PATCH] 新增货位管理,PDA扫码生成任务烘烤出料,烘烤回炉,空托回流

---
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs |   68 +++++++++++++++++++++++----------
 1 files changed, 47 insertions(+), 21 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
index 68847ca..227329f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
@@ -17,6 +17,7 @@
 
 #endregion << 鐗� 鏈� 娉� 閲� >>
 
+using System.Threading.Tasks;
 using AutoMapper;
 using Quartz;
 using WIDESEAWCS_Common.TaskEnum;
@@ -40,8 +41,9 @@
         private readonly ITaskExecuteDetailService _taskExecuteDetailService;
         private readonly IRouterService _routerService;
         private readonly IMapper _mapper;
+        private readonly ITaskCZDetailsRepository _detailsRepository;
 
-        public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, ITaskCZRepository taskCZRepository)
+        public CommonConveyorLineJob(ITaskService taskService, ITaskCZDetailsRepository detailsRepository, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, ITaskCZRepository taskCZRepository)
         {
             _taskService = taskService;
             _taskExecuteDetailService = taskExecuteDetailService;
@@ -49,12 +51,10 @@
             _mapper = mapper;
             _taskRepository = taskRepository;
             _taskCZRepository = taskCZRepository;
+            _detailsRepository = detailsRepository;
         }
 
         public Task Execute(IJobExecutionContext context)
-
-
-
         {
             try
             {
@@ -68,8 +68,8 @@
                 // 瀹氫箟绾夸綋瀹炵洏鍏ュ簱璇锋眰鐨勫湴鍧�鍜屼换鍔$被鍨�
                 var requests = new Dictionary<string, string>
                 {
-                    { "DB1002.1093.0", "ZJXL-WLX002" },
-                    { "DB1002.1493.0", "FJXL-WLX002" }
+                    { "DB1002.1493.0", "ZJXL-WLX002" },
+                    { "DB1002.1093.0", "FJXL-WLX002" }
                 };
 
                 // 瀹氫箟绾夸綋绌虹洏鍥炴祦璇锋眰鐨勫湴鍧�鍜屼换鍔$被鍨�
@@ -80,7 +80,7 @@
                 };
 
                 // 澶勭悊瀹炵洏鍏ュ簱璇锋眰
-                ProcessRequests(conveyorLine, requests, "涓嬬嚎璇锋眰鍏ュ簱");
+                //ProcessRequests(conveyorLine, requests, "涓嬬嚎璇锋眰鍏ュ簱");
 
                 // 澶勭悊绌虹洏鍥炴祦璇锋眰
                 ProcessKpRequests(conveyorLine, requestsKP);
@@ -123,7 +123,7 @@
                 }
 
                 // 鏌ヨ浠诲姟绫诲瀷瀵瑰簲鐨刢zTask
-                DtCZTask czTask = _taskCZRepository.QueryFirst(x => x.TaskType == taskType);
+                DtCZTask czTask = _taskCZRepository.QueryFirst(x => x.TaskType == taskType && (x.TaskStatus == TaskInStatusEnum.InFinish.ToString() || x.TaskStatus == TaskInStatusEnum.Line_InExecuting.ToString()));
                 if (czTask == null)
                 {
                     ConsoleHelper.WriteInfoLine($"{nameof(CommonConveyorLineJob)}: {taskType}{requestType},{taskType}浠诲姟涓嶅瓨鍦紝绋嶅悗閲嶈瘯......");
@@ -131,7 +131,7 @@
                 }
 
                 // 鍒涘缓骞舵坊鍔犳柊浠诲姟鍒颁换鍔′粨搴�
-                task = CreateTask(fromAdd, czTask.TaskEndAddress, czTask.TaskOrderNo, czTask.TaskProductCode, taskType);
+                task = CreateTask(fromAdd, czTask.TaskEndAddress, czTask.TaskOrderNo, czTask.TaskProductCode, taskType, czTask.Id);
                 _taskRepository.AddData(task);
                 ConsoleHelper.WriteInfoLine($"{nameof(CommonConveyorLineJob)}: {taskType}{requestType},浠诲姟宸茬敓鎴愶紝绛夊緟鎵ц......");
             }
@@ -161,18 +161,22 @@
                 Dt_Task task = null;
                 if (isUpRequest)
                 {
-                    task = CreateTask(fromAdd, "WaitBind", "姝f瀬鐗╂祦绾�002鐨勪笂鏂欒姹�", "绌烘墭鐩�", taskType);
+                    List<Dt_Task> dt_Task = _taskRepository.QueryData(x => x.SourceAddress == fromAdd && x.TaskState == (int)TaskInStatusEnum.InPending);
+                    if (dt_Task.Count < 0) { continue; }
+                    var tasks = dt_Task.Where(x => x.SourceAddress == fromAdd).OrderBy(t => t.CreateDate).First();
+                    tasks.TaskState = (int)TaskInStatusEnum.InNew;
+                    _taskService.UpdateData(tasks);
                 }
-                else if (isGMRequest && isGMState == 1)
-                {
-                    task = CreateTask(fromAdd, "WaitBind", "姝f瀬鐗╂祦绾�002鐨勪笂鏂欒姹�", "闅旇啘绌烘墭鐩�", taskType);
-                }
+                //else if (isGMRequest && isGMState == 1)
+                //{
+                //    task = CreateTask(fromAdd, "WaitBind", "姝f瀬鐗╂祦绾�002鐨勪笂鏂欒姹�", "闅旇啘绌烘墭鐩�", taskType);
+                //}
 
-                // 娣诲姞浠诲姟鍒颁换鍔¤〃
-                if (task != null)
-                {
-                    _taskRepository.AddData(task);
-                }
+                //// 娣诲姞浠诲姟鍒颁换鍔¤〃
+                //if (task != null)
+                //{
+                //    _taskRepository.AddData(task);
+                //}
             }
         }
 
@@ -191,8 +195,30 @@
         }
 
         // 杈呭姪鏂规硶锛氬垱寤轰换鍔″璞�
-        private Dt_Task CreateTask(string currentAddress, string targetAddress, string remark, string palletCode, string taskType)
+        private Dt_Task CreateTask(string currentAddress, string targetAddress, string remark, string palletCode, string taskType, int czTaskID = 0)
         {
+            if (targetAddress != "WaitBind")
+            {
+                var details = _detailsRepository.QueryData(x => x.TaskEndAddress == targetAddress).ToList();
+                foreach (var item in details)
+                {
+                    var taskCZ = _taskCZRepository.QueryFirst(x => x.TaskTaskID == item.TaskTaskID);
+                    if (taskCZ.TaskType.Contains("姝f瀬"))
+                    {
+                        taskCZ.TaskZJFinishNumber += 1;
+                    }
+                    else
+                    {
+                        taskCZ.TaskFJFinishNumber += 1;
+                    }
+                    if (taskCZ.TaskZJFinishNumber == taskCZ.TaskNumber || taskCZ.TaskFJFinishNumber == taskCZ.TaskNumber)
+                    {
+                        _taskCZRepository.DeleteData(taskCZ);
+                    }
+
+                    var isTrue = _taskCZRepository.UpdateData(taskCZ);
+                }
+            }
             Dt_Task dt_Task = _taskRepository.QueryFirst(x => x.SourceAddress == currentAddress);
             if (dt_Task != null)
             {
@@ -213,7 +239,7 @@
                 NextAddress = targetAddress,
                 Barcode = "",
                 Roadway = $"{taskType}AGV",
-                WMSId = 0,
+                WMSId = czTaskID > 0 ? czTaskID : 0,
                 Remark = remark
             };
         }

--
Gitblit v1.9.3