From bc33400f93631bf9c8dec0ff09cbe9a504bf9734 Mon Sep 17 00:00:00 2001
From: duyongjia <adu_555@163.com>
Date: 星期四, 27 二月 2025 17:20:38 +0800
Subject: [PATCH] 1
---
项目代码/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