From eea4d93ae1c339ebe00c55bd51c335e9deed6f13 Mon Sep 17 00:00:00 2001 From: songqq Date: Thu, 16 Oct 2025 18:25:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=B5=84=E9=87=91=E8=AE=A1=E5=88=92):=20?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=B5=84=E9=87=91=E8=AE=A1=E5=88=92=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=B9=B6=E4=BC=98=E5=8C=96=E7=95=8C=E9=9D=A2=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在ProjectFundPlanService中添加payWay和payDate字段映射 - 为资金计划添加项目关联处理 - 优化付款计划表格的列名和显示 - 重构ProjectTabSkinFundPlan的service获取逻辑 --- .../project/ProjectTabSkinFundPlan.java | 32 ++++++------------- .../project/ProjectWindowController.java | 1 + .../ui/contract/contract-tab-pay-plan.fxml | 8 ++--- .../service/ProjectFundPlanService.java | 9 ++++++ 4 files changed, 24 insertions(+), 26 deletions(-) diff --git a/client/src/main/java/com/ecep/contract/controller/project/ProjectTabSkinFundPlan.java b/client/src/main/java/com/ecep/contract/controller/project/ProjectTabSkinFundPlan.java index abb578b..e154c94 100644 --- a/client/src/main/java/com/ecep/contract/controller/project/ProjectTabSkinFundPlan.java +++ b/client/src/main/java/com/ecep/contract/controller/project/ProjectTabSkinFundPlan.java @@ -1,14 +1,5 @@ package com.ecep.contract.controller.project; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import com.ecep.contract.ContractPayWay; import com.ecep.contract.controller.tab.TabSkin; import com.ecep.contract.controller.table.EditableEntityTableTabSkin; @@ -23,12 +14,18 @@ import com.ecep.contract.vo.ContractPayPlanVo; import com.ecep.contract.vo.ContractVo; import com.ecep.contract.vo.ProjectFundPlanVo; import com.ecep.contract.vo.ProjectVo; - import javafx.event.ActionEvent; import javafx.scene.control.Button; import javafx.scene.control.Tab; import javafx.scene.control.TableColumn; -import lombok.Setter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** * 项目资金计划 @@ -51,19 +48,13 @@ public class ProjectTabSkinFundPlan public TableColumn payWayColumn; public Button updatePlanBtn; - @Setter - private ProjectFundPlanService projectFundPlanService; - public ProjectTabSkinFundPlan(ProjectWindowController controller) { super(controller); } @Override protected ProjectFundPlanService getViewModelService() { - if (projectFundPlanService == null) { - projectFundPlanService = getBean(ProjectFundPlanService.class); - } - return projectFundPlanService; + return getProjectFundPlanService(); } public ContractPayPlanService getContractPayPlanService() { @@ -249,10 +240,7 @@ public class ProjectTabSkinFundPlan } private ProjectFundPlanService getProjectFundPlanService() { - if (projectFundPlanService == null) { - projectFundPlanService = getBean(ProjectFundPlanService.class); - } - return projectFundPlanService; + return getCachedBean(ProjectFundPlanService.class); } @Override diff --git a/client/src/main/java/com/ecep/contract/controller/project/ProjectWindowController.java b/client/src/main/java/com/ecep/contract/controller/project/ProjectWindowController.java index 9e56711..06c8331 100644 --- a/client/src/main/java/com/ecep/contract/controller/project/ProjectWindowController.java +++ b/client/src/main/java/com/ecep/contract/controller/project/ProjectWindowController.java @@ -149,6 +149,7 @@ public class ProjectWindowController extends AbstEntityController new ProjectTabSkinCost(this)); registerTabSkin(quotationApprovalTab, tab -> new ProjectTabSkinQuotation(this)); registerTabSkin(bidTab, tab -> new ProjectTabSkinBid(this)); + // 资金计划 registerTabSkin(fundPlanTab, tab -> new ProjectTabSkinFundPlan(this)); // registerTabSkin(costItemTab, this::createCostItemTabSkin); registerTabSkin(satisfactionTab, tab -> new ProjectTabSkinCustomerSatisfactionSurvey(this)); diff --git a/client/src/main/resources/ui/contract/contract-tab-pay-plan.fxml b/client/src/main/resources/ui/contract/contract-tab-pay-plan.fxml index d9426c6..f1f8e7a 100644 --- a/client/src/main/resources/ui/contract/contract-tab-pay-plan.fxml +++ b/client/src/main/resources/ui/contract/contract-tab-pay-plan.fxml @@ -20,11 +20,11 @@ AnchorPane.topAnchor="42.0"> - - - + + + - + diff --git a/server/src/main/java/com/ecep/contract/ds/project/service/ProjectFundPlanService.java b/server/src/main/java/com/ecep/contract/ds/project/service/ProjectFundPlanService.java index 009c630..72b9556 100644 --- a/server/src/main/java/com/ecep/contract/ds/project/service/ProjectFundPlanService.java +++ b/server/src/main/java/com/ecep/contract/ds/project/service/ProjectFundPlanService.java @@ -114,10 +114,13 @@ public class ProjectFundPlanService implements IEntityService, @Override public void updateByVo(ProjectFundPlan model, ProjectFundPlanVo vo) { // 基本字段映射 + model.setPayRatio(vo.getPayRatio()); model.setPayCurrency(vo.getPayCurrency()); model.setPayTerm(vo.getPayTerm()); model.setUpdateDate(vo.getUpdateDate()); + model.setPayWay(vo.getPayWay()); + model.setPayDate(vo.getPayDate()); // 处理关联实体 if (vo.getContractPayPlanId() != null) { @@ -126,5 +129,11 @@ public class ProjectFundPlanService implements IEntityService, }else{ model.setContractPayPlan(null); } + if (vo.getProjectId() != null) { + Project project = SpringApp.getBean(ProjectService.class).getById(vo.getProjectId()); + model.setProject(project); + }else{ + model.setProject(null); + } } }