feat(REQ-3581) - 调整发起用印的审批时传入给待办的参数
This commit is contained in:
parent
2e201c9296
commit
311ed6518d
@ -16,15 +16,19 @@ public interface VisaConstant {
|
||||
/**
|
||||
* 申请用印,针对单位创建的审批携带的 ouId
|
||||
*/
|
||||
String WORKFLOW_VAR_STAMP_OU_ID = "stamp_ou_id";
|
||||
String WORKFLOW_VAR_STAMP_OU_ID = "stampOuId";
|
||||
/**
|
||||
* 申请用印,针对单位的签章类型
|
||||
*/
|
||||
String WORKFLOW_VAR_STAMP_TYPE = "stamp_type";
|
||||
String WORKFLOW_VAR_STAMP_TYPE = "stampType";
|
||||
/**
|
||||
* 申请用印,针对单位的签章位置
|
||||
*/
|
||||
String WORKFLOW_VAR_STAMP_RECIPIENT = "stamp_recipient";
|
||||
String WORKFLOW_VAR_STAMP_RECIPIENT = "stampRecipient";
|
||||
/**
|
||||
* 申请用印,合同 ID
|
||||
*/
|
||||
String WORKFLOW_VAR_STAMP_CONTRACT_ID = "stampContractId";
|
||||
|
||||
/**
|
||||
* 用于发送待办的变量名
|
||||
|
||||
@ -1,17 +1,20 @@
|
||||
package cn.axzo.nanopart.visa.server.rpc;
|
||||
|
||||
import cn.axzo.basics.common.util.AssertUtil;
|
||||
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.GetSealsRequest;
|
||||
import cn.axzo.nanopart.ess.api.request.SaveContractSnapshotRequest;
|
||||
import cn.axzo.nanopart.ess.api.response.CreateContractByFileResponse;
|
||||
import cn.axzo.pokonyan.util.RpcUtil;
|
||||
import cn.azxo.framework.common.logger.MethodAroundLog;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 腾讯电子签
|
||||
@ -26,15 +29,29 @@ public class EssGateway {
|
||||
|
||||
private final EssApi essApi;
|
||||
|
||||
@MethodAroundLog(target = "maokai", source = "nanopart", value = "创建电子签合同")
|
||||
public CreateContractByFileResponse createContract(CreateContractByFileRequest request) {
|
||||
return RpcUtil.rpcApiResultProcessor(() -> essApi.createContractByFile(request), "创建电子签合同", request);
|
||||
ApiResult<CreateContractByFileResponse> apiResult = essApi.createContractByFile(request);
|
||||
if (apiResult.isSuccess() && Objects.nonNull(apiResult.getData())) {
|
||||
return apiResult.getData();
|
||||
}
|
||||
AssertUtil.isTrue(apiResult.isSuccess(), apiResult.getMsg());
|
||||
return null;
|
||||
}
|
||||
|
||||
@MethodAroundLog(target = "maokai", source = "nanopart", value = "查询单位已启用的印章以及授权人员列表")
|
||||
public List<EssOrgAndSealInfo> getOrgEnabledSeals(GetSealsRequest request) {
|
||||
return RpcUtil.rpcApiResultProcessor(() -> essApi.getOrgEnabledSeals(request), "查询单位已启用的印章以及授权人员列表", request);
|
||||
ApiResult<List<EssOrgAndSealInfo>> apiResult = essApi.getOrgEnabledSeals(request);
|
||||
if (apiResult.isSuccess() && Objects.nonNull(apiResult.getData())) {
|
||||
return apiResult.getData();
|
||||
}
|
||||
AssertUtil.isTrue(apiResult.isSuccess(), apiResult.getMsg());
|
||||
return null;
|
||||
}
|
||||
|
||||
@MethodAroundLog(target = "maokai", source = "nanopart", value = "查询单位已启用的印章以及授权人员列表")
|
||||
public void saveContractSnapshot(SaveContractSnapshotRequest request) {
|
||||
RpcUtil.rpcApiResultProcessor(() -> essApi.saveContractSnapshot(request), "从腾讯电子签下载合同PDF文件", request);
|
||||
ApiResult<Void> apiResult = essApi.saveContractSnapshot(request);
|
||||
AssertUtil.isTrue(apiResult.isSuccess(), apiResult.getMsg());
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,6 +26,7 @@ import cn.axzo.nanopart.visa.api.enums.VisaButtonTypeEnum;
|
||||
import cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum;
|
||||
import cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum;
|
||||
import cn.axzo.nanopart.visa.api.enums.VisaRelationVarTypeEnum;
|
||||
import cn.axzo.nanopart.visa.api.enums.VisaStampStatusEnum;
|
||||
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
|
||||
import cn.axzo.nanopart.visa.api.request.ChangeRecordAppendAttachReq;
|
||||
import cn.axzo.nanopart.visa.api.request.ImGroupOperationClearReq;
|
||||
@ -100,6 +101,7 @@ import static cn.axzo.nanopart.visa.api.constant.VisaConstant.IM_GROUP_PARTICIPA
|
||||
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.IM_GROUP_PARTICIPATE_TIPS_OPERATED;
|
||||
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.MSG_CENTER_APP_CODE;
|
||||
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_PENDING_INITIATOR_NAME;
|
||||
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_STAMP_CONTRACT_ID;
|
||||
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_STAMP_OU_ID;
|
||||
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_STAMP_RECIPIENT;
|
||||
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_STAMP_TYPE;
|
||||
@ -462,6 +464,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void requestStamp(VisaRequestStampReq req) {
|
||||
AssertUtil.isTrue(Objects.nonNull(req.getOperatorOuId()) && Objects.nonNull(req.getOperatorPersonId()), "操作人信息不能为空");
|
||||
ChangeRecord visa = changeRecordService.getById(req.getVisaId());
|
||||
AssertUtil.notNull(visa, "变洽签单据不存在");
|
||||
|
||||
@ -604,6 +607,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
CreateContractByFileResponse contract = essGateway.createContract(createContractRequest);
|
||||
AssertUtil.notNull(contract, "腾讯电子签合同创建失败");
|
||||
visa.setContractId(contract.getEssContractId());
|
||||
visa.setStampStatus(VisaStampStatusEnum.WITH_PRINT);
|
||||
changeRecordService.updateById(visa);
|
||||
|
||||
Map<Long, String> essRecipientIdMap = new HashMap<>();
|
||||
@ -667,12 +671,15 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
AssertUtil.notNull(createReq, "未找到变洽签单据");
|
||||
|
||||
create.setStartFormVariables(visaHelper.buildStartFormVariables(createReq));
|
||||
create.setVariables(Maps.of(
|
||||
Map<String, Object> variables = Maps.of(
|
||||
IM_GROUP_BIZ_INFO_VISA_ID, visa.getId(),
|
||||
WORKFLOW_VAR_STAMP_OU_ID, model.getOuId(),
|
||||
WORKFLOW_VAR_STAMP_TYPE, model.getSealType().name(),
|
||||
WORKFLOW_VAR_STAMP_RECIPIENT, MapUtils.emptyIfNull(essRecipientIdMap).getOrDefault(model.getOuId(), "")
|
||||
));
|
||||
WORKFLOW_VAR_STAMP_RECIPIENT, MapUtils.emptyIfNull(essRecipientIdMap).getOrDefault(model.getOuId(), ""),
|
||||
WORKFLOW_VAR_STAMP_CONTRACT_ID, visa.getContractId()
|
||||
);
|
||||
create.setVariables(variables);
|
||||
create.setPendingVariables(variables);
|
||||
return workflowGateway.processInstanceCreate(create);
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user