From 26255e8fddc5146ac07e19ad6b13325db690c91c Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Thu, 20 Feb 2025 17:23:52 +0800 Subject: [PATCH 1/7] =?UTF-8?q?feat(REQ-3300)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=8F=91=E8=B5=B7=E5=B7=A5=E4=BD=9C=E6=B5=81=E7=9A=84=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E4=BF=A1=E6=81=AF=E6=8B=BC=E6=8E=A5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../visa/api/changerecord/ChangeRecordApi.java | 8 ++++++++ .../controller/ChangeRecordController.java | 6 ++++++ .../server/service/ChangeRecordService.java | 1 + .../service/impl/ChangeRecordServiceImpl.java | 17 ++++++++++++----- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordApi.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordApi.java index fadb3718..0cbec102 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordApi.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordApi.java @@ -173,4 +173,12 @@ public interface ChangeRecordApi { */ @PostMapping("/api/visa/change/list") ApiPageResult list(@RequestBody @Validated VisaSearchReq req); + + /** + * test + * + * @return + */ + @PostMapping("/api/test") + ApiResult test(); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordController.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordController.java index 3d16ecc4..e96c75ba 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordController.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordController.java @@ -180,4 +180,10 @@ public class ChangeRecordController implements ChangeRecordApi { public ApiResult> getBillIfRelated(GetBillIfRelatedReq req) { return ApiResult.ok(changeRecordBillService.getBillIfRelated(req)); } + + @Override + public ApiResult test() { + changeRecordService.test(); + return ApiResult.ok(); + } } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java index cf46aa92..2164df81 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java @@ -134,4 +134,5 @@ public interface ChangeRecordService extends IService { */ PageData list(VisaSearchReq req); + void test(); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java index da06caa5..125ae6f8 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java @@ -736,9 +736,10 @@ public class ChangeRecordServiceImpl extends ServiceImpl visaUploadFiles) { @@ -879,6 +880,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl> maps = buildUnitPerson(createReq.getRelationUnitAndPersonList(), createReq.getRelationWorkspaceId()); + log.info("result: {}", JSON.toJSONString(maps)); + } } From 192b15f11ac646f544563008aa09dea5c10e2e7f Mon Sep 17 00:00:00 2001 From: xudawei Date: Thu, 20 Feb 2025 17:29:05 +0800 Subject: [PATCH 2/7] =?UTF-8?q?feat:=20(REQ-3300)=20=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E5=8A=A0=E4=B8=8A=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/service/ChangeRecordService.java | 11 +++++++++++ .../visa/server/service/VisaHelper.java | 18 +++++++++++++++++- .../service/impl/ChangeRecordServiceImpl.java | 11 ++++++++++- 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java index cf46aa92..93630cde 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java @@ -19,6 +19,7 @@ import cn.axzo.nanopart.visa.api.response.VisaChangePageSearchResp; import cn.axzo.nanopart.visa.api.response.VisaDetailByIdResponse; import cn.axzo.nanopart.visa.api.response.VisaSearchResp; import cn.axzo.nanopart.visa.server.domain.ChangeRecord; +import cn.axzo.nanopart.visa.server.domain.ChangeRecordRelation; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -56,6 +57,16 @@ public interface ChangeRecordService extends IService { */ VisaDetailByIdResponse detailById(Long visaId); + /** + * 附件对象转换 + */ + List buildAttachUploadFileByRelation(List attachList); + + /** + * 构建上传文件对象集合 + */ + List buildAttachUploadFile(Long visaId); + /** * 创建变更签证 * diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java index 216a0e94..e089d529 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java @@ -2,6 +2,7 @@ package cn.axzo.nanopart.visa.server.service; import cn.axzo.nanopart.visa.api.enums.VisaButtonTypeEnum; import cn.axzo.nanopart.visa.api.enums.VisaConfirmBizTypeEnum; +import cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum; import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum; import cn.axzo.nanopart.visa.api.request.ChangeStatusRequest; import cn.axzo.nanopart.visa.api.response.VisaDetailByIdResponse; @@ -86,7 +87,22 @@ public class VisaHelper { // 由[决策中|执行中] -> [审批中] 执行变更签证属性变更 if (Objects.nonNull(oldContext.getStatus()) && Objects.nonNull(newContext.getStatus()) && VisaStatusEnum.isEditForm(oldContext.getStatus()) - && newContext.getStatus().equals(VisaStatusEnum.APPROVING)) { + && VisaStatusEnum.isEditForm(newContext.getStatus())) { + + List oldUploadFiles = this.changeRecordService.buildAttachUploadFileByRelation(oldContext.getRelationList()); + List newUploadFiles = this.changeRecordService.buildAttachUploadFile(newContext.getChangeRecord().getId()); + + + changeRecordLogService.batchAddLog(newContext.getChangeRecord().getId(), VisaLogTypeEnum.EDIT_FORM, VisaLogParam.builder() + .personId(newContext.getPersonId()) + .ouId(newContext.getOuId()) + .workspaceId(newContext.getWorkspaceId()) + .newAmountChange(newContext.getChangeRecord().getAmountChange()) + .oldAmountChange(oldContext.getChangeRecord().getAmountChange()) + .uploadAttach(VisaLogParam.uploadAttachWithObject(newUploadFiles, oldUploadFiles)) + .deleteAttach(VisaLogParam.deleteAttachWithObject(oldUploadFiles, newUploadFiles)) + .build()); + logApiGateway.addLog(Constants.VISA_LOG_SNAPSHOT_SCENE , Constants.VISA_LOG_SNAPSHOT_LEVEL , Lists.newArrayList(Constants.VISA_LOG_SNAPSHOT_TAG_SNAPSHOT) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java index fbbc1eeb..1ed0ccdc 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java @@ -486,11 +486,20 @@ public class ChangeRecordServiceImpl extends ServiceImpl buildAttachUploadFile(Long visaId) { + @Override + public List buildAttachUploadFile(Long visaId) { if (Objects.isNull(visaId)) { return Lists.newArrayList(); } List attachList = changeRecordRelationService.findByVisaAndVarName(visaId, VisaRelationFieldEnum.ATTACHMENT.name()); + return this.buildAttachUploadFileByRelation(attachList); + } + + /** + * 附件对象转换 + */ + @Override + public List buildAttachUploadFileByRelation(List attachList) { if (CollectionUtils.isEmpty(attachList)) { return Lists.newArrayList(); } From 9111961327a4336e60b5567a77c3986e59e49cab Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Thu, 20 Feb 2025 17:36:43 +0800 Subject: [PATCH 3/7] =?UTF-8?q?feat(REQ-3300)=20-=20=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E4=B8=80=E4=BA=9B=E6=97=A0=E7=94=A8=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nanopart/visa/api/changerecord/ChangeRecordApi.java | 7 ------- .../visa/server/controller/ChangeRecordController.java | 5 ----- .../nanopart/visa/server/service/ChangeRecordService.java | 1 - .../visa/server/service/impl/ChangeRecordServiceImpl.java | 6 ------ 4 files changed, 19 deletions(-) diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordApi.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordApi.java index 0cbec102..4d02ef5e 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordApi.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordApi.java @@ -174,11 +174,4 @@ public interface ChangeRecordApi { @PostMapping("/api/visa/change/list") ApiPageResult list(@RequestBody @Validated VisaSearchReq req); - /** - * test - * - * @return - */ - @PostMapping("/api/test") - ApiResult test(); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordController.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordController.java index e96c75ba..d126bd6c 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordController.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordController.java @@ -181,9 +181,4 @@ public class ChangeRecordController implements ChangeRecordApi { return ApiResult.ok(changeRecordBillService.getBillIfRelated(req)); } - @Override - public ApiResult test() { - changeRecordService.test(); - return ApiResult.ok(); - } } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java index dec391b5..93630cde 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordService.java @@ -145,5 +145,4 @@ public interface ChangeRecordService extends IService { */ PageData list(VisaSearchReq req); - void test(); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java index 4fcd2c2c..57e91114 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java @@ -1921,10 +1921,4 @@ public class ChangeRecordServiceImpl extends ServiceImpl> maps = buildUnitPerson(createReq.getRelationUnitAndPersonList(), createReq.getRelationWorkspaceId()); - log.info("result: {}", JSON.toJSONString(maps)); - } } From 7d1f1241c7531d378e9c908382db2fbda690a270 Mon Sep 17 00:00:00 2001 From: xudawei Date: Thu, 20 Feb 2025 18:42:34 +0800 Subject: [PATCH 4/7] =?UTF-8?q?feat:=20(REQ-3300)=20=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E4=BF=9D=E5=AD=98=E5=B0=8F=E6=95=B0=E7=82=B9?= =?UTF-8?q?=E5=90=8E2=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/nanopart/visa/server/service/VisaHelper.java | 8 ++++---- .../server/service/impl/ChangeRecordLogServiceImpl.java | 5 ++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java index e089d529..8eb1bf88 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/VisaHelper.java @@ -97,10 +97,10 @@ public class VisaHelper { .personId(newContext.getPersonId()) .ouId(newContext.getOuId()) .workspaceId(newContext.getWorkspaceId()) - .newAmountChange(newContext.getChangeRecord().getAmountChange()) - .oldAmountChange(oldContext.getChangeRecord().getAmountChange()) - .uploadAttach(VisaLogParam.uploadAttachWithObject(newUploadFiles, oldUploadFiles)) - .deleteAttach(VisaLogParam.deleteAttachWithObject(oldUploadFiles, newUploadFiles)) + .newAmountChange(newContext.getChangeRecord().getAmountChange()) + .oldAmountChange(oldContext.getChangeRecord().getAmountChange()) + .uploadAttach(VisaLogParam.uploadAttachWithObject(newUploadFiles, oldUploadFiles)) + .deleteAttach(VisaLogParam.deleteAttachWithObject(oldUploadFiles, newUploadFiles)) .build()); logApiGateway.addLog(Constants.VISA_LOG_SNAPSHOT_SCENE diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordLogServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordLogServiceImpl.java index c8b15987..6a1c55ef 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordLogServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordLogServiceImpl.java @@ -16,6 +16,7 @@ import cn.axzo.nanopart.visa.server.utils.Constants; import cn.axzo.orggateway.api.nodeuser.dto.OrgNodeUserDTO; import cn.axzo.orggateway.api.nodeuser.req.ListOrgNodeUserReq; import cn.axzo.orgmanax.dto.nodeuser.req.ListNodeUserReq; +import cn.hutool.core.util.NumberUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; @@ -114,7 +115,9 @@ public class ChangeRecordLogServiceImpl extends ServiceImpl Date: Thu, 20 Feb 2025 19:02:01 +0800 Subject: [PATCH 5/7] =?UTF-8?q?feat(REQ-3300)=20-=20=E8=B0=83=E6=95=B4=20I?= =?UTF-8?q?M=20=E7=BE=A4=E5=86=85=E6=B5=AE=E6=9D=A1=E7=9A=84=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/service/impl/ChangeRecordRelationServiceImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java index 04cd4f59..0029ae3a 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java @@ -217,6 +217,11 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl Date: Thu, 20 Feb 2025 22:56:59 +0800 Subject: [PATCH 6/7] =?UTF-8?q?feat(REQ-3581)=20-=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=94=A8=E5=8D=B0=E7=94=B3=E8=AF=B7=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- visa/visa-api/pom.xml | 5 ++ .../changerecord/ChangeRecordRelationApi.java | 9 +++ .../visa/api/enums/VisaRelationFieldEnum.java | 1 + .../visa/api/request/VisaRequestStampReq.java | 79 +++++++++++++++++++ .../response/VisaChangePageSearchResp.java | 4 + .../ChangeRecordRelationController.java | 7 ++ .../service/ChangeRecordRelationService.java | 7 ++ .../impl/ChangeRecordRelationServiceImpl.java | 51 ++++++++++++ 8 files changed, 163 insertions(+) create mode 100644 visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/VisaRequestStampReq.java diff --git a/visa/visa-api/pom.xml b/visa/visa-api/pom.xml index f61c301c..ff6ba36d 100644 --- a/visa/visa-api/pom.xml +++ b/visa/visa-api/pom.xml @@ -45,6 +45,11 @@ workflow-engine-common ${workflow-engine.version} + + cn.axzo.nanopart + ess-api + ${project.version} + diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordRelationApi.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordRelationApi.java index e6f09f10..c4b03bd8 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordRelationApi.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/changerecord/ChangeRecordRelationApi.java @@ -5,6 +5,7 @@ import cn.axzo.nanopart.visa.api.request.ChangeRecordAppendAttachReq; import cn.axzo.nanopart.visa.api.request.ImGroupOperationReq; import cn.axzo.nanopart.visa.api.request.ImGroupTipsQueryReq; import cn.axzo.nanopart.visa.api.request.VisaRelationReq; +import cn.axzo.nanopart.visa.api.request.VisaRequestStampReq; import cn.axzo.nanopart.visa.api.response.ImGroupTipsResp; import cn.axzo.nanopart.visa.api.response.VisaRelationResp; import org.springframework.cloud.openfeign.FeignClient; @@ -39,4 +40,12 @@ public interface ChangeRecordRelationApi { */ @PostMapping("/api/visa/relation/attach/append") ApiResult appendAttachment(@Validated @RequestBody ChangeRecordAppendAttachReq req); + + /** + * 用印申请提交 + * @param req + * @return + */ + @PostMapping("/api/visa/stamp/request") + ApiResult requestStamp(@Validated @RequestBody VisaRequestStampReq req); } diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/enums/VisaRelationFieldEnum.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/enums/VisaRelationFieldEnum.java index c05d9322..b34209ad 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/enums/VisaRelationFieldEnum.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/enums/VisaRelationFieldEnum.java @@ -24,6 +24,7 @@ public enum VisaRelationFieldEnum { PROCESS_INSTANCE_OF_ESS("process_instance_of_ess", "用印审批实例"), ORDER("order", "单据"), IM_GROUP_PARTICIPATE("im_group_participate", "im群聊参与人"), + PRINT_PDF_FILE("print_pdf_file", "打印生成的PDF文件"), ; private final String code; private final String desc; diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/VisaRequestStampReq.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/VisaRequestStampReq.java new file mode 100644 index 00000000..540638a5 --- /dev/null +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/VisaRequestStampReq.java @@ -0,0 +1,79 @@ +package cn.axzo.nanopart.visa.api.request; + +import cn.axzo.nanopart.ess.api.enums.EssSealType; +import cn.axzo.workflow.common.model.dto.UploadFieldDTO; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.Valid; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 用印申请入参模型 + * + * @author wangli + * @since 2025-02-20 22:10 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class VisaRequestStampReq { + + /** + * 变洽签单据 ID + */ + @NotNull(message = "变洽签单据 ID 不能为空") + private Long visaId; + + /** + * 变洽签打印 PDF 附件信息 + */ + @NotNull(message = "PDF附件信息不能为空") + private UploadFieldDTO pdfFile; + + /** + * 各单位申请印章信息 + */ + @Valid + @NotEmpty(message = "申请用印单位不能为空") + private List requestStamps; + + @NotNull(message = "操作人 personId 不能为空") + private Long operatorPersonId; + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class RequestStampModel { + + /** + * 单位 ID + */ + @NotNull(message = "单位 ID 不能为空") + private Long ouId; + + /** + * 印章类型 + *

+ * OFFICIAL("公章"), + * CONTRACT("合同专用章"), + * FINANCE("财务专用章"), + * PERSONNEL("人事专用章"), + * INVOICE("发票专用章"), + * LEGAL_PERSON_SEAL("法定代表人章"), + * OTHER("其他"); + */ + @NotNull(message = "印章类型不能为空") + private EssSealType sealType; + + /** + * 审批实例 ID,前端不关心 + */ + private String processInstanceId; + } +} diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/response/VisaChangePageSearchResp.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/response/VisaChangePageSearchResp.java index bf04fc09..e5577610 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/response/VisaChangePageSearchResp.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/response/VisaChangePageSearchResp.java @@ -57,6 +57,10 @@ public class VisaChangePageSearchResp { */ private Date happenTime; + /** + * 审批实例 ID + */ + private String approvalId; /** * 最终审批时间 diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordRelationController.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordRelationController.java index ef800c87..e6c6f3a9 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordRelationController.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/controller/ChangeRecordRelationController.java @@ -6,6 +6,7 @@ import cn.axzo.nanopart.visa.api.request.ChangeRecordAppendAttachReq; import cn.axzo.nanopart.visa.api.request.ImGroupOperationReq; import cn.axzo.nanopart.visa.api.request.ImGroupTipsQueryReq; import cn.axzo.nanopart.visa.api.request.VisaRelationReq; +import cn.axzo.nanopart.visa.api.request.VisaRequestStampReq; import cn.axzo.nanopart.visa.api.response.ImGroupTipsResp; import cn.axzo.nanopart.visa.api.response.VisaRelationResp; import cn.axzo.nanopart.visa.server.domain.ChangeRecordRelation; @@ -70,4 +71,10 @@ public class ChangeRecordRelationController implements ChangeRecordRelationApi { changeRecordRelationService.appendAttachment(req); return ApiResult.ok(); } + + @Override + public ApiResult requestStamp(VisaRequestStampReq req) { + changeRecordRelationService.requestStamp(req); + return ApiResult.ok(); + } } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordRelationService.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordRelationService.java index b0cb25c9..8cb6a9d7 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordRelationService.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/ChangeRecordRelationService.java @@ -6,6 +6,7 @@ import cn.axzo.nanopart.visa.api.request.ImGroupOperationClearReq; import cn.axzo.nanopart.visa.api.request.ImGroupOperationReq; import cn.axzo.nanopart.visa.api.request.ImGroupTipsQueryReq; import cn.axzo.nanopart.visa.api.request.VisaChangeTempCreateReq; +import cn.axzo.nanopart.visa.api.request.VisaRequestStampReq; import cn.axzo.nanopart.visa.api.response.ImGroupTipsResp; import cn.axzo.nanopart.visa.server.domain.ChangeRecord; import cn.axzo.nanopart.visa.server.domain.ChangeRecordRelation; @@ -67,4 +68,10 @@ public interface ChangeRecordRelationService extends IService ids); + + /** + * 用印申请 + * @param req + */ + void requestStamp(VisaRequestStampReq req); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java index e510240c..9afaee37 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java @@ -16,6 +16,7 @@ import cn.axzo.nanopart.visa.api.request.ImGroupOperationClearReq; import cn.axzo.nanopart.visa.api.request.ImGroupOperationReq; import cn.axzo.nanopart.visa.api.request.ImGroupTipsQueryReq; import cn.axzo.nanopart.visa.api.request.VisaChangeTempCreateReq; +import cn.axzo.nanopart.visa.api.request.VisaRequestStampReq; import cn.axzo.nanopart.visa.api.response.ImGroupButton; import cn.axzo.nanopart.visa.api.response.ImGroupTipsResp; import cn.axzo.nanopart.visa.server.domain.ChangeRecord; @@ -27,6 +28,9 @@ import cn.axzo.nanopart.visa.server.rpc.VisaProfileGateway; import cn.axzo.nanopart.visa.server.rpc.WorkflowGateway; import cn.axzo.nanopart.visa.server.service.ChangeRecordRelationService; import cn.axzo.nanopart.visa.server.service.ChangeRecordService; +import cn.axzo.workflow.common.model.dto.CooperationOrgDTO; +import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCreateDTO; +import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner; import cn.axzo.workflow.common.model.request.form.instance.FormVariablesUpdateDTO; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -53,6 +57,8 @@ import static cn.axzo.nanopart.visa.api.constant.VisaConstant.IM_GROUP_BIZ_INFO_ import static cn.axzo.nanopart.visa.api.constant.VisaConstant.IM_GROUP_OWNER_TIPS; 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.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; /** @@ -360,4 +366,49 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl relations = req.getRequestStamps().stream().map(i -> { + ChangeRecordRelation stamp = new ChangeRecordRelation(); + stamp.setVisaId(req.getVisaId()); + stamp.setVarName(PROCESS_INSTANCE_OF_ESS.name()); + stamp.setVarType(VisaRelationVarTypeEnum.JSON.getType()); + // 发起用印的审批 + i.setProcessInstanceId(createEssProcessInstance(i, visa)); + stamp.setContent(JSON.toJSONString(i)); + stamp.setCreateBy(req.getOperatorPersonId()); + stamp.setUpdateBy(req.getOperatorPersonId()); + return stamp; + }).collect(Collectors.toList()); + + 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); + + } + + private String createEssProcessInstance(VisaRequestStampReq.RequestStampModel model, ChangeRecord visa) { + BpmnProcessInstanceCreateDTO create = new BpmnProcessInstanceCreateDTO(); + create.setBusinessKey(String.valueOf(model.getOuId())); + // TODO + create.setSpecifyAssignerMap(Maps.of("", Lists.newArrayList())); + create.setTenantId(String.valueOf(visa.getRelationWorkspaceId())); + create.setProcessDefinitionKey(""); + create.setInitiator(BpmnTaskDelegateAssigner.builder() + // TODO + .build()); + create.setCooperationOrg(new CooperationOrgDTO()); + return workflowGateway.processInstanceCreate(create); + } } From 73b787fe9e69161d6d7be1ac18c0d52120bd1802 Mon Sep 17 00:00:00 2001 From: xudawei Date: Fri, 21 Feb 2025 09:40:56 +0800 Subject: [PATCH 7/7] =?UTF-8?q?feat:=20(REQ-3300)=20=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E9=99=84=E4=BB=B6=E5=8A=A0=E4=B8=8A=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/ChangeRecordAppendAttachReq.java | 2 ++ .../impl/ChangeRecordRelationServiceImpl.java | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/ChangeRecordAppendAttachReq.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/ChangeRecordAppendAttachReq.java index 5e82d694..6949d3b3 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/ChangeRecordAppendAttachReq.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/request/ChangeRecordAppendAttachReq.java @@ -36,4 +36,6 @@ public class ChangeRecordAppendAttachReq { private Long operatorOuId; + private Long operatorWorkspaceId; + } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java index 04cd4f59..4821eb37 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordRelationServiceImpl.java @@ -8,6 +8,7 @@ import cn.axzo.im.center.api.vo.PersonAccountAttribute; import cn.axzo.im.center.api.vo.req.SendChatMessageRequest; import cn.axzo.im.center.common.enums.AppTypeEnum; 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.VisaStatusEnum; @@ -20,11 +21,13 @@ import cn.axzo.nanopart.visa.api.response.ImGroupButton; import cn.axzo.nanopart.visa.api.response.ImGroupTipsResp; import cn.axzo.nanopart.visa.server.domain.ChangeRecord; import cn.axzo.nanopart.visa.server.domain.ChangeRecordRelation; +import cn.axzo.nanopart.visa.server.dto.VisaLogParam; import cn.axzo.nanopart.visa.server.dto.VisaRelationDto; import cn.axzo.nanopart.visa.server.mapper.ChangeRecordRelationDao; import cn.axzo.nanopart.visa.server.rpc.MsgCenterGateway; import cn.axzo.nanopart.visa.server.rpc.VisaProfileGateway; import cn.axzo.nanopart.visa.server.rpc.WorkflowGateway; +import cn.axzo.nanopart.visa.server.service.ChangeRecordLogService; import cn.axzo.nanopart.visa.server.service.ChangeRecordRelationService; import cn.axzo.nanopart.visa.server.service.ChangeRecordService; import cn.axzo.workflow.common.model.request.form.instance.FormVariablesUpdateDTO; @@ -68,6 +71,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl uploadAttachFileNameList = req.getAttach().stream().map(item -> item.getFileName()).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(uploadAttachFileNameList)) { + changeRecordLogService.batchAddLog(req.getVisaId(), VisaLogTypeEnum.UPLOAD_FILE + , VisaLogParam.builder().personId(req.getOperatorPersonId()) + .ouId(req.getOperatorOuId()) + .workspaceId(req.getOperatorWorkspaceId()) + .uploadAttach(uploadAttachFileNameList).build()); + } + + } + + }