diff --git a/ds-wms-service/DS.Module.Core/Constants/ComonConst.cs b/ds-wms-service/DS.Module.Core/Constants/ComonConst.cs
index ac4fba8c..16c41c42 100644
--- a/ds-wms-service/DS.Module.Core/Constants/ComonConst.cs
+++ b/ds-wms-service/DS.Module.Core/Constants/ComonConst.cs
@@ -19,4 +19,9 @@ public class ComonConst
/// ApiUserFilter授权方式使用的Header头
///
public const string API_USER_HEADER_SECRET = "USER_SECRET";
+
+ ///
+ /// 任务台日志logger名称
+ ///
+ public const string TASK_FLOW_LOGGER = "TaskFlowLogger";
}
\ No newline at end of file
diff --git a/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs b/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs
index ed4a01da..75b2b33b 100644
--- a/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs
+++ b/ds-wms-service/DS.Module.Core/Constants/MultiLanguageConst.cs
@@ -1614,6 +1614,9 @@ public static class MultiLanguageConst
[Description("所选任务中存在非当前登陆人待处理的任务,请检查您是否在以下任务的接收人列表之内,任务流水号:{0}")]
public const string TaskNotHaveAuthor = "TaskNotHaveAuthor";
+
+ [Description("任务类型不正确")]
+ public const string TaskTypeError = "TaskTypeError";
#endregion
#region 邮件解析配置
diff --git a/ds-wms-service/DS.Module.Core/Enums/TaskPlat/TaskConfigTypeCodeEnum.cs b/ds-wms-service/DS.Module.Core/Enums/TaskPlat/TaskConfigTypeCodeEnum.cs
index 31672331..d0a986f3 100644
--- a/ds-wms-service/DS.Module.Core/Enums/TaskPlat/TaskConfigTypeCodeEnum.cs
+++ b/ds-wms-service/DS.Module.Core/Enums/TaskPlat/TaskConfigTypeCodeEnum.cs
@@ -1,4 +1,6 @@
-namespace DS.Module.Core.Enums.TaskPlat
+using System.ComponentModel;
+
+namespace DS.Module.Core.Enums.TaskPlat
{
///
/// 任务配置类型编码
@@ -6,8 +8,9 @@
public enum TaskConfigTypeCodeEnum
{
///
- /// 不创建任务
+ /// 不生成任务
///
+ [Description("不生成任务")]
NotCreateTask = 0
}
}
diff --git a/ds-wms-service/DS.WMS.AdminApi/nlog.config b/ds-wms-service/DS.WMS.AdminApi/nlog.config
index 46e6f7cb..b127ed49 100644
--- a/ds-wms-service/DS.WMS.AdminApi/nlog.config
+++ b/ds-wms-service/DS.WMS.AdminApi/nlog.config
@@ -20,6 +20,10 @@
layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action} ${newline}" />
+
+
+
@@ -28,6 +32,9 @@
+
+
+
diff --git a/ds-wms-service/DS.WMS.CheckApi/nlog.config b/ds-wms-service/DS.WMS.CheckApi/nlog.config
index 46e6f7cb..8e52d1f4 100644
--- a/ds-wms-service/DS.WMS.CheckApi/nlog.config
+++ b/ds-wms-service/DS.WMS.CheckApi/nlog.config
@@ -20,6 +20,10 @@
layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action} ${newline}" />
+
+
+
@@ -28,6 +32,9 @@
+
+
+
diff --git a/ds-wms-service/DS.WMS.Core/DS.WMS.Core.csproj b/ds-wms-service/DS.WMS.Core/DS.WMS.Core.csproj
index 53ef0798..76141ffd 100644
--- a/ds-wms-service/DS.WMS.Core/DS.WMS.Core.csproj
+++ b/ds-wms-service/DS.WMS.Core/DS.WMS.Core.csproj
@@ -11,6 +11,7 @@
bin\Debug\net8.0\Data.xml
+ ..\DS.WMS.TaskApi\bin\Debug\net8.0\Data.xml
diff --git a/ds-wms-service/DS.WMS.Core/TaskPlat/Dtos/CreateTaskConfigDto.cs b/ds-wms-service/DS.WMS.Core/TaskPlat/Dtos/CreateTaskConfigDto.cs
new file mode 100644
index 00000000..70ad72e0
--- /dev/null
+++ b/ds-wms-service/DS.WMS.Core/TaskPlat/Dtos/CreateTaskConfigDto.cs
@@ -0,0 +1,23 @@
+namespace DS.WMS.Core.TaskPlat.Dtos
+{
+ ///
+ /// 是否创建任务配置列表查询结果Dto
+ ///
+ public class CreateTaskConfigDto
+ {
+ ///
+ /// 任务类型编码
+ ///
+ public string TaskTypeCode { get; set; }
+
+ ///
+ /// 任务类型名称
+ ///
+ public string TaskTypeName { get; set; }
+
+ ///
+ /// 是否创建
+ ///
+ public bool IsCreate { get; set; }
+ }
+}
diff --git a/ds-wms-service/DS.WMS.Core/TaskPlat/Entity/TaskFlowTypeConfig.cs b/ds-wms-service/DS.WMS.Core/TaskPlat/Entity/TaskFlowTypeConfig.cs
index d1a1c9ad..ebfb3771 100644
--- a/ds-wms-service/DS.WMS.Core/TaskPlat/Entity/TaskFlowTypeConfig.cs
+++ b/ds-wms-service/DS.WMS.Core/TaskPlat/Entity/TaskFlowTypeConfig.cs
@@ -12,8 +12,8 @@ namespace DS.WMS.Core.TaskPlat.Entity
///
/// 任务类型
///
- [SugarColumn(ColumnDescription = "所属任务类型", IsNullable = false, Length = 255)]
- public required string TaskType { get; set; }
+ [SugarColumn(ColumnDescription = "所属任务类型", IsNullable = false, Length = 255,DefaultValue ="")]
+ public string TaskType { get; set; } = "";
/////
///// 是否创建任务 1=创建
@@ -24,19 +24,19 @@ namespace DS.WMS.Core.TaskPlat.Entity
///
/// 配置类型编码
///
- [SugarColumn(ColumnDescription = "配置类型编码", IsNullable = false, Length = 255)]
- public required string ConfigTypeCode { get; set; }
+ [SugarColumn(ColumnDescription = "配置类型编码", IsNullable = false, Length = 255, DefaultValue = "")]
+ public string ConfigTypeCode { get; set; } = "";
///
/// 配置类型名称
///
- [SugarColumn(ColumnDescription = "配置类型名称", IsNullable = false, Length = 255)]
- public required string ConfigTypeName { get; set; }
+ [SugarColumn(ColumnDescription = "配置类型名称", IsNullable = false, Length = 255, DefaultValue = "")]
+ public string ConfigTypeName { get; set; } = "";
///
/// 配置值
///
- [SugarColumn(ColumnDescription = "配置值", IsNullable = false, Length = 255)]
- public required string ConfigValue { get; set; }
+ [SugarColumn(ColumnDescription = "配置值", IsNullable = false, Length = 255, DefaultValue = "")]
+ public string ConfigValue { get; set; } = "";
}
}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.Core/TaskPlat/Interface/ITaskManageService.cs b/ds-wms-service/DS.WMS.Core/TaskPlat/Interface/ITaskManageService.cs
index 7e740b1e..e21ee3c1 100644
--- a/ds-wms-service/DS.WMS.Core/TaskPlat/Interface/ITaskManageService.cs
+++ b/ds-wms-service/DS.WMS.Core/TaskPlat/Interface/ITaskManageService.cs
@@ -70,7 +70,7 @@ namespace DS.WMS.Core.TaskPlat.Interface
/// 用户Id列表,用于筛选指定用户下的任务[可选,当不为空时会设置此用户列表涉及到的相关任务的状态]
/// 子业务主键[可选,当不为空时表示设置子任务的状态]
/// 子业务类型
- Task SetTaskStatusWithBsno(long bsno, TaskBaseTypeEnum taskBaseTypeEnum, TaskStatusEnum taskStatusEnum, DateTime? statusTime,bool isCheckAllChildTaskComplete, string? taskDesc = null, List? userIdList = null,
+ Task SetTaskStatusWithBsno(long bsno, TaskBaseTypeEnum taskBaseTypeEnum, TaskStatusEnum taskStatusEnum, DateTime? statusTime, bool isCheckAllChildTaskComplete, string? taskDesc = null, List? userIdList = null,
long? childBsno = null, TaskBaseTypeEnum? childTaskBaseTypeEnum = null);
///
/// 工作流任务转交
@@ -99,7 +99,7 @@ namespace DS.WMS.Core.TaskPlat.Interface
///
/// 测试用
///
- Task TestTaskFlow(string taskType, long taskId, int testType);
+ Task TestTaskFlow(string taskType, long taskId, int testType, string content);
///
/// 领取任务到当前登陆人(可批量)
@@ -110,5 +110,17 @@ namespace DS.WMS.Core.TaskPlat.Interface
/// 任务台台账子任务列表查询
///
Task>> GetChildTaskList(long taskId);
+
+ ///
+ /// 保存任务是否生成的配置
+ ///
+ /// 任务类型编码
+ /// 是否生成任务
+ Task SaveCreateTaskConfig(string taskTypeCode, bool isCreate);
+
+ ///
+ /// 获取任务是否生成的配置列表
+ ///
+ Task>> GetCreateTaskConfigList();
}
}
diff --git a/ds-wms-service/DS.WMS.Core/TaskPlat/Method/CutDateChange/TaskManageCutDateChangeService.cs b/ds-wms-service/DS.WMS.Core/TaskPlat/Method/CutDateChange/TaskManageCutDateChangeService.cs
index 6ee898b6..d30120f1 100644
--- a/ds-wms-service/DS.WMS.Core/TaskPlat/Method/CutDateChange/TaskManageCutDateChangeService.cs
+++ b/ds-wms-service/DS.WMS.Core/TaskPlat/Method/CutDateChange/TaskManageCutDateChangeService.cs
@@ -38,10 +38,10 @@ namespace DS.WMS.Core.TaskPlat.Method
private readonly ISeaExportCommonService _seaExportCommonService;
private readonly IBookingSlotService _bookingSlotService;
- public TaskManageCutDateChangeService(IUser user, ILogger logger,
+ public TaskManageCutDateChangeService(IUser user,
ISaasDbService saasDbService,
IServiceProvider serviceProvider,
- IWebHostEnvironment environment) : base(user, logger, saasDbService, serviceProvider, environment)
+ IWebHostEnvironment environment) : base(user, saasDbService, serviceProvider, environment)
{
user = serviceProvider.GetRequiredService();
_seaExportService = serviceProvider.GetRequiredService();
diff --git a/ds-wms-service/DS.WMS.Core/TaskPlat/Method/POLContainerNotPickUp/TaskPOLContainerNotPickUpService.cs b/ds-wms-service/DS.WMS.Core/TaskPlat/Method/POLContainerNotPickUp/TaskPOLContainerNotPickUpService.cs
index 551c938a..99935caa 100644
--- a/ds-wms-service/DS.WMS.Core/TaskPlat/Method/POLContainerNotPickUp/TaskPOLContainerNotPickUpService.cs
+++ b/ds-wms-service/DS.WMS.Core/TaskPlat/Method/POLContainerNotPickUp/TaskPOLContainerNotPickUpService.cs
@@ -32,10 +32,10 @@ namespace DS.WMS.Core.TaskPlat.Method
private readonly ITaskMailService _taskMailService;
private readonly ITaskAllocationService _taskAllocationService;
- public TaskPOLContainerNotPickUpService(IUser user, ILogger logger,
+ public TaskPOLContainerNotPickUpService(IUser user,
ISaasDbService saasDbService,
IServiceProvider serviceProvider,
- IWebHostEnvironment environment) : base(user, logger, saasDbService, serviceProvider, environment)
+ IWebHostEnvironment environment) : base(user, saasDbService, serviceProvider, environment)
{
//_serviceProvider = serviceProvider;
//db = serviceProvider.GetRequiredService();
diff --git a/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageBCService.cs b/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageBCService.cs
index 3bb1c1d1..9ce31e1f 100644
--- a/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageBCService.cs
+++ b/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageBCService.cs
@@ -95,7 +95,7 @@ namespace DS.WMS.Core.TaskPlat.Method
public TaskManageBCService(IUser user,
- ILogger logger,
+ //ILogger logger,
ISaasDbService saasDbService,
IServiceProvider serviceProvider,
IWebHostEnvironment environment,
@@ -110,7 +110,7 @@ namespace DS.WMS.Core.TaskPlat.Method
IMappingPortService mappingPortService,
ICodeCountryService codeCountryService,
ICommonService commonService)
- : base(user, logger, saasDbService, serviceProvider, environment)
+ : base(user, saasDbService, serviceProvider, environment)
{
_userService = userService;
_userEmailService = userEmailService;
@@ -3100,6 +3100,7 @@ namespace DS.WMS.Core.TaskPlat.Method
{
return DataResult.Failed("未获取到BC任务对象TaskBaseInfo");
}
+ logger.LogInformation($"BCTaskCompleteThenNext taskBaseInfo.id={taskBaseInfo.Id};taskBaseInfo.OUT_BS_NO={taskBaseInfo.OUT_BS_NO}");
await SetTaskStatus(taskBaseInfo, TaskStatusEnum.Complete, DateTime.Now, false);
diff --git a/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageBaseService.cs b/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageBaseService.cs
index f5669aa3..c086a7ba 100644
--- a/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageBaseService.cs
+++ b/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageBaseService.cs
@@ -37,7 +37,8 @@ namespace DS.WMS.Core.TaskPlat.Method
{
// 实例化时构建
protected readonly IUser user;
- protected readonly ILogger logger;
+ //protected readonly ILogger logger;
+ protected readonly ILogger logger;
protected readonly ISaasDbService saasDbService;
protected readonly IServiceProvider serviceProvider;
protected readonly IWebHostEnvironment environment;
@@ -53,13 +54,13 @@ namespace DS.WMS.Core.TaskPlat.Method
protected static readonly string completeStatusStr = TaskStatusEnum.Complete.ToString();
public TaskManageBaseService(IUser user,
- ILogger logger,
+ //ILogger logger,
ISaasDbService saasDbService,
IServiceProvider serviceProvider,
IWebHostEnvironment environment)
{
this.user = user;
- this.logger = logger;
+ //this.logger = logger;
this.saasDbService = saasDbService;
this.serviceProvider = serviceProvider;
this.environment = environment;
@@ -69,6 +70,9 @@ namespace DS.WMS.Core.TaskPlat.Method
allocationService = new Lazy(serviceProvider.GetRequiredService());
seaExportCommonService = new Lazy(serviceProvider.GetRequiredService());
djyServiceStatusService = new Lazy(serviceProvider.GetRequiredService());
+
+ var loggerFactory = serviceProvider.GetRequiredService();
+ logger = loggerFactory.CreateLogger("TaskFlowLogger");
}
///
@@ -78,6 +82,8 @@ namespace DS.WMS.Core.TaskPlat.Method
/// 需要更新状态的列
public async Task SetTaskStatus(long[] taskIds, params Expression>[] columns)
{
+ logger.LogInformation($"SetTaskStatus taskIds={string.Join(",", taskIds ?? [])}");
+
SqlSugarScopeProvider tenantDb = saasDbService.GetBizDbScopeById(user.TenantId);
//任务不考虑OrgId,这里去掉
tenantDb.QueryFilter.Clear();
@@ -104,6 +110,8 @@ namespace DS.WMS.Core.TaskPlat.Method
/// 人员信息列表
public async Task SetTaskOwner(long[] taskIds, List userInfo)
{
+ logger.LogInformation($"SetTaskOwner taskIds={string.Join(",", taskIds ?? [])};userInfo={JsonConvert.SerializeObject(userInfo)}");
+
SqlSugarScopeProvider tenantDb = saasDbService.GetBizDbScopeById(user.TenantId);
//任务不考虑OrgId,这里去掉
tenantDb.QueryFilter.Clear();
@@ -582,6 +590,7 @@ namespace DS.WMS.Core.TaskPlat.Method
/// 业务主键
public async Task SetTaskStatus(long taskBaseId, TaskStatusEnum taskStatusEnum, DateTime? statusTime, long? bsno = null)
{
+ logger.LogInformation($"SetTaskStatus taskBaseId={taskBaseId};taskStatusEnum={taskStatusEnum};statusTime={statusTime};bsno={bsno}");
SqlSugarScopeProvider tenantDb = saasDbService.GetBizDbScopeById(user.TenantId);
TaskBaseInfo taskInfo = await tenantDb.Queryable().ClearFilter(typeof(IOrgId))
@@ -606,6 +615,7 @@ namespace DS.WMS.Core.TaskPlat.Method
{
throw new ArgumentNullException(nameof(taskInfo));
}
+ logger.LogInformation($"SetTaskStatus 通用 taskInfo={JsonConvert.SerializeObject(taskInfo)};taskStatusEnum={taskStatusEnum};statusTime={statusTime};isCheckAllChildTaskComplete={isCheckAllChildTaskComplete};bsno={bsno};taskDesc={taskDesc}");
SqlSugarScopeProvider tenantDb = saasDbService.GetBizDbScopeById(user.TenantId);
diff --git a/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageService.cs b/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageService.cs
index 0679c65c..7b95f523 100644
--- a/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageService.cs
+++ b/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageService.cs
@@ -3,6 +3,7 @@ using DS.Module.Core.Condition;
using DS.Module.Core.Constants;
using DS.Module.Core.Data;
using DS.Module.Core.Enums;
+using DS.Module.Core.Enums.TaskPlat;
using DS.Module.Core.Extensions;
using DS.Module.Core.Helpers;
using DS.Module.DjyServiceStatus;
@@ -62,7 +63,7 @@ namespace DS.WMS.Core.TaskPlat.Method
static string[] seaExportFields = ["customerid", "saleid", "customerservice", "operatorid"]; //, "portload_code", "portdischarge_code"
public TaskManageService(IUser user,
- ILogger logger,
+ //ILogger logger,
ISaasDbService saasDbService,
IServiceProvider serviceProvider,
IWebHostEnvironment environment,
@@ -71,7 +72,7 @@ namespace DS.WMS.Core.TaskPlat.Method
IMappingPortService mappingPortService,
IMappingCarrierService mappingCarrierService,
ICodeCarrierService codeCarrierService,
- ICommonService commonService) : base(user, logger, saasDbService, serviceProvider, environment)
+ ICommonService commonService) : base(user, saasDbService, serviceProvider, environment)
{
this.codeCtnService = codeCtnService;
this.codePortService = codePortService;
@@ -97,7 +98,7 @@ namespace DS.WMS.Core.TaskPlat.Method
public async Task SetTaskUserStatus(long bsno, TaskBaseTypeEnum taskBaseTypeEnum, TaskStatusEnum taskStatusEnum, DateTime? statusTime, List userInfos,
long? childBsno = null, TaskBaseTypeEnum? childTaskBaseTypeEnum = null)
{
- logger.LogInformation("接收到任务个人状态修改报文 bsno={bsno} 状态设置={status} 人员列表={userList} childBsno={childBsno} childTaskBaseTypeEnum={childTaskBaseTypeEnum}", bsno, taskStatusEnum.ToString(), JsonConvert.SerializeObject(userInfos), childBsno, childTaskBaseTypeEnum);
+ logger.LogInformation($"{nameof(SetTaskStatusWithBsno)} bsno={bsno};taskBaseTypeEnum={taskBaseTypeEnum};taskStatusEnum={taskStatusEnum};statusTime={statusTime};userInfos={(userInfos == null ? "" : string.Join(',', userInfos ?? []))};childBsno={childBsno};childTaskBaseTypeEnum={childTaskBaseTypeEnum}");
SqlSugarScopeProvider tenantDb = saasDbService.GetBizDbScopeById(user.TenantId);
@@ -177,6 +178,8 @@ namespace DS.WMS.Core.TaskPlat.Method
public async Task SetTaskStatusWithBsno(long bsno, TaskBaseTypeEnum taskBaseTypeEnum, TaskStatusEnum taskStatusEnum, DateTime? statusTime, bool isCheckAllChildTaskComplete, string? taskDesc = null, List? userIdList = null,
long? childBsno = null, TaskBaseTypeEnum? childTaskBaseTypeEnum = null)
{
+ logger.LogInformation($"SetTaskStatusWithBsno bsno={bsno};taskBaseTypeEnum={taskBaseTypeEnum};taskStatusEnum={taskStatusEnum};statusTime={statusTime};isCheckAllChildTaskComplete={isCheckAllChildTaskComplete};taskDesc={taskDesc};userIdList={(userIdList == null ? "" : string.Join(',', userIdList))};childBsno={childBsno};childTaskBaseTypeEnum={childTaskBaseTypeEnum}");
+
SqlSugarScopeProvider tenantDb = saasDbService.GetBizDbScopeById(user.TenantId);
var taskTypeStr = taskBaseTypeEnum.ToString();
@@ -281,6 +284,8 @@ namespace DS.WMS.Core.TaskPlat.Method
public async Task TransferTask(long bsno, TaskBaseTypeEnum taskBaseTypeEnum, List userInfos, SqlSugarScopeProvider? tenantDb = null,
long? childBsno = null, TaskBaseTypeEnum? childTaskBaseTypeEnum = null)
{
+ logger.LogInformation($"TransferTask bsno={bsno};taskBaseTypeEnum={taskBaseTypeEnum};userInfos={(userInfos == null ? "" : string.Join(',', userInfos))};childBsno={childBsno};childTaskBaseTypeEnum={childTaskBaseTypeEnum}");
+
tenantDb ??= saasDbService.GetBizDbScopeById(user.TenantId);
logger.LogInformation("接收到任务转交报文 bsno={bsno} taskBaseTypeEnum={taskBaseTypeEnum} 转交人员列表={userinfo} childBsno={childBsno} childTaskBaseTypeEnum={childTaskBaseTypeEnum}",
@@ -394,6 +399,7 @@ namespace DS.WMS.Core.TaskPlat.Method
long? childBsno = null, TaskBaseTypeEnum? childTaskBaseTypeEnum = null,
params Expression>[] columns)
{
+ logger.LogInformation($"SetTaskBaseInfoPropertyWithBsno bsno={bsno};taskBaseTypeEnum={taskBaseTypeEnum};childBsno={childBsno};childTaskBaseTypeEnum={childTaskBaseTypeEnum};");
SqlSugarScopeProvider tenantDb = saasDbService.GetBizDbScopeById(user.TenantId);
@@ -463,10 +469,10 @@ namespace DS.WMS.Core.TaskPlat.Method
public async Task InitTaskJob(TaskManageOrderMessageInfo info, IFormFile file = null, IFormFile modifyFile = null)
{
string batchNo = Guid.NewGuid().ToString();
+ logger.LogInformation($"{nameof(InitTaskJob)} bsno={info?.Head.BSNO}; ChildBSNO={info?.Head?.ChildBSNO};info={JsonConvert.SerializeObject(info)}");
try
{
//Monitor.Enter(ImportLockObj);
- logger.LogInformation("批次={no} 接收到创建任务报文 报文={msg}", batchNo, JsonConvert.SerializeObject(info));
if (info.Head.IsChild && info.Head.ChildBSNO == 0)
{
@@ -3858,6 +3864,7 @@ namespace DS.WMS.Core.TaskPlat.Method
TaskManageOrderResultDto result = new TaskManageOrderResultDto();
result.bno = model.TASK_NO;
+ logger.LogInformation($"InnerManualTask batchNo={batchNo};model.OUT_BS_NO={model.OUT_BS_NO};model.Id={model.Id};taskOperTypeEnum={taskOperTypeEnum};");
try
{
@@ -4164,6 +4171,9 @@ namespace DS.WMS.Core.TaskPlat.Method
});
var taskIdList = taskList.Select(x => x.Id).ToList();
+
+ logger.LogInformation($"PullTask taskIdList={string.Join(",", taskIdList)}");
+
var taskTypeList = taskList.Where(x => x.TASK_SOURCE == TaskSourceEnum.WORK_FLOW.ToString() && x.OUT_BS_NO != null).Select(x => x.TASK_TYPE).Distinct().ToList();
var taskCompleteStatusCodeList = taskTypeList.Count > 0 ? await tenantDb.Queryable()
@@ -4231,6 +4241,7 @@ namespace DS.WMS.Core.TaskPlat.Method
catch (Exception ex)
{
await tenantDb.AsTenant().RollbackTranAsync();
+ logger.LogError($"PullTask Exception 原因:{ex.Message}");
return DataResult.Failed("任务领取失败,原因:" + ex.Message);
}
}
@@ -4239,9 +4250,8 @@ namespace DS.WMS.Core.TaskPlat.Method
///
/// 测试用
///
- public async Task TestTaskFlow(string taskType, long taskId, int testType)
+ public async Task TestTaskFlow(string taskType, long taskId, int testType, string? content = null)
{
-
var tenantDb = saasDbService.GetBizDbScopeById(user.TenantId);
@@ -4409,10 +4419,100 @@ namespace DS.WMS.Core.TaskPlat.Method
var temp2 = tenantDb.Ado.SqlQuery("select * from task_flow_module where id in(@id)", p);
break;
}
+ case 8:
+ {
+ //await serviceProvider.GetRequiredService
+ var taskTypeEnum = (TaskBaseTypeEnum)Enum.Parse(typeof(TaskBaseTypeEnum), taskType);
+ await SetTaskBaseInfoPropertyWithBsno(taskId, taskTypeEnum, null, null, x => x.TASK_DESP == content);
+ break;
+ }
}
return DataResult.Successed("测试成功");
}
+
+ #region 任务台配置维护相关
+ ///
+ /// 获取任务是否生成配置列表
+ ///
+ public async Task>> GetCreateTaskConfigList()
+ {
+ var type = typeof(TaskBaseTypeEnum);
+ List allServiceItemTask = Enum.GetValues(type)
+ .Cast()
+ .Where(x => Convert.ToInt32(x) >= 300 && Convert.ToInt32(x) < 400)
+ .ToList();
+
+ var tenantDb = saasDbService.GetBizDbScopeById(user.TenantId);
+ var noCreateTaskType = await GetNotCreateTaskTypeList(tenantDb);
+
+ var result = allServiceItemTask.Select(x => new CreateTaskConfigDto()
+ {
+ TaskTypeCode = x.ToString(),
+ TaskTypeName = x.EnumDescription(),
+ IsCreate = !noCreateTaskType.Contains(x)
+ }).ToList();
+ return DataResult>.Success(result);
+ }
+
+ ///
+ /// 保存任务是否生成的配置
+ ///
+ /// 任务类型编码
+ /// 是否生成任务
+ public async Task SaveCreateTaskConfig(string taskTypeCode, bool isCreate)
+ {
+ var tenantDb = saasDbService.GetBizDbScopeById(user.TenantId);
+
+ if (!Enum.TryParse(typeof(TaskBaseTypeEnum), taskTypeCode, out _))
+ {
+ return DataResult.FailedWithDesc(MultiLanguageConst.TaskTypeError);
+ }
+
+ var configTypeStr = TaskConfigTypeCodeEnum.NotCreateTask.ToString();
+
+ var notCreateTaskConfigList = await tenantDb.Queryable()
+ .Where(x => x.ConfigTypeCode == configTypeStr && x.TaskType == taskTypeCode)
+ //.Select(x => x.Id)
+ .ToListAsync();
+ try
+ {
+ await tenantDb.Ado.BeginTranAsync();
+
+ if (notCreateTaskConfigList.Count > 1)
+ {
+ var ids = notCreateTaskConfigList.Select(x => x.Id);
+ await tenantDb.Deleteable().Where(x => ids.Contains(x.Id)).ExecuteCommandAsync();
+ }
+
+ if (notCreateTaskConfigList.Count > 1 || notCreateTaskConfigList.Count == 0)
+ {
+ var model = new TaskFlowTypeConfig()
+ {
+ ConfigTypeCode = configTypeStr,
+ ConfigTypeName = TaskConfigTypeCodeEnum.NotCreateTask.EnumDescription(),
+ ConfigValue = isCreate ? "0" : "1",
+ TaskType = taskTypeCode
+ };
+ await tenantDb.Insertable(model).ExecuteCommandAsync();
+ }
+ else
+ {
+ var updateModel = notCreateTaskConfigList.First();
+ updateModel.ConfigValue = isCreate ? "0" : "1";
+ await tenantDb.Updateable(updateModel).ExecuteCommandAsync();
+ }
+
+ await tenantDb.Ado.CommitTranAsync();
+ return DataResult.Success;
+ }
+ catch (Exception)
+ {
+ await tenantDb.Ado.RollbackTranAsync();
+ throw;
+ }
+ }
+ #endregion
}
///
diff --git a/ds-wms-service/DS.WMS.FeeApi/nlog.config b/ds-wms-service/DS.WMS.FeeApi/nlog.config
index 46e6f7cb..8e52d1f4 100644
--- a/ds-wms-service/DS.WMS.FeeApi/nlog.config
+++ b/ds-wms-service/DS.WMS.FeeApi/nlog.config
@@ -20,6 +20,10 @@
layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action} ${newline}" />
+
+
+
@@ -28,6 +32,9 @@
+
+
+
diff --git a/ds-wms-service/DS.WMS.FinanceApi/nlog.config b/ds-wms-service/DS.WMS.FinanceApi/nlog.config
index 46e6f7cb..5ff430eb 100644
--- a/ds-wms-service/DS.WMS.FinanceApi/nlog.config
+++ b/ds-wms-service/DS.WMS.FinanceApi/nlog.config
@@ -20,6 +20,10 @@
layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action} ${newline}" />
+
+
+
@@ -27,6 +31,9 @@
+
+
+
diff --git a/ds-wms-service/DS.WMS.MainApi/nlog.config b/ds-wms-service/DS.WMS.MainApi/nlog.config
index 46e6f7cb..903b948c 100644
--- a/ds-wms-service/DS.WMS.MainApi/nlog.config
+++ b/ds-wms-service/DS.WMS.MainApi/nlog.config
@@ -20,6 +20,10 @@
layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action} ${newline}" />
+
+
+
@@ -28,9 +32,12 @@
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.OpApi/nlog.config b/ds-wms-service/DS.WMS.OpApi/nlog.config
index 46e6f7cb..af5a03ba 100644
--- a/ds-wms-service/DS.WMS.OpApi/nlog.config
+++ b/ds-wms-service/DS.WMS.OpApi/nlog.config
@@ -20,6 +20,10 @@
layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action} ${newline}" />
+
+
+
@@ -28,7 +32,10 @@
-
+
+
+
+
diff --git a/ds-wms-service/DS.WMS.TaskApi/Controllers/TaskManageController.cs b/ds-wms-service/DS.WMS.TaskApi/Controllers/TaskManageController.cs
index 2c63ef4e..6ef479ce 100644
--- a/ds-wms-service/DS.WMS.TaskApi/Controllers/TaskManageController.cs
+++ b/ds-wms-service/DS.WMS.TaskApi/Controllers/TaskManageController.cs
@@ -233,9 +233,9 @@ public class TaskManageController : ApiController
/// 测试用
///
[HttpGet("TestTaskFlow")]
- public async Task TestTaskFlow([FromQuery] string taskType, [FromQuery] long taskId, [FromQuery] int testType)
+ public async Task TestTaskFlow([FromQuery] string taskType, [FromQuery] long taskId, [FromQuery] int testType, [FromQuery] string content)
{
- return await taskManageService.TestTaskFlow(taskType, taskId, testType);
+ return await taskManageService.TestTaskFlow(taskType, taskId, testType, content);
}
///
@@ -246,4 +246,24 @@ public class TaskManageController : ApiController
{
return await taskManageService.PullTask(Ids);
}
+
+ ///
+ /// 获取任务是否生成配置列表
+ ///
+ [HttpGet("GetCreateTaskConfigList")]
+ public async Task>> GetCreateTaskConfigList()
+ {
+ return await taskManageService.GetCreateTaskConfigList();
+ }
+
+ ///
+ /// 保存任务是否生成的配置
+ ///
+ /// 任务类型编码
+ /// 是否生成任务
+ [HttpPost("SaveCreateTaskConfig")]
+ public async Task SaveCreateTaskConfig([FromForm] string taskTypeCode, [FromForm] bool isCreate)
+ {
+ return await taskManageService.SaveCreateTaskConfig(taskTypeCode, isCreate);
+ }
}
\ No newline at end of file
diff --git a/ds-wms-service/DS.WMS.TaskApi/nlog.config b/ds-wms-service/DS.WMS.TaskApi/nlog.config
index 46e6f7cb..3edf57e2 100644
--- a/ds-wms-service/DS.WMS.TaskApi/nlog.config
+++ b/ds-wms-service/DS.WMS.TaskApi/nlog.config
@@ -4,33 +4,40 @@
autoReload="true"
internalLogLevel="info"
internalLogFile="Logs\internal-nlog.txt">
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
-
-
+
-
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file