Merge remote-tracking branch 'origin/feature/REQ-3300' into feature/REQ-3300
This commit is contained in:
commit
6113aaeab8
@ -32,4 +32,16 @@ public class RefreshableConfiguration {
|
||||
*/
|
||||
@Value("${visa.im.event.addMember:visaNegotiation}")
|
||||
private String imGroupAddMemberNoticeEventCode;
|
||||
|
||||
/**
|
||||
* 相关单位确认人人数限制
|
||||
*/
|
||||
@Value("${visa.verifyPersonLimit: 8}")
|
||||
private Integer verifyPersonLimit;
|
||||
|
||||
/**
|
||||
* 关联变更单个数限制
|
||||
*/
|
||||
@Value("${visa.verifyVisaLimit: 5}")
|
||||
private Integer verifyVisaLimit;
|
||||
}
|
||||
|
||||
@ -18,7 +18,9 @@ import cn.axzo.im.center.api.vo.req.GroupDismissRequest;
|
||||
import cn.axzo.im.center.api.vo.resp.GroupCreateResponse;
|
||||
import cn.axzo.im.center.common.enums.AppTypeEnum;
|
||||
import cn.axzo.im.center.common.enums.GroupType;
|
||||
import cn.axzo.maokai.api.vo.request.CooperateShipQueryReq;
|
||||
import cn.axzo.maokai.api.vo.request.OrgNodeUserBriefInfoListReq;
|
||||
import cn.axzo.maokai.api.vo.response.CooperateShipResp;
|
||||
import cn.axzo.maokai.api.vo.response.OrgNodeUserBriefInfoResp;
|
||||
import cn.axzo.maokai.common.enums.SaasCooperateShipCooperateTypeEnum;
|
||||
import cn.axzo.nanopart.visa.api.enums.VisaBillTypeEnum;
|
||||
@ -42,6 +44,7 @@ import cn.axzo.nanopart.visa.api.request.VisaInitiatorListReq;
|
||||
import cn.axzo.nanopart.visa.api.response.VisaChangeInitiatorResp;
|
||||
import cn.axzo.nanopart.visa.api.response.VisaChangePageSearchResp;
|
||||
import cn.axzo.nanopart.visa.api.response.VisaDetailByIdResponse;
|
||||
import cn.axzo.nanopart.visa.server.config.RefreshableConfiguration;
|
||||
import cn.axzo.nanopart.visa.server.domain.ChangeRecord;
|
||||
import cn.axzo.nanopart.visa.server.domain.ChangeRecordBill;
|
||||
import cn.axzo.nanopart.visa.server.domain.ChangeRecordConfirm;
|
||||
@ -56,6 +59,7 @@ import cn.axzo.nanopart.visa.server.rpc.ApolloConstructionAreaGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.DrawingMajorGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.MsgCenterGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.OrganizationalUnitGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.VisaCooperateShipGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.VisaOrganizationalNodeUserGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.VisaProfileGateway;
|
||||
import cn.axzo.nanopart.visa.server.rpc.VisaProjectApiGateway;
|
||||
@ -94,8 +98,6 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.apache.groovy.util.Maps;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.StringUtils;
|
||||
@ -139,7 +141,6 @@ import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_VISA_
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@RefreshScope
|
||||
public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, ChangeRecord> implements ChangeRecordService {
|
||||
|
||||
@Resource
|
||||
@ -171,17 +172,6 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
@Resource
|
||||
private MsgCenterGateway msgCenterGateway;
|
||||
|
||||
/**
|
||||
* 相关单位确认人人数限制
|
||||
*/
|
||||
@Value("${visa.verifyPersonLimit: 8}")
|
||||
private Integer verifyPersonLimit;
|
||||
|
||||
/**
|
||||
* 关联变更单个数限制
|
||||
*/
|
||||
@Value("${visa.verifyVisaLimit: 5}")
|
||||
private Integer verifyVisaLimit;
|
||||
/**
|
||||
* 最大变化金额
|
||||
*/
|
||||
@ -207,6 +197,11 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
@Resource
|
||||
private VisaOrganizationalNodeUserGateway visaOrganizationalNodeUserGateway;
|
||||
|
||||
@Resource
|
||||
private RefreshableConfiguration refreshableConfiguration;
|
||||
|
||||
@Resource
|
||||
private VisaCooperateShipGateway visaCooperateShipGateway;
|
||||
|
||||
/**
|
||||
* 状态变更
|
||||
@ -465,6 +460,19 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long tempCreateVisaChangeRecord(VisaChangeTempCreateReq req) {
|
||||
AssertUtil.isTrue(NumberUtil.isPositiveNumber(req.getRelationWorkspaceId()), "关联项目不能为空");
|
||||
AssertUtil.isTrue(NumberUtil.isPositiveNumber(req.getOperatorOuId()) && NumberUtil.isPositiveNumber(req.getOperatorPersonId()),
|
||||
"操作人信息不能为空");
|
||||
if (NumberUtil.isNotPositiveNumber(req.getOperatorOuType())) {
|
||||
CooperateShipQueryReq shipQueryReq = CooperateShipQueryReq.builder()
|
||||
.personId(req.getOperatorPersonId())
|
||||
.workspaceId(req.getRelationWorkspaceId())
|
||||
.ouId(req.getOperatorOuId())
|
||||
.build();
|
||||
List<CooperateShipResp> shipRespList = visaCooperateShipGateway.genericQuery(shipQueryReq);
|
||||
AssertUtil.notEmpty(shipRespList, "操作人所在单位信息不能为空");
|
||||
req.setOperatorOuType(shipRespList.get(0).getCooperateType());
|
||||
}
|
||||
ChangeRecord changeRecord;
|
||||
List<VisaConfirmDto> confirmPerson = Lists.newArrayList();
|
||||
VisaAddLogContext oldContext = null;
|
||||
@ -509,9 +517,9 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
/*保存附加关联信息*/
|
||||
// 相关单位与人员
|
||||
if (CollectionUtils.isNotEmpty(req.getRelationUnitAndPersonList())) {
|
||||
confirmPerson = req.getRelationUnitAndPersonList().stream()
|
||||
confirmPerson.addAll(req.getRelationUnitAndPersonList().stream()
|
||||
.map(p -> buildConfirmVisaConfirmDto(p, changeRecord, req.getOperatorPersonId()))
|
||||
.collect(Collectors.toList());
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
changeRecordConfirmService.addConfirm(confirmPerson);
|
||||
// 保存发生内容及说明
|
||||
@ -810,7 +818,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
// }
|
||||
|
||||
/*获取数据*/
|
||||
changeRecordList = getFilter(filter,Sets.newHashSet()).list();
|
||||
changeRecordList = getFilter(filter, Sets.newHashSet()).list();
|
||||
|
||||
AssertUtil.isTrue(CollUtil.isNotEmpty(changeRecordList), "");
|
||||
/*数据转换*/
|
||||
@ -823,7 +831,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
// reportServiceSDK.asyncUploadReportPsw(scene, fileName, null, false, );
|
||||
}
|
||||
|
||||
private LambdaQueryChainWrapper<ChangeRecord> getFilter(VisaChangePageSearchReq filter,Set<Long> permissionVisaIdSet) {
|
||||
private LambdaQueryChainWrapper<ChangeRecord> getFilter(VisaChangePageSearchReq filter, Set<Long> permissionVisaIdSet) {
|
||||
|
||||
LambdaQueryChainWrapper<ChangeRecord> queryChainWrapper = lambdaQuery()
|
||||
// .in(ChangeRecord::getId, permissionVisaIdSet)
|
||||
@ -1053,7 +1061,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
List<OrgNodeUserBriefInfoResp> nodeUserBriefInfoResps = nodeUserGateway.listOrgNodeUsers(infoListReq);
|
||||
AssertUtil.notEmpty(nodeUserBriefInfoResps, "所有单位确认人均已退场");
|
||||
cooperateTypeMap.forEach((k, v) -> {
|
||||
AssertUtil.isTrue(v.size() <= verifyPersonLimit, String.format(k.getDesc() + "确认人,最多支持%d个", verifyPersonLimit));
|
||||
AssertUtil.isTrue(v.size() <= refreshableConfiguration.getVerifyPersonLimit(), String.format(k.getDesc() + "确认人,最多支持%d个", refreshableConfiguration.getVerifyPersonLimit()));
|
||||
boolean noExit = v.stream().map(VisaChangeTempCreateReq.RelationUnitAndPerson::getPersonId)
|
||||
.anyMatch(p -> nodeUserBriefInfoResps.stream().anyMatch(u -> Objects.equals(u.getPersonId(), p)));
|
||||
AssertUtil.isTrue(noExit, String.format(k.getDesc() + "确认人,存在已退场人员,请重新选择"));
|
||||
@ -1067,18 +1075,21 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
||||
if (Objects.equals(VisaRelationFieldEnum.TASK_ORDER.name(), key)) {
|
||||
/*任务单*/
|
||||
// 关联单据数量限制
|
||||
AssertUtil.isTrue(value.size() <= verifyVisaLimit, String.format("最多可关联%d个变更单,请重新选择", verifyVisaLimit));
|
||||
AssertUtil.isTrue(value.size() <= refreshableConfiguration.getVerifyVisaLimit(),
|
||||
String.format("最多可关联%d个变更单,请重新选择", refreshableConfiguration.getVerifyVisaLimit()));
|
||||
validBillIfRelated(VisaBillTypeEnum.TASK, value, req.getType());
|
||||
} else if (Objects.equals(VisaRelationFieldEnum.RECTIFICATION_ORDER.name(), key)) {
|
||||
/*整改单*/
|
||||
// 关联单据数量限制
|
||||
AssertUtil.isTrue(value.size() <= verifyVisaLimit, String.format("最多可关联%d个变更单,请重新选择", verifyVisaLimit));
|
||||
AssertUtil.isTrue(value.size() <= refreshableConfiguration.getVerifyVisaLimit(),
|
||||
String.format("最多可关联%d个变更单,请重新选择", refreshableConfiguration.getVerifyVisaLimit()));
|
||||
validBillIfRelated(VisaBillTypeEnum.RECTIFY, value, 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()), "变更单关联单据仅支持技术核定/工程签证");
|
||||
// 关联单据数量限制
|
||||
AssertUtil.isTrue(value.size() <= verifyVisaLimit, String.format("最多可关联%d个变更单,请重新选择", verifyVisaLimit));
|
||||
AssertUtil.isTrue(value.size() <= refreshableConfiguration.getVerifyVisaLimit(),
|
||||
String.format("最多可关联%d个变更单,请重新选择", refreshableConfiguration.getVerifyVisaLimit()));
|
||||
// 关联单据合法性,是否存在,状态是否合法
|
||||
List<ChangeRecord> relationVisa = listByIds(value);
|
||||
AssertUtil.notEmpty(relationVisa, "关联的单据不存在");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user