Merge remote-tracking branch 'origin/feature/REQ-3581' into feature/REQ-3581

This commit is contained in:
yanglin 2025-02-25 10:39:01 +08:00
commit a204e78238
3 changed files with 30 additions and 16 deletions

View File

@ -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;

View File

@ -33,7 +33,6 @@ public class VisaRequestStampReq {
/**
* 变洽签打印 PDF 附件信息
*/
@NotNull(message = "PDF附件信息不能为空")
private UploadFieldDTO pdfFile;
/**

View File

@ -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 {