From 4f1d23c3715562d18d47a84ae5997598b7883574 Mon Sep 17 00:00:00 2001 From: zhangxiaofeng <1939543722@qq.com> Date: Thu, 29 Aug 2024 10:38:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=8F=B0=E5=8F=B0=E8=B4=A6?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=94=AF=E6=8C=81=E6=8F=90=E5=8D=95=E5=8F=B7?= =?UTF-8?q?=E5=8F=8A=E5=A7=94=E6=89=98=E7=BC=96=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TaskPlat/Dtos/QueryTaskManageDto.cs | 5 ++ .../TaskPlat/Dtos/TaskManageDtos.cs | 6 +++ .../TaskPlat/Method/TaskManageService.cs | 49 ++++++++++--------- .../DS.WMS.OpApi/DS.WMS.OpApi.csproj.user | 2 +- 4 files changed, 37 insertions(+), 25 deletions(-) diff --git a/ds-wms-service/DS.WMS.Core/TaskPlat/Dtos/QueryTaskManageDto.cs b/ds-wms-service/DS.WMS.Core/TaskPlat/Dtos/QueryTaskManageDto.cs index e3ff66e7..17d841f6 100644 --- a/ds-wms-service/DS.WMS.Core/TaskPlat/Dtos/QueryTaskManageDto.cs +++ b/ds-wms-service/DS.WMS.Core/TaskPlat/Dtos/QueryTaskManageDto.cs @@ -5,6 +5,11 @@ /// public sealed class QueryTaskManageDto { + /// + /// 业务编号(提单号或委托编号) + /// + public string BusinessNo { get; set; } + /// /// 提单号 /// diff --git a/ds-wms-service/DS.WMS.Core/TaskPlat/Dtos/TaskManageDtos.cs b/ds-wms-service/DS.WMS.Core/TaskPlat/Dtos/TaskManageDtos.cs index 17750233..153054b4 100644 --- a/ds-wms-service/DS.WMS.Core/TaskPlat/Dtos/TaskManageDtos.cs +++ b/ds-wms-service/DS.WMS.Core/TaskPlat/Dtos/TaskManageDtos.cs @@ -6,5 +6,11 @@ /// 查询条件 /// public string QueryCondition { get; set; } = string.Empty; + + + /// + /// 业务编号(提单号或委托编号) + /// + public string BusinessNo { get; set; } } } 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 26111f17..c43a31ed 100644 --- a/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageService.cs +++ b/ds-wms-service/DS.WMS.Core/TaskPlat/Method/TaskManageService.cs @@ -322,7 +322,7 @@ namespace DS.WMS.Core.TaskPlat.Method // TaskBaseInfo.TASK_REQ_USERID 制单人:只有一个人,使用任务创建报文中传入的TaskUserId // TaskBaseAllocation.UserId 任务关系:任务属于谁,谁能够查看并处理,可能是多个人(可能是多个人一起处理);取值优先级:info.Main.RecvUserInfoList>关联订单 // TaskBaseInfo.RealUserId 实际操作人:谁实际处理的,只有一个人(但是工作流过来的任务会由多个人处理) - + // 创建人 taskInfo.CreateBy = long.Parse(user.UserId); taskInfo.CreateUserName = user.UserName; @@ -1662,13 +1662,13 @@ namespace DS.WMS.Core.TaskPlat.Method // 格式化参数 TaskBaseTypeEnum? taskType = null; - if (Enum.TryParse(typeof(TaskBaseTypeEnum), querySearch.OtherQueryCondition?.TaskType, out object? temp)) + if (Enum.TryParse(typeof(TaskBaseTypeEnum), querySearch.OtherQueryCondition.TaskType, out object? temp)) { taskType = (TaskBaseTypeEnum)temp; }; TaskStatLevelEnum? taskStatLevel = null; //TaskStatLevelEnum? taskStatLevel = TaskStatLevelEnum.PUBLIC; - if (Enum.TryParse(typeof(TaskStatLevelEnum), querySearch.OtherQueryCondition?.TaskCategory, out object? tempStat)) + if (Enum.TryParse(typeof(TaskStatLevelEnum), querySearch.OtherQueryCondition.TaskCategory, out object? tempStat)) { taskStatLevel = (TaskStatLevelEnum)tempStat; } @@ -1688,7 +1688,7 @@ namespace DS.WMS.Core.TaskPlat.Method .LeftJoin((t, a) => t.Id == a.TaskId) .LeftJoin((t, a, bc) => t.Id == bc.TASK_ID); - SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition!.Status, userId); + SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition, userId); result = await queryable.Select((t, a, bc) => new { @@ -1781,7 +1781,7 @@ namespace DS.WMS.Core.TaskPlat.Method var queryable = tenantDb.Queryable().LeftJoin((t, a) => t.Id == a.TaskId) .LeftJoin((t, a, bc) => t.Id == bc.TASK_ID); - SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition!.Status, userId); + SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition, userId); result = await queryable.Select((t, a, bc) => new { @@ -1838,7 +1838,7 @@ namespace DS.WMS.Core.TaskPlat.Method var queryable = tenantDb.Queryable().LeftJoin((t, a) => t.Id == a.TaskId) .LeftJoin((t, a, bc) => t.Id == bc.TASK_PKID); - SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition!.Status, userId); + SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition, userId); result = await queryable.Select((t, a, bc) => new { @@ -1865,7 +1865,7 @@ namespace DS.WMS.Core.TaskPlat.Method var queryable = tenantDb.Queryable().LeftJoin((t, a) => t.Id == a.TaskId) .LeftJoin((t, a, bc) => t.Id == bc.TASK_ID); - SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition!.Status, userId); + SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition, userId); result = await queryable.Select((t, a, bc) => new { @@ -1933,7 +1933,7 @@ namespace DS.WMS.Core.TaskPlat.Method var queryable = tenantDb.Queryable().LeftJoin((t, a) => t.Id == a.TaskId) .LeftJoin((t, a, bc) => t.Id == bc.TASK_ID); - SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition!.Status, userId); + SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition, userId); result = await queryable.Select((t, a, bc) => new { @@ -1956,7 +1956,7 @@ namespace DS.WMS.Core.TaskPlat.Method var queryable = tenantDb.Queryable().LeftJoin((t, a) => t.Id == a.TaskId) .LeftJoin((t, a, bc) => t.Id == bc.TASK_ID); - SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition!.Status, userId); + SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition, userId); result = await queryable.Select((t, a, bc) => new { @@ -1976,8 +1976,7 @@ namespace DS.WMS.Core.TaskPlat.Method //bc.REMARK, bc.TASK_BATCH_TOTAL, bc.TASK_BATCH_PER_TOTAL - }) - .Distinct().ToQueryPageAsync(querySearch.PageCondition); + }).Distinct().ToQueryPageAsync(querySearch.PageCondition); return result; } case TaskBaseTypeEnum.DRAFT: @@ -1985,7 +1984,7 @@ namespace DS.WMS.Core.TaskPlat.Method var queryable = tenantDb.Queryable().LeftJoin((t, a) => t.Id == a.TaskId) .LeftJoin((t, a, bc) => t.Id == bc.TASK_ID); - SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition!.Status, userId); + SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition, userId); result = await queryable.Select((t, a, bc) => new { @@ -2001,8 +2000,7 @@ namespace DS.WMS.Core.TaskPlat.Method bc.IS_EMAIL_SEND, bc.SEND_EMAIL_DATE, bc.NOTICE_DATE, - }) - .Distinct().ToQueryPageAsync(querySearch.PageCondition); + }).Distinct().ToQueryPageAsync(querySearch.PageCondition); return result; } case TaskBaseTypeEnum.POD_DISCHARGE_FULL: @@ -2011,7 +2009,7 @@ namespace DS.WMS.Core.TaskPlat.Method var queryable = tenantDb.Queryable().LeftJoin((t, a) => t.Id == a.TaskId) .LeftJoin((t, a, bc) => t.Id == bc.TASK_ID); - SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition!.Status, userId); + SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition, userId); result = await queryable.Select((t, a, bc) => new { @@ -2033,7 +2031,7 @@ namespace DS.WMS.Core.TaskPlat.Method var queryable = tenantDb.Queryable().LeftJoin((t, a) => t.Id == a.TaskId) .LeftJoin((t, a, bc) => t.Id == bc.TASK_ID); - SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition!.Status, userId); + SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition, userId); result = await queryable.Select((t, a, bc) => new { @@ -2067,7 +2065,7 @@ namespace DS.WMS.Core.TaskPlat.Method var queryable = tenantDb.Queryable().LeftJoin((t, a) => t.Id == a.TaskId) .LeftJoin((t, a, bc) => t.Id == bc.TASK_ID); - SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition!.Status, userId); + SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition, userId); result = await queryable.Select((t, a, bc) => new { @@ -2101,7 +2099,7 @@ namespace DS.WMS.Core.TaskPlat.Method { var queryable = tenantDb.Queryable().LeftJoin((t, a) => t.Id == a.TaskId); - SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition!.Status, userId); + SetCondition(queryable, whereList, taskType, taskStatLevel, querySearch.OtherQueryCondition, userId); result = await queryable.Select((t, a) => new { @@ -2183,6 +2181,7 @@ namespace DS.WMS.Core.TaskPlat.Method .Where(whereList) .Where((t, a) => t.STATUS != TaskStatusEnum.Cancel.ToString()) .Where((t, a) => t.IS_PUBLIC == 1 || (t.IS_PUBLIC == 0 && a.Status != null && (a.UserId == userId))) // 2024-8-14 boss提出只显示自己需要审批的任务,自己创建的任务不显示,所以去掉t.CreateBy == userId || + .WhereIF(!string.IsNullOrEmpty(querySearch.BusinessNo), (t, a) => t.MBL_NO == querySearch.BusinessNo || t.CUSTOMNER_NO == querySearch.BusinessNo) .GroupBy((t, a) => new { t.TASK_TYPE, t.STATUS, a.Status, t.IS_PUBLIC }) .Select((t, a) => new { @@ -2644,17 +2643,18 @@ namespace DS.WMS.Core.TaskPlat.Method List? whereList, TaskBaseTypeEnum? taskType, TaskStatLevelEnum? taskStatLevel, - string status, + QueryTaskManageDto queryTaskManageDto, long userId) { queryable.ClearFilter(typeof(IOrgId)) .Where(whereList) .Where((t, a) => t.STATUS != TaskStatusEnum.Cancel.ToString()) .WhereIF(taskType != null, (t, a) => t.TASK_TYPE == taskType.ToString()) - .WhereIF(taskStatLevel == TaskStatLevelEnum.PUBLIC, (t, a) => t.IS_PUBLIC == 1 && t.STATUS == status) + .WhereIF(!string.IsNullOrEmpty(queryTaskManageDto.BusinessNo), (t, a) => t.MBL_NO == queryTaskManageDto.BusinessNo || t.CUSTOMNER_NO == queryTaskManageDto.BusinessNo) + .WhereIF(taskStatLevel == TaskStatLevelEnum.PUBLIC, (t, a) => t.IS_PUBLIC == 1 && t.STATUS == queryTaskManageDto.Status) .WhereIF(taskStatLevel == TaskStatLevelEnum.PERSON, (t, a) => t.IS_PUBLIC == 0 && (a.UserId == userId) // 2024-8-14 boss提出只显示自己需要审批的任务,自己创建的任务不显示,所以去掉t.CreateBy == userId || - && a.Status == status) + && a.Status == queryTaskManageDto.Status) .OrderByDescending(t => t.Id); } @@ -2665,17 +2665,18 @@ namespace DS.WMS.Core.TaskPlat.Method List? whereList, TaskBaseTypeEnum? taskType, TaskStatLevelEnum? taskStatLevel, - string status, + QueryTaskManageDto queryTaskManageDto, long userId) { queryable.ClearFilter(typeof(IOrgId)) .Where(whereList) .Where((t, a) => t.STATUS != TaskStatusEnum.Cancel.ToString()) .WhereIF(taskType != null, (t, a) => t.TASK_TYPE == taskType.ToString()) - .WhereIF(taskStatLevel == TaskStatLevelEnum.PUBLIC, (t, a) => t.IS_PUBLIC == 1 && t.STATUS == status) + .WhereIF(!string.IsNullOrEmpty(queryTaskManageDto.BusinessNo), (t, a) => t.MBL_NO == queryTaskManageDto.BusinessNo || t.CUSTOMNER_NO == queryTaskManageDto.BusinessNo) + .WhereIF(taskStatLevel == TaskStatLevelEnum.PUBLIC, (t, a) => t.IS_PUBLIC == 1 && t.STATUS == queryTaskManageDto.Status) .WhereIF(taskStatLevel == TaskStatLevelEnum.PERSON, (t, a) => t.IS_PUBLIC == 0 && (a.UserId == userId) // 2024-8-14 boss提出只显示自己需要审批的任务,自己创建的任务不显示,所以去掉t.CreateBy == userId || - && a.Status == status) + && a.Status == queryTaskManageDto.Status) .OrderByDescending(t => t.Id); } diff --git a/ds-wms-service/DS.WMS.OpApi/DS.WMS.OpApi.csproj.user b/ds-wms-service/DS.WMS.OpApi/DS.WMS.OpApi.csproj.user index fb7be066..21e5222f 100644 --- a/ds-wms-service/DS.WMS.OpApi/DS.WMS.OpApi.csproj.user +++ b/ds-wms-service/DS.WMS.OpApi/DS.WMS.OpApi.csproj.user @@ -1,7 +1,7 @@  - D:\Source\Repos\DS8\ds-wms-service\DS.WMS.OpApi\Properties\PublishProfiles\FolderProfile.pubxml + D:\Code\ds8-solution-pro\ds-wms-service\DS.WMS.OpApi\Properties\PublishProfiles\FolderProfile.pubxml MvcControllerEmptyScaffolder root/Common/MVC/Controller