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