From 786c5ca17012ff3a01faf466b751bdbe70629b97 Mon Sep 17 00:00:00 2001 From: wankeda <Administrator@DESKTOP-HAU3ST3> Date: 星期一, 25 八月 2025 15:25:46 +0800 Subject: [PATCH] 1 --- 代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs | 108 +++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 74 insertions(+), 34 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..ae3874d 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,6 +51,7 @@ _mapper = mapper; _taskRepository = taskRepository; _taskCZRepository = taskCZRepository; + _detailsRepository = detailsRepository; } public Task Execute(IJobExecutionContext context) @@ -73,8 +68,8 @@ // 瀹氫箟绾夸綋瀹炵洏鍏ュ簱璇锋眰鐨勫湴鍧�鍜屼换鍔$被鍨� var requests = new Dictionary<string, string> { - { "DB1002.1093.0", "ZJXL-WLX002" }, - { "DB1002.1493.0", "FJXL-WLX002" } + { "DB1002.693.0", "ZJXL-WLX002" }, + { "DB1002.1093.0", "FJXL-WLX002" } }; // 瀹氫箟绾夸綋绌虹洏鍥炴祦璇锋眰鐨勫湴鍧�鍜屼换鍔$被鍨� @@ -120,7 +115,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 +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}浠诲姟涓嶅瓨鍦紝绋嶅悗閲嶈瘯......"); @@ -136,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},浠诲姟宸茬敓鎴愶紝绛夊緟鎵ц......"); } @@ -153,31 +148,35 @@ } string fromAdd = request.Value; - string taskType = request.Value.Contains("ZJXL") ? "姝f瀬" : "璐熸瀬"; + string taskType = request.Value.Contains("ZJXL") ? "姝f瀬" : "璐熸瀬"; //request.Value.Contains("ZJXL") ? "姝f瀬" : // 鏍规嵁浠诲姟绫诲瀷纭畾璇锋眰鍦板潃 (string upRequest, string gmRequest, string gmState) = GetRequestAddresses(taskType); var isUpRequest = conveyorLine.Communicator.Read<bool>(upRequest); - var isGMRequest = conveyorLine.Communicator.Read<bool>(gmRequest); - var isGMState = conveyorLine.Communicator.Read<int>(gmState); + var isGMRequest = conveyorLine.Communicator.Read<bool>(gmRequest);//鏆傚瓨绾胯姹� + var isGMState = conveyorLine.Communicator.Read<int>(gmState);//鏆傚瓨绾垮嚭鍏ュ簱绫诲瀷鍒囨崲 // 鏍规嵁鏉′欢鍒涘缓浠诲姟瀵硅薄 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); + //} } } @@ -196,8 +195,47 @@ } // 杈呭姪鏂规硶锛氬垱寤轰换鍔″璞� - 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).OrderBy(x => x.CreateDate).Take(2).ToList(); + foreach (var item in details) + { + var taskCZ = _taskCZRepository.QueryFirst(x => x.TaskTaskID == item.TaskTaskID); + if (taskCZ.TaskType.Contains("姝f瀬")) + { + taskCZ.TaskZJFinishNumber += 1; + _detailsRepository.DeleteData(item); + } + else + { + taskCZ.TaskFJFinishNumber += 1; + _detailsRepository.DeleteData(item); + } + 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; + } + int type = 0; + if (targetAddress.Contains("ZC")) + { + type = 2; + } + else + { + type = 1; + } return new Dt_Task { TaskNum = _taskService.GetTaskNum(), @@ -205,15 +243,17 @@ Creater = "system", CurrentAddress = currentAddress, SourceAddress = currentAddress, - TaskState = (int)TaskInStatusEnum.InNew, - TaskType = (int)TaskInboundTypeEnum.Inbound, + TaskState = targetAddress != "WaitBind" ? (int)TaskInStatusEnum.InNew : (int)TaskInStatusEnum.InPending, + TaskType = type, Grade = 1, PalletCode = palletCode, TargetAddress = targetAddress, NextAddress = targetAddress, - Roadway = $"{taskType}AGV", - WMSId = 0, - Remark = remark + Barcode = "", + Roadway = "AGV", + WMSId = czTaskID > 0 ? czTaskID : 0, + Remark = remark, + Floor = 3 }; } -- Gitblit v1.9.3