Merge remote-tracking branch 'origin/feature/REQ-3581' into feature/REQ-3581
This commit is contained in:
commit
6b28ccb7f7
@ -5,9 +5,11 @@ import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.nanopart.ess.api.EssApi;
|
||||
import cn.axzo.nanopart.ess.api.domain.EssOrgAndSealInfo;
|
||||
import cn.axzo.nanopart.ess.api.request.CreateContractByFileRequest;
|
||||
import cn.axzo.nanopart.ess.api.request.GetContractDetailByContractIdRequest;
|
||||
import cn.axzo.nanopart.ess.api.request.GetSealsRequest;
|
||||
import cn.axzo.nanopart.ess.api.request.SaveContractSnapshotRequest;
|
||||
import cn.axzo.nanopart.ess.api.response.CreateContractByFileResponse;
|
||||
import cn.axzo.nanopart.ess.api.response.GetContractDetailByContractIdResponse;
|
||||
import cn.azxo.framework.common.logger.MethodAroundLog;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -29,7 +31,7 @@ public class EssGateway {
|
||||
|
||||
private final EssApi essApi;
|
||||
|
||||
@MethodAroundLog(target = "maokai", source = "nanopart", value = "创建电子签合同")
|
||||
@MethodAroundLog(target = "nanopart.ess", source = "nanopart.visa", value = "创建电子签合同")
|
||||
public CreateContractByFileResponse createContract(CreateContractByFileRequest request) {
|
||||
ApiResult<CreateContractByFileResponse> apiResult = essApi.createContractByFile(request);
|
||||
if (apiResult.isSuccess() && Objects.nonNull(apiResult.getData())) {
|
||||
@ -39,7 +41,7 @@ public class EssGateway {
|
||||
return null;
|
||||
}
|
||||
|
||||
@MethodAroundLog(target = "maokai", source = "nanopart", value = "查询单位已启用的印章以及授权人员列表")
|
||||
@MethodAroundLog(target = "nanopart.ess", source = "nanopart.visa", value = "查询单位已启用的印章以及授权人员列表")
|
||||
public List<EssOrgAndSealInfo> getOrgEnabledSeals(GetSealsRequest request) {
|
||||
ApiResult<List<EssOrgAndSealInfo>> apiResult = essApi.getOrgEnabledSeals(request);
|
||||
if (apiResult.isSuccess() && Objects.nonNull(apiResult.getData())) {
|
||||
@ -49,9 +51,19 @@ public class EssGateway {
|
||||
return null;
|
||||
}
|
||||
|
||||
@MethodAroundLog(target = "maokai", source = "nanopart", value = "查询单位已启用的印章以及授权人员列表")
|
||||
@MethodAroundLog(target = "nanopart.ess", source = "nanopart.visa", value = "查询单位已启用的印章以及授权人员列表")
|
||||
public void saveContractSnapshot(SaveContractSnapshotRequest request) {
|
||||
ApiResult<Void> apiResult = essApi.saveContractSnapshot(request);
|
||||
AssertUtil.isTrue(apiResult.isSuccess(), apiResult.getMsg());
|
||||
}
|
||||
|
||||
@MethodAroundLog(target = "nanopart.ess", source = "nanopart.visa", value = "获取合同详情, 通过合同id")
|
||||
public GetContractDetailByContractIdResponse getContractByContractId(GetContractDetailByContractIdRequest request) {
|
||||
ApiResult<GetContractDetailByContractIdResponse> apiResult = essApi.getContractByContractId(request);
|
||||
if (apiResult.isSuccess() && Objects.nonNull(apiResult.getData())) {
|
||||
return apiResult.getData();
|
||||
}
|
||||
AssertUtil.isTrue(apiResult.isSuccess(), apiResult.getMsg());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -76,6 +76,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.collections4.MapUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.groovy.util.Maps;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -489,7 +490,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
// 移除上一次申请
|
||||
removeLastRequest(visa);
|
||||
// 创建电子签合同
|
||||
Map<Long, String> essRecipientIdMap = createContract(req, visa);
|
||||
Map<String, String> essRecipientIdMap = createContract(req, visa);
|
||||
|
||||
// 拉取单位类型
|
||||
Map<Long, String> ouTypeMap = listCooperateShipTypes(req, visa);
|
||||
@ -521,13 +522,14 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
return stamp;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if (Objects.nonNull(essRecipientIdMap)) {
|
||||
if (Objects.nonNull(essRecipientIdMap) && !StringUtils.hasText(visa.getContractId())) {
|
||||
// 记录单位与其在合同中的签章位置
|
||||
ChangeRecordRelation recipientRelation = new ChangeRecordRelation();
|
||||
recipientRelation.setVisaId(visa.getId());
|
||||
recipientRelation.setVarName(ESS_RECIPIENT_ID_MAP.name());
|
||||
recipientRelation.setVarType(VisaRelationVarTypeEnum.JSON.getType());
|
||||
recipientRelation.setContent(JSON.toJSONString(essRecipientIdMap));
|
||||
relations.add(recipientRelation);
|
||||
}
|
||||
|
||||
// 打印生成的 PDF 文件信息
|
||||
@ -544,12 +546,15 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
|
||||
saveBatch(relations);
|
||||
|
||||
insertLog(UpdateVisaChangeReq.builder()
|
||||
.visaId(visa.getId())
|
||||
.operatorId(req.getOperatorPersonId())
|
||||
.operatorName(req.getOperatorPersonName())
|
||||
.visaStampAction(REQUEST_STAMP)
|
||||
.build());
|
||||
if (!StringUtils.hasText(visa.getContractId())) {
|
||||
// 仅完全重新发起时,才记录日志
|
||||
insertLog(UpdateVisaChangeReq.builder()
|
||||
.visaId(visa.getId())
|
||||
.operatorId(req.getOperatorPersonId())
|
||||
.operatorName(req.getOperatorPersonName())
|
||||
.visaStampAction(REQUEST_STAMP)
|
||||
.build());
|
||||
}
|
||||
|
||||
visa.setAppliedStamp(true);
|
||||
changeRecordService.updateById(visa);
|
||||
@ -608,7 +613,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
if (StringUtils.hasText(visa.getContractId())) {
|
||||
return;
|
||||
}
|
||||
deleteByVisaId(visa.getId(), Lists.newArrayList(PRINT_PDF_FILE, PROCESS_INSTANCE_OF_ESS));
|
||||
deleteByVisaId(visa.getId(), Lists.newArrayList(PRINT_PDF_FILE, PROCESS_INSTANCE_OF_ESS, ESS_RECIPIENT_ID_MAP));
|
||||
}
|
||||
|
||||
private Map<Long, String> listCooperateShipTypes(VisaRequestStampReq req, ChangeRecord visa) {
|
||||
@ -618,9 +623,11 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
.build()).stream().collect(Collectors.toMap(CooperateShipResp::getOrganizationalUnitId, i -> SaasCooperateShipCooperateTypeEnum.getByCode(i.getCooperateType()).name()));
|
||||
}
|
||||
|
||||
private Map<Long, String> createContract(VisaRequestStampReq req, ChangeRecord visa) {
|
||||
private Map<String, String> createContract(VisaRequestStampReq req, ChangeRecord visa) {
|
||||
if (StringUtils.hasText(visa.getContractId())) {
|
||||
return null;
|
||||
List<ChangeRecordRelation> recipientIds = findByVisaAndVarName(visa.getId(), ESS_RECIPIENT_ID_MAP.name());
|
||||
AssertUtil.notEmpty(recipientIds, "未找到签章位置信息");
|
||||
return JSON.parseObject(recipientIds.get(0).getContent(), Map.class);
|
||||
}
|
||||
CreateContractByFileRequest createContractRequest = new CreateContractByFileRequest();
|
||||
CreateContractByFile pdfFile = new CreateContractByFile();
|
||||
@ -650,9 +657,9 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
visa.setStampStatus(VisaStampStatusEnum.WITH_PRINT);
|
||||
changeRecordService.updateById(visa);
|
||||
|
||||
Map<Long, String> essRecipientIdMap = new HashMap<>();
|
||||
Map<String, String> essRecipientIdMap = new HashMap<>();
|
||||
for (int i = 0; i < req.getRequestStamps().size(); i++) {
|
||||
essRecipientIdMap.put(req.getRequestStamps().get(i).getOuId(), contract.getEssRecipientIds().get(i));
|
||||
essRecipientIdMap.put(String.valueOf(req.getRequestStamps().get(i).getOuId()), contract.getEssRecipientIds().get(i));
|
||||
}
|
||||
return essRecipientIdMap;
|
||||
|
||||
@ -677,7 +684,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
private String createEssProcessInstance(VisaRequestStampReq.RequestStampModel model,
|
||||
ChangeRecord visa,
|
||||
VisaRequestStampReq req,
|
||||
Map<Long, String> essRecipientIdMap,
|
||||
Map<String, String> essRecipientIdMap,
|
||||
NodesByModelVO specifyAssigneeActivity, Map<Long, List<BpmnTaskDelegateAssigner>> stampUserMap) {
|
||||
List<GetWorkspaceDetailRes> workspaces = workspaceGateway.getWorkspace(GetWorkspaceDetailReq.builder()
|
||||
.organizationUnitId(model.getOuId())
|
||||
@ -724,7 +731,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
WORKFLOW_PENDING_INITIATOR_UNIT_NAME, unitInfo.getName(),
|
||||
WORKFLOW_VAR_STAMP_TYPE, model.getSealType().name(),
|
||||
WORKFLOW_PENDING_STAMP_TYPE_DESC, model.getSealType().getDescription(),
|
||||
WORKFLOW_VAR_STAMP_RECIPIENT, MapUtils.emptyIfNull(essRecipientIdMap).getOrDefault(model.getOuId(), ""),
|
||||
WORKFLOW_VAR_STAMP_RECIPIENT, MapUtils.emptyIfNull(essRecipientIdMap).getOrDefault(String.valueOf(model.getOuId()), ""),
|
||||
WORKFLOW_VAR_STAMP_CONTRACT_ID, visa.getContractId(),
|
||||
WORKFLOW_PENDING_PDF_FILE_URL, req.getPdfFile().getFileUrl()
|
||||
);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user