feat(REQ-3300) - 完善申请用印逻辑
This commit is contained in:
parent
b22255a078
commit
e805a9019a
@ -25,6 +25,7 @@ public enum VisaRelationFieldEnum {
|
||||
ORDER("order", "单据"),
|
||||
IM_GROUP_PARTICIPATE("im_group_participate", "im群聊参与人"),
|
||||
PRINT_PDF_FILE("print_pdf_file", "打印生成的PDF文件"),
|
||||
ESS_RECIPIENT_ID_MAP("ess_recipient_id_map", "电子签章单位与签证位置的映射"),
|
||||
;
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
@ -33,7 +33,6 @@ public class VisaRequestStampReq {
|
||||
/**
|
||||
* 变洽签打印 PDF 附件信息
|
||||
*/
|
||||
@NotNull(message = "PDF附件信息不能为空")
|
||||
private UploadFieldDTO pdfFile;
|
||||
|
||||
/**
|
||||
|
||||
@ -11,6 +11,7 @@ import cn.axzo.nanopart.ess.api.domain.CreateContractByFile;
|
||||
import cn.axzo.nanopart.ess.api.domain.OperatorInfo;
|
||||
import cn.axzo.nanopart.ess.api.domain.contract.Approver;
|
||||
import cn.axzo.nanopart.ess.api.request.CreateContractByFileRequest;
|
||||
import cn.axzo.nanopart.ess.api.response.CreateContractByFileResponse;
|
||||
import cn.axzo.nanopart.visa.api.enums.VisaButtonTypeEnum;
|
||||
import cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum;
|
||||
import cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum;
|
||||
@ -62,6 +63,7 @@ import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Base64;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
@ -74,6 +76,7 @@ import static cn.axzo.nanopart.visa.api.constant.VisaConstant.IM_GROUP_OWNER_TIP
|
||||
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.IM_GROUP_PARTICIPATE_TIPS;
|
||||
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.enums.VisaRelationFieldEnum.ESS_RECIPIENT_ID_MAP;
|
||||
import static cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum.PRINT_PDF_FILE;
|
||||
import static cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum.PROCESS_INSTANCE_OF_ESS;
|
||||
import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.PROCESSING;
|
||||
@ -388,10 +391,11 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
|
||||
/**
|
||||
* 单独上传附件-追加操作日志
|
||||
* @param attach 上传附件信息
|
||||
* @param visaId 变更签证Id
|
||||
* @param personId 人员Id
|
||||
* @param ouId 单位id
|
||||
*
|
||||
* @param attach 上传附件信息
|
||||
* @param visaId 变更签证Id
|
||||
* @param personId 人员Id
|
||||
* @param ouId 单位id
|
||||
* @param workspaceId 项目Id
|
||||
*/
|
||||
private void addLogWhenAttachAppend(List<UploadFieldDTO> attach, Long visaId, Long personId, Long ouId, Long workspaceId) {
|
||||
@ -442,15 +446,16 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
// 打印生成的 PDF 文件信息
|
||||
ChangeRecordRelation relation = new ChangeRecordRelation();
|
||||
relation.setVisaId(req.getVisaId());
|
||||
relation.setVarName(PRINT_PDF_FILE.name());
|
||||
relation.setVarType(VisaRelationVarTypeEnum.JSON.getType());
|
||||
relation.setContent(JSON.toJSONString(req.getPdfFile()));
|
||||
relation.setCreateBy(req.getOperatorPersonId());
|
||||
relation.setUpdateBy(req.getOperatorPersonId());
|
||||
relations.add(relation);
|
||||
saveBatch(relations);
|
||||
if (Objects.nonNull(req.getPdfFile())) {
|
||||
ChangeRecordRelation relation = new ChangeRecordRelation();
|
||||
relation.setVisaId(req.getVisaId());
|
||||
relation.setVarName(PRINT_PDF_FILE.name());
|
||||
relation.setVarType(VisaRelationVarTypeEnum.JSON.getType());
|
||||
relation.setContent(JSON.toJSONString(req.getPdfFile()));
|
||||
relation.setCreateBy(req.getOperatorPersonId());
|
||||
relation.setUpdateBy(req.getOperatorPersonId());
|
||||
relations.add(relation);
|
||||
}
|
||||
|
||||
CreateContractByFileRequest createContractRequest = new CreateContractByFileRequest();
|
||||
CreateContractByFile pdfFile = new CreateContractByFile();
|
||||
@ -467,7 +472,6 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
}).collect(Collectors.toList()));
|
||||
|
||||
createContractRequest.setByFile(pdfFile);
|
||||
// TODO
|
||||
createContractRequest.setAppCode(MSG_CENTER_APP_CODE);
|
||||
createContractRequest.setBizCode(String.valueOf(visa.getId()));
|
||||
OperatorInfo creator = new OperatorInfo();
|
||||
@ -475,8 +479,18 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
|
||||
creator.setPersonId(req.getOperatorPersonId());
|
||||
createContractRequest.setCreator(creator);
|
||||
|
||||
essGateway.createContract(createContractRequest);
|
||||
CreateContractByFileResponse contract = essGateway.createContract(createContractRequest);
|
||||
AssertUtil.notNull(contract, "腾讯电子签合同创建失败");
|
||||
visa.setContractId(contract.getEssContractId());
|
||||
changeRecordService.updateById(visa);
|
||||
|
||||
ChangeRecordRelation recipientRelation = new ChangeRecordRelation();
|
||||
Map<Long, String> essRecipientIdMap = new HashMap<>();
|
||||
recipientRelation.setVisaId(visa.getId());
|
||||
recipientRelation.setVarName(ESS_RECIPIENT_ID_MAP.name());
|
||||
recipientRelation.setVarType(VisaRelationVarTypeEnum.JSON.getType());
|
||||
recipientRelation.setContent(JSON.toJSONString(essRecipientIdMap));
|
||||
saveBatch(relations);
|
||||
}
|
||||
|
||||
public static String downloadFileAndConvertToBase64(String fileUrl) throws IOException {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user