feat(REQ-3300): 暂存-关联单据模型调整适配
This commit is contained in:
parent
1a918ecade
commit
92a2f7c9e6
@ -121,6 +121,14 @@ public class VisaChangePageSearchResp {
|
||||
|
||||
/**
|
||||
* 操作按钮
|
||||
* <p>
|
||||
* UPDATE: 编辑
|
||||
* DETAIL: 详情
|
||||
* UPLOAD_FILE: 上传附件
|
||||
* APPROVE_RECORD: 查看审批记录
|
||||
* </p>
|
||||
*
|
||||
* @see VisaButtonTypeEnum
|
||||
*/
|
||||
private Set<VisaButtonTypeEnum> operateBtnSet;
|
||||
|
||||
|
||||
@ -0,0 +1,19 @@
|
||||
package cn.axzo.nanopart.visa.server.rpc;
|
||||
|
||||
import cn.axzo.apollo.api.ApolloTaskOrderApi;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author chenwenjian
|
||||
* @version 1.0
|
||||
* @date 2025/2/12 11:18
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class ApolloTaskOrderApiGateway {
|
||||
|
||||
private final ApolloTaskOrderApi apolloTaskOrderApi;
|
||||
}
|
||||
@ -571,7 +571,8 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
.map(o -> VisaBillDto.builder()
|
||||
.visaId(changeRecord.getId())
|
||||
.visaType(changeRecord.getType())
|
||||
.billId(o)
|
||||
.billId(o.getId())
|
||||
.billNo(o.getNo())
|
||||
.billType(VisaBillTypeEnum.valueOf(os.getKey()))
|
||||
.createBy(req.getOperatorPersonId())
|
||||
.updateBy(req.getOperatorPersonId())
|
||||
@ -1178,13 +1179,15 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
// 关联单据数量限制
|
||||
AssertUtil.isTrue(value.size() <= refreshableConfiguration.getVerifyVisaLimit(),
|
||||
String.format("最多可关联%d个变更单,请重新选择", refreshableConfiguration.getVerifyVisaLimit()));
|
||||
validBillIfRelated(VisaBillTypeEnum.TASK, value, req.getType());
|
||||
List<Long> billIds = value.stream().map(VisaChangeTempCreateReq.OrderSimpleModel::getId).collect(Collectors.toList());
|
||||
validBillIfRelated(VisaBillTypeEnum.TASK, billIds, req.getType());
|
||||
} else if (Objects.equals(VisaRelationFieldEnum.RECTIFICATION_ORDER.name(), key)) {
|
||||
/*整改单*/
|
||||
// 关联单据数量限制
|
||||
AssertUtil.isTrue(value.size() <= refreshableConfiguration.getVerifyVisaLimit(),
|
||||
String.format("最多可关联%d个变更单,请重新选择", refreshableConfiguration.getVerifyVisaLimit()));
|
||||
validBillIfRelated(VisaBillTypeEnum.RECTIFY, value, req.getType());
|
||||
List<Long> billIds = value.stream().map(VisaChangeTempCreateReq.OrderSimpleModel::getId).collect(Collectors.toList());
|
||||
validBillIfRelated(VisaBillTypeEnum.RECTIFY, billIds, req.getType());
|
||||
} else if (Objects.equals(VisaRelationFieldEnum.VISA_ORDER.name(), key)) {
|
||||
/*变更单*/
|
||||
AssertUtil.isTrue(VisaTypeEnum.TECHNOLOGY_APPROVED.equals(req.getType()) || VisaTypeEnum.PROJECT_VISA.equals(req.getType()), "变更单关联单据仅支持技术核定/工程签证");
|
||||
@ -1192,13 +1195,14 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
AssertUtil.isTrue(value.size() <= refreshableConfiguration.getVerifyVisaLimit(),
|
||||
String.format("最多可关联%d个变更单,请重新选择", refreshableConfiguration.getVerifyVisaLimit()));
|
||||
// 关联单据合法性,是否存在,状态是否合法
|
||||
List<ChangeRecord> relationVisa = listByIds(value);
|
||||
List<Long> billIds = value.stream().map(VisaChangeTempCreateReq.OrderSimpleModel::getId).collect(Collectors.toList());
|
||||
List<ChangeRecord> relationVisa = listByIds(billIds);
|
||||
AssertUtil.notEmpty(relationVisa, "关联的单据不存在");
|
||||
relationVisa.forEach(r -> {
|
||||
AssertUtil.isTrue(Objects.equals(r.getRelationWorkspaceId(), req.getRelationWorkspaceId()), "关联的单据所属项目不匹配");
|
||||
AssertUtil.isFalse(Objects.equals(r.getStatus(), VisaStatusEnum.TO_REPORT) || Objects.equals(r.getStatus(), VisaStatusEnum.FORBIDED), String.format("单据%s状态为%s,不允许被关联", r.getNo(), r.getStatus().getDesc()));
|
||||
});
|
||||
validBillIfRelated(VisaBillTypeEnum.DESIGN_VISA, value, req.getType());
|
||||
validBillIfRelated(VisaBillTypeEnum.DESIGN_VISA, billIds, req.getType());
|
||||
} else {
|
||||
throw new ServiceException("不支持的关联单据类型");
|
||||
}
|
||||
@ -1471,11 +1475,13 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
}
|
||||
// 关联单据
|
||||
List<ChangeRecordBill> bills = changeRecordBillService.listById(changeRecord.getId());
|
||||
if (CollectionUtils.isNotEmpty(bills)) {
|
||||
req.setRelationOrderMap(bills.stream().collect(Collectors.groupingBy(b -> b.getBillType().name(),
|
||||
Collectors.mapping(ChangeRecordBill::getBillId, Collectors.toList())))
|
||||
);
|
||||
}
|
||||
// // 实时构建单据名称
|
||||
// if (CollectionUtils.isNotEmpty(bills)) {
|
||||
// Map<String, List<Long>> orderMap = bills.stream().collect(Collectors.groupingBy(b -> b.getBillType().name(),
|
||||
// Collectors.mapping(ChangeRecordBill::getBillId, Collectors.toList())));
|
||||
// req.setRelationOrderMap()
|
||||
// );
|
||||
// }
|
||||
// 附件
|
||||
List<ChangeRecordRelation> attach = changeRecordRelationService.findByVisaAndVarName(changeRecord.getId(), VisaRelationFieldEnum.ATTACHMENT.name());
|
||||
if (CollectionUtils.isNotEmpty(attach)) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user