From aa448a8a9e743c669151fabac3dabcf0f03fed15 Mon Sep 17 00:00:00 2001 From: xs Date: Tue, 7 Apr 2026 17:14:29 +0800 Subject: [PATCH] =?UTF-8?q?1.4.2=E5=90=8E=E7=AB=AF=EF=BC=9A=20=20=20fix(?= =?UTF-8?q?=E5=B8=82=E5=9C=BA=E9=A2=84=E7=AE=97&=E5=BC=80=E7=A5=A8):?= =?UTF-8?q?=E5=B8=82=E5=9C=BA=E9=A2=84=E7=AE=97=E7=94=B3=E8=AF=B7=E5=92=8C?= =?UTF-8?q?=E5=BC=80=E7=A5=A8=E7=94=B3=E8=AF=B7=E5=A2=9E=E5=8A=A0=E7=BC=96?= =?UTF-8?q?=E5=8F=B7=E7=9A=84=E4=BF=9D=E5=AD=98=EF=BC=8C=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E6=B5=81=E7=9A=84=E4=B8=9A=E5=8A=A1=E7=BC=96=E7=A0=81=E6=8C=89?= =?UTF-8?q?=E7=85=A7=E6=AD=A4=E7=BC=96=E5=8F=B7=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/strategy/AbstractWorkflowService.java | 2 +- .../dromara/workflow/strategy/WorkflowStrategy.java | 2 ++ .../org/dromara/oa/erp/domain/ErpBudgetInfo.java | 7 ++++++- .../dromara/oa/erp/domain/bo/ErpBudgetInfoBo.java | 5 +++++ .../dromara/oa/erp/domain/vo/ErpBudgetInfoVo.java | 5 +++++ .../erp/service/impl/ErpBudgetInfoServiceImpl.java | 13 +++++++++++++ .../impl/ErpFinAccountInstallmentServiceImpl.java | 2 +- .../service/impl/ErpFinInvoiceInfoServiceImpl.java | 12 ++++++++++++ .../workflow/strategy/BudgetWorkflowStrategy.java | 6 ++++++ .../workflow/strategy/InvoiceWorkflowStrategy.java | 6 ++++++ 10 files changed, 57 insertions(+), 3 deletions(-) diff --git a/ruoyi-common/hwbm-common-workflow/src/main/java/org/dromara/workflow/strategy/AbstractWorkflowService.java b/ruoyi-common/hwbm-common-workflow/src/main/java/org/dromara/workflow/strategy/AbstractWorkflowService.java index e970e4b2..24cf67b5 100644 --- a/ruoyi-common/hwbm-common-workflow/src/main/java/org/dromara/workflow/strategy/AbstractWorkflowService.java +++ b/ruoyi-common/hwbm-common-workflow/src/main/java/org/dromara/workflow/strategy/AbstractWorkflowService.java @@ -30,7 +30,7 @@ public abstract class AbstractWorkflowService { startProcess.setBusinessId(strategy.getBusinessId(bo)); startProcess.setVariables(strategy.getVariables(bo)); FlowConfigEnum flowConfigEnum = strategy.getFlowConfig(bo); - startProcess.setFlowConfig(flowConfigEnum.getFlowCode(), flowConfigEnum.getBusinessTitle(), ""); + startProcess.setFlowConfig(flowConfigEnum.getFlowCode(), flowConfigEnum.getBusinessTitle(), strategy.getBusinessCode(bo)); boolean flagOne = this.doStartWorkflow(startProcess); if (!flagOne) { diff --git a/ruoyi-common/hwbm-common-workflow/src/main/java/org/dromara/workflow/strategy/WorkflowStrategy.java b/ruoyi-common/hwbm-common-workflow/src/main/java/org/dromara/workflow/strategy/WorkflowStrategy.java index f441f323..f69ebb60 100644 --- a/ruoyi-common/hwbm-common-workflow/src/main/java/org/dromara/workflow/strategy/WorkflowStrategy.java +++ b/ruoyi-common/hwbm-common-workflow/src/main/java/org/dromara/workflow/strategy/WorkflowStrategy.java @@ -15,6 +15,8 @@ public interface WorkflowStrategy { String getBusinessId(T bo); + String getBusinessCode(T bo); + Map getVariables(T bo); FlowConfigEnum getFlowConfig(T bo); diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetInfo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetInfo.java index 6134d415..266c0a07 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetInfo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/ErpBudgetInfo.java @@ -28,9 +28,14 @@ public class ErpBudgetInfo extends TenantEntity { /** * 预算ID */ - @TableId(value = "budget_id", type = IdType.AUTO) + @TableId(value = "budget_id", type = IdType.ASSIGN_ID) private Long budgetId; + /** + * 预算编号 + */ + private String budgetCode; + /** * 项目ID */ diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetInfoBo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetInfoBo.java index 53545e4d..8ff1b0b0 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetInfoBo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/bo/ErpBudgetInfoBo.java @@ -32,6 +32,11 @@ public class ErpBudgetInfoBo extends BaseEntity { @NotNull(message = "预算ID不能为空", groups = { EditGroup.class }) private Long budgetId; + /** + * 预算编号 + */ + private String budgetCode; + /** * 项目ID */ diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetInfoVo.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetInfoVo.java index 09708385..f855c206 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetInfoVo.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/domain/vo/ErpBudgetInfoVo.java @@ -36,6 +36,11 @@ public class ErpBudgetInfoVo implements Serializable { @ExcelProperty(value = "预算ID") private Long budgetId; + /** + * 预算编号 + */ + private String budgetCode; + /** * 项目ID */ diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpBudgetInfoServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpBudgetInfoServiceImpl.java index a805f714..e381977d 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpBudgetInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpBudgetInfoServiceImpl.java @@ -28,6 +28,7 @@ import org.dromara.oa.erp.mapper.*; import org.dromara.oa.excel.MarketProjectBudgetExcelExporter; import org.dromara.oa.excel.RdProjectBudgetExcelExporter; import org.dromara.oa.workflow.strategy.BudgetWorkflowStrategy; +import org.dromara.system.api.RemoteCodeRuleService; import org.dromara.workflow.api.RemoteWorkflowService; import org.dromara.workflow.api.domain.RemoteStartProcess; import org.dromara.workflow.enums.FlowConfigEnum; @@ -54,6 +55,8 @@ import java.util.function.Function; @Service public class ErpBudgetInfoServiceImpl extends AbstractWorkflowService implements IErpBudgetInfoService { + private static final String BUDGET_CODE_RULE = "1032"; + private final ErpBudgetInfoMapper baseMapper; private final ErpBudgetDetailMapper erpBudgetDetailMapper; @@ -98,6 +101,9 @@ public class ErpBudgetInfoServiceImpl extends AbstractWorkflowService getStrategy() { return new BudgetWorkflowStrategy(); @@ -276,8 +282,15 @@ public class ErpBudgetInfoServiceImpl extends AbstractWorkflowService 0; if (add.getProjectCategory().equals(ProjectCategoryEnum.MARKET.getCode()) diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpFinAccountInstallmentServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpFinAccountInstallmentServiceImpl.java index e763cff4..a0228e2e 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpFinAccountInstallmentServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpFinAccountInstallmentServiceImpl.java @@ -133,7 +133,7 @@ public class ErpFinAccountInstallmentServiceImpl implements IErpFinAccountInstal String code = remoteCodeRuleService.selectCodeRuleCode(ACCOUNT_INSTALLMENT_CODE_RULE); if (StringUtils.isBlank(code)) { - throw new ServiceException("生成项目计划编号失败"); + throw new ServiceException("生成回款编号失败"); } int successNum = 0; diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpFinInvoiceInfoServiceImpl.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpFinInvoiceInfoServiceImpl.java index eededea6..231d13c3 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpFinInvoiceInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/erp/service/impl/ErpFinInvoiceInfoServiceImpl.java @@ -21,6 +21,7 @@ import org.dromara.oa.erp.domain.vo.ErpFinInvoiceDetailVo; import org.dromara.oa.erp.mapper.ErpContractPaymentMethodMapper; import org.dromara.oa.erp.mapper.ErpFinInvoiceDetailMapper; import org.dromara.oa.workflow.strategy.InvoiceWorkflowStrategy; +import org.dromara.system.api.RemoteCodeRuleService; import org.dromara.workflow.api.RemoteWorkflowService; import org.dromara.workflow.api.domain.RemoteStartProcess; import org.dromara.workflow.strategy.AbstractWorkflowService; @@ -48,6 +49,8 @@ import java.util.concurrent.atomic.AtomicBoolean; @Service public class ErpFinInvoiceInfoServiceImpl extends AbstractWorkflowService implements IErpFinInvoiceInfoService { + private static final String INVOICE_CODE_RULE = "1030"; + private final ErpFinInvoiceInfoMapper baseMapper; private final ErpFinInvoiceDetailMapper erpFinInvoiceDetailMapper; @@ -58,6 +61,8 @@ public class ErpFinInvoiceInfoServiceImpl extends AbstractWorkflowService getStrategy() { @@ -145,8 +150,15 @@ public class ErpFinInvoiceInfoServiceImpl extends AbstractWorkflowService 0; if (flag) { List erpFinInvoiceDetailList = bo.getErpFinInvoiceDetailList(); diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/workflow/strategy/BudgetWorkflowStrategy.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/workflow/strategy/BudgetWorkflowStrategy.java index 6730752e..d9a59a0f 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/workflow/strategy/BudgetWorkflowStrategy.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/workflow/strategy/BudgetWorkflowStrategy.java @@ -25,11 +25,17 @@ public class BudgetWorkflowStrategy implements WorkflowStrategy return bo.getBudgetId().toString(); } + @Override + public String getBusinessCode(ErpBudgetInfoBo bo) { + return bo.getBudgetCode(); + } + @Override public Map getVariables(ErpBudgetInfoBo bo) { Map variables = new HashMap<>(); variables.put("projectId", bo.getProjectId()); variables.put("projectName", bo.getProjectName()); + variables.put("businessCode",bo.getBudgetCode()); return variables; } diff --git a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/workflow/strategy/InvoiceWorkflowStrategy.java b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/workflow/strategy/InvoiceWorkflowStrategy.java index 27210a90..72e14232 100644 --- a/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/workflow/strategy/InvoiceWorkflowStrategy.java +++ b/ruoyi-modules/ruoyi-oa/src/main/java/org/dromara/oa/workflow/strategy/InvoiceWorkflowStrategy.java @@ -26,10 +26,16 @@ public class InvoiceWorkflowStrategy implements WorkflowStrategy getVariables(ErpFinInvoiceInfoBo bo) { Map variables = new HashMap<>(); variables.put("invoiceId", bo.getInvoiceId()); + variables.put("invoiceCode",bo.getInvoiceCode()); variables.put("projectId", bo.getProjectId()); variables.put("projectName", bo.getProjectName()); variables.put("earlyFlag", bo.getEarlyFlag());