From 62bfd66d8980d01f76408c655004c5d848f07759 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 23 一月 2026 09:39:26 +0800
Subject: [PATCH] 添加WMS下发任务接口
---
代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 52 +++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 49 insertions(+), 3 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 9d2d993..b7e92f2 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -18,11 +18,15 @@
using AutoMapper;
using SqlSugar;
using System.Diagnostics.CodeAnalysis;
+using WIDESEAWCS_Common;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.BaseServices;
+using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO.TaskInfo;
+using WIDESEAWCS_DTO.WMS;
+using WIDESEAWCS_IBasicInfoService;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob.Models;
@@ -30,10 +34,13 @@
namespace WIDESEAWCS_TaskInfoService
{
- public class TaskService : ServiceBase<Dt_Task, IRepository<Dt_Task>>, ITaskService
+ public partial class TaskService : ServiceBase<Dt_Task, IRepository<Dt_Task>>, ITaskService
{
private readonly IRouterService _routerService;
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
+ private readonly IHKLocationInfoService _hKLocationInfoService;
+ private readonly IKLSLocationInfoService _kLSLocationInfoService;
+ private readonly IRGVLocationInfoService _rGVLocationInfoService;
private readonly IRepository<Dt_TaskExecuteDetail> _taskExecuteDetailRepository;
private readonly IMapper _mapper;
@@ -54,14 +61,44 @@
/// </summary>
public IRepository<Dt_Task> Repository => BaseDal;
- public TaskService(IRepository<Dt_Task> BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, IRepository<Dt_TaskExecuteDetail> taskExecuteDetailRepository, IMapper mapper) : base(BaseDal)
+ public TaskService(IRepository<Dt_Task> BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, IRepository<Dt_TaskExecuteDetail> taskExecuteDetailRepository, IMapper mapper, IKLSLocationInfoService kLSLocationInfoService, IRGVLocationInfoService rGVLocationInfoService, IHKLocationInfoService hKLocationInfoService) : base(BaseDal)
{
_routerService = routerService;
_taskExecuteDetailService = taskExecuteDetailService;
_taskExecuteDetailRepository = taskExecuteDetailRepository;
_mapper = mapper;
+ _kLSLocationInfoService = kLSLocationInfoService;
+ _rGVLocationInfoService = rGVLocationInfoService;
+ _hKLocationInfoService = hKLocationInfoService;
}
-
+ public WebResponseContent ReceiveWMSTask([NotNull] List<WMSTasksDTO> taskDTOs)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ foreach (var item in taskDTOs)
+ {
+ foreach (var task in item.tasks)
+ {
+ content = TaskHelpMethods.isOkTaskInfo(task, true, true);
+ if (!content.Status) throw new Exception(content.Message);
+ if (BaseDal.QueryFirst(x => x.WMSTaskNum == task.taskCode || x.PalletCode == task.containerCode) != null)
+ {
+ continue;
+ }
+ if (item.taskType == TaskTypeEnum.MLInbound.ObjToInt())
+ CreateKLSNewInTask(task, item.taskType);
+ else if (item.taskType == TaskTypeEnum.MLOutbound.ObjToInt())
+ CreateKLSNewOutTask(task, item.taskType);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ content.Error(ex.Message);
+ }
+ return content;
+ }
/// <summary>
/// 鎺ユ敹WMS浠诲姟淇℃伅
/// </summary>
@@ -590,5 +627,14 @@
}
return content;
}
+
+ static object lock_taskNum = new object();
+ public int GetTaskNum(string sequenceName)
+ {
+ lock (lock_taskNum)
+ {
+ return Db.Ado.GetScalar($"SELECT NEXT VALUE FOR {sequenceName}").ObjToInt();
+ }
+ }
}
}
--
Gitblit v1.9.3