From 99ec5f738b0a3650de2b097d8104feb7f578f644 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Thu, 6 Mar 2025 16:27:12 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-3798)=20-=20=E5=A4=84=E7=90=86?= =?UTF-8?q?=E7=AD=BE=E7=AB=A0=E5=90=88=E5=90=8C=E5=88=9B=E5=BB=BA=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ChangeRecordRelationServiceImpl.java | 54 ++++++++++--------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java index b446c999..85904ca1 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java @@ -492,7 +492,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl> stampUserMap = listOuAssignees(req); + Map> stampUserMap = listOuAssignees(req); // 创建电子签合同 Map essRecipientIdMap = createContract(req, visa, stampUserMap); @@ -504,6 +504,9 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl> assigneeMaps = buildAssignees(stampUserMap); + List relations = req.getRequestStamps().stream().map(i -> { ChangeRecordRelation stamp = new ChangeRecordRelation(); stamp.setVisaId(req.getVisaId()); @@ -515,7 +518,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl> buildAssignees(Map> stampUserMap) { + Map> result = new HashMap<>(); + stampUserMap.forEach((key, value) -> { + if (CollectionUtils.isNotEmpty(value)) { + result.put(key, value.stream().map(u -> BpmnTaskDelegateAssigner.builder() + .personId(String.valueOf(u.getSealPerson().getPersonId())) + .ouId(String.valueOf(u.getOuId())) + .tenantId(NO_TENANT_ID) + .build()).collect(Collectors.toList())); + } + }); + return result; + } + private void insertLog(UpdateVisaChangeReq req) { if (Objects.equals(req.getVisaStampAction(), REQUEST_STAMP)) { changeRecordLogService.addLog(ChangeRecordLog.builder() @@ -574,7 +591,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl> listOuAssignees(VisaRequestStampReq req) { + private Map> listOuAssignees(VisaRequestStampReq req) { // 构建印章类型映射 Map stampMap = req.getRequestStamps().stream() .collect(Collectors.toMap( @@ -598,19 +615,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl existing // 处理键冲突 )); - Map> result = new HashMap<>(); - stampUserMap.forEach((key, value) -> { - if (CollectionUtils.isNotEmpty(value)) { - result.put(key, value.stream().map(u -> BpmnTaskDelegateAssigner.builder() - .personId(String.valueOf(u.getSealPerson().getPersonId())) - .ouId(String.valueOf(u.getOuId())) - .tenantId(NO_TENANT_ID) - .build()).collect(Collectors.toList())); - } - }); - - - return result; + return stampUserMap; } private void removeLastRequest(ChangeRecord visa) { @@ -629,7 +634,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl SaasCooperateShipCooperateTypeEnum.getByCode(i.getCooperateType()).name())); } - private Map createContract(VisaRequestStampReq req, ChangeRecord visa, Map> stampUserMap) { + private Map createContract(VisaRequestStampReq req, ChangeRecord visa, Map> stampUserMap) { if (StringUtils.hasText(visa.getContractId())) { List recipientIds = findByVisaAndVarName(visa.getId(), ESS_RECIPIENT_ID_MAP.name()); AssertUtil.notEmpty(recipientIds, "未找到签章位置信息"); @@ -653,14 +658,14 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl mergedList = stampUserMap.values().stream() + List mergedList = stampUserMap.values().stream() .flatMap(Collection::stream) - .collect(Collectors.toList()); + .collect(Collectors.toList()).stream().filter(EssSealPersonInfo::isSuperAdmin).collect(Collectors.toList()); AssertUtil.notEmpty(mergedList, "无法创建签章合同,未找到签章用户"); - BpmnTaskDelegateAssigner assigner = mergedList.get(0); + EssSealPersonInfo personInfo = mergedList.get(0); OperatorInfo creator = new OperatorInfo(); - creator.setOuId(Long.valueOf(assigner.getOuId())); - creator.setPersonId(Long.valueOf(assigner.getPersonId())); + creator.setOuId(personInfo.getOuId()); + creator.setPersonId(personInfo.getSealPerson().getPersonId()); createContractRequest.setCreator(creator); CreateContractByFileResponse contract = essGateway.createContract(createContractRequest); @@ -697,7 +702,8 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl essRecipientIdMap, - NodesByModelVO specifyAssigneeActivity, Map> stampUserMap) { + NodesByModelVO specifyAssigneeActivity, + Map> assigneeMaps) { List workspaces = workspaceGateway.getWorkspace(GetWorkspaceDetailReq.builder() .organizationUnitId(model.getOuId()) .type(1) @@ -708,7 +714,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl assigners = stampUserMap.getOrDefault(model.getOuId(), new ArrayList<>()); + List assigners = assigneeMaps.getOrDefault(model.getOuId(), new ArrayList<>()); assigners.forEach(i -> i.setTenantId(String.valueOf(entWorkspace.getId()))); // 指定审批人 create.setSpecifyAssignerMap(Maps.of(specifyAssigneeActivity.getActivityId(), assigners));