feat(REQ-3798) - 处理签章合同创建逻辑
This commit is contained in:
parent
0aa2fcc0bc
commit
e788989e0a
@ -91,6 +91,7 @@ import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Base64;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -490,16 +491,16 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
|
||||
// 移除上一次申请
|
||||
removeLastRequest(visa);
|
||||
// 或者指定单位下的签章人作为审批人
|
||||
Map<Long, List<BpmnTaskDelegateAssigner>> stampUserMap = listOuAssignees(req);
|
||||
// 创建电子签合同
|
||||
Map<String, String> essRecipientIdMap = createContract(req, visa);
|
||||
Map<String, String> essRecipientIdMap = createContract(req, visa, stampUserMap);
|
||||
|
||||
// 拉取单位类型
|
||||
Map<Long, String> ouTypeMap = listCooperateShipTypes(req, visa);
|
||||
|
||||
// 拉取模型可设置审批人的节点
|
||||
NodesByModelVO specifyAssigneeActivity = getSpecifyAssigneeActivity(visa);
|
||||
// 或者指定单位下的签章人作为审批人
|
||||
Map<Long, List<BpmnTaskDelegateAssigner>> stampUserMap = listOuAssignees(req);
|
||||
|
||||
// 用印申请信息
|
||||
String uuid = UUID.fastUUID().toString(true);
|
||||
@ -607,6 +608,8 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
.build()).collect(Collectors.toList()));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -626,7 +629,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
return cooperateShipResps.stream().collect(Collectors.toMap(CooperateShipResp::getOrganizationalUnitId, i -> SaasCooperateShipCooperateTypeEnum.getByCode(i.getCooperateType()).name()));
|
||||
}
|
||||
|
||||
private Map<String, String> createContract(VisaRequestStampReq req, ChangeRecord visa) {
|
||||
private Map<String, String> createContract(VisaRequestStampReq req, ChangeRecord visa, Map<Long, List<BpmnTaskDelegateAssigner>> stampUserMap) {
|
||||
if (StringUtils.hasText(visa.getContractId())) {
|
||||
List<ChangeRecordRelation> recipientIds = findByVisaAndVarName(visa.getId(), ESS_RECIPIENT_ID_MAP.name());
|
||||
AssertUtil.notEmpty(recipientIds, "未找到签章位置信息");
|
||||
@ -649,9 +652,15 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
createContractRequest.setByFile(pdfFile);
|
||||
createContractRequest.setAppCode(MSG_CENTER_APP_CODE);
|
||||
createContractRequest.setBizCode(String.valueOf(visa.getId()));
|
||||
|
||||
List<BpmnTaskDelegateAssigner> mergedList = stampUserMap.values().stream()
|
||||
.flatMap(Collection::stream)
|
||||
.collect(Collectors.toList());
|
||||
AssertUtil.notEmpty(mergedList, "无法创建签章合同,未找到签章用户");
|
||||
BpmnTaskDelegateAssigner assigner = mergedList.get(0);
|
||||
OperatorInfo creator = new OperatorInfo();
|
||||
creator.setOuId(req.getOperatorOuId());
|
||||
creator.setPersonId(req.getOperatorPersonId());
|
||||
creator.setOuId(Long.valueOf(assigner.getOuId()));
|
||||
creator.setPersonId(Long.valueOf(assigner.getPersonId()));
|
||||
createContractRequest.setCreator(creator);
|
||||
|
||||
CreateContractByFileResponse contract = essGateway.createContract(createContractRequest);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user