From 0864509e1eb593c3dedb66196ec19fe51437922b Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期一, 26 五月 2025 10:25:42 +0800
Subject: [PATCH] 新增货位管理,PDA扫码生成任务烘烤出料,烘烤回炉,空托回流
---
代码管理/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs | 75 ++++++++++++++++++++++++++-----------
1 files changed, 53 insertions(+), 22 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 33541af..227329f 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,6 +17,7 @@
#endregion << 鐗� 鏈� 娉� 閲� >>
+using System.Threading.Tasks;
using AutoMapper;
using Quartz;
using WIDESEAWCS_Common.TaskEnum;
@@ -40,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;
@@ -49,12 +51,10 @@
_mapper = mapper;
_taskRepository = taskRepository;
_taskCZRepository = taskCZRepository;
+ _detailsRepository = detailsRepository;
}
public Task Execute(IJobExecutionContext context)
-
-
-
{
try
{
@@ -68,8 +68,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" }
};
// 瀹氫箟绾夸綋绌虹洏鍥炴祦璇锋眰鐨勫湴鍧�鍜屼换鍔$被鍨�
@@ -80,7 +80,7 @@
};
// 澶勭悊瀹炵洏鍏ュ簱璇锋眰
- ProcessRequests(conveyorLine, requests, "涓嬬嚎璇锋眰鍏ュ簱");
+ //ProcessRequests(conveyorLine, requests, "涓嬬嚎璇锋眰鍏ュ簱");
// 澶勭悊绌虹洏鍥炴祦璇锋眰
ProcessKpRequests(conveyorLine, requestsKP);
@@ -123,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}浠诲姟涓嶅瓨鍦紝绋嶅悗閲嶈瘯......");
@@ -131,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},浠诲姟宸茬敓鎴愶紝绛夊緟鎵ц......");
}
@@ -148,7 +148,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);
@@ -161,18 +161,22 @@
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);
+ //}
}
}
@@ -191,8 +195,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(),
@@ -208,7 +239,7 @@
NextAddress = targetAddress,
Barcode = "",
Roadway = $"{taskType}AGV",
- WMSId = 0,
+ WMSId = czTaskID > 0 ? czTaskID : 0,
Remark = remark
};
}
--
Gitblit v1.9.3