From b3afd18d58cc94bb94b8a91030d1b2fa89f637e6 Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期五, 25 四月 2025 10:48:41 +0800
Subject: [PATCH] 代码提交

---
 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs |   64 ++++++++++++++++++++++----------
 1 files changed, 44 insertions(+), 20 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 598f89d..448e4f4 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,15 +17,9 @@
 
 #endregion << 鐗� 鏈� 娉� 閲� >>
 
-using AutoMapper;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
-using Quartz;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using System.Text;
 using System.Threading.Tasks;
+using AutoMapper;
+using Quartz;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.Helper;
@@ -33,7 +27,6 @@
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DTO;
 using WIDESEAWCS_QuartzJob.Service;
 using WIDESEAWCS_Tasks.ConveyorLineJob;
 
@@ -48,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;
@@ -57,9 +51,11 @@
             _mapper = mapper;
             _taskRepository = taskRepository;
             _taskCZRepository = taskCZRepository;
+            _detailsRepository = detailsRepository;
         }
 
         public Task Execute(IJobExecutionContext context)
+
         {
             try
             {
@@ -73,8 +69,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" }
                 };
 
                 // 瀹氫箟绾夸綋绌虹洏鍥炴祦璇锋眰鐨勫湴鍧�鍜屼换鍔$被鍨�
@@ -120,7 +116,7 @@
                 string taskType = request.Value.Contains("ZJXL") ? "姝f瀬" : "璐熸瀬";
 
                 // 鏌ヨ鏄惁瀛樺湪宸茬敓鎴愮殑鏂颁换鍔�
-                var task = _taskRepository.QueryFirst(x => x.SourceAddress == fromAdd && x.TaskState == (int)TaskInStatusEnum.InNew);
+                var task = _taskRepository.QueryFirst(x => x.SourceAddress == fromAdd);//&& x.TaskState == (int)TaskInStatusEnum.InNew
                 if (task != null)
                 {
                     ConsoleHelper.WriteInfoLine($"{nameof(CommonConveyorLineJob)}: {taskType}{requestType},浠诲姟宸茬敓鎴愬瓨鍦紝绋嶅悗閲嶈瘯......");
@@ -128,7 +124,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}浠诲姟涓嶅瓨鍦紝绋嶅悗閲嶈瘯......");
@@ -136,7 +132,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},浠诲姟宸茬敓鎴愶紝绛夊緟鎵ц......");
             }
@@ -153,7 +149,7 @@
                 }
 
                 string fromAdd = request.Value;
-                string taskType = request.Value.Contains("ZJXL") ? "姝f瀬" : "璐熸瀬";
+                string taskType = "璐熸瀬"; //request.Value.Contains("ZJXL") ? "姝f瀬" :
 
                 // 鏍规嵁浠诲姟绫诲瀷纭畾璇锋眰鍦板潃
                 (string upRequest, string gmRequest, string gmState) = GetRequestAddresses(taskType);
@@ -196,8 +192,35 @@
         }
 
         // 杈呭姪鏂规硶锛氬垱寤轰换鍔″璞�
-        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)
+            {
+                return null;
+            }
             return new Dt_Task
             {
                 TaskNum = _taskService.GetTaskNum(),
@@ -205,14 +228,15 @@
                 Creater = "system",
                 CurrentAddress = currentAddress,
                 SourceAddress = currentAddress,
-                TaskState = (int)TaskInStatusEnum.InNew,
-                TaskType = (int)TaskInboundTypeEnum.Inbound,
+                TaskState = targetAddress != "WaitBind" ? (int)TaskInStatusEnum.InNew : (int)TaskInStatusEnum.InPending,
+                TaskType = (int)TaskOutboundTypeEnum.Outbound,
                 Grade = 1,
                 PalletCode = palletCode,
                 TargetAddress = targetAddress,
                 NextAddress = targetAddress,
+                Barcode = "",
                 Roadway = $"{taskType}AGV",
-                WMSId =  0, 
+                WMSId = czTaskID > 0 ? czTaskID : 0,
                 Remark = remark
             };
         }

--
Gitblit v1.9.3