diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApplyListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApplyListRequest.java index 4d1cda3..4d90f25 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApplyListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApplyListRequest.java @@ -18,6 +18,9 @@ @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") private String formId; + @ApiModelProperty(value = "分包方id", dataType = "Long") + private Long outsourcerId; + @ApiModelProperty(value = "分包项目编号", dataType = "String") private String projectNo; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApplyListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApplyListRequest.java index 4d1cda3..4d90f25 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApplyListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApplyListRequest.java @@ -18,6 +18,9 @@ @ApiModelProperty(value = "表单id(流程定义对应的表单id,等价于业务id)", dataType = "String") private String formId; + @ApiModelProperty(value = "分包方id", dataType = "Long") + private Long outsourcerId; + @ApiModelProperty(value = "分包项目编号", dataType = "String") private String projectNo; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java index 6855e6e..d72c644 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java @@ -232,11 +232,12 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.eq(Objects.nonNull(request.getOutsourcerId()), "outsourcer_id", request.getOutsourcerId()); wrapper.like(StringUtils.isNotBlank(request.getProjectNo()), "project_no", request.getProjectNo()); wrapper.like(StringUtils.isNotBlank(request.getProjectName()), "project_name", request.getProjectName()); //验收状态若是草稿或空则可以被选择进行验收 // TODO: 2023/4/24 验收不通过也不能被再验收,根据后续需求调整 - wrapper.eq("check_approval_status", ApprovalStatusEnum.DRAFT).or().isNull("check_approval_status"); + wrapper.and(wr -> wr.or().eq("check_approval_status", ApprovalStatusEnum.DRAFT).or().isNull("check_approval_status")); wrapper.in("id", passedList); wrapper.orderByDesc("create_time"); return wrapper; @@ -378,7 +379,7 @@ //草稿 case ApprovalStatusEnum.DRAFT: list = projectMapper.selectDraftListForApproval(page, request); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.DRAFT); + approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.DRAFT, request.getTypeFlag()); break; //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: @@ -388,7 +389,7 @@ } if (!CollectionUtils.isEmpty(businessKeys)) { list = projectMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); + approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED, request.getTypeFlag()); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { @@ -406,7 +407,7 @@ businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { list = projectMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); + approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED, request.getTypeFlag()); } break; //已通过,该状态维护在flowable @@ -414,7 +415,7 @@ businessKeys = baseApprovalService.getPassedList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { list = projectMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); + approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED, request.getTypeFlag()); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable @@ -423,12 +424,12 @@ List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 if (!CollectionUtils.isEmpty(businessKeys)) { list = projectMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); + approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED, request.getTypeFlag()); } List rejectApprovalList = new ArrayList<>(); if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = projectMapper.selectBatchForApproval(page, request, rejectBusinessKey); - rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); + rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT, request.getTypeFlag()); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -438,7 +439,7 @@ businessKeys = baseApprovalService.getCanceledList(request.getFormId()); if (!CollectionUtils.isEmpty(businessKeys)) { list = projectMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); + approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED, request.getTypeFlag()); } break; //全部 @@ -451,29 +452,29 @@ } if (!CollectionUtils.isEmpty(businessKeys)) { list = projectMapper.selectBatchForApproval(page, request, businessKeys); - approvalList = handleAllApprovalListResponse(approvalList, list, allApproveList); + approvalList = handleAllApprovalListResponse(approvalList, list, allApproveList, request.getTypeFlag()); } break; } return approvalList; } - private List handleApprovalListResponse(List approvalList, List list, String status) { + private List handleApprovalListResponse(List approvalList, List list, String status, Integer typeFlag) { approvalList = ConvertUtils.sourceToTarget(list, OutsourceProjectApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 - if(StringUtils.isNotEmpty(result.getApplyApprovalStatus()) && StringUtils.isEmpty(result.getCheckApprovalStatus())) { + if(1 == typeFlag) { + result.setApplyApprovalStatus(status); result.setApplyApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); - } - if(StringUtils.isNotEmpty(result.getCheckApprovalStatus())){ + } else if(2 == typeFlag) { + result.setCheckApprovalStatus(status); result.setCheckApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); } - }); return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { + private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList, Integer typeFlag) { Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, OutsourceProjectApprovalListResponse.class); allApproveList.forEach(allApprove -> { @@ -481,10 +482,13 @@ }); //状态补全 approvalList.forEach(approval -> { - approval.setApplyApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setApplyApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); - approval.setCheckApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); - approval.setCheckApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); + if(1 == typeFlag) { + approval.setApplyApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); + approval.setApplyApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); + } else if(2 == typeFlag) { + approval.setCheckApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); + approval.setCheckApprovalStatus(taskMap.get(String.valueOf(approval.getId()))); + } }); //排序 return approvalList.stream().sorted(Comparator.comparing(OutsourceProjectApprovalListResponse::getCreateTime).reversed()).collect(Collectors.toList());