From bc7bd9be4efa79645cb8f5c959b5e398fae9986f Mon Sep 17 00:00:00 2001 From: duyongjia <adu_555@163.com> Date: 星期三, 26 二月 2025 10:23:42 +0800 Subject: [PATCH] 最新提交 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs | 120 +++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 79 insertions(+), 41 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" index e01edc6..6dcdd61 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" @@ -16,45 +16,40 @@ #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.Data; using System.Threading.Tasks; using WIDESEAWCS_Common.TaskEnum; -using WIDESEAWCS_Core; -using WIDESEAWCS_Core.Helper; +using WIDESEAWCS_ITaskInfoRepository; using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob; -using WIDESEAWCS_QuartzJob.DTO; using WIDESEAWCS_QuartzJob.Service; using WIDESEAWCS_Tasks.ConveyorLineJob; namespace WIDESEAWCS_Tasks { [DisallowConcurrentExecution] - public class CommonConveyorLineJob : IJob + public class CommonConveyorLineJob :JobBase, IJob { private readonly ITaskService _taskService; + private readonly ITaskRepository _taskRepository; private readonly ITaskExecuteDetailService _taskExecuteDetailService; + private readonly IRouterService _routerService; private readonly IMapper _mapper; - public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper) + public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper,ITaskRepository taskRepository) { _taskService = taskService; _taskExecuteDetailService = taskExecuteDetailService; _routerService = routerService; _mapper = mapper; + _taskRepository = taskRepository; } public Task Execute(IJobExecutionContext context) { - try { CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams"); @@ -73,42 +68,74 @@ command.CL1002Status = conveyorLine.Communicator.Read<short>("DB801.46.0"); command.Weight = conveyorLine.Communicator.Read<short>("DB801.48.0"); command.CL1002Barcode = conveyorLine.Communicator.Read<string>("DB801.52.0"); - command.ISIn = conveyorLine.Communicator.Read<short>("DB801.84.0"); + command.ISIn = conveyorLine.Communicator.Read<short>("DB801.84.0");//绛変簬1鐨勬椂鍊欎笉璁╁嚭搴� if (command != null) { - Dt_Task Intask = _taskService.QueryConveyorLineTask(command.CL1002Barcode); - if (Intask != null) + if (!string.IsNullOrEmpty(command.CL1002Barcode.Trim())) { - //鍏ュ簱澶勭悊 - //濡傛灉鍏ュ簱鍒颁綅锛屽垯鏍规嵁鎵樼洏鐮侊紙鏉$爜锛夊幓鑾峰彇WCS浠诲姟鍙� - if (command.ISInFinish == 1) + Dt_Task Intask = _taskService.QueryConveyorLineTask(command.CL1002Barcode); + if (Intask != null) { - _taskService.UpdateTaskStatus(Intask.TaskId, (int)TaskInStatusEnum.Line_InExecuting); - _taskExecuteDetailService.AddTaskExecuteDetail(Intask.TaskId, $"杈撻�佺嚎鍏ュ簱鎵ц涓�"); - //鍏ュ簱纭淇″彿 - conveyorLine.Communicator.Write<short>("DB800.6.0", 1); - _taskService.UpdateTaskStatus(Intask.TaskId, (int)TaskInStatusEnum.Line_InFinish); - _taskExecuteDetailService.AddTaskExecuteDetail(Intask.TaskId, $"杈撻�佺嚎鍏ュ簱瀹屾垚"); + //鍏ュ簱澶勭悊 + //濡傛灉鍏ュ簱鍒颁綅锛屽垯鏍规嵁鎵樼洏鐮侊紙鏉$爜锛夊幓鑾峰彇WCS浠诲姟鍙� + if (command.ISInFinish == 1) + { + _taskService.UpdateTaskStatus(Intask.TaskId, (int)TaskInStatusEnum.Line_InExecuting); + _taskExecuteDetailService.AddTaskExecuteDetail(Intask.TaskId, $"杈撻�佺嚎鍏ュ簱鎵ц涓�"); + //鍏ュ簱纭淇″彿 + conveyorLine.Communicator.Write<short>("DB800.6.0", 1); + _taskService.UpdateTaskStatus(Intask.TaskId, (int)TaskInStatusEnum.Line_InFinish); + _taskExecuteDetailService.AddTaskExecuteDetail(Intask.TaskId, $"杈撻�佺嚎鍏ュ簱瀹屾垚"); + } + } + else//濡傛灉鏍规嵁鎵樼洏鏉$爜鏌ヤ笉鍒颁换鍔★紝鍒欒涓烘槸绌烘墭鐩橈紝绌烘墭鐩樺叆搴撳彲浠ヤ笉闇�瑕佺粍鐩橈紝鐩存帴鏂板缓浠诲姟锛屼篃鍙互鐩存帴涓嬬┖鎵樺嚭搴撲换鍔� + { + + if (command.ISInFinish == 1)//澧炲姞鏍规嵁閲嶉噺鍒ゆ柇鏄惁鏄┖鎵樼洏鍒ゆ柇閫昏緫 + { + if (command.Weight <= 600) + { + //鍏堜笉缁橮LC鍏ュ簱纭淇″彿锛岃皟WMS绌烘墭鍏ュ簱浠诲姟鎺ュ彛 + _taskService.GenerateEmptyInBoundTask(command.CL1002Barcode); + } + else + { + WriteDebug(nameof(CommonConveyorLineJob), $"鐢熸垚绌烘墭鍏ュ簱浠诲姟鏃讹紝閲嶉噺瓒呴噸锛岀敓鎴愮┖鎵樺叆搴撲换鍔″け璐ワ紒"); + } + } + + } + } + if (!string.IsNullOrEmpty(command.Barcode.Trim())) + { + Dt_Task Outtask = _taskService.QueryConveyorLineOutTask(command.Barcode); + if (Outtask != null) + { + //鍑哄簱澶勭悊 + //濡傛灉鍑哄簱鍒颁綅锛屽嚭搴撲换鍔″畬鎴� + if (command.ISOutFinish == 1) + { + _taskService.UpdateTaskStatus(Outtask.TaskId, (int)TaskOutStatusEnum.Line_OutExecuting); + _taskExecuteDetailService.AddTaskExecuteDetail(Outtask.TaskId, $"杈撻�佺嚎鍑哄簱鎵ц涓�"); + _taskService.UpdateTaskStatus(Outtask.TaskId, (int)TaskOutStatusEnum.Line_OutFinish); + _taskExecuteDetailService.AddTaskExecuteDetail(Outtask.TaskId, $"杈撻�佺嚎鍑哄簱瀹屾垚"); + //鍑哄簱纭淇″彿 + conveyorLine.Communicator.Write<short>("DB800.0.0", 1); + _taskService.UpdateTaskStatus(Outtask.TaskId, (int)TaskOutStatusEnum.OutFinish); + _taskExecuteDetailService.AddTaskExecuteDetail(Outtask.TaskId, $"鍑哄簱浠诲姟瀹屾垚"); + _taskService.OutBoundTaskByWMS(Outtask.TaskNum); + + } } } - Dt_Task Outtask = _taskService.QueryConveyorLineOutTask(command.Barcode); - if (Outtask != null) - { - //鍑哄簱澶勭悊 - //濡傛灉鍑哄簱鍒颁綅锛屽嚭搴撲换鍔″畬鎴� - if (command.ISOutFinish == 1) - { - _taskService.UpdateTaskStatus(Outtask.TaskId, (int)TaskOutStatusEnum.Line_OutExecuting); - _taskExecuteDetailService.AddTaskExecuteDetail(Outtask.TaskId, $"杈撻�佺嚎鍑哄簱鎵ц涓�"); - _taskService.UpdateTaskStatus(Outtask.TaskId, (int)TaskOutStatusEnum.Line_OutFinish); - _taskExecuteDetailService.AddTaskExecuteDetail(Outtask.TaskId, $"杈撻�佺嚎鍑哄簱瀹屾垚"); - //鍑哄簱纭淇″彿 - conveyorLine.Communicator.Write<short>("DB800.0.0", 1); - _taskService.UpdateTaskStatus(Outtask.TaskId, (int)TaskOutStatusEnum.OutFinish); - _taskExecuteDetailService.AddTaskExecuteDetail(Outtask.TaskId, $"鍑哄簱浠诲姟瀹屾垚"); - } - } + //Intask = _taskService.QueryConveyorLineTask(command.CL1002Barcode); + //Outtask = _taskService.QueryConveyorLineOutTask(command.Barcode); + //if (Intask==null&&Outtask==null && command.CL1001Free==1 && command.CL1002Free==1&& command.ISIn==0) + //{ + // //鐢熸垚绌鸿溅鍑哄簱浠诲姟 + // _taskService.GenerateEmptyOutBoundTask(); + //} } Task.WaitAll(tasks.ToArray()); @@ -126,6 +153,17 @@ return Task.CompletedTask; } + + /// <summary> + /// 鑾峰彇浠诲姟缂栧彿 + /// </summary> + /// <returns></returns> + public int GetTaskNo() + { + DataTable dt = _taskRepository.QueryTable("select next value for dbo.seqTaskNum"); + return int.Parse(dt.Rows[0][0].ToString()); + } + /// <summary> /// 杈撻�佺嚎璇锋眰鍏ュ簱 /// </summary> -- Gitblit v1.9.3