From 9faf2a277fed27b40bbd523385c51cb8bd59c92b Mon Sep 17 00:00:00 2001 From: xudawei Date: Fri, 14 Feb 2025 18:23:11 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20(REQ-3300)=20=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E9=A1=B5=E6=8C=89=E9=92=AE=E6=94=BE=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../visa/api/response/VisaDetailByIdResponse.java | 13 +++++++++++-- .../server/controller/ChangeRecordController.java | 4 ++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/response/VisaDetailByIdResponse.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/response/VisaDetailByIdResponse.java index 3dec4078..6ad2d56f 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/response/VisaDetailByIdResponse.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/response/VisaDetailByIdResponse.java @@ -357,7 +357,12 @@ public class VisaDetailByIdResponse { if (CollectionUtils.isEmpty(professionalList)) { return Lists.newArrayList(); } - return professionalList; + + List filter = professionalList.stream().filter(item -> Objects.nonNull(item) && StringUtils.isNotBlank(item.getCode())).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(filter)) { + return Lists.newArrayList(); + } + return filter; } /** @@ -407,7 +412,11 @@ public class VisaDetailByIdResponse { if (CollectionUtils.isEmpty(relationAreaList)) { return Lists.newArrayList(); } - return relationAreaList; + List filter = relationAreaList.stream().filter(item -> Objects.nonNull(item) && Objects.nonNull(item.getAreaId())).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(filter)) { + return Lists.newArrayList(); + } + return filter; } public static List buildAreaWithId(JSONArray relationArea) { 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 73a78bfe..11e5c782 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 @@ -87,8 +87,8 @@ public class ChangeRecordController implements ChangeRecordApi { @Override public ApiResult visaDetailById(@RequestBody @Valid VisaDetailByIdRequest req) { VisaDetailByIdResponse resp = changeRecordService.detailById(req.getVisaId()); - resp.setBtnList(VisaButtonTypeEnum.all()); -// resp.setBtnList(changeRecordConfirmService.fetchBtnsByCondition(req.getVisaId(), req.getPersonId(), req.getOuId(), req.getWorkspaceId(), resp.getStatus())); +// resp.setBtnList(VisaButtonTypeEnum.all()); + resp.setBtnList(changeRecordConfirmService.fetchBtnsByCondition(req.getVisaId(), req.getPersonId(), req.getOuId(), req.getWorkspaceId(), resp.getStatus())); return ApiResult.ok(resp); } From ff35b74ef00d70df4eb0a770f232bc799a3c39f6 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 14 Feb 2025 18:36:51 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat(REQ-3300)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=AE=A1=E6=89=B9=E7=9A=84=E9=80=BB=E8=BE=91?= =?UTF-8?q?,=E4=BB=A5=E5=8F=8A=E5=AE=A1=E6=89=B9=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E5=90=8E=E7=9A=84=E4=B8=80=E4=BA=9B=E5=BC=82=E5=B8=B8=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mq/listener/workflow/BasicLogSupport.java | 7 ++++++- .../ProcessInstanceAllEventHandler.java | 6 +++++- .../task/ProcessTaskAllEventHandler.java | 6 ++++-- .../service/impl/ChangeRecordServiceImpl.java | 18 +++++++++++------- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/BasicLogSupport.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/BasicLogSupport.java index 7221f10f..16af4be1 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/BasicLogSupport.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/BasicLogSupport.java @@ -29,7 +29,7 @@ public abstract class BasicLogSupport { return buildLogUserInfo(oneUserInfo); } protected String buildLogUserInfo(OrgNodeUserBriefInfoResp user) { - String userInfo = ""; + String userInfo = ""; if (Objects.nonNull(user)) { userInfo = user.getRealName() + "(" + user.getJob().getName() + "-" + user.getOrganizationalUnitName() + ")"; } @@ -37,10 +37,15 @@ public abstract class BasicLogSupport { } protected OrgNodeUserBriefInfoResp getOneUserInfo(BpmnTaskDelegateAssigner assigner) { + if (Objects.isNull(assigner)) { + return null; + } List users = visaOrganizationalNodeUserGateway.listOrgNodeUsers(OrgNodeUserBriefInfoListReq.builder() .workspaceId(Long.valueOf(assigner.getTenantId())) .ouId(Long.valueOf(assigner.getOuId())) .personIds(Lists.newArrayList(Long.valueOf(assigner.getPersonId()))) + .needUnit(true) + .needJob(true) .build()); return CollectionUtils.isEmpty(users) ? null : users.get(0); } diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java index 2f4cc3ed..987f5057 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java @@ -173,11 +173,15 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P changeRecordRelationService.updateById(changeRecordRelation); }); + ChangeRecord visa = changeRecordService.getById(visaId); if (Objects.equals(resultEnum, BpmnProcessInstanceResultEnum.APPROVED)) { + changeRecordService.changeStatus(ChangeStatusRequest.builder() + .visaId(visaId) + .updateStatus(VisaStatusEnum.COMPLETED) + .build()); return; } // 回退到待提报或决策中 - ChangeRecord visa = changeRecordService.getById(visaId); changeRecordService.changeStatus(ChangeStatusRequest.builder() .visaId(visaId) .updateStatus(Objects.isNull(visa.getImGroupId()) ? VisaStatusEnum.REPORT_FROM_APPROVE : VisaStatusEnum.DECIDING_FROM_APPROVE) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/task/ProcessTaskAllEventHandler.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/task/ProcessTaskAllEventHandler.java index f97d7118..ed02988b 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/task/ProcessTaskAllEventHandler.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/task/ProcessTaskAllEventHandler.java @@ -10,6 +10,8 @@ import cn.axzo.workflow.common.model.response.mq.ProcessTaskDTO; import cn.axzo.workflow.starter.handler.ProcessTaskEventHandler; import org.springframework.stereotype.Component; +import java.util.Objects; + import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.APPROVED_AGRESS; import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.TRANSMIT_APPROVE; @@ -53,8 +55,8 @@ public class ProcessTaskAllEventHandler extends BasicLogSupport implements Proce ChangeRecordLog log = ChangeRecordLog.builder() .visaId(Long.valueOf(dto.getBusinessKey())) .action(dto.getType().getTag()) - .title(String.format(APPROVED_AGRESS.getTitle(), user.getRealName())) - .content(String.format(APPROVED_AGRESS.getContent(), buildLogUserInfo(user))) + .title(String.format(APPROVED_AGRESS.getTitle(), Objects.isNull(user) ? "" : user.getRealName())) + .content(String.format(APPROVED_AGRESS.getContent(), Objects.isNull(user) ? "系统自动通过" : buildLogUserInfo(user))) .build(); eventProducer.send(VisaChangeLogPayload.form(log)); } 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 75bfb1a3..6d8046b7 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 @@ -90,7 +90,6 @@ 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.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum; import cn.axzo.workflow.common.model.dto.CooperationOrgDTO; import cn.axzo.workflow.common.model.dto.UploadFieldDTO; import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbortDTO; @@ -154,6 +153,7 @@ import static cn.axzo.nanopart.visa.api.constant.VisaConstant.MSG_CENTER_APP_COD import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_PENDING_TOPIC; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_VISA_TYPE_KEY; import static cn.axzo.nanopart.visa.server.utils.Constants.DATE_FORMAT; +import static cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum.PROCESSING; /** * @author xudawei @@ -776,7 +776,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl Date: Sat, 15 Feb 2025 00:38:21 +0800 Subject: [PATCH 3/5] =?UTF-8?q?feat(REQ-3300)=20-=20=E7=BB=86=E5=8C=96?= =?UTF-8?q?=E5=8D=95=E6=8D=AE=E5=88=9B=E5=BB=BA=E6=B5=81=E7=A8=8B=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../visa/api/constant/VisaConstant.java | 8 +- .../service/impl/ChangeRecordServiceImpl.java | 84 ++++++++++++++++++- 2 files changed, 89 insertions(+), 3 deletions(-) diff --git a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/constant/VisaConstant.java b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/constant/VisaConstant.java index b761e8b7..481e9d7f 100644 --- a/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/constant/VisaConstant.java +++ b/visa/visa-api/src/main/java/cn/axzo/nanopart/visa/api/constant/VisaConstant.java @@ -45,8 +45,14 @@ public interface VisaConstant { String FORM_FIELD_REASON = "reason"; // 发生区域 String FORM_FIELD_RELATION_AREA = "relationArea"; - // 发生内容 + // 发生内容及说明 String FORM_FIELD_CONTEXT_DESCRIPTION = "contextDescription"; + String FORM_FIELD_CONTEXT = "context"; + String FORM_FIELD_DESCRIPTION = "description"; + // 相关单位和人员 + String FORM_FIELD_UNIT_PERSON = "unitPerson"; + String FORM_FIELD_UNIT = "unit"; + String FORM_FIELD_PERSON = "person"; // 变更金额 String FORM_FIELD_AMOUNT_CHANGE = "amountChange"; // 关联的任务单单据 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 6d8046b7..26f21fb2 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 @@ -6,6 +6,7 @@ import cn.axzo.apollo.workspace.api.workspace.res.GetDetailRes; import cn.axzo.apollo.workspace.api.workspace.res.ProjectBriefResp; import cn.axzo.apollo.workspace.api.workspace.res.ProjectDetailRes; import cn.axzo.basics.common.constant.enums.OrganizationalNodeTypeEnum; +import cn.axzo.basics.common.constant.enums.OrganizationalUnitTypeEnum; import cn.axzo.basics.common.util.AssertUtil; import cn.axzo.basics.common.util.NumberUtil; import cn.axzo.basics.profiles.dto.basic.PersonProfileDto; @@ -26,6 +27,7 @@ import cn.axzo.im.center.common.enums.AppTypeEnum; import cn.axzo.im.center.common.enums.GroupType; import cn.axzo.maokai.api.vo.request.CooperateShipQueryReq; import cn.axzo.maokai.api.vo.request.OrgNodeUserBriefInfoListReq; +import cn.axzo.maokai.api.vo.request.OrganizationalUnitQuery; import cn.axzo.maokai.api.vo.response.CooperateShipResp; import cn.axzo.maokai.api.vo.response.OrgNodeUserBriefInfoResp; import cn.axzo.maokai.api.vo.response.OrganizationalUnitVO; @@ -135,9 +137,12 @@ import java.util.stream.Collectors; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_AMOUNT_CHANGE; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_ATTACH; +import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_CONTEXT; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_CONTEXT_DESCRIPTION; +import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_DESCRIPTION; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_HAPPEN_TIME; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_NO; +import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_PERSON; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_REASON; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_RELATION_AREA; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_RELATION_PROFESSIONAL; @@ -146,6 +151,8 @@ import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_RELATIO import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_RELATION_TASK_ORDER; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_RELATION_VISA_ORDER; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_TOPIC; +import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_UNIT; +import static cn.axzo.nanopart.visa.api.constant.VisaConstant.FORM_FIELD_UNIT_PERSON; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.IM_GROUP_BIZ_INFO_INITIATOR_WORKSPACE_ID; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.IM_GROUP_BIZ_INFO_VISA_ID; import static cn.axzo.nanopart.visa.api.constant.VisaConstant.IM_GROUP_BIZ_INFO_VISA_TYPE; @@ -714,11 +721,13 @@ public class ChangeRecordServiceImpl extends ServiceImpl> buildUnitPerson(List list, Long workspaceId) { + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + List ouIds = list.stream().map(VisaChangeTempCreateReq.RelationUnitAndPerson::getOuId).distinct().collect(Collectors.toList()); + Map unitMap = organizationalUnitGateway.list(OrganizationalUnitQuery.builder().unitIds(ouIds).build()) + .stream().collect(Collectors.toMap(OrganizationalUnitVO::getId, Function.identity(), (s, t) -> s)); + + Map> unitGroupBy = list.stream().collect(Collectors.groupingBy(VisaChangeTempCreateReq.RelationUnitAndPerson::getOuId, Collectors.toList())); + List> unitPersons = new ArrayList<>(); + + unitGroupBy.forEach((unitId, persons) -> { + Map unitPerson = new HashMap<>(); + OrganizationalUnitVO unitVo = unitMap.get(unitId); + unitPerson.put(FORM_FIELD_UNIT, Objects.isNull(unitVo) ? "" : unitVo.getName() + "(" + OrganizationalUnitTypeEnum.getByType(unitVo.getType()).getDesc() + ")"); + List personInfos = getPersonInfos(workspaceId, unitId, persons); + unitPerson.put(FORM_FIELD_PERSON, buildPersonInfosStr(personInfos)); + unitPersons.add(unitPerson); + }); + + return unitPersons; + } + + private String buildPersonInfosStr(List personInfos) { + StringBuilder personInfosStr = new StringBuilder(); + if (CollectionUtils.isEmpty(personInfos)) { + return personInfosStr.toString(); + } + + for (OrgNodeUserDTO info : personInfos) { + if (personInfosStr.length() > 0) { + personInfosStr.append(","); + } + personInfosStr.append(info.getPersonProfile().getRealName()) + .append("-") + .append(info.getJob().getName()); + } + return personInfosStr.toString(); + } + + private List getPersonInfos(Long workspaceId, Long unitId, List persons) { + PageResp pageResp = visaOrganizationalNodeUserGateway.list(ListOrgNodeUserReq.builder() + .personIds(persons.stream().map(VisaChangeTempCreateReq.RelationUnitAndPerson::getPersonId).collect(Collectors.toList())) + .organizationalUnitId(unitId) + .workspaceId(workspaceId) + .needs(ListNodeUserReq.Needs.builder().job(true).personProfile(true).build()).build()); + if (Objects.isNull(pageResp) || CollectionUtils.isEmpty(pageResp.getData())) { + return Collections.emptyList(); + } + return pageResp.getData(); + } + + private List> buildContextDescription(List list) { + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + List> contextDescriptions = new ArrayList<>(); + list.forEach(i -> { + Map contextDescription = new HashMap<>(); + UploadFieldDTO uploadFieldDTO = new UploadFieldDTO(); + uploadFieldDTO.setFileKey(i.getFileKey()); + uploadFieldDTO.setFileName(i.getFileName()); + uploadFieldDTO.setFileUrl(i.getFileUrl()); + contextDescription.put(FORM_FIELD_CONTEXT, uploadFieldDTO); + contextDescription.put(FORM_FIELD_DESCRIPTION, i.getText()); + contextDescriptions.add(contextDescription); + }); + return contextDescriptions; + } + /** * 更新 * @@ -1381,6 +1460,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl Date: Sat, 15 Feb 2025 12:51:31 +0800 Subject: [PATCH 4/5] =?UTF-8?q?feat(REQ-3300)=20-=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E7=BB=93=E6=9E=9C=E7=9B=91=E5=90=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../process/ProcessInstanceAllEventHandler.java | 13 ++++++++++--- .../service/impl/ChangeRecordServiceImpl.java | 6 +++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java index 987f5057..2ed8dbff 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/mq/listener/workflow/process/ProcessInstanceAllEventHandler.java @@ -86,6 +86,7 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P String visaType = (String) dto.getVariables().getOrDefault(WORKFLOW_VAR_VISA_TYPE_KEY, ""); return StringUtils.hasText(visaType) ? VisaTypeEnum.valueOf(visaType).getDesc() : ""; } + @Override public void onCompleted(ProcessInstanceDTO dto) { String visaTypeDesc = parseVisaType(dto); @@ -157,15 +158,21 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P .eq(ChangeRecord::getIsDelete, 0) .oneOpt() .ifPresent(changeRecord -> { - changeRecord.setApprovalStatus(resultEnum.getStatus()); - changeRecord.setApprovalCompleteTime(new Date()); + if (Objects.equals(resultEnum, BpmnProcessInstanceResultEnum.APPROVED)) { + changeRecord.setApprovalStatus(resultEnum.getStatus()); + changeRecord.setApprovalCompleteTime(new Date()); + } else { + changeRecord.setApprovalId(""); + changeRecord.setApprovalStatus(""); + changeRecord.setApprovalCompleteTime(null); + } changeRecordService.updateById(changeRecord); }); // 更新关联表审批信息 changeRecordRelationService.lambdaQuery() .eq(ChangeRecordRelation::getVisaId, visaId) - .eq(ChangeRecordRelation::getVarName, PROCESS_INSTANCE.getCode()) + .eq(ChangeRecordRelation::getVarName, PROCESS_INSTANCE.name()) .eq(ChangeRecordRelation::getContent, dto.getProcessInstanceId()) .oneOpt() .ifPresent(changeRecordRelation -> { 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 26f21fb2..3bf809ed 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 @@ -733,9 +733,9 @@ public class ChangeRecordServiceImpl extends ServiceImpl 0) { - amountDesc = "增加" + req.getAmountChange().toPlainString() + "元"; + amountDesc = "增加" + req.getAmountChange().abs().toPlainString() + "元"; } else if (req.getAmountChange().compareTo(BigDecimal.ZERO) < 0) { - amountDesc = "减少" + req.getAmountChange().toPlainString() + "元"; + amountDesc = "减少" + req.getAmountChange().abs().toPlainString() + "元"; } formVariables.put(FORM_FIELD_AMOUNT_CHANGE, amountDesc); } @@ -861,7 +861,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl Date: Sat, 15 Feb 2025 18:11:47 +0800 Subject: [PATCH 5/5] =?UTF-8?q?feat(REQ-3300)=20-=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=AE=9E=E4=BD=93=E5=B1=9E=E6=80=A7=E7=9A=84=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/nanopart/visa/server/domain/ChangeRecord.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/domain/ChangeRecord.java b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/domain/ChangeRecord.java index 4004977d..61ae9886 100644 --- a/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/domain/ChangeRecord.java +++ b/visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/domain/ChangeRecord.java @@ -5,6 +5,7 @@ import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum; import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler; @@ -127,7 +128,7 @@ public class ChangeRecord extends BaseEntity { /** * 最终审批时间 */ - @TableField(value = "approval_complete_time") + @TableField(value = "approval_complete_time", updateStrategy = FieldStrategy.IGNORED) private Date approvalCompleteTime; /**