feat(REQ-3300): 发生区域校验
This commit is contained in:
parent
ba5a641616
commit
05a8a3a52f
@ -1,6 +1,7 @@
|
||||
package cn.axzo.nanopart.visa.server.service.impl;
|
||||
|
||||
import cn.axzo.apollo.api.req.QueryOrderToBasicReq;
|
||||
import cn.axzo.apollo.api.res.ConstructionAreaInfo;
|
||||
import cn.axzo.apollo.api.res.TaskOrderToBasicRes;
|
||||
import cn.axzo.apollo.workspace.api.workspace.res.GetDetailRes;
|
||||
import cn.axzo.apollo.workspace.api.workspace.res.ProjectBriefResp;
|
||||
@ -1443,6 +1444,11 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
ProjectDetailRes projectById = visaProjectApiGateway.getProjectById(req.getRelationProject());
|
||||
AssertUtil.notNull(projectById, "工程不存在");
|
||||
AssertUtil.isTrue(Objects.equals(projectById.getWorkspaceInfo().getWorkspaceId(), req.getRelationWorkspaceId()), "工程所属项目与关联项目不匹配");
|
||||
// 发生区域存在性
|
||||
if (CollectionUtils.isNotEmpty(req.getRelationArea())) {
|
||||
List<ConstructionAreaInfo> areaByIds = apolloConstructionAreaGateway.getAllConstructionAreaByIds(req.getRelationArea().toJavaList(Long.class));
|
||||
AssertUtil.isTrue(CollectionUtils.isNotEmpty(areaByIds) && areaByIds.size() == req.getRelationArea().size(), "存在发生区域已被删除");
|
||||
}
|
||||
// 提出时间合法性
|
||||
Date now = new Date();
|
||||
AssertUtil.notNull(req.getHappenTime(), "请选择提交日期");
|
||||
@ -1496,10 +1502,24 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
if (Objects.equals(VisaBillTypeEnum.TASK.name(), key)) {
|
||||
/*任务单*/
|
||||
List<String> taskNos = value.stream().map(VisaChangeTempCreateReq.OrderSimpleModel::getNo).collect(Collectors.toList());
|
||||
// 存在性
|
||||
QueryOrderToBasicReq queryOrderToBasicReq = new QueryOrderToBasicReq();
|
||||
queryOrderToBasicReq.setWorkspaceId(req.getRelationWorkspaceId());
|
||||
queryOrderToBasicReq.setTaskNos(taskNos);
|
||||
queryOrderToBasicReq.setPage(1);
|
||||
queryOrderToBasicReq.setPageSize(taskNos.size());
|
||||
List<TaskOrderToBasicRes> taskOrders = taskOrderApiGateway.pageOrderByForBasic(queryOrderToBasicReq).getData();
|
||||
AssertUtil.isTrue(taskOrders.size() == taskNos.size(), "关联任务单单据不存在,请检查后重试");
|
||||
validTaskBillIfRelated(taskNos, req.getType());
|
||||
} else if (Objects.equals(VisaBillTypeEnum.RECTIFY.name(), key)) {
|
||||
/*整改单*/
|
||||
List<String> billIds = value.stream().map(v -> String.valueOf(v.getId())).collect(Collectors.toList());
|
||||
// 存在性
|
||||
ListRectifyOrderReq rectifyOrderReq = ListRectifyOrderReq.builder()
|
||||
.ids(value.stream().map(VisaChangeTempCreateReq.OrderSimpleModel::getId).collect(Collectors.toSet()))
|
||||
.build();
|
||||
List<RectifyOrderResp> rectifyOrders = rectifyApiGateway.listRectifyOrders(rectifyOrderReq);
|
||||
AssertUtil.isTrue(CollectionUtils.isNotEmpty(rectifyOrders) && rectifyOrders.size() == billIds.size(), "关联整改单单据不存在,请检查后重试");
|
||||
validBillIfRelated(VisaBillTypeEnum.RECTIFY, billIds, req.getType());
|
||||
} else if (Objects.equals(VisaBillTypeEnum.DESIGN_VISA.name(), key)) {
|
||||
/*变更单*/
|
||||
@ -1507,7 +1527,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
// 关联单据合法性,是否存在,状态是否合法
|
||||
List<String> billIds = value.stream().map(v -> String.valueOf(v.getId())).collect(Collectors.toList());
|
||||
List<ChangeRecord> relationVisa = listByIds(billIds);
|
||||
AssertUtil.notEmpty(relationVisa, "关联的单据不存在");
|
||||
AssertUtil.isTrue(CollectionUtils.isNotEmpty(relationVisa) && relationVisa.size() == billIds.size(), "关联的变更单单据不存在,请检查后重试");
|
||||
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状态为%s,不允许被关联", VisaBillTypeEnum.DESIGN_VISA.getDesc(), r.getNo(), r.getStatus().getDesc()));
|
||||
|
||||
Loading…
Reference in New Issue
Block a user