feat: (REQ-3300) 详情中增加无效的变更签证id集合

This commit is contained in:
xudawei 2025-02-21 14:54:01 +08:00
parent 547bb4e03f
commit f4f8484e8e
3 changed files with 40 additions and 2 deletions

View File

@ -26,8 +26,8 @@ public enum VisaStatusEnum {
APPROVING("approving","审批中", VisaLogTypeEnum.TO_APPRROVE),
COMPLETED("completed","已完成",VisaLogTypeEnum.APPROVE_COMPLETED),
FORBIDED("forbided","已废除",VisaLogTypeEnum.FORBIDED),
REPORT_FROM_APPROVE("report_from_approve","审批到待提报", null),
DECIDING_FROM_APPROVE("deciding_from_approve","审批到决策中", null),
REPORT_FROM_APPROVE("report_from_approve","审批不通过到待提报", null),
DECIDING_FROM_APPROVE("deciding_from_approve","审批不通过到决策中", null),
;
/**
@ -35,6 +35,11 @@ public enum VisaStatusEnum {
*/
private static Set<VisaStatusEnum> editFormStatus = Sets.newHashSet(DECIDING, EXECUTING, DECIDING_FROM_APPROVE);
/**
* 无效状态集合审批不通过到待提报/已废除
*/
private static Set<VisaStatusEnum> detailPageInvalidStatus = Sets.newHashSet(REPORT_FROM_APPROVE, FORBIDED);
private final String code;
private final String desc;
private final VisaLogTypeEnum logType;
@ -56,5 +61,12 @@ public enum VisaStatusEnum {
return Arrays.asList(VisaStatusEnum.values());
}
/**
* 无效状态集合审批不通过到待提报/已废除
*/
public static Set<VisaStatusEnum> detailPageInvalidStatus() {
return detailPageInvalidStatus;
}
}

View File

@ -186,6 +186,11 @@ public class VisaDetailByIdResponse {
*/
private List<String> relationVisaList;
/**
* 关联无效的变更单
*/
private List<String> relationInvalidVisaList;
/**
* 状态
*/

View File

@ -423,6 +423,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
.relationTaskList(CollectionUtils.isEmpty(billMap.get(VisaBillTypeEnum.TASK)) ? Lists.newArrayList() : billMap.get(VisaBillTypeEnum.TASK)) // 关联任务单
.relationRectifyList(CollectionUtils.isEmpty(billMap.get(VisaBillTypeEnum.RECTIFY)) ? Lists.newArrayList() : billMap.get(VisaBillTypeEnum.RECTIFY)) //关联整改单
.relationVisaList(CollectionUtils.isEmpty(billMap.get(VisaBillTypeEnum.DESIGN_VISA)) ? Lists.newArrayList() : billMap.get(VisaBillTypeEnum.DESIGN_VISA)) // 关联变更单
.relationInvalidVisaList(this.detailPageInvalidVisaIdList(billMap.get(VisaBillTypeEnum.DESIGN_VISA)))
.amountChange(this.buildAmountChange(visa.getAmountChange())) // 变更金额
.changeContextAndDescriptionList(this.buildDesc(visaId)) //发生内容及说明
.status(visa.getStatus()) //状态TO_REPORT:待提报;DECIDING:决策中;EXECUTING:执行中;APPROVING:审批中;COMPLETED:已完成;FORBIDED:已废除;REPORT_FROM_APPROVE:审批到待提报;DECIDING_FROM_APPROVE:审批到决策中 EXECUTING
@ -434,6 +435,26 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
.build();
}
/**
* 从visaIdList过滤无效的变更签证Id
*/
private List<String> detailPageInvalidVisaIdList(List<String> visaIdList) {
if (CollectionUtils.isEmpty(visaIdList)) {
return Collections.emptyList();
}
VisaChangePageSearchReq req = new VisaChangePageSearchReq();
req.setVisaIds(visaIdList.stream().map(item -> Long.valueOf(item)).collect(Collectors.toList()));
req.setStatuses(Lists.newArrayList(VisaStatusEnum.detailPageInvalidStatus()));
List<ChangeRecord> changeRecords = this.getFilter(req).list();
if (CollectionUtils.isEmpty(changeRecords)) {
return Collections.emptyList();
}
return changeRecords.stream().map(item -> item.getId().toString()).collect(Collectors.toList());
}
/**
* 构建变更金额
*/