diff --git a/.trae/rules/project_rules.md b/.trae/rules/project_rules.md
index d2cc6ec..a461be5 100644
--- a/.trae/rules/project_rules.md
+++ b/.trae/rules/project_rules.md
@@ -60,7 +60,7 @@
- `customer/`: 客户相关业务
- `project/`: 项目相关业务
- `vendor/`: 供应商相关业务
- - 每个业务领域包含:`model/`(实体类)、`repository/`(数据访问接口)、`service/`(业务逻辑, 详细规范见 `.trae\rules\server_service_rules.md`)、`tasker/`(任务处理器)、`controller/`(控制器)
+ - 每个业务领域包含:`model/`(实体类)、`repository/`(数据访问接口)、`service/`(业务逻辑, 详细规范见 `.trae\rules\server_service_rules.md`)、`tasker/`(任务处理器, 详细规范见 `.trae\rules\server_tasker_rules.md`)、`controller/`(控制器, 详细规范见 `.trae\rules\server_controller_rules.md`)
- `handler/`: WebSocket处理器
- `service/`: 服务层,包含一些通用服务和任务处理器
- `ui/`: UI相关组件
diff --git a/client/pom.xml b/client/pom.xml
index 09e056b..28831e4 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -6,12 +6,12 @@
com.ecep.contract
Contract-Manager
- 0.0.101-SNAPSHOT
+ 0.0.102-SNAPSHOT
com.ecep.contract
client
- 0.0.101-SNAPSHOT
+ 0.0.102-SNAPSHOT
${java.version}
@@ -22,7 +22,7 @@
com.ecep.contract
common
- 0.0.101-SNAPSHOT
+ 0.0.102-SNAPSHOT
org.springframework.boot
diff --git a/client/src/main/java/com/ecep/contract/controller/BaseController.java b/client/src/main/java/com/ecep/contract/controller/BaseController.java
index 1ed1cea..dc6a611 100644
--- a/client/src/main/java/com/ecep/contract/controller/BaseController.java
+++ b/client/src/main/java/com/ecep/contract/controller/BaseController.java
@@ -9,6 +9,7 @@ import java.util.Locale;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
+import com.ecep.contract.util.ContextUtils;
import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.FxmlUtils;
import com.ecep.contract.vo.EmployeeVo;
@@ -41,7 +42,7 @@ import javafx.stage.Window;
import javafx.stage.WindowEvent;
import lombok.Getter;
-public class BaseController {
+public class BaseController implements ContextUtils {
private static final Logger logger = LoggerFactory.getLogger(BaseController.class);
public static HashMap stages = new HashMap<>();
@@ -50,7 +51,7 @@ public class BaseController {
}
public static CompletableFuture show(Class clz, Window owner,
- Consumer consumer) {
+ Consumer consumer) {
String key = clz.getName();
if (toFront(key)) {
return null;
diff --git a/client/src/main/java/com/ecep/contract/controller/company/CompanyWindowController.java b/client/src/main/java/com/ecep/contract/controller/company/CompanyWindowController.java
index e8fe9c7..60b375f 100644
--- a/client/src/main/java/com/ecep/contract/controller/company/CompanyWindowController.java
+++ b/client/src/main/java/com/ecep/contract/controller/company/CompanyWindowController.java
@@ -26,7 +26,7 @@ import com.ecep.contract.controller.tab.CompanyTabSkinOldName;
import com.ecep.contract.controller.tab.CompanyTabSkinOther;
import com.ecep.contract.controller.tab.CompanyTabSkinPurchaseBillVoucher;
import com.ecep.contract.controller.vendor.VendorWindowController;
-import com.ecep.contract.service.CompanyCustomerService;
+import com.ecep.contract.service.CustomerService;
import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.VendorService;
import com.ecep.contract.task.CompanyCompositeUpdateTasker;
@@ -34,7 +34,7 @@ import com.ecep.contract.task.CompanyVerifyTasker;
import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.UITools;
import com.ecep.contract.vm.CompanyViewModel;
-import com.ecep.contract.vo.CompanyCustomerVo;
+import com.ecep.contract.vo.CustomerVo;
import com.ecep.contract.vo.VendorVo;
import com.ecep.contract.vo.CompanyVo;
@@ -124,7 +124,7 @@ public class CompanyWindowController
// private final CompanyVendorViewModel companyVendorViewModel = new
// CompanyVendorViewModel();
- private final SimpleObjectProperty companyCustomerProperty = new SimpleObjectProperty<>();
+ private final SimpleObjectProperty companyCustomerProperty = new SimpleObjectProperty<>();
private final SimpleObjectProperty companyVendorProperty = new SimpleObjectProperty<>();
public Pane customerTab_pane1;
@@ -202,7 +202,7 @@ public class CompanyWindowController
logger.debug("onCustomerTabShown");
}
getLoadedFuture().thenAcceptAsync(company -> {
- CompanyCustomerVo customerVo = getCachedBean(CompanyCustomerService.class).findByCompany(company);
+ CustomerVo customerVo = getCachedBean(CustomerService.class).findByCompany(company);
companyCustomerProperty.set(customerVo);
}).exceptionally(ex -> {
UITools.showExceptionAndWait(ex.getMessage(), ex);
diff --git a/client/src/main/java/com/ecep/contract/controller/contract/ContractVerifyWindowController.java b/client/src/main/java/com/ecep/contract/controller/contract/ContractVerifyWindowController.java
index d9c8fde..4a9b12c 100644
--- a/client/src/main/java/com/ecep/contract/controller/contract/ContractVerifyWindowController.java
+++ b/client/src/main/java/com/ecep/contract/controller/contract/ContractVerifyWindowController.java
@@ -158,16 +158,10 @@ public class ContractVerifyWindowController extends BaseController {
}
}
- ContractVerifyComm comm = new ContractVerifyComm();
+ ContractVerifyComm comm = new ContractVerifyComm(this);
- @Autowired
- private ProjectSaleTypeService saleTypeService;
- @Autowired
- private VendorGroupService vendorGroupService;
@Autowired
private ContractService contractService;
- @Autowired
- private EmployeeService employeeService;
@FXML
public DatePicker setupDateBeginSelector;
@@ -218,7 +212,6 @@ public class ContractVerifyWindowController extends BaseController {
public void onShown(WindowEvent windowEvent) {
super.onShown(windowEvent);
- comm.setContractService(contractService);
viewTable.getScene().getStylesheets().add("/ui/contract/contract-verify.css");
LocalDate now = LocalDate.now();
@@ -230,11 +223,7 @@ public class ContractVerifyWindowController extends BaseController {
viewTable_employeeColumn.setCellValueFactory(param -> param.getValue().getEmployee());
viewTable_employeeColumn.setCellFactory(param -> new EmployeeTableCell<>(getEmployeeService()));
viewTable_setupDateColumn.setCellValueFactory(param -> param.getValue().getSetupDate());
- // viewTable_stateColumn.setCellValueFactory(param ->
- // param.getValue().getMessages().map(messages -> {
- // return
- // messages.stream().map(Message::getMessage).collect(Collectors.joining(", "));
- // }));
+
viewTable_stateColumn.setCellValueFactory(param -> param.getValue().getMessages());
viewTable_stateColumn.setCellFactory(param -> new StateTableCell());
diff --git a/client/src/main/java/com/ecep/contract/controller/customer/AbstCompanyCustomerTableTabSkin.java b/client/src/main/java/com/ecep/contract/controller/customer/AbstCompanyCustomerTableTabSkin.java
index 00d86d1..0e5dba1 100644
--- a/client/src/main/java/com/ecep/contract/controller/customer/AbstCompanyCustomerTableTabSkin.java
+++ b/client/src/main/java/com/ecep/contract/controller/customer/AbstCompanyCustomerTableTabSkin.java
@@ -3,15 +3,15 @@ package com.ecep.contract.controller.customer;
import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.controller.table.AbstEntityTableTabSkin;
import com.ecep.contract.model.IdentityEntity;
-import com.ecep.contract.service.CompanyCustomerService;
+import com.ecep.contract.service.CustomerService;
import com.ecep.contract.service.CompanyService;
import com.ecep.contract.vm.CompanyCustomerViewModel;
import com.ecep.contract.vm.IdentityViewModel;
-import com.ecep.contract.vo.CompanyCustomerVo;
+import com.ecep.contract.vo.CustomerVo;
public abstract class AbstCompanyCustomerTableTabSkin>
extends
- AbstEntityTableTabSkin
+ AbstEntityTableTabSkin
implements TabSkin {
public AbstCompanyCustomerTableTabSkin(CompanyCustomerWindowController controller) {
@@ -22,8 +22,8 @@ public abstract class AbstCompanyCustomerTableTabSkin {
int id = viewModel.getId().get();
- CompanyCustomerFileVo customerFile = companyCustomerFileService.findById(id);
+ CustomerFileVo customerFile = companyCustomerFileService.findById(id);
CompanyCustomerEvaluationFormFileVo formFile = evaluationFormFileService.findByCustomerFile(customerFile);
Platform.runLater(() -> update(formFile));
return formFile;
diff --git a/client/src/main/java/com/ecep/contract/controller/customer/CompanyCustomerExportExcelTasker.java b/client/src/main/java/com/ecep/contract/controller/customer/CompanyCustomerExportExcelTasker.java
index 2c1214a..8825e2c 100644
--- a/client/src/main/java/com/ecep/contract/controller/customer/CompanyCustomerExportExcelTasker.java
+++ b/client/src/main/java/com/ecep/contract/controller/customer/CompanyCustomerExportExcelTasker.java
@@ -34,14 +34,14 @@ import com.ecep.contract.MyDateTimeUtils;
import com.ecep.contract.service.CompanyCustomerEntityService;
import com.ecep.contract.service.CompanyCustomerEvaluationFormFileService;
import com.ecep.contract.service.CompanyCustomerFileService;
-import com.ecep.contract.service.CompanyCustomerService;
+import com.ecep.contract.service.CustomerService;
import com.ecep.contract.task.Tasker;
import com.ecep.contract.util.ExcelUtils;
import com.ecep.contract.util.UITools;
import com.ecep.contract.vo.CompanyCustomerEntityVo;
import com.ecep.contract.vo.CompanyCustomerEvaluationFormFileVo;
-import com.ecep.contract.vo.CompanyCustomerFileVo;
-import com.ecep.contract.vo.CompanyCustomerVo;
+import com.ecep.contract.vo.CustomerFileVo;
+import com.ecep.contract.vo.CustomerVo;
import com.ecep.contract.vo.CompanyVo;
import lombok.Setter;
@@ -52,14 +52,14 @@ public class CompanyCustomerExportExcelTasker extends Tasker