Compare commits

...

2 Commits

Author SHA1 Message Date
9561ad99e6 refactor(vendor): 重构供应商相关类命名和包结构
将CompanyVendor前缀的类重命名为Vendor前缀,优化包结构
调整供应商相关控制器、服务、仓库类的命名和位置
修复TableViewUtils中的类型安全警告
更新FXML文件中的控制器引用路径
2025-09-23 23:37:44 +08:00
9c3306eea3 feat: 添加供应商管理相关功能及数据库表结构
新增供应商名录管理功能,包括合格供应商名录、供应商文件、供应商关联实体等模块。主要变更包括:

1. 添加COMPANY_VENDOR_ENTITY表的CREATOR_ID、MODIFIER_ID和MODIFY_DATE字段
2. 实现供应商同步任务类(VendorClassSyncTask等)
3. 新增供应商相关VO类(VendorApprovedVo、VendorFileVo等)
4. 添加供应商相关Repository接口(VendorRepository、VendorFileRepository等)
5. 实现供应商相关服务类(VendorApprovedService、VendorFileService等)
6. 添加供应商管理界面控制器及皮肤类
7. 新增供应商文件类型枚举和本地化配置
2025-09-23 23:37:04 +08:00
129 changed files with 959 additions and 883 deletions

View File

@@ -1,3 +1,5 @@
# server 模块 # server 模块
Java 21 Java 21
Spring Boot 3.3.7 Spring Boot 3.3.7
@@ -17,6 +19,7 @@ caffeine 3.1.8
.fxml 界面UI, /client/src/main/resources/ui/ 目录下 .fxml 界面UI, /client/src/main/resources/ui/ 目录下
websocket 与 server 模块通信 websocket 与 server 模块通信
# common 模块
ignore: ignore:
- .idea - .idea

202
README.md
View File

@@ -1,13 +1,197 @@
# 项目介绍 # Contract-Manager 项目分析报告
分模块: ## 项目概述
- common: Contract-Manager是一个企业级合同管理系统提供完整的合同生命周期管理包括合同的创建、审批、执行、归档等功能同时集成了供应商管理、客户管理、项目管理等相关业务模块。
公共模块,包含实体类、公共的类、枚举、异常、工具类等
- server: ## 项目架构
服务端模块包含服务端的代码依赖common模块
- client: ### 模块划分
客户端模块包含客户端的代码依赖common模块 项目采用模块化设计,分为三个主要模块
UI 的fxml文件在 /client/src/main/resources/ui/
- **common**:公共模块,包含实体类、枚举、异常、工具类等共享组件
- **server**服务端模块基于Spring Boot开发提供HTTP服务和WebSocket通信
- **client**客户端模块基于JavaFX开发提供图形用户界面
### 技术栈
#### 服务端技术栈
- Java 21
- Spring Boot 3.3.7
- Spring Data JPA 3.3.7
- MySQL 8.0.33
- Lombok 1.18.32
- POI 5.2.5 (Office文档处理)
- PDFBox 3.0.1 (PDF文档处理)
- Redis (缓存)
- WebSocket (实时通信)
#### 客户端技术栈
- Java 21
- JavaFX 21
- ControlsFX 11.1.2 (UI控件增强)
- Lombok 1.18.32
- Caffeine 3.1.8 (本地缓存)
- WebSocket (与服务端通信)
## 目录结构
```
Contract-Manager/
├── common/ # 公共模块
│ ├── src/main/java/com/ecep/contract/
│ │ ├── model/ # 实体类
│ │ ├── vo/ # 值对象
│ │ ├── util/ # 工具类
│ │ ├── constant/ # 常量定义
│ │ └── msg/ # 消息相关
├── server/ # 服务端模块
│ ├── src/main/java/com/ecep/contract/
│ │ ├── api/ # API接口
│ │ ├── controller/ # 控制器
│ │ ├── service/ # 服务层
│ │ ├── ds/ # 数据访问层
│ │ ├── config/ # 配置类
│ │ ├── util/ # 工具类
│ │ ├── handler/ # WebSocket处理器
│ │ ├── cloud/ # 云端服务集成
│ │ └── ui/ # 服务端UI组件
├── client/ # 客户端模块
│ ├── src/main/java/com/ecep/contract/
│ │ ├── controller/ # 控制器
│ │ ├── service/ # 服务层
│ │ ├── vm/ # 视图模型
│ │ ├── util/ # 工具类
│ │ ├── task/ # 任务处理
│ │ ├── converter/ # 类型转换器
│ │ └── serializer/ # 序列化器
│ └── src/main/resources/ui/ # FXML界面文件
└── docs/ # 文档目录
└── db/ # 数据库相关文件
```
## 核心功能模块
### 1. 公司管理
- 公司基本信息管理
- 公司联系方式管理
- 公司银行账户管理
- 公司文件管理
- 公司黑名单管理
### 2. 供应商管理
- 供应商信息管理
- 供应商资质审核
- 供应商分类管理
- 供应商文件管理
- 供应商评估
### 3. 客户管理
- 客户信息管理
- 客户分类管理
- 客户满意度调查
- 客户文件管理
### 4. 合同管理
- 合同创建与编辑
- 合同审批流程
- 合同执行跟踪
- 合同付款计划
- 合同文件管理
- 合同分类与归档
### 5. 项目管理
- 项目信息管理
- 项目成本管理
- 项目报价管理
- 项目文件管理
- 项目资金计划
### 6. 库存管理
- 库存物品管理
- 库存价格历史
- 库存分类管理
### 7. 员工与权限管理
- 员工信息管理
- 角色权限管理
- 登录历史记录
### 8. 云端服务集成
- 天眼查企业信息集成
- 用友U8系统集成
- 其他云端服务集成
## 数据模型设计
系统采用JPA注解式实体类设计主要实体类包括
- **基础实体类**BasedEntity, IdentityEntity, NamedEntity等
- **公司相关**Company, CompanyContact, CompanyBankAccount等
- **供应商相关**Vendor, VendorApproved, VendorFile等
- **客户相关**CompanyCustomer, CustomerSatisfactionSurvey等
- **合同相关**Contract, ContractItem, ContractPayPlan等
- **项目相关**Project, ProjectCost, ProjectFundPlan等
- **枚举实体类**各种类型的本地枚举实体如VendorTypeLocal, ContractFileTypeLocal等
## 通信机制
系统采用WebSocket进行客户端与服务端的实时通信主要组件包括
- **服务端**WebSocketController, WebSocketServerHandler
- **客户端**WebSocketClientService, WebSocketClientSession
## 任务处理机制
系统实现了异步任务处理机制,支持长时间运行的任务监控和管理:
- **TaskMonitorCenter**:任务监控中心
- **MonitoredTask**:可监控的任务基类
- **TaskHistory**:任务历史记录
## 扩展性设计
系统采用良好的分层架构和接口设计,具有较强的扩展性:
1. **服务接口标准化**通过IEntityService等接口统一服务访问方式
2. **模块化设计**:各功能模块相对独立,便于扩展和维护
3. **配置管理**:支持动态配置和属性绑定
4. **国际化支持**通过messages.properties实现多语言支持
## 安全机制
系统实现了基本的安全机制:
- **用户认证与授权**:基于角色的权限控制
- **登录历史记录**:记录用户登录信息
- **异常处理**:全局异常处理机制
## 部署说明
### 服务端部署
1. 配置application.properties中的数据库连接和Redis连接信息
2. 打包为jar文件`mvn clean package`
3. 运行jar文件`java -jar server.jar`
### 客户端部署
1. 确保安装Java 21运行环境
2. 配置连接到服务端的WebSocket地址
3. 打包为可执行jar或使用jpackage创建安装包
## 开发环境要求
- JDK 21
- Maven 3.6+
- MySQL 8.0+
- Redis 6.0+
- IntelliJ IDEA或Eclipse推荐使用IDEA
## 后续优化方向
1. 完善单元测试和集成测试
2. 优化数据库查询性能
3. 增强系统安全机制
4. 改进用户界面体验
5. 扩展更多云端服务集成

View File

@@ -6,6 +6,9 @@ import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import com.ecep.contract.controller.cloud.rk.CloudRkManagerWindowController;
import com.ecep.contract.controller.cloud.tyc.CloudTycManagerWindowController;
import com.ecep.contract.controller.cloud.u8.YongYouU8ManagerWindowController;
import org.controlsfx.control.TaskProgressView; import org.controlsfx.control.TaskProgressView;
import org.controlsfx.glyphfont.Glyph; import org.controlsfx.glyphfont.Glyph;
import org.slf4j.Logger; import org.slf4j.Logger;
@@ -29,7 +32,7 @@ import com.ecep.contract.controller.inventory.InventoryManagerWindowController;
import com.ecep.contract.controller.permission.EmployeeFunctionsManagerWindowController; import com.ecep.contract.controller.permission.EmployeeFunctionsManagerWindowController;
import com.ecep.contract.controller.permission.EmployeeRoleManagerWindowController; import com.ecep.contract.controller.permission.EmployeeRoleManagerWindowController;
import com.ecep.contract.controller.project.ProjectManagerWindowController; import com.ecep.contract.controller.project.ProjectManagerWindowController;
import com.ecep.contract.controller.vendor.CompanyVendorManagerWindowController; import com.ecep.contract.controller.vendor.VendorManagerWindowController;
import com.ecep.contract.service.CloudRkService; import com.ecep.contract.service.CloudRkService;
import com.ecep.contract.service.YongYouU8Service; import com.ecep.contract.service.YongYouU8Service;
import com.ecep.contract.task.ContractSyncTask; import com.ecep.contract.task.ContractSyncTask;
@@ -79,7 +82,7 @@ public class HomeWindowController extends BaseController {
openCompanyManagerWindow.setOnAction(event -> showInOwner(CompanyManagerWindowController.class)); openCompanyManagerWindow.setOnAction(event -> showInOwner(CompanyManagerWindowController.class));
openProjectManagerWindow.setOnAction(event -> showInOwner(ProjectManagerWindowController.class)); openProjectManagerWindow.setOnAction(event -> showInOwner(ProjectManagerWindowController.class));
openContractManagerWindow.setOnAction(event -> showInOwner(ContractManagerWindowController.class)); openContractManagerWindow.setOnAction(event -> showInOwner(ContractManagerWindowController.class));
openVendorManagerWindow.setOnAction(event -> showInOwner(CompanyVendorManagerWindowController.class)); openVendorManagerWindow.setOnAction(event -> showInOwner(VendorManagerWindowController.class));
openCustomManagerWindow.setOnAction(event -> showInOwner(CompanyCustomerManagerWindowController.class)); openCustomManagerWindow.setOnAction(event -> showInOwner(CompanyCustomerManagerWindowController.class));
} }

View File

@@ -1,6 +1,7 @@
package com.ecep.contract.controller; package com.ecep.contract.controller.cloud.rk;
import com.ecep.contract.SpringApp; import com.ecep.contract.SpringApp;
import com.ecep.contract.controller.AbstEntityManagerSkin;
import com.ecep.contract.controller.company.CompanyWindowController; import com.ecep.contract.controller.company.CompanyWindowController;
import com.ecep.contract.controller.table.cell.CompanyTableCell; import com.ecep.contract.controller.table.cell.CompanyTableCell;
import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell; import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell;

View File

@@ -1,9 +1,10 @@
package com.ecep.contract.controller; package com.ecep.contract.controller.cloud.rk;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;
import java.util.function.Consumer; import java.util.function.Consumer;
import com.ecep.contract.controller.AbstManagerWindowController;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -1,6 +1,7 @@
package com.ecep.contract.controller; package com.ecep.contract.controller.cloud.tyc;
import com.ecep.contract.SpringApp; import com.ecep.contract.SpringApp;
import com.ecep.contract.controller.AbstEntityManagerSkin;
import com.ecep.contract.controller.company.CompanyWindowController; import com.ecep.contract.controller.company.CompanyWindowController;
import com.ecep.contract.controller.table.cell.CompanyTableCell; import com.ecep.contract.controller.table.cell.CompanyTableCell;
import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell; import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell;

View File

@@ -1,7 +1,8 @@
package com.ecep.contract.controller; package com.ecep.contract.controller.cloud.tyc;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import com.ecep.contract.controller.AbstManagerWindowController;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;

View File

@@ -1,5 +1,6 @@
package com.ecep.contract.controller; package com.ecep.contract.controller.cloud.u8;
import com.ecep.contract.controller.BaseController;
import org.controlsfx.control.ToggleSwitch; import org.controlsfx.control.ToggleSwitch;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;

View File

@@ -1,12 +1,12 @@
package com.ecep.contract.controller; package com.ecep.contract.controller.cloud.u8;
import com.ecep.contract.controller.AbstEntityManagerSkin;
import com.ecep.contract.controller.ManagerSkin;
import com.ecep.contract.controller.company.CompanyWindowController; import com.ecep.contract.controller.company.CompanyWindowController;
import com.ecep.contract.controller.table.cell.CompanyTableCell; import com.ecep.contract.controller.table.cell.CompanyTableCell;
import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell; import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell;
import com.ecep.contract.model.Company;
import com.ecep.contract.service.CompanyService; import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.YongYouU8Service; import com.ecep.contract.service.YongYouU8Service;
import com.ecep.contract.util.ProxyUtils;
import com.ecep.contract.vm.CloudYuInfoViewModel; import com.ecep.contract.vm.CloudYuInfoViewModel;
import com.ecep.contract.vo.CloudYuVo; import com.ecep.contract.vo.CloudYuVo;
import com.ecep.contract.vo.CompanyVo; import com.ecep.contract.vo.CompanyVo;

View File

@@ -1,7 +1,10 @@
package com.ecep.contract.controller; package com.ecep.contract.controller.cloud.u8;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import com.ecep.contract.controller.AbstManagerWindowController;
import com.ecep.contract.controller.BaseController;
import com.ecep.contract.task.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
@@ -10,10 +13,6 @@ import org.springframework.stereotype.Component;
import com.ecep.contract.Desktop; import com.ecep.contract.Desktop;
import com.ecep.contract.service.YongYouU8Service; import com.ecep.contract.service.YongYouU8Service;
import com.ecep.contract.task.ContractSyncTask;
import com.ecep.contract.task.CustomerSyncTask;
import com.ecep.contract.task.EmployeesSyncTask;
import com.ecep.contract.task.VendorSyncTask;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.UITools; import com.ecep.contract.util.UITools;
import com.ecep.contract.vm.CloudYuInfoViewModel; import com.ecep.contract.vm.CloudYuInfoViewModel;

View File

@@ -25,17 +25,17 @@ import com.ecep.contract.controller.tab.CompanyTabSkinInvoice;
import com.ecep.contract.controller.tab.CompanyTabSkinOldName; import com.ecep.contract.controller.tab.CompanyTabSkinOldName;
import com.ecep.contract.controller.tab.CompanyTabSkinOther; import com.ecep.contract.controller.tab.CompanyTabSkinOther;
import com.ecep.contract.controller.tab.CompanyTabSkinPurchaseBillVoucher; import com.ecep.contract.controller.tab.CompanyTabSkinPurchaseBillVoucher;
import com.ecep.contract.controller.vendor.CompanyVendorWindowController; import com.ecep.contract.controller.vendor.VendorWindowController;
import com.ecep.contract.service.CompanyCustomerService; import com.ecep.contract.service.CompanyCustomerService;
import com.ecep.contract.service.CompanyService; import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.CompanyVendorService; import com.ecep.contract.service.VendorService;
import com.ecep.contract.task.CompanyCompositeUpdateTasker; import com.ecep.contract.task.CompanyCompositeUpdateTasker;
import com.ecep.contract.task.CompanyVerifyTasker; import com.ecep.contract.task.CompanyVerifyTasker;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.UITools; import com.ecep.contract.util.UITools;
import com.ecep.contract.vm.CompanyViewModel; import com.ecep.contract.vm.CompanyViewModel;
import com.ecep.contract.vo.CompanyCustomerVo; import com.ecep.contract.vo.CompanyCustomerVo;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import com.ecep.contract.vo.CompanyVo; import com.ecep.contract.vo.CompanyVo;
import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleObjectProperty;
@@ -78,7 +78,7 @@ public class CompanyWindowController
@Autowired @Autowired
private CompanyCustomerService companyCustomerService; private CompanyCustomerService companyCustomerService;
@Autowired @Autowired
private CompanyVendorService companyVendorService; private VendorService vendorService;
public BorderPane root; public BorderPane root;
public TabPane tabPane; public TabPane tabPane;
@@ -129,7 +129,7 @@ public class CompanyWindowController
// CompanyVendorViewModel(); // CompanyVendorViewModel();
private final SimpleObjectProperty<CompanyCustomerVo> companyCustomerProperty = new SimpleObjectProperty<>(); private final SimpleObjectProperty<CompanyCustomerVo> companyCustomerProperty = new SimpleObjectProperty<>();
private final SimpleObjectProperty<CompanyVendorVo> companyVendorProperty = new SimpleObjectProperty<>(); private final SimpleObjectProperty<VendorVo> companyVendorProperty = new SimpleObjectProperty<>();
public Pane customerTab_pane1; public Pane customerTab_pane1;
public Button customerTab_openBtn; public Button customerTab_openBtn;
@@ -230,7 +230,7 @@ public class CompanyWindowController
}); });
vendorTab_openBtn.setOnAction(event -> { vendorTab_openBtn.setOnAction(event -> {
CompanyVendorWindowController.show(companyVendorProperty.get(), root.getScene().getWindow()); VendorWindowController.show(companyVendorProperty.get(), root.getScene().getWindow());
}); });
} }
@@ -242,7 +242,7 @@ public class CompanyWindowController
if (logger.isDebugEnabled()) { if (logger.isDebugEnabled()) {
logger.debug("onVendorTabShown company {}", company.getName()); logger.debug("onVendorTabShown company {}", company.getName());
} }
companyVendorProperty.set(companyVendorService.findByCompany(company)); companyVendorProperty.set(vendorService.findByCompany(company));
}).exceptionally(ex -> { }).exceptionally(ex -> {
UITools.showExceptionAndWait(ex.getMessage(), ex); UITools.showExceptionAndWait(ex.getMessage(), ex);
return null; return null;

View File

@@ -1,4 +1,4 @@
package com.ecep.contract.controller.bank.account; package com.ecep.contract.controller.company.bank_account;
import com.ecep.contract.controller.company.CompanyWindowController; import com.ecep.contract.controller.company.CompanyWindowController;
import com.ecep.contract.controller.tab.AbstEntityBasedTabSkin; import com.ecep.contract.controller.tab.AbstEntityBasedTabSkin;

View File

@@ -1,4 +1,4 @@
package com.ecep.contract.controller.bank.account; package com.ecep.contract.controller.company.bank_account;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
@@ -6,7 +6,6 @@ import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.ecep.contract.controller.AbstEntityController; import com.ecep.contract.controller.AbstEntityController;
import com.ecep.contract.model.CompanyBankAccount;
import com.ecep.contract.service.CompanyBankAccountService; import com.ecep.contract.service.CompanyBankAccountService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.vm.CompanyBankAccountViewModel; import com.ecep.contract.vm.CompanyBankAccountViewModel;

View File

@@ -1,4 +1,4 @@
package com.ecep.contract.controller.company_old_name; package com.ecep.contract.controller.company.old_name;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;

View File

@@ -1,9 +1,7 @@
package com.ecep.contract.controller.company_old_name; package com.ecep.contract.controller.company.old_name;
import java.io.File; import java.io.File;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.function.Consumer; import java.util.function.Consumer;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
@@ -12,7 +10,6 @@ import com.ecep.contract.CompanyFileType;
import com.ecep.contract.DesktopUtils; import com.ecep.contract.DesktopUtils;
import com.ecep.contract.controller.tab.TabSkin; import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.controller.table.AbstEntityTableTabSkin; import com.ecep.contract.controller.table.AbstEntityTableTabSkin;
import com.ecep.contract.model.CompanyOldName;
import com.ecep.contract.service.CompanyFileService; import com.ecep.contract.service.CompanyFileService;
import com.ecep.contract.service.CompanyOldNameService; import com.ecep.contract.service.CompanyOldNameService;
import com.ecep.contract.util.ParamUtils; import com.ecep.contract.util.ParamUtils;

View File

@@ -1,4 +1,4 @@
package com.ecep.contract.controller.company_old_name; package com.ecep.contract.controller.company.old_name;
import java.io.File; import java.io.File;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;

View File

@@ -1,11 +1,8 @@
package com.ecep.contract.controller.contract; package com.ecep.contract.controller.contract;
import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import com.ecep.contract.SpringApp; import com.ecep.contract.util.ComboBoxUtils;
import com.ecep.contract.controller.ComboBoxUtils;
import com.ecep.contract.model.VendorGroup;
import com.ecep.contract.service.ExtendVendorInfoService; import com.ecep.contract.service.ExtendVendorInfoService;
import com.ecep.contract.service.VendorGroupService; import com.ecep.contract.service.VendorGroupService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
@@ -25,7 +22,6 @@ import javafx.scene.control.Label;
import javafx.scene.control.Tab; import javafx.scene.control.Tab;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
import javafx.util.converter.NumberStringConverter; import javafx.util.converter.NumberStringConverter;
import lombok.Setter;
@FxmlPath("/ui/contract/contract-tab-ext-vendor-info.fxml") @FxmlPath("/ui/contract/contract-tab-ext-vendor-info.fxml")
public class ContractTabSkinExtendVendorInfo extends AbstContractBasedTabSkin { public class ContractTabSkinExtendVendorInfo extends AbstContractBasedTabSkin {

View File

@@ -2,7 +2,7 @@ package com.ecep.contract.controller.project;
import com.ecep.contract.controller.AbstEntityManagerSkin; import com.ecep.contract.controller.AbstEntityManagerSkin;
import com.ecep.contract.controller.BaseController; import com.ecep.contract.controller.BaseController;
import com.ecep.contract.controller.ComboBoxUtils; import com.ecep.contract.util.ComboBoxUtils;
import com.ecep.contract.controller.ManagerSkin; import com.ecep.contract.controller.ManagerSkin;
import com.ecep.contract.controller.table.cell.CompanyTableCell; import com.ecep.contract.controller.table.cell.CompanyTableCell;
import com.ecep.contract.controller.table.cell.ProductTypeTableCell; import com.ecep.contract.controller.table.cell.ProductTypeTableCell;

View File

@@ -6,10 +6,9 @@ import java.util.stream.Stream;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import com.ecep.contract.controller.ComboBoxUtils; import com.ecep.contract.util.ComboBoxUtils;
import com.ecep.contract.controller.tab.TabSkin; import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.converter.EmployeeStringConverter; import com.ecep.contract.converter.EmployeeStringConverter;
import com.ecep.contract.converter.EntityStringConverter;
import com.ecep.contract.service.DeliverySignMethodService; import com.ecep.contract.service.DeliverySignMethodService;
import com.ecep.contract.service.EmployeeService; import com.ecep.contract.service.EmployeeService;
import com.ecep.contract.service.ProductTypeService; import com.ecep.contract.service.ProductTypeService;
@@ -29,11 +28,9 @@ import com.ecep.contract.vo.ProjectTypeVo;
import com.ecep.contract.vo.ProjectVo; import com.ecep.contract.vo.ProjectVo;
import javafx.beans.binding.Bindings; import javafx.beans.binding.Bindings;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import javafx.collections.transformation.FilteredList; import javafx.collections.transformation.FilteredList;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Tab; import javafx.scene.control.Tab;
import javafx.util.converter.LocalDateStringConverter; import javafx.util.converter.LocalDateStringConverter;
import javafx.util.converter.NumberStringConverter; import javafx.util.converter.NumberStringConverter;

View File

@@ -1,11 +1,10 @@
package com.ecep.contract.controller.tab; package com.ecep.contract.controller.tab;
import com.ecep.contract.controller.bank.account.BankAccountWindowController; import com.ecep.contract.controller.company.bank_account.BankAccountWindowController;
import com.ecep.contract.controller.company.AbstCompanyTableTabSkin; import com.ecep.contract.controller.company.AbstCompanyTableTabSkin;
import com.ecep.contract.controller.company.CompanyWindowController; import com.ecep.contract.controller.company.CompanyWindowController;
import com.ecep.contract.controller.table.EditableEntityTableTabSkin; import com.ecep.contract.controller.table.EditableEntityTableTabSkin;
import com.ecep.contract.controller.table.cell.BankTableCell; import com.ecep.contract.controller.table.cell.BankTableCell;
import com.ecep.contract.model.Bank;
import com.ecep.contract.service.BankService; import com.ecep.contract.service.BankService;
import com.ecep.contract.service.CompanyBankAccountService; import com.ecep.contract.service.CompanyBankAccountService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;

View File

@@ -6,7 +6,7 @@ import java.time.LocalDateTime;
import java.util.NoSuchElementException; import java.util.NoSuchElementException;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import com.ecep.contract.controller.ComboBoxUtils; import com.ecep.contract.util.ComboBoxUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import com.ecep.contract.DesktopUtils; import com.ecep.contract.DesktopUtils;
@@ -19,12 +19,6 @@ import com.ecep.contract.controller.table.cell.ContractKindTableCell;
import com.ecep.contract.controller.table.cell.ContractTypeTableCell; import com.ecep.contract.controller.table.cell.ContractTypeTableCell;
import com.ecep.contract.controller.table.cell.EmployeeTableCell; import com.ecep.contract.controller.table.cell.EmployeeTableCell;
import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell; import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell;
import com.ecep.contract.converter.ContractGroupStringConverter;
import com.ecep.contract.model.Contract;
import com.ecep.contract.model.ContractGroup;
import com.ecep.contract.model.ContractKind;
import com.ecep.contract.model.ContractType;
import com.ecep.contract.model.Employee;
import com.ecep.contract.service.ContractGroupService; import com.ecep.contract.service.ContractGroupService;
import com.ecep.contract.service.ContractKindService; import com.ecep.contract.service.ContractKindService;
import com.ecep.contract.service.ContractService; import com.ecep.contract.service.ContractService;
@@ -38,8 +32,6 @@ import com.ecep.contract.vo.CompanyVo;
import com.ecep.contract.vo.ContractGroupVo; import com.ecep.contract.vo.ContractGroupVo;
import com.ecep.contract.vo.ContractVo; import com.ecep.contract.vo.ContractVo;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.scene.control.Button; import javafx.scene.control.Button;
import javafx.scene.control.ComboBox; import javafx.scene.control.ComboBox;

View File

@@ -14,9 +14,7 @@ import org.springframework.util.StringUtils;
import com.ecep.contract.controller.company.AbstCompanyTableTabSkin; import com.ecep.contract.controller.company.AbstCompanyTableTabSkin;
import com.ecep.contract.controller.company.CompanyWindowController; import com.ecep.contract.controller.company.CompanyWindowController;
import com.ecep.contract.controller.company_old_name.CompanyOldNameWindowController; import com.ecep.contract.controller.company.old_name.CompanyOldNameWindowController;
import com.ecep.contract.model.Company;
import com.ecep.contract.model.CompanyOldName;
import com.ecep.contract.service.CompanyOldNameService; import com.ecep.contract.service.CompanyOldNameService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.vm.CompanyOldNameViewModel; import com.ecep.contract.vm.CompanyOldNameViewModel;

View File

@@ -5,7 +5,7 @@ import java.time.format.DateTimeFormatter;
import com.ecep.contract.ContractPayWay; import com.ecep.contract.ContractPayWay;
import com.ecep.contract.MyDateTimeUtils; import com.ecep.contract.MyDateTimeUtils;
import com.ecep.contract.controller.AbstEntityManagerSkin; import com.ecep.contract.controller.AbstEntityManagerSkin;
import com.ecep.contract.controller.ComboBoxUtils; import com.ecep.contract.util.ComboBoxUtils;
import com.ecep.contract.controller.ManagerSkin; import com.ecep.contract.controller.ManagerSkin;
import com.ecep.contract.controller.contract.ContractManagerWindowController; import com.ecep.contract.controller.contract.ContractManagerWindowController;
import com.ecep.contract.controller.contract.ContractWindowController; import com.ecep.contract.controller.contract.ContractWindowController;

View File

@@ -8,6 +8,7 @@ import java.util.NoSuchElementException;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import com.ecep.contract.service.*;
import org.controlsfx.control.textfield.TextFields; import org.controlsfx.control.textfield.TextFields;
import org.controlsfx.glyphfont.Glyph; import org.controlsfx.glyphfont.Glyph;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
@@ -18,24 +19,12 @@ import com.ecep.contract.controller.contract.AbstContractBasedTabSkin;
import com.ecep.contract.controller.contract.ContractWindowController; import com.ecep.contract.controller.contract.ContractWindowController;
import com.ecep.contract.controller.customer.CompanyCustomerWindowController; import com.ecep.contract.controller.customer.CompanyCustomerWindowController;
import com.ecep.contract.controller.project.ProjectWindowController; import com.ecep.contract.controller.project.ProjectWindowController;
import com.ecep.contract.controller.vendor.CompanyVendorWindowController; import com.ecep.contract.controller.vendor.VendorWindowController;
import com.ecep.contract.converter.CompanyStringConverter;
import com.ecep.contract.converter.ContractStringConverter; import com.ecep.contract.converter.ContractStringConverter;
import com.ecep.contract.converter.ProjectStringConverter; import com.ecep.contract.service.VendorService;
import com.ecep.contract.model.Project;
import com.ecep.contract.service.CompanyCustomerService;
import com.ecep.contract.service.CompanyVendorService;
import com.ecep.contract.service.ContractGroupService;
import com.ecep.contract.service.ContractKindService;
import com.ecep.contract.service.ContractService;
import com.ecep.contract.service.ContractTypeService;
import com.ecep.contract.service.ExtendVendorInfoService;
import com.ecep.contract.service.ProjectSaleTypeService;
import com.ecep.contract.service.ProjectService;
import com.ecep.contract.service.VendorGroupService;
import com.ecep.contract.util.UITools; import com.ecep.contract.util.UITools;
import com.ecep.contract.vo.CompanyCustomerVo; import com.ecep.contract.vo.CompanyCustomerVo;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import com.ecep.contract.vo.CompanyVo; import com.ecep.contract.vo.CompanyVo;
import com.ecep.contract.vo.ContractTypeVo; import com.ecep.contract.vo.ContractTypeVo;
import com.ecep.contract.vo.ContractVo; import com.ecep.contract.vo.ContractVo;
@@ -49,7 +38,6 @@ import javafx.scene.control.Tab;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
import javafx.scene.control.TextInputDialog; import javafx.scene.control.TextInputDialog;
import javafx.stage.DirectoryChooser; import javafx.stage.DirectoryChooser;
import javafx.util.StringConverter;
import javafx.util.converter.LocalDateStringConverter; import javafx.util.converter.LocalDateStringConverter;
import javafx.util.converter.NumberStringConverter; import javafx.util.converter.NumberStringConverter;
@@ -464,9 +452,9 @@ public class ContractTabSkinBase extends AbstContractBasedTabSkin {
public void onContractOpenRelativeCompanyVendorAction(ActionEvent event) { public void onContractOpenRelativeCompanyVendorAction(ActionEvent event) {
ContractVo contract = getEntity(); ContractVo contract = getEntity();
CompanyVo company = controller.getCompanyService().findById(contract.getCompanyId()); CompanyVo company = controller.getCompanyService().findById(contract.getCompanyId());
CompanyVendorService service = SpringApp.getBean(CompanyVendorService.class); VendorService service = SpringApp.getBean(VendorService.class);
CompanyVendorVo companyVendor = service.findByCompany(company); VendorVo companyVendor = service.findByCompany(company);
CompanyVendorWindowController.show(companyVendor, null); VendorWindowController.show(companyVendor, null);
} }
private void initializeBaseTabCompanyFieldAutoCompletion(TextField textField) { private void initializeBaseTabCompanyFieldAutoCompletion(TextField textField) {

View File

@@ -6,13 +6,12 @@ import com.ecep.contract.ContractPayWay;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.controller.contract.AbstContractTableTabSkin; import com.ecep.contract.controller.contract.AbstContractTableTabSkin;
import com.ecep.contract.controller.contract.ContractWindowController; import com.ecep.contract.controller.contract.ContractWindowController;
import com.ecep.contract.controller.vendor.PurchaseOrderWindowController; import com.ecep.contract.controller.vendor.purchase.order.PurchaseOrderWindowController;
import com.ecep.contract.converter.EmployeeStringConverter; import com.ecep.contract.converter.EmployeeStringConverter;
import com.ecep.contract.service.CompanyService; import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.PurchaseOrdersService; import com.ecep.contract.service.PurchaseOrdersService;
import com.ecep.contract.vm.PurchaseOrderViewModel; import com.ecep.contract.vm.PurchaseOrderViewModel;
import com.ecep.contract.vo.PurchaseOrderVo; import com.ecep.contract.vo.PurchaseOrderVo;
import com.ecep.contract.model.PurchaseOrder;
import com.ecep.contract.controller.table.cell.CompanyTableCell; import com.ecep.contract.controller.table.cell.CompanyTableCell;
import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell; import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell;

View File

@@ -11,14 +11,10 @@ import com.ecep.contract.controller.contract.ContractWindowController;
import com.ecep.contract.controller.table.EditableEntityTableTabSkin; import com.ecep.contract.controller.table.EditableEntityTableTabSkin;
import com.ecep.contract.controller.table.cell.CompanyTableCell; import com.ecep.contract.controller.table.cell.CompanyTableCell;
import com.ecep.contract.controller.table.cell.ContractFileTableCell; import com.ecep.contract.controller.table.cell.ContractFileTableCell;
import com.ecep.contract.controller.vendor.VendorBidWindowController; import com.ecep.contract.controller.vendor.bid.VendorBidWindowController;
import com.ecep.contract.model.ContractBidVendor;
import com.ecep.contract.model.ContractFile;
import com.ecep.contract.service.CompanyService; import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.ContractBidVendorService; import com.ecep.contract.service.ContractBidVendorService;
import com.ecep.contract.service.ContractFileService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.ProxyUtils;
import com.ecep.contract.vm.CompanyViewModel; import com.ecep.contract.vm.CompanyViewModel;
import com.ecep.contract.vm.ContractBidVendorViewModel; import com.ecep.contract.vm.ContractBidVendorViewModel;
import com.ecep.contract.vo.CompanyVo; import com.ecep.contract.vo.CompanyVo;
@@ -32,7 +28,6 @@ import javafx.scene.control.ChoiceDialog;
import javafx.scene.control.ComboBox; import javafx.scene.control.ComboBox;
import javafx.scene.control.MenuItem; import javafx.scene.control.MenuItem;
import javafx.scene.control.Tab; import javafx.scene.control.Tab;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn; import javafx.scene.control.TableColumn;
import javafx.util.StringConverter; import javafx.util.StringConverter;
import lombok.Setter; import lombok.Setter;

View File

@@ -3,18 +3,11 @@ package com.ecep.contract.controller.tab;
import java.util.Map; import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import com.ecep.contract.service.*;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
import com.ecep.contract.service.CompanyCustomerService; import com.ecep.contract.service.VendorService;
import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.CompanyVendorService;
import com.ecep.contract.service.ContractGroupService;
import com.ecep.contract.service.ContractKindService;
import com.ecep.contract.service.ContractService;
import com.ecep.contract.service.ContractTypeService;
import com.ecep.contract.service.EmployeeService;
import com.ecep.contract.service.YongYouU8Service;
import com.ecep.contract.util.BeanCacher; import com.ecep.contract.util.BeanCacher;
import com.ecep.contract.vo.ContractGroupVo; import com.ecep.contract.vo.ContractGroupVo;
import com.ecep.contract.vo.ContractKindVo; import com.ecep.contract.vo.ContractKindVo;
@@ -153,8 +146,8 @@ public class ContractUpdater implements MessageHolder {
return getEmployeeService().findByName(personName); return getEmployeeService().findByName(personName);
} }
private CompanyVendorService getVendorService() { private VendorService getVendorService() {
return getBean(CompanyVendorService.class); return getBean(VendorService.class);
} }
private CompanyCustomerService getCustomerService() { private CompanyCustomerService getCustomerService() {

View File

@@ -8,10 +8,8 @@ import java.util.Map;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import com.ecep.contract.MyDateTimeUtils; import com.ecep.contract.MyDateTimeUtils;
import com.ecep.contract.SpringApp;
import com.ecep.contract.controller.company.CompanyWindowController; import com.ecep.contract.controller.company.CompanyWindowController;
import com.ecep.contract.controller.vendor.VendorBidWindowController; import com.ecep.contract.controller.vendor.bid.VendorBidWindowController;
import com.ecep.contract.converter.CompanyStringConverter;
import com.ecep.contract.converter.EntityStringConverter; import com.ecep.contract.converter.EntityStringConverter;
import com.ecep.contract.service.CompanyService; import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.ContractFileService; import com.ecep.contract.service.ContractFileService;
@@ -33,7 +31,6 @@ import javafx.beans.property.SimpleObjectProperty;
import javafx.scene.control.Tab; import javafx.scene.control.Tab;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
import javafx.util.converter.LocalDateStringConverter; import javafx.util.converter.LocalDateStringConverter;
import lombok.Setter;
public class VendorBidTabSkinBase public class VendorBidTabSkinBase
extends AbstEntityBasedTabSkin<VendorBidWindowController, ContractBidVendorVo, ContractBidVendorViewModel> extends AbstEntityBasedTabSkin<VendorBidWindowController, ContractBidVendorVo, ContractBidVendorViewModel>

View File

@@ -2,9 +2,9 @@ package com.ecep.contract.controller.table.cell;
import com.ecep.contract.SpringApp; import com.ecep.contract.SpringApp;
import com.ecep.contract.service.CompanyService; import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.CompanyVendorService; import com.ecep.contract.service.VendorService;
import com.ecep.contract.service.IEntityService; import com.ecep.contract.service.IEntityService;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import com.ecep.contract.vo.CompanyVo; import com.ecep.contract.vo.CompanyVo;
import javafx.scene.control.TableCell; import javafx.scene.control.TableCell;
@@ -14,13 +14,13 @@ import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
@NoArgsConstructor @NoArgsConstructor
public class CompanyVendorTableCell<T> extends AsyncUpdateTableCell<T, Integer, CompanyVendorVo> { public class CompanyVendorTableCell<T> extends AsyncUpdateTableCell<T, Integer, VendorVo> {
public static <S> Callback<TableColumn<S, Integer>, TableCell<S, Integer>> forTableColumn() { public static <S> Callback<TableColumn<S, Integer>, TableCell<S, Integer>> forTableColumn() {
return forTableColumn(SpringApp.getBean(CompanyVendorService.class)); return forTableColumn(SpringApp.getBean(VendorService.class));
} }
public static <S> Callback<TableColumn<S, Integer>, TableCell<S, Integer>> forTableColumn( public static <S> Callback<TableColumn<S, Integer>, TableCell<S, Integer>> forTableColumn(
CompanyVendorService sevice) { VendorService sevice) {
CompanyService companyService = SpringApp.getBean(CompanyService.class); CompanyService companyService = SpringApp.getBean(CompanyService.class);
return param -> new CompanyVendorTableCell<S>(sevice, companyService); return param -> new CompanyVendorTableCell<S>(sevice, companyService);
} }
@@ -28,14 +28,14 @@ public class CompanyVendorTableCell<T> extends AsyncUpdateTableCell<T, Integer,
@Setter @Setter
private CompanyService companyService; private CompanyService companyService;
public CompanyVendorTableCell(CompanyVendorService service, CompanyService companyService) { public CompanyVendorTableCell(VendorService service, CompanyService companyService) {
setService(service); setService(service);
setCompanyService(companyService); setCompanyService(companyService);
} }
@Override @Override
protected IEntityService<CompanyVendorVo> getServiceBean() { protected IEntityService<VendorVo> getServiceBean() {
return SpringApp.getBean(CompanyVendorService.class); return SpringApp.getBean(VendorService.class);
} }
protected CompanyService getCompanyService() { protected CompanyService getCompanyService() {
@@ -46,7 +46,7 @@ public class CompanyVendorTableCell<T> extends AsyncUpdateTableCell<T, Integer,
} }
@Override @Override
protected boolean isInitialized(CompanyVendorVo proxy) { protected boolean isInitialized(VendorVo proxy) {
if (!super.isInitialized(proxy)) { if (!super.isInitialized(proxy)) {
return false; return false;
} }
@@ -54,13 +54,13 @@ public class CompanyVendorTableCell<T> extends AsyncUpdateTableCell<T, Integer,
} }
@Override @Override
protected CompanyVendorVo initialize() { protected VendorVo initialize() {
CompanyVendorVo vendor = super.initialize(); VendorVo vendor = super.initialize();
return vendor; return vendor;
} }
@Override @Override
public String format(CompanyVendorVo vendor) { public String format(VendorVo vendor) {
Integer companyId = vendor.getCompanyId(); Integer companyId = vendor.getCompanyId();
CompanyVo company = getCompanyService().findById(companyId); CompanyVo company = getCompanyService().findById(companyId);
if (company == null) { if (company == null) {

View File

@@ -1,21 +1,19 @@
package com.ecep.contract.controller.vendor; package com.ecep.contract.controller.vendor;
import java.util.Map;
import com.ecep.contract.controller.tab.TabSkin; import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.controller.table.AbstEntityTableTabSkin; import com.ecep.contract.controller.table.AbstEntityTableTabSkin;
import com.ecep.contract.model.IdentityEntity; import com.ecep.contract.model.IdentityEntity;
import com.ecep.contract.service.CompanyService; import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.CompanyVendorService; import com.ecep.contract.service.VendorService;
import com.ecep.contract.util.ParamUtils; import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.vm.CompanyVendorViewModel; import com.ecep.contract.vm.CompanyVendorViewModel;
import com.ecep.contract.vm.IdentityViewModel; import com.ecep.contract.vm.IdentityViewModel;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
public abstract class AbstCompanyVendorTableTabSkin<T extends IdentityEntity, TV extends IdentityViewModel<T>> public abstract class AbstVendorTableTabSkin<T extends IdentityEntity, TV extends IdentityViewModel<T>>
extends AbstEntityTableTabSkin<CompanyVendorWindowController, CompanyVendorVo, CompanyVendorViewModel, T, TV> extends AbstEntityTableTabSkin<VendorWindowController, VendorVo, CompanyVendorViewModel, T, TV>
implements TabSkin { implements TabSkin {
public AbstCompanyVendorTableTabSkin(CompanyVendorWindowController controller) { public AbstVendorTableTabSkin(VendorWindowController controller) {
super(controller); super(controller);
} }
@@ -23,12 +21,12 @@ public abstract class AbstCompanyVendorTableTabSkin<T extends IdentityEntity, TV
return controller.getCompanyService(); return controller.getCompanyService();
} }
public CompanyVendorService getCompanyVendorService() { public VendorService getCompanyVendorService() {
return getCachedBean(CompanyVendorService.class); return getCachedBean(VendorService.class);
} }
@Override @Override
public ParamUtils.Builder getSpecification(CompanyVendorVo parent) { public ParamUtils.Builder getSpecification(VendorVo parent) {
ParamUtils.Builder params = getSpecification(); ParamUtils.Builder params = getSpecification();
params.equals("vendor", parent.getId()); params.equals("vendor", parent.getId());
return params; return params;

View File

@@ -2,27 +2,27 @@ package com.ecep.contract.controller.vendor;
import com.ecep.contract.MyDateTimeUtils; import com.ecep.contract.MyDateTimeUtils;
import com.ecep.contract.controller.AbstEntityManagerSkin; import com.ecep.contract.controller.AbstEntityManagerSkin;
import com.ecep.contract.controller.ComboBoxUtils; import com.ecep.contract.util.ComboBoxUtils;
import com.ecep.contract.controller.table.cell.CompanyTableCell; import com.ecep.contract.controller.table.cell.CompanyTableCell;
import com.ecep.contract.controller.table.cell.VendorCatalogTableCell; import com.ecep.contract.controller.table.cell.VendorCatalogTableCell;
import com.ecep.contract.controller.table.cell.VendorTypeTableCell; import com.ecep.contract.controller.table.cell.VendorTypeTableCell;
import com.ecep.contract.service.CompanyService; import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.CompanyVendorService; import com.ecep.contract.service.VendorService;
import com.ecep.contract.service.VendorCatalogService; import com.ecep.contract.service.VendorCatalogService;
import com.ecep.contract.service.VendorTypeService; import com.ecep.contract.service.VendorTypeService;
import com.ecep.contract.util.ParamUtils; import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.vm.CompanyVendorViewModel; import com.ecep.contract.vm.CompanyVendorViewModel;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import javafx.application.Platform; import javafx.application.Platform;
import lombok.Setter; import lombok.Setter;
public class CompanyVendorManagerSkin public class VendorManagerSkin
extends extends
AbstEntityManagerSkin<CompanyVendorVo, CompanyVendorViewModel, CompanyVendorManagerSkin, CompanyVendorManagerWindowController> { AbstEntityManagerSkin<VendorVo, CompanyVendorViewModel, VendorManagerSkin, VendorManagerWindowController> {
@Setter @Setter
private CompanyService companyService; private CompanyService companyService;
public CompanyVendorManagerSkin(CompanyVendorManagerWindowController controller) { public VendorManagerSkin(VendorManagerWindowController controller) {
super(controller); super(controller);
} }
@@ -33,7 +33,7 @@ public class CompanyVendorManagerSkin
return companyService; return companyService;
} }
public CompanyVendorService getCompanyVendorService() { public VendorService getCompanyVendorService() {
return controller.getViewModelService(); return controller.getViewModelService();
} }
@@ -81,6 +81,6 @@ public class CompanyVendorManagerSkin
} }
private void showInOwner(CompanyVendorViewModel model) { private void showInOwner(CompanyVendorViewModel model) {
showInOwner(CompanyVendorWindowController.class, model); showInOwner(VendorWindowController.class, model);
} }
} }

View File

@@ -3,6 +3,7 @@ package com.ecep.contract.controller.vendor;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import com.ecep.contract.service.VendorService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
@@ -14,15 +15,14 @@ import org.springframework.stereotype.Component;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
import com.ecep.contract.VendorType; import com.ecep.contract.VendorType;
import com.ecep.contract.controller.AbstManagerWindowController; import com.ecep.contract.controller.AbstManagerWindowController;
import com.ecep.contract.controller.vendor.approved_list.CompanyVendorApprovedListManagerWindowController; import com.ecep.contract.controller.vendor.approved_list.VendorApprovedListManagerWindowController;
import com.ecep.contract.controller.vendor.group.VendorGroupManagerWindowController; import com.ecep.contract.controller.vendor.group.VendorGroupManagerWindowController;
import com.ecep.contract.service.CompanyService; import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.CompanyVendorService;
import com.ecep.contract.task.VendorVerifyAllTasker; import com.ecep.contract.task.VendorVerifyAllTasker;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.UITools; import com.ecep.contract.util.UITools;
import com.ecep.contract.vm.CompanyVendorViewModel; import com.ecep.contract.vm.CompanyVendorViewModel;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import com.ecep.contract.vo.VendorTypeLocalVo; import com.ecep.contract.vo.VendorTypeLocalVo;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
@@ -34,8 +34,8 @@ import javafx.stage.Stage;
@Scope("prototype") @Scope("prototype")
@Component @Component
@FxmlPath("/ui/company/vendor/vendor_manager.fxml") @FxmlPath("/ui/company/vendor/vendor_manager.fxml")
public class CompanyVendorManagerWindowController public class VendorManagerWindowController
extends AbstManagerWindowController<CompanyVendorVo, CompanyVendorViewModel, CompanyVendorManagerSkin> { extends AbstManagerWindowController<VendorVo, CompanyVendorViewModel, VendorManagerSkin> {
// columns // columns
public TableColumn<CompanyVendorViewModel, Number> idColumn; public TableColumn<CompanyVendorViewModel, Number> idColumn;
@@ -53,7 +53,7 @@ public class CompanyVendorManagerWindowController
@Autowired @Autowired
private CompanyService companyService; private CompanyService companyService;
@Autowired @Autowired
private CompanyVendorService companyVendorService; private VendorService vendorService;
@Override @Override
public void show(Stage stage) { public void show(Stage stage) {
@@ -62,8 +62,8 @@ public class CompanyVendorManagerWindowController
} }
@Override @Override
public CompanyVendorService getViewModelService() { public VendorService getViewModelService() {
return companyVendorService; return vendorService;
} }
public void onFileReBuildingAction(ActionEvent event) { public void onFileReBuildingAction(ActionEvent event) {
@@ -75,11 +75,11 @@ public class CompanyVendorManagerWindowController
}; };
while (true) { while (true) {
Page<CompanyVendorVo> page = companyVendorService.findAll(null, pageRequest); Page<VendorVo> page = vendorService.findAll(null, pageRequest);
for (CompanyVendorVo companyVendor : page) { for (VendorVo companyVendor : page) {
MessageHolder sub = messageHolder MessageHolder sub = messageHolder
.sub(page.getNumber() + "/" + page.getTotalPages() + " #" + companyVendor.getId() + ">"); .sub(page.getNumber() + "/" + page.getTotalPages() + " #" + companyVendor.getId() + ">");
companyVendorService.reBuildingFiles(companyVendor, sub); vendorService.reBuildingFiles(companyVendor, sub);
} }
if (!page.hasNext()) { if (!page.hasNext()) {
break; break;
@@ -100,7 +100,7 @@ public class CompanyVendorManagerWindowController
} }
public void onOpenApprovedVendorListWindowAction(ActionEvent event) { public void onOpenApprovedVendorListWindowAction(ActionEvent event) {
show(CompanyVendorApprovedListManagerWindowController.class, null); show(VendorApprovedListManagerWindowController.class, null);
} }
public void onBaseTableRefreshAction(ActionEvent event) { public void onBaseTableRefreshAction(ActionEvent event) {
@@ -112,8 +112,8 @@ public class CompanyVendorManagerWindowController
} }
@Override @Override
protected CompanyVendorManagerSkin createDefaultSkin() { protected VendorManagerSkin createDefaultSkin() {
CompanyVendorManagerSkin skin = new CompanyVendorManagerSkin(this); VendorManagerSkin skin = new VendorManagerSkin(this);
skin.setCompanyService(companyService); skin.setCompanyService(companyService);
return skin; return skin;
} }

View File

@@ -1,26 +1,23 @@
package com.ecep.contract.controller.vendor; package com.ecep.contract.controller.vendor;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.List;
import com.ecep.contract.MyDateTimeUtils; import com.ecep.contract.MyDateTimeUtils;
import com.ecep.contract.SpringApp; import com.ecep.contract.SpringApp;
import com.ecep.contract.VendorType; import com.ecep.contract.VendorType;
import com.ecep.contract.controller.ComboBoxUtils; import com.ecep.contract.util.ComboBoxUtils;
import com.ecep.contract.controller.company.CompanyWindowController; import com.ecep.contract.controller.company.CompanyWindowController;
import com.ecep.contract.controller.tab.AbstEntityBasedTabSkin; import com.ecep.contract.controller.tab.AbstEntityBasedTabSkin;
import com.ecep.contract.model.VendorTypeLocal;
import com.ecep.contract.service.CompanyContactService; import com.ecep.contract.service.CompanyContactService;
import com.ecep.contract.service.CompanyVendorService; import com.ecep.contract.service.VendorService;
import com.ecep.contract.service.VendorCatalogService; import com.ecep.contract.service.VendorCatalogService;
import com.ecep.contract.service.VendorTypeService; import com.ecep.contract.service.VendorTypeService;
import com.ecep.contract.util.UITools; import com.ecep.contract.util.UITools;
import com.ecep.contract.vm.CompanyVendorViewModel; import com.ecep.contract.vm.CompanyVendorViewModel;
import com.ecep.contract.vm.CompanyViewModel; import com.ecep.contract.vm.CompanyViewModel;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import com.ecep.contract.vo.CompanyVo; import com.ecep.contract.vo.CompanyVo;
import javafx.beans.property.SimpleObjectProperty;
import javafx.collections.FXCollections; import javafx.collections.FXCollections;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
@@ -29,9 +26,9 @@ import javafx.scene.control.Tab;
import javafx.util.converter.LocalDateStringConverter; import javafx.util.converter.LocalDateStringConverter;
import javafx.util.converter.LocalDateTimeStringConverter; import javafx.util.converter.LocalDateTimeStringConverter;
public class CompanyVendorTabSkinBase public class VendorTabSkinBase
extends AbstEntityBasedTabSkin<CompanyVendorWindowController, CompanyVendorVo, CompanyVendorViewModel> { extends AbstEntityBasedTabSkin<VendorWindowController, VendorVo, CompanyVendorViewModel> {
public CompanyVendorTabSkinBase(CompanyVendorWindowController controller) { public VendorTabSkinBase(VendorWindowController controller) {
super(controller); super(controller);
} }
@@ -101,7 +98,7 @@ public class CompanyVendorTabSkinBase
} }
public void onCreatePathAction(ActionEvent event) { public void onCreatePathAction(ActionEvent event) {
CompanyVendorVo companyVendor = getEntity(); VendorVo companyVendor = getEntity();
if (getCompanyVendorService().makePathAbsent(companyVendor)) { if (getCompanyVendorService().makePathAbsent(companyVendor)) {
save(companyVendor); save(companyVendor);
} else { } else {
@@ -117,7 +114,7 @@ public class CompanyVendorTabSkinBase
setStatus("未实现"); setStatus("未实现");
} }
public CompanyVendorService getCompanyVendorService() { public VendorService getCompanyVendorService() {
return controller.getViewModelService(); return controller.getViewModelService();
} }
} }

View File

@@ -5,19 +5,19 @@ import java.time.LocalDate;
import com.ecep.contract.controller.tab.TabSkin; import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.controller.table.cell.EmployeeTableCell; import com.ecep.contract.controller.table.cell.EmployeeTableCell;
import com.ecep.contract.controller.table.cell.VendorCatalogTableCell; import com.ecep.contract.controller.table.cell.VendorCatalogTableCell;
import com.ecep.contract.service.CompanyVendorEntityService; import com.ecep.contract.service.VendorEntityService;
import com.ecep.contract.service.VendorCatalogService; import com.ecep.contract.service.VendorCatalogService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.vm.CompanyVendorEntityViewModel; import com.ecep.contract.vm.CompanyVendorEntityViewModel;
import com.ecep.contract.vo.CompanyVendorEntityVo; import com.ecep.contract.vo.VendorEntityVo;
import javafx.scene.control.MenuItem; import javafx.scene.control.MenuItem;
import javafx.scene.control.Tab; import javafx.scene.control.Tab;
import javafx.scene.control.TableColumn; import javafx.scene.control.TableColumn;
@FxmlPath("/ui/company/vendor/vendor-tab-entity.fxml") @FxmlPath("/ui/company/vendor/vendor-tab-entity.fxml")
public class CompanyVendorTabSkinEntity public class VendorTabSkinEntity
extends AbstCompanyVendorTableTabSkin<CompanyVendorEntityVo, CompanyVendorEntityViewModel> extends AbstVendorTableTabSkin<VendorEntityVo, CompanyVendorEntityViewModel>
implements TabSkin { implements TabSkin {
// 关联项 tab // 关联项 tab
@@ -35,16 +35,16 @@ public class CompanyVendorTabSkinEntity
public MenuItem entityTable_menu_refresh; public MenuItem entityTable_menu_refresh;
public MenuItem entityTable_menu_del; public MenuItem entityTable_menu_del;
public CompanyVendorTabSkinEntity(CompanyVendorWindowController controller) { public VendorTabSkinEntity(VendorWindowController controller) {
super(controller); super(controller);
} }
CompanyVendorEntityService getVendorEntityService() { VendorEntityService getVendorEntityService() {
return getCachedBean(CompanyVendorEntityService.class); return getCachedBean(VendorEntityService.class);
} }
@Override @Override
protected CompanyVendorEntityService getViewModelService() { protected VendorEntityService getViewModelService() {
return getVendorEntityService(); return getVendorEntityService();
} }

View File

@@ -6,8 +6,8 @@ import java.util.List;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import com.ecep.contract.service.VendorFileTypeService; import com.ecep.contract.service.VendorFileTypeService;
import com.ecep.contract.vo.CompanyVendorFileVo; import com.ecep.contract.vo.VendorFileVo;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import com.ecep.contract.vo.CompanyVo; import com.ecep.contract.vo.CompanyVo;
import com.ecep.contract.vo.VendorFileTypeLocalVo; import com.ecep.contract.vo.VendorFileTypeLocalVo;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
@@ -19,7 +19,7 @@ import com.ecep.contract.SpringApp;
import com.ecep.contract.constant.CompanyVendorConstant; import com.ecep.contract.constant.CompanyVendorConstant;
import com.ecep.contract.controller.tab.TabSkin; import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.model.BaseEnumEntity; import com.ecep.contract.model.BaseEnumEntity;
import com.ecep.contract.service.CompanyVendorFileService; import com.ecep.contract.service.VendorFileService;
import com.ecep.contract.task.CompanyVendorEvaluationFormUpdateTask; import com.ecep.contract.task.CompanyVendorEvaluationFormUpdateTask;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.UITools; import com.ecep.contract.util.UITools;
@@ -45,7 +45,7 @@ import lombok.Setter;
*/ */
@FxmlPath("/ui/company/vendor/vendor-tab-file.fxml") @FxmlPath("/ui/company/vendor/vendor-tab-file.fxml")
public class VendorTabSkinFile public class VendorTabSkinFile
extends AbstCompanyVendorTableTabSkin<CompanyVendorFileVo, CompanyVendorFileViewModel> extends AbstVendorTableTabSkin<VendorFileVo, CompanyVendorFileViewModel>
implements TabSkin { implements TabSkin {
public TableColumn<CompanyVendorFileViewModel, Number> fileTable_idColumn; public TableColumn<CompanyVendorFileViewModel, Number> fileTable_idColumn;
@@ -65,9 +65,9 @@ public class VendorTabSkinFile
public Button fileTable_calcNextSignDateBtn; public Button fileTable_calcNextSignDateBtn;
@Setter @Setter
private CompanyVendorFileService companyVendorFileService; private VendorFileService vendorFileService;
public VendorTabSkinFile(CompanyVendorWindowController controller) { public VendorTabSkinFile(VendorWindowController controller) {
super(controller); super(controller);
setDragAndDrop(true); setDragAndDrop(true);
setDragAndDropFileHandler(this::moveFileToCustomer); setDragAndDropFileHandler(this::moveFileToCustomer);
@@ -79,8 +79,8 @@ public class VendorTabSkinFile
} }
@Override @Override
protected CompanyVendorFileService getViewModelService() { protected VendorFileService getViewModelService() {
return getCompanyVendorFileService(); return getVendorFileService();
} }
@Override @Override
@@ -127,7 +127,7 @@ public class VendorTabSkinFile
} }
private void moveFileToCustomer(List<File> files) { private void moveFileToCustomer(List<File> files) {
CompanyVendorVo companyVendor = getParent(); VendorVo companyVendor = getParent();
String path = companyVendor.getPath(); String path = companyVendor.getPath();
if (!StringUtils.hasText(path)) { if (!StringUtils.hasText(path)) {
setStatus("未设置目录"); setStatus("未设置目录");
@@ -139,7 +139,7 @@ public class VendorTabSkinFile
return; return;
} }
LocalDate nextSignDate = getCompanyVendorFileService().getNextSignDate(companyVendor, this::setStatus); LocalDate nextSignDate = getVendorFileService().getNextSignDate(companyVendor, this::setStatus);
if (nextSignDate != null && files.size() == 1) { if (nextSignDate != null && files.size() == 1) {
File file = files.getFirst(); File file = files.getFirst();
String fileName = file.getName(); String fileName = file.getName();
@@ -149,13 +149,13 @@ public class VendorTabSkinFile
+ "." + StringUtils.getFilenameExtension(fileName); + "." + StringUtils.getFilenameExtension(fileName);
File dest = new File(dir, destFileName); File dest = new File(dir, destFileName);
if (file.renameTo(dest)) { if (file.renameTo(dest)) {
CompanyVendorFileVo ccf = new CompanyVendorFileVo(); VendorFileVo ccf = new VendorFileVo();
ccf.setVendorId(companyVendor.getId()); ccf.setVendorId(companyVendor.getId());
ccf.setType(VendorFileType.EvaluationForm); ccf.setType(VendorFileType.EvaluationForm);
ccf.setFilePath(dest.getAbsolutePath()); ccf.setFilePath(dest.getAbsolutePath());
ccf.setSignDate(nextSignDate); ccf.setSignDate(nextSignDate);
ccf.setValid(true); ccf.setValid(true);
CompanyVendorFileVo saved = getCompanyVendorFileService().save(ccf); VendorFileVo saved = getVendorFileService().save(ccf);
Platform.runLater(() -> { Platform.runLater(() -> {
CompanyVendorFileViewModel model = new CompanyVendorFileViewModel(); CompanyVendorFileViewModel model = new CompanyVendorFileViewModel();
model.update(saved); model.update(saved);
@@ -169,12 +169,12 @@ public class VendorTabSkinFile
for (File file : files) { for (File file : files) {
File dest = new File(dir, file.getName()); File dest = new File(dir, file.getName());
if (file.renameTo(dest)) { if (file.renameTo(dest)) {
CompanyVendorFileVo ccf = new CompanyVendorFileVo(); VendorFileVo ccf = new VendorFileVo();
ccf.setVendorId(companyVendor.getId()); ccf.setVendorId(companyVendor.getId());
ccf.setType(VendorFileType.General); ccf.setType(VendorFileType.General);
ccf.setFilePath(dest.getAbsolutePath()); ccf.setFilePath(dest.getAbsolutePath());
ccf.setValid(false); ccf.setValid(false);
CompanyVendorFileVo saved = getCompanyVendorFileService().save(ccf); VendorFileVo saved = getVendorFileService().save(ccf);
} }
} }
loadTableDataSet(); loadTableDataSet();
@@ -183,7 +183,7 @@ public class VendorTabSkinFile
public void onFileReBuildingAction(ActionEvent event) { public void onFileReBuildingAction(ActionEvent event) {
CompletableFuture.runAsync(() -> { CompletableFuture.runAsync(() -> {
try { try {
CompanyVendorVo companyVendor = getParent(); VendorVo companyVendor = getParent();
if (getCompanyVendorService().reBuildingFiles(companyVendor, (level, msg) -> setStatus(msg))) { if (getCompanyVendorService().reBuildingFiles(companyVendor, (level, msg) -> setStatus(msg))) {
loadTableDataSet(); loadTableDataSet();
} }
@@ -194,18 +194,18 @@ public class VendorTabSkinFile
} }
@Override @Override
public CompanyVendorFileVo loadRowData(CompanyVendorFileViewModel row) { public VendorFileVo loadRowData(CompanyVendorFileViewModel row) {
return getCompanyVendorFileService().findById(row.getId().get()); return getVendorFileService().findById(row.getId().get());
} }
@Override @Override
public CompanyVendorFileVo saveRowData(CompanyVendorFileVo entity) { public VendorFileVo saveRowData(VendorFileVo entity) {
return getCompanyVendorFileService().save(entity); return getVendorFileService().save(entity);
} }
@Override @Override
public void deleteRowData(CompanyVendorFileVo entity) { public void deleteRowData(VendorFileVo entity) {
getCompanyVendorFileService().delete(entity); getVendorFileService().delete(entity);
} }
@Override @Override
@@ -272,7 +272,7 @@ public class VendorTabSkinFile
deleteRow(selectedItem); deleteRow(selectedItem);
// getCompanyVendorService().deleteFileById(selectedItem.getId().get()); // getVendorService().deleteFileById(selectedItem.getId().get());
// dataSet.remove(selectedItem); // dataSet.remove(selectedItem);
} }
@@ -285,8 +285,8 @@ public class VendorTabSkinFile
public void onCalcNextSignDateAction(ActionEvent event) { public void onCalcNextSignDateAction(ActionEvent event) {
UITools.showDialogAndWait("计算供应商下一个评价日期", "依据已有的供应商评价表和登记采购的合同计算下一个评价日期", ds -> { UITools.showDialogAndWait("计算供应商下一个评价日期", "依据已有的供应商评价表和登记采购的合同计算下一个评价日期", ds -> {
CompanyVendorVo companyVendor = getCompanyVendorService().findById(viewModel.getId().get()); VendorVo companyVendor = getCompanyVendorService().findById(viewModel.getId().get());
LocalDate nextSignDate = getCompanyVendorFileService().getNextSignDate(companyVendor, msg -> { LocalDate nextSignDate = getVendorFileService().getNextSignDate(companyVendor, msg -> {
Platform.runLater(() -> { Platform.runLater(() -> {
ds.add(msg); ds.add(msg);
}); });
@@ -318,11 +318,11 @@ public class VendorTabSkinFile
} }
} }
public CompanyVendorFileService getCompanyVendorFileService() { public VendorFileService getVendorFileService() {
if (companyVendorFileService == null) { if (vendorFileService == null) {
companyVendorFileService = SpringApp.getBean(CompanyVendorFileService.class); vendorFileService = SpringApp.getBean(VendorFileService.class);
} }
return companyVendorFileService; return vendorFileService;
} }
} }

View File

@@ -14,7 +14,7 @@ import org.springframework.util.StringUtils;
import com.ecep.contract.DesktopUtils; import com.ecep.contract.DesktopUtils;
import com.ecep.contract.controller.AbstEntityController; import com.ecep.contract.controller.AbstEntityController;
import com.ecep.contract.service.CompanyService; import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.CompanyVendorService; import com.ecep.contract.service.VendorService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.vm.CompanyVendorViewModel; import com.ecep.contract.vm.CompanyVendorViewModel;
@@ -31,21 +31,21 @@ import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane; import javafx.scene.layout.BorderPane;
import javafx.stage.Window; import javafx.stage.Window;
import javafx.stage.WindowEvent; import javafx.stage.WindowEvent;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import com.ecep.contract.vo.CompanyVo; import com.ecep.contract.vo.CompanyVo;
@Lazy @Lazy
@Scope("prototype") @Scope("prototype")
@Component @Component
@FxmlPath("/ui/company/vendor/vendor.fxml") @FxmlPath("/ui/company/vendor/vendor.fxml")
public class CompanyVendorWindowController extends AbstEntityController<CompanyVendorVo, CompanyVendorViewModel> { public class VendorWindowController extends AbstEntityController<VendorVo, CompanyVendorViewModel> {
private static final Logger logger = LoggerFactory.getLogger(CompanyVendorWindowController.class); private static final Logger logger = LoggerFactory.getLogger(VendorWindowController.class);
/** /**
* 显示界面 * 显示界面
*/ */
public static void show(CompanyVendorVo companyVendor, Window window) { public static void show(VendorVo companyVendor, Window window) {
show(CompanyVendorWindowController.class, CompanyVendorViewModel.from(companyVendor), window); show(VendorWindowController.class, CompanyVendorViewModel.from(companyVendor), window);
} }
public BorderPane root; public BorderPane root;
@@ -85,14 +85,14 @@ public class CompanyVendorWindowController extends AbstEntityController<CompanyV
@Override @Override
protected void registerTabSkins() { protected void registerTabSkins() {
registerTabSkin(baseInfoTab, tab -> new CompanyVendorTabSkinBase(this)); registerTabSkin(baseInfoTab, tab -> new VendorTabSkinBase(this));
registerTabSkin(fileTab, tab -> new VendorTabSkinFile(this)); registerTabSkin(fileTab, tab -> new VendorTabSkinFile(this));
registerTabSkin(entityTab, tab -> new CompanyVendorTabSkinEntity(this)); registerTabSkin(entityTab, tab -> new VendorTabSkinEntity(this));
} }
@Override @Override
public CompanyVendorService getViewModelService() { public VendorService getViewModelService() {
return getCachedBean(CompanyVendorService.class); return getCachedBean(VendorService.class);
} }
public CompanyService getCompanyService() { public CompanyService getCompanyService() {

View File

@@ -1,24 +1,24 @@
package com.ecep.contract.controller.vendor.approved_list; package com.ecep.contract.controller.vendor.approved_list;
import com.ecep.contract.controller.AbstEntityManagerSkin; import com.ecep.contract.controller.AbstEntityManagerSkin;
import com.ecep.contract.service.CompanyVendorApprovedListService; import com.ecep.contract.service.VendorApprovedService;
import com.ecep.contract.vo.CompanyVendorApprovedListVo; import com.ecep.contract.vo.VendorApprovedVo;
import com.ecep.contract.vm.CompanyVendorApprovedListViewModel; import com.ecep.contract.vm.CompanyVendorApprovedListViewModel;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.scene.control.SelectionMode; import javafx.scene.control.SelectionMode;
import lombok.Setter; import lombok.Setter;
public class CompanyVendorApprovedListManagerSkin public class VendorApprovedListManagerSkin
extends AbstEntityManagerSkin<CompanyVendorApprovedListVo, CompanyVendorApprovedListViewModel, CompanyVendorApprovedListManagerSkin, CompanyVendorApprovedListManagerWindowController> { extends AbstEntityManagerSkin<VendorApprovedVo, CompanyVendorApprovedListViewModel, VendorApprovedListManagerSkin, VendorApprovedListManagerWindowController> {
@Setter @Setter
private CompanyVendorApprovedListService service; private VendorApprovedService service;
public CompanyVendorApprovedListManagerSkin(CompanyVendorApprovedListManagerWindowController controller) { public VendorApprovedListManagerSkin(VendorApprovedListManagerWindowController controller) {
super(controller); super(controller);
} }
public CompanyVendorApprovedListService getService() { public VendorApprovedService getService() {
return service; return service;
} }
@@ -35,15 +35,15 @@ public class CompanyVendorApprovedListManagerSkin
@Override @Override
protected void onTableRowDoubleClickedAction(CompanyVendorApprovedListViewModel item) { protected void onTableRowDoubleClickedAction(CompanyVendorApprovedListViewModel item) {
showInOwner(CompanyVendorApprovedListWindowController.class, item); showInOwner(VendorApprovedListWindowController.class, item);
} }
@Override @Override
protected void onTableCreateNewAction(ActionEvent event) { protected void onTableCreateNewAction(ActionEvent event) {
CompanyVendorApprovedListVo list = new CompanyVendorApprovedListVo(); VendorApprovedVo list = new VendorApprovedVo();
CompanyVendorApprovedListViewModel viewModel = CompanyVendorApprovedListViewModel.from(list); CompanyVendorApprovedListViewModel viewModel = CompanyVendorApprovedListViewModel.from(list);
dataSet.add(viewModel); dataSet.add(viewModel);
showInOwner(CompanyVendorApprovedListWindowController.class, viewModel); showInOwner(VendorApprovedListWindowController.class, viewModel);
} }
} }

View File

@@ -8,9 +8,9 @@ import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.ecep.contract.controller.AbstManagerWindowController; import com.ecep.contract.controller.AbstManagerWindowController;
import com.ecep.contract.service.CompanyVendorApprovedListService; import com.ecep.contract.service.VendorApprovedService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.vo.CompanyVendorApprovedListVo; import com.ecep.contract.vo.VendorApprovedVo;
import com.ecep.contract.vm.CompanyVendorApprovedListViewModel; import com.ecep.contract.vm.CompanyVendorApprovedListViewModel;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
@@ -24,8 +24,8 @@ import javafx.stage.WindowEvent;
@Scope("prototype") @Scope("prototype")
@Component @Component
@FxmlPath("/ui/company/vendor/vendor_approved_list_manager.fxml") @FxmlPath("/ui/company/vendor/vendor_approved_list_manager.fxml")
public class CompanyVendorApprovedListManagerWindowController public class VendorApprovedListManagerWindowController
extends AbstManagerWindowController<CompanyVendorApprovedListVo, CompanyVendorApprovedListViewModel, CompanyVendorApprovedListManagerSkin> { extends AbstManagerWindowController<VendorApprovedVo, CompanyVendorApprovedListViewModel, VendorApprovedListManagerSkin> {
public TableColumn<CompanyVendorApprovedListViewModel, Number> idColumn; public TableColumn<CompanyVendorApprovedListViewModel, Number> idColumn;
public TableColumn<CompanyVendorApprovedListViewModel, String> titleColumn; public TableColumn<CompanyVendorApprovedListViewModel, String> titleColumn;
@@ -33,11 +33,11 @@ public class CompanyVendorApprovedListManagerWindowController
public TableColumn<CompanyVendorApprovedListViewModel, String> descriptionColumn; public TableColumn<CompanyVendorApprovedListViewModel, String> descriptionColumn;
@Autowired @Autowired
private CompanyVendorApprovedListService service; private VendorApprovedService service;
@Override @Override
protected CompanyVendorApprovedListManagerSkin createDefaultSkin() { protected VendorApprovedListManagerSkin createDefaultSkin() {
CompanyVendorApprovedListManagerSkin skin = new CompanyVendorApprovedListManagerSkin(this); VendorApprovedListManagerSkin skin = new VendorApprovedListManagerSkin(this);
skin.setService(service); skin.setService(service);
return skin; return skin;
} }
@@ -49,7 +49,7 @@ public class CompanyVendorApprovedListManagerWindowController
} }
@Override @Override
public CompanyVendorApprovedListService getViewModelService() { public VendorApprovedService getViewModelService() {
return service; return service;
} }

View File

@@ -4,17 +4,17 @@ import java.time.format.DateTimeFormatter;
import com.ecep.contract.controller.tab.AbstEntityBasedTabSkin; import com.ecep.contract.controller.tab.AbstEntityBasedTabSkin;
import com.ecep.contract.controller.tab.TabSkin; import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.vo.CompanyVendorApprovedListVo; import com.ecep.contract.vo.VendorApprovedVo;
import com.ecep.contract.vm.CompanyVendorApprovedListViewModel; import com.ecep.contract.vm.CompanyVendorApprovedListViewModel;
import javafx.scene.control.Tab; import javafx.scene.control.Tab;
import javafx.util.converter.LocalDateStringConverter; import javafx.util.converter.LocalDateStringConverter;
public class CompanyVendorApprovedListTabSkinBase public class VendorApprovedListTabSkinBase
extends extends
AbstEntityBasedTabSkin<CompanyVendorApprovedListWindowController, CompanyVendorApprovedListVo, CompanyVendorApprovedListViewModel> AbstEntityBasedTabSkin<VendorApprovedListWindowController, VendorApprovedVo, CompanyVendorApprovedListViewModel>
implements TabSkin { implements TabSkin {
public CompanyVendorApprovedListTabSkinBase(CompanyVendorApprovedListWindowController controller) { public VendorApprovedListTabSkinBase(VendorApprovedListWindowController controller) {
super(controller); super(controller);
} }

View File

@@ -2,7 +2,6 @@ package com.ecep.contract.controller.vendor.approved_list;
import java.io.File; import java.io.File;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.Map;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
@@ -10,13 +9,12 @@ import org.springframework.util.StringUtils;
import com.ecep.contract.DesktopUtils; import com.ecep.contract.DesktopUtils;
import com.ecep.contract.controller.tab.TabSkin; import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.controller.table.AbstEntityTableTabSkin; import com.ecep.contract.controller.table.AbstEntityTableTabSkin;
import com.ecep.contract.model.CompanyVendorApprovedFile; import com.ecep.contract.service.VendorApprovedFileService;
import com.ecep.contract.service.CompanyVendorApprovedFileService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.ParamUtils; import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.util.ParamUtils.Builder; import com.ecep.contract.util.ParamUtils.Builder;
import com.ecep.contract.vo.CompanyVendorApprovedFileVo; import com.ecep.contract.vo.VendorApprovedFileVo;
import com.ecep.contract.vo.CompanyVendorApprovedListVo; import com.ecep.contract.vo.VendorApprovedVo;
import com.ecep.contract.vm.CompanyVendorApprovedFileViewModel; import com.ecep.contract.vm.CompanyVendorApprovedFileViewModel;
import com.ecep.contract.vm.CompanyVendorApprovedListViewModel; import com.ecep.contract.vm.CompanyVendorApprovedListViewModel;
@@ -26,36 +24,36 @@ import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn; import javafx.scene.control.TableColumn;
@FxmlPath("/ui/company/vendor/vendor_approved_list-tab-file.fxml") @FxmlPath("/ui/company/vendor/vendor_approved_list-tab-file.fxml")
public class CompanyVendorApprovedListTabSkinFiles public class VendorApprovedListTabSkinFiles
extends extends
AbstEntityTableTabSkin<CompanyVendorApprovedListWindowController, CompanyVendorApprovedListVo, CompanyVendorApprovedListViewModel, CompanyVendorApprovedFileVo, CompanyVendorApprovedFileViewModel> AbstEntityTableTabSkin<VendorApprovedListWindowController, VendorApprovedVo, CompanyVendorApprovedListViewModel, VendorApprovedFileVo, CompanyVendorApprovedFileViewModel>
implements TabSkin { implements TabSkin {
private CompanyVendorApprovedFileService fileService; private VendorApprovedFileService fileService;
public TableColumn<CompanyVendorApprovedFileViewModel, Number> fileTable_idColumn; public TableColumn<CompanyVendorApprovedFileViewModel, Number> fileTable_idColumn;
public TableColumn<CompanyVendorApprovedFileViewModel, String> fileTable_filePathColumn; public TableColumn<CompanyVendorApprovedFileViewModel, String> fileTable_filePathColumn;
public TableColumn<CompanyVendorApprovedFileViewModel, LocalDate> fileTable_signDateColumn; public TableColumn<CompanyVendorApprovedFileViewModel, LocalDate> fileTable_signDateColumn;
public TableColumn<CompanyVendorApprovedFileViewModel, String> fileTable_descriptionColumn; public TableColumn<CompanyVendorApprovedFileViewModel, String> fileTable_descriptionColumn;
public CompanyVendorApprovedListTabSkinFiles(CompanyVendorApprovedListWindowController controller) { public VendorApprovedListTabSkinFiles(VendorApprovedListWindowController controller) {
super(controller); super(controller);
} }
CompanyVendorApprovedFileService getFileService() { VendorApprovedFileService getFileService() {
if (fileService == null) { if (fileService == null) {
fileService = getBean(CompanyVendorApprovedFileService.class); fileService = getBean(VendorApprovedFileService.class);
} }
return fileService; return fileService;
} }
@Override @Override
protected CompanyVendorApprovedFileService getViewModelService() { protected VendorApprovedFileService getViewModelService() {
return getFileService(); return getFileService();
} }
@Override @Override
public Builder getSpecification(CompanyVendorApprovedListVo parent) { public Builder getSpecification(VendorApprovedVo parent) {
return ParamUtils.builder().equals("list", parent.getId()); return ParamUtils.builder().equals("list", parent.getId());
} }
@@ -77,7 +75,7 @@ public class CompanyVendorApprovedListTabSkinFiles
public void onFileReBuildingAction(ActionEvent event) { public void onFileReBuildingAction(ActionEvent event) {
CompletableFuture.runAsync(() -> { CompletableFuture.runAsync(() -> {
int id = viewModel.getId().get(); int id = viewModel.getId().get();
CompanyVendorApprovedListVo list = new CompanyVendorApprovedListVo(); VendorApprovedVo list = new VendorApprovedVo();
viewModel.copyTo(list); viewModel.copyTo(list);
try { try {
// 在实际应用中这里需要调整为通过service调用处理VO对象 // 在实际应用中这里需要调整为通过service调用处理VO对象

View File

@@ -4,7 +4,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.ecep.contract.VendorType; import com.ecep.contract.VendorType;
import com.ecep.contract.controller.ComboBoxUtils; import com.ecep.contract.util.ComboBoxUtils;
import com.ecep.contract.controller.table.cell.VendorTypeTableCell; import com.ecep.contract.controller.table.cell.VendorTypeTableCell;
import com.ecep.contract.service.*; import com.ecep.contract.service.*;
import com.ecep.contract.vo.*; import com.ecep.contract.vo.*;
@@ -12,7 +12,7 @@ import com.ecep.contract.vo.*;
import com.ecep.contract.controller.tab.TabSkin; import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.controller.table.AbstEntityTableTabSkin; import com.ecep.contract.controller.table.AbstEntityTableTabSkin;
import com.ecep.contract.controller.table.cell.CompanyVendorTableCell; import com.ecep.contract.controller.table.cell.CompanyVendorTableCell;
import com.ecep.contract.controller.vendor.CompanyVendorWindowController; import com.ecep.contract.controller.vendor.VendorWindowController;
import com.ecep.contract.util.BooleanConfigProperty; import com.ecep.contract.util.BooleanConfigProperty;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.IntegerConfigProperty; import com.ecep.contract.util.IntegerConfigProperty;
@@ -36,14 +36,14 @@ import javafx.scene.control.TableColumn;
import lombok.Setter; import lombok.Setter;
@FxmlPath("/ui/company/vendor/vendor_approved_list-tab-vendor.fxml") @FxmlPath("/ui/company/vendor/vendor_approved_list-tab-vendor.fxml")
public class CompanyVendorApprovedListTabSkinVendors public class VendorApprovedListTabSkinVendors
extends extends
AbstEntityTableTabSkin<CompanyVendorApprovedListWindowController, CompanyVendorApprovedListVo, CompanyVendorApprovedListViewModel, CompanyVendorApprovedItemVo, CompanyVendorApprovedItemViewModel> AbstEntityTableTabSkin<VendorApprovedListWindowController, VendorApprovedVo, CompanyVendorApprovedListViewModel, VendorApprovedItemVo, CompanyVendorApprovedItemViewModel>
implements TabSkin { implements TabSkin {
@Setter @Setter
private CompanyVendorApprovedItemService itemService; private VendorApprovedItemService itemService;
private CompanyService companyService; private CompanyService companyService;
private CompanyVendorService companyVendorService; private VendorService vendorService;
private CompanyOldNameService companyOldNameService; private CompanyOldNameService companyOldNameService;
public ComboBox<VendorTypeLocalVo> typeSelector; public ComboBox<VendorTypeLocalVo> typeSelector;
@@ -60,7 +60,7 @@ public class CompanyVendorApprovedListTabSkinVendors
public CheckMenuItem logTypicallyVendorNoThreeYearContractDetailChecker; public CheckMenuItem logTypicallyVendorNoThreeYearContractDetailChecker;
public Spinner<Integer> qualifiedVendorEveryYearMinContractsSpinner; public Spinner<Integer> qualifiedVendorEveryYearMinContractsSpinner;
public CompanyVendorApprovedListTabSkinVendors(CompanyVendorApprovedListWindowController controller) { public VendorApprovedListTabSkinVendors(VendorApprovedListWindowController controller) {
super(controller); super(controller);
} }
@@ -78,26 +78,26 @@ public class CompanyVendorApprovedListTabSkinVendors
return companyOldNameService; return companyOldNameService;
} }
public CompanyVendorService getCompanyVendorService() { public VendorService getVendorService() {
if (companyVendorService == null) { if (vendorService == null) {
companyVendorService = getBean(CompanyVendorService.class); vendorService = getBean(VendorService.class);
} }
return companyVendorService; return vendorService;
} }
public SysConfService getConfService() { public SysConfService getConfService() {
return controller.getConfService(); return controller.getConfService();
} }
CompanyVendorApprovedItemService getItemService() { VendorApprovedItemService getItemService() {
if (itemService == null) { if (itemService == null) {
itemService = getBean(CompanyVendorApprovedItemService.class); itemService = getBean(VendorApprovedItemService.class);
} }
return itemService; return itemService;
} }
@Override @Override
protected CompanyVendorApprovedItemService getViewModelService() { protected VendorApprovedItemService getViewModelService() {
return getItemService(); return getItemService();
} }
@@ -112,7 +112,7 @@ public class CompanyVendorApprovedListTabSkinVendors
} }
@Override @Override
public ParamUtils.Builder getSpecification(CompanyVendorApprovedListVo parent) { public ParamUtils.Builder getSpecification(VendorApprovedVo parent) {
Builder params = getSpecification(); Builder params = getSpecification();
params.equals("list", parent.getId()); params.equals("list", parent.getId());
return params; return params;
@@ -131,7 +131,7 @@ public class CompanyVendorApprovedListTabSkinVendors
idColumn.setCellValueFactory(param -> param.getValue().getId()); idColumn.setCellValueFactory(param -> param.getValue().getId());
// 厂商, vendor // 厂商, vendor
vendorColumn.setCellValueFactory(param -> param.getValue().getVendor()); vendorColumn.setCellValueFactory(param -> param.getValue().getVendor());
vendorColumn.setCellFactory(CompanyVendorTableCell.forTableColumn(getCompanyVendorService())); vendorColumn.setCellFactory(CompanyVendorTableCell.forTableColumn(getVendorService()));
// 类型, type // 类型, type
typeColumn.setCellValueFactory(param -> param.getValue().getType()); typeColumn.setCellValueFactory(param -> param.getValue().getType());
typeColumn.setCellFactory(VendorTypeTableCell.forTableColumn(getCachedBean(VendorTypeService.class))); typeColumn.setCellFactory(VendorTypeTableCell.forTableColumn(getCachedBean(VendorTypeService.class)));
@@ -187,10 +187,10 @@ public class CompanyVendorApprovedListTabSkinVendors
selectedItem.getType().set(value.getType()); selectedItem.getType().set(value.getType());
int id = selectedItem.getId().get(); int id = selectedItem.getId().get();
CompanyVendorApprovedItemService itemService = getItemService(); VendorApprovedItemService itemService = getItemService();
CompanyVendorApprovedItemVo item = itemService.findById(id); VendorApprovedItemVo item = itemService.findById(id);
if (selectedItem.copyTo(item)) { if (selectedItem.copyTo(item)) {
CompanyVendorApprovedItemVo saved = itemService.save(item); VendorApprovedItemVo saved = itemService.save(item);
selectedItem.update(saved); selectedItem.update(saved);
} }
} }
@@ -202,8 +202,8 @@ public class CompanyVendorApprovedListTabSkinVendors
} }
public void onVendorTableImportAction(ActionEvent event) { public void onVendorTableImportAction(ActionEvent event) {
CompanyVendorApprovedListVo approvedList = getParent(); VendorApprovedVo approvedList = getParent();
CompanyVendorApprovedListVendorImportTask task = new CompanyVendorApprovedListVendorImportTask(approvedList); VendorApprovedListVendorImportTask task = new VendorApprovedListVendorImportTask(approvedList);
task.setLogUnqualifiedVendor(logUnqualifiedVendorChecker.isSelected()); task.setLogUnqualifiedVendor(logUnqualifiedVendorChecker.isSelected());
task.setLogTypicallyVendorNoThreeYearContract(logTypicallyVendorNoThreeYearContractChecker.isSelected()); task.setLogTypicallyVendorNoThreeYearContract(logTypicallyVendorNoThreeYearContractChecker.isSelected());
@@ -220,7 +220,7 @@ public class CompanyVendorApprovedListTabSkinVendors
} }
public void onVendorTableUpdateAction(ActionEvent event) { public void onVendorTableUpdateAction(ActionEvent event) {
CompanyVendorService vendorService = getCompanyVendorService(); VendorService vendorService = getVendorService();
CompanyService companyService = getCompanyService(); CompanyService companyService = getCompanyService();
CompanyOldNameService companyOldNameService = getCompanyOldNameService(); CompanyOldNameService companyOldNameService = getCompanyOldNameService();
@@ -231,7 +231,7 @@ public class CompanyVendorApprovedListTabSkinVendors
CompanyVendorApprovedItemViewModel first = list.removeFirst(); CompanyVendorApprovedItemViewModel first = list.removeFirst();
Integer vendorId = first.getVendor().get(); Integer vendorId = first.getVendor().get();
; ;
CompanyVendorVo companyVendor = vendorService.findById(vendorId); VendorVo companyVendor = vendorService.findById(vendorId);
CompanyVo company = companyService.findById(companyVendor.getCompanyId()); CompanyVo company = companyService.findById(companyVendor.getCompanyId());
CompanyOldNameVo oldName = companyOldNameService.findMatchByDate(company, CompanyOldNameVo oldName = companyOldNameService.findMatchByDate(company,
viewModel.getPublishDate().get()); viewModel.getPublishDate().get());
@@ -243,8 +243,8 @@ public class CompanyVendorApprovedListTabSkinVendors
public void onVendorTableShowVendorAction(ActionEvent event) { public void onVendorTableShowVendorAction(ActionEvent event) {
CompanyVendorApprovedItemViewModel selectedItem = getTableView().getSelectionModel().getSelectedItem(); CompanyVendorApprovedItemViewModel selectedItem = getTableView().getSelectionModel().getSelectedItem();
CompanyVendorVo companyVendor = getCompanyVendorService().findById(selectedItem.getVendor().get()); VendorVo companyVendor = getVendorService().findById(selectedItem.getVendor().get());
CompanyVendorWindowController.show(companyVendor, null); VendorWindowController.show(companyVendor, null);
} }
public void onVendorTableDeleteAction(ActionEvent event) { public void onVendorTableDeleteAction(ActionEvent event) {

View File

@@ -19,6 +19,7 @@ import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.ecep.contract.service.*;
import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.CellStyle;
@@ -41,21 +42,16 @@ import org.springframework.util.StringUtils;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
import com.ecep.contract.MyDateTimeUtils; import com.ecep.contract.MyDateTimeUtils;
import com.ecep.contract.VendorType; import com.ecep.contract.VendorType;
import com.ecep.contract.service.CompanyContactService; import com.ecep.contract.service.VendorService;
import com.ecep.contract.service.CompanyVendorApprovedFileService;
import com.ecep.contract.service.CompanyVendorApprovedItemService;
import com.ecep.contract.service.CompanyVendorApprovedListService;
import com.ecep.contract.service.CompanyVendorService;
import com.ecep.contract.service.ContractService;
import com.ecep.contract.task.Tasker; import com.ecep.contract.task.Tasker;
import com.ecep.contract.util.ExcelUtils; import com.ecep.contract.util.ExcelUtils;
import com.ecep.contract.util.ParamUtils; import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.util.ProxyUtils; import com.ecep.contract.util.ProxyUtils;
import com.ecep.contract.vo.CompanyContactVo; import com.ecep.contract.vo.CompanyContactVo;
import com.ecep.contract.vo.CompanyVendorApprovedFileVo; import com.ecep.contract.vo.VendorApprovedFileVo;
import com.ecep.contract.vo.CompanyVendorApprovedItemVo; import com.ecep.contract.vo.VendorApprovedItemVo;
import com.ecep.contract.vo.CompanyVendorApprovedListVo; import com.ecep.contract.vo.VendorApprovedVo;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import com.ecep.contract.vo.CompanyVo; import com.ecep.contract.vo.CompanyVo;
import com.ecep.contract.vo.ContractVo; import com.ecep.contract.vo.ContractVo;
@@ -64,39 +60,39 @@ import lombok.Setter;
/** /**
* 导出供方名录 * 导出供方名录
*/ */
public class CompanyVendorApprovedListVendorExportTask extends Tasker<Object> { public class VendorApprovedListVendorExportTask extends Tasker<Object> {
private static final Logger logger = LoggerFactory.getLogger(CompanyVendorApprovedListVendorExportTask.class); private static final Logger logger = LoggerFactory.getLogger(VendorApprovedListVendorExportTask.class);
public static final String STR_CHANGE_VENDOR_TYPE_SHEET = "变更供应商类型"; public static final String STR_CHANGE_VENDOR_TYPE_SHEET = "变更供应商类型";
@Setter @Setter
private CompanyVendorApprovedListVo approvedList; private VendorApprovedVo approvedList;
private CompanyVendorApprovedListService service; private VendorApprovedService service;
private CompanyVendorApprovedFileService fileService; private VendorApprovedFileService fileService;
private CompanyVendorApprovedItemService itemService; private VendorApprovedItemService itemService;
private ContractService contractService; private ContractService contractService;
private CompanyVendorService companyVendorService; private VendorService vendorService;
private CompanyContactService companyContactService; private CompanyContactService companyContactService;
private static final String FILE_NAME = "供方名录-%s.xlsx"; private static final String FILE_NAME = "供方名录-%s.xlsx";
private CompanyVendorApprovedListService getService() { private VendorApprovedService getService() {
if (service == null) { if (service == null) {
service = getBean(CompanyVendorApprovedListService.class); service = getBean(VendorApprovedService.class);
} }
return service; return service;
} }
private CompanyVendorApprovedFileService getFileService() { private VendorApprovedFileService getFileService() {
if (fileService == null) { if (fileService == null) {
fileService = getBean(CompanyVendorApprovedFileService.class); fileService = getBean(VendorApprovedFileService.class);
} }
return fileService; return fileService;
} }
private CompanyVendorApprovedItemService getItemService() { private VendorApprovedItemService getItemService() {
if (itemService == null) { if (itemService == null) {
itemService = getBean(CompanyVendorApprovedItemService.class); itemService = getBean(VendorApprovedItemService.class);
} }
return itemService; return itemService;
} }
@@ -115,15 +111,15 @@ public class CompanyVendorApprovedListVendorExportTask extends Tasker<Object> {
return companyContactService; return companyContactService;
} }
private CompanyVendorService getCompanyVendorService() { private VendorService getVendorService() {
if (companyVendorService == null) { if (vendorService == null) {
companyVendorService = getBean(CompanyVendorService.class); vendorService = getBean(VendorService.class);
} }
return companyVendorService; return vendorService;
} }
private File getVendorApprovedListTemplate() { private File getVendorApprovedListTemplate() {
return getCompanyVendorService().getVendorApprovedListTemplate(); return getVendorService().getVendorApprovedListTemplate();
} }
@Override @Override
@@ -192,10 +188,10 @@ public class CompanyVendorApprovedListVendorExportTask extends Tasker<Object> {
} }
} }
CompanyVendorApprovedFileVo approvedFile = getFileService() VendorApprovedFileVo approvedFile = getFileService()
.findByName(approvedList, destFile.getName()); .findByName(approvedList, destFile.getName());
if (approvedFile == null) { if (approvedFile == null) {
approvedFile = new CompanyVendorApprovedFileVo(); approvedFile = new VendorApprovedFileVo();
} }
approvedFile.setListId(approvedList.getId()); approvedFile.setListId(approvedList.getId());
approvedFile.setFileName(destFile.getName()); approvedFile.setFileName(destFile.getName());
@@ -341,7 +337,7 @@ public class CompanyVendorApprovedListVendorExportTask extends Tasker<Object> {
private void updateTypicallySheet(Workbook wb, Sheet sheet, MessageHolder holder) { private void updateTypicallySheet(Workbook wb, Sheet sheet, MessageHolder holder) {
updateTitle("更新一般供方 Sheet"); updateTitle("更新一般供方 Sheet");
List<CompanyVendorApprovedItemVo> items = getItemService() List<VendorApprovedItemVo> items = getItemService()
.findAll(ParamUtils.builder().equals("type", VendorType.TYPICALLY) .findAll(ParamUtils.builder().equals("type", VendorType.TYPICALLY)
.equals("list", approvedList.getId()).build(), Pageable.unpaged(Sort.by("vendor"))) .equals("list", approvedList.getId()).build(), Pageable.unpaged(Sort.by("vendor")))
.getContent(); .getContent();
@@ -356,13 +352,13 @@ public class CompanyVendorApprovedListVendorExportTask extends Tasker<Object> {
borderStyle.setBorderLeft(BorderStyle.THIN); // 左边框 borderStyle.setBorderLeft(BorderStyle.THIN); // 左边框
borderStyle.setBorderRight(BorderStyle.THIN); // 右边框 borderStyle.setBorderRight(BorderStyle.THIN); // 右边框
List<CompanyVendorApprovedItemVo> meetQualified = new ArrayList<>(); List<VendorApprovedItemVo> meetQualified = new ArrayList<>();
for (int i = 0; i < items.size(); i++) { for (int i = 0; i < items.size(); i++) {
CompanyVendorApprovedItemVo item = items.get(i); VendorApprovedItemVo item = items.get(i);
updateProgress(i, items.size()); updateProgress(i, items.size());
CompanyVendorVo vendor = getCompanyVendorService().findById(item.getVendorId()); VendorVo vendor = getVendorService().findById(item.getVendorId());
CompanyVo company = getCompanyService().findById(vendor.getCompanyId()); CompanyVo company = getCompanyService().findById(vendor.getCompanyId());
setCellValue(sheet, "A" + (prefixRow + i), "" + vendor.getId()).setCellStyle(borderStyle); setCellValue(sheet, "A" + (prefixRow + i), "" + vendor.getId()).setCellStyle(borderStyle);
@@ -392,7 +388,7 @@ public class CompanyVendorApprovedListVendorExportTask extends Tasker<Object> {
setCellValue(sheet, "G" + (prefixRow + i), "合格").setCellStyle(borderStyle); setCellValue(sheet, "G" + (prefixRow + i), "合格").setCellStyle(borderStyle);
setCellValue(sheet, "H" + (prefixRow + i), "").setCellStyle(borderStyle); setCellValue(sheet, "H" + (prefixRow + i), "").setCellStyle(borderStyle);
if (Objects.equals(item.getDescription(), CompanyVendorApprovedListVendorImportTask.STR_MEET_QUALIFIED)) { if (Objects.equals(item.getDescription(), VendorApprovedListVendorImportTask.STR_MEET_QUALIFIED)) {
// xx // xx
meetQualified.add(item); meetQualified.add(item);
} }
@@ -420,14 +416,14 @@ public class CompanyVendorApprovedListVendorExportTask extends Tasker<Object> {
changeSheet.setColumnWidth(6, 13 * 256); changeSheet.setColumnWidth(6, 13 * 256);
holder.debug("创建 " + STR_CHANGE_VENDOR_TYPE_SHEET + " Sheet"); holder.debug("创建 " + STR_CHANGE_VENDOR_TYPE_SHEET + " Sheet");
for (CompanyVendorApprovedItemVo item : meetQualified) { for (VendorApprovedItemVo item : meetQualified) {
outputMeetQualified(changeSheet, item, holder); outputMeetQualified(changeSheet, item, holder);
} }
} }
} }
private void outputMeetQualified(Sheet sheet, CompanyVendorApprovedItemVo item, MessageHolder holder) { private void outputMeetQualified(Sheet sheet, VendorApprovedItemVo item, MessageHolder holder) {
CompanyVendorVo vendor = getCompanyVendorService().findById(item.getVendorId()); VendorVo vendor = getVendorService().findById(item.getVendorId());
CompanyVo company = getCompanyService().findById(vendor.getCompanyId()); CompanyVo company = getCompanyService().findById(vendor.getCompanyId());
String vendorName = item.getVendorName(); String vendorName = item.getVendorName();
if (!StringUtils.hasText(vendorName)) { if (!StringUtils.hasText(vendorName)) {
@@ -438,8 +434,8 @@ public class CompanyVendorApprovedListVendorExportTask extends Tasker<Object> {
holder.info("详情输出到 " + sheet.getSheetName() + " Sheet 中,请查看"); holder.info("详情输出到 " + sheet.getSheetName() + " Sheet 中,请查看");
} }
private void outputMeetQualified(Sheet sheet, CompanyVendorVo vendor, String vendorName, private void outputMeetQualified(Sheet sheet, VendorVo vendor, String vendorName,
CompanyVendorApprovedItemVo item) { VendorApprovedItemVo item) {
AtomicInteger row = meetRow; AtomicInteger row = meetRow;
setCellValue(sheet, row.get(), 1, "供方:" + vendorName).setCellStyle(venodrNameCellStyle); setCellValue(sheet, row.get(), 1, "供方:" + vendorName).setCellStyle(venodrNameCellStyle);
sheet.getRow(row.get()).setHeight((short) (30 * 20)); sheet.getRow(row.get()).setHeight((short) (30 * 20));
@@ -512,7 +508,7 @@ public class CompanyVendorApprovedListVendorExportTask extends Tasker<Object> {
private void updateQualifiedSheet(Sheet sheet, MessageHolder holder) { private void updateQualifiedSheet(Sheet sheet, MessageHolder holder) {
updateTitle("更新合格供方 Sheet"); updateTitle("更新合格供方 Sheet");
List<CompanyVendorApprovedItemVo> items = getItemService().findAll( List<VendorApprovedItemVo> items = getItemService().findAll(
ParamUtils.builder().equals("type", VendorType.QUALIFIED).equals("list", approvedList.getId()).build(), ParamUtils.builder().equals("type", VendorType.QUALIFIED).equals("list", approvedList.getId()).build(),
Pageable.unpaged(Sort.by("vendor.name"))).getContent(); Pageable.unpaged(Sort.by("vendor.name"))).getContent();
holder.debug("载入合共供方:" + items.size() + ""); holder.debug("载入合共供方:" + items.size() + "");
@@ -583,10 +579,10 @@ public class CompanyVendorApprovedListVendorExportTask extends Tasker<Object> {
} }
for (int i = 0; i < items.size(); i++) { for (int i = 0; i < items.size(); i++) {
CompanyVendorApprovedItemVo item = items.get(i); VendorApprovedItemVo item = items.get(i);
updateProgress(i, items.size()); updateProgress(i, items.size());
CompanyVendorVo vendor = getCompanyVendorService().findById(item.getVendorId()); VendorVo vendor = getVendorService().findById(item.getVendorId());
CompanyVo company = getCompanyService().findById(vendor.getCompanyId()); CompanyVo company = getCompanyService().findById(vendor.getCompanyId());
setCellValue(sheet, "A" + (prefixRow), "" + vendor.getId()).setCellStyle(beginCellStyles[0]); setCellValue(sheet, "A" + (prefixRow), "" + vendor.getId()).setCellStyle(beginCellStyles[0]);
@@ -641,7 +637,7 @@ public class CompanyVendorApprovedListVendorExportTask extends Tasker<Object> {
} }
private void save(CompanyVendorApprovedFileVo approvedFile) { private void save(VendorApprovedFileVo approvedFile) {
getFileService().save(approvedFile); getFileService().save(approvedFile);
} }
} }

View File

@@ -10,6 +10,7 @@ import java.util.function.Consumer;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
import com.ecep.contract.service.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
@@ -20,19 +21,14 @@ import com.ecep.contract.MessageHolder;
import com.ecep.contract.VendorFileType; import com.ecep.contract.VendorFileType;
import com.ecep.contract.VendorType; import com.ecep.contract.VendorType;
import com.ecep.contract.model.Vendor; import com.ecep.contract.model.Vendor;
import com.ecep.contract.service.CompanyOldNameService; import com.ecep.contract.service.VendorService;
import com.ecep.contract.service.CompanyVendorApprovedItemService;
import com.ecep.contract.service.CompanyVendorApprovedListService;
import com.ecep.contract.service.CompanyVendorFileService;
import com.ecep.contract.service.CompanyVendorService;
import com.ecep.contract.service.ContractService;
import com.ecep.contract.task.Tasker; import com.ecep.contract.task.Tasker;
import com.ecep.contract.util.ParamUtils; import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.vo.CompanyOldNameVo; import com.ecep.contract.vo.CompanyOldNameVo;
import com.ecep.contract.vo.CompanyVendorApprovedItemVo; import com.ecep.contract.vo.VendorApprovedItemVo;
import com.ecep.contract.vo.CompanyVendorApprovedListVo; import com.ecep.contract.vo.VendorApprovedVo;
import com.ecep.contract.vo.CompanyVendorFileVo; import com.ecep.contract.vo.VendorFileVo;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import com.ecep.contract.vo.CompanyVo; import com.ecep.contract.vo.CompanyVo;
import com.ecep.contract.vo.ContractVo; import com.ecep.contract.vo.ContractVo;
@@ -41,40 +37,40 @@ import lombok.Setter;
/** /**
* 从现有的供应商中导入 * 从现有的供应商中导入
*/ */
public class CompanyVendorApprovedListVendorImportTask extends Tasker<Object> { public class VendorApprovedListVendorImportTask extends Tasker<Object> {
private static final Logger logger = LoggerFactory.getLogger(CompanyVendorApprovedListVendorImportTask.class); private static final Logger logger = LoggerFactory.getLogger(VendorApprovedListVendorImportTask.class);
// Meet qualified supplier standards // Meet qualified supplier standards
public static final String STR_MEET_QUALIFIED = "符合合格供方标准"; public static final String STR_MEET_QUALIFIED = "符合合格供方标准";
public static final String STR_MEET_TYPICALLY = "符合一般供方标准"; public static final String STR_MEET_TYPICALLY = "符合一般供方标准";
public static final String STR_MEET_UNQUALIFIED = "符合不合格供方标准"; public static final String STR_MEET_UNQUALIFIED = "符合不合格供方标准";
private final CompanyVendorApprovedListVo approvedList; private final VendorApprovedVo approvedList;
private CompanyVendorApprovedListService service; private VendorApprovedService service;
private CompanyVendorApprovedItemService itemService; private VendorApprovedItemService itemService;
private CompanyVendorFileService companyVendorFileService; private VendorFileService vendorFileService;
private CompanyOldNameService companyOldNameService; private CompanyOldNameService companyOldNameService;
private ContractService contractService; private ContractService contractService;
private final AtomicInteger counter = new AtomicInteger(0); private final AtomicInteger counter = new AtomicInteger(0);
public CompanyVendorApprovedListVendorImportTask(CompanyVendorApprovedListVo approvedList) { public VendorApprovedListVendorImportTask(VendorApprovedVo approvedList) {
this.approvedList = approvedList; this.approvedList = approvedList;
updateTitle("供方名录-供方导入"); updateTitle("供方名录-供方导入");
} }
private CompanyVendorApprovedItemService getItemService() { private VendorApprovedItemService getItemService() {
if (itemService == null) { if (itemService == null) {
itemService = getBean(CompanyVendorApprovedItemService.class); itemService = getBean(VendorApprovedItemService.class);
} }
return itemService; return itemService;
} }
private CompanyVendorFileService getCompanyVendorFileService() { private VendorFileService getVendorFileService() {
if (companyVendorFileService == null) { if (vendorFileService == null) {
companyVendorFileService = getBean(CompanyVendorFileService.class); vendorFileService = getBean(VendorFileService.class);
} }
return companyVendorFileService; return vendorFileService;
} }
private CompanyOldNameService getCompanyOldNameService() { private CompanyOldNameService getCompanyOldNameService() {
@@ -99,16 +95,16 @@ public class CompanyVendorApprovedListVendorImportTask extends Tasker<Object> {
return null; return null;
} }
service = getBean(CompanyVendorApprovedListService.class); service = getBean(VendorApprovedService.class);
CompanyVendorService vendorService = getBean(CompanyVendorService.class); VendorService vendorService = getBean(VendorService.class);
Page<CompanyVendorVo> page = vendorService.findAll( Page<VendorVo> page = vendorService.findAll(
ParamUtils.builder() ParamUtils.builder()
.isNotNull("created") .isNotNull("created")
.lessThan("developDate", endDate) .lessThan("developDate", endDate)
.build(), .build(),
Pageable.unpaged()); Pageable.unpaged());
holder.debug("读取到" + page.getTotalElements()); holder.debug("读取到" + page.getTotalElements());
try (Stream<CompanyVendorVo> stream = page.stream()) { try (Stream<VendorVo> stream = page.stream()) {
stream.forEach(v -> { stream.forEach(v -> {
if (isCancelled()) { if (isCancelled()) {
holder.debug("Cancelled"); holder.debug("Cancelled");
@@ -137,7 +133,7 @@ public class CompanyVendorApprovedListVendorImportTask extends Tasker<Object> {
@Setter @Setter
private boolean logTypicallyVendorNoThreeYearContract = true; private boolean logTypicallyVendorNoThreeYearContract = true;
private void sync(CompanyVendorVo vendor, MessageHolder holder) { private void sync(VendorVo vendor, MessageHolder holder) {
// 明确 company 实例 // 明确 company 实例
CompanyVo company = initializedVendorCompany(vendor); CompanyVo company = initializedVendorCompany(vendor);
if (company == null) { if (company == null) {
@@ -162,10 +158,10 @@ public class CompanyVendorApprovedListVendorImportTask extends Tasker<Object> {
} }
// 确认供方是否在供方名录中,可能有多个所以返回 list默认取第一个 // 确认供方是否在供方名录中,可能有多个所以返回 list默认取第一个
List<CompanyVendorApprovedItemVo> items = getItemService().findAllByListAndVendor(approvedList, vendor); List<VendorApprovedItemVo> items = getItemService().findAllByListAndVendor(approvedList, vendor);
if (items == null || items.isEmpty()) { if (items == null || items.isEmpty()) {
// 供方不在供方名录中时新建一个 // 供方不在供方名录中时新建一个
CompanyVendorApprovedItemVo item = new CompanyVendorApprovedItemVo(); VendorApprovedItemVo item = new VendorApprovedItemVo();
item.setListId(approvedList.getId()); item.setListId(approvedList.getId());
item.setVendorId(vendor.getId()); item.setVendorId(vendor.getId());
@@ -260,7 +256,7 @@ public class CompanyVendorApprovedListVendorImportTask extends Tasker<Object> {
} }
if (items.size() == 1) { if (items.size() == 1) {
CompanyVendorApprovedItemVo first = items.getFirst(); VendorApprovedItemVo first = items.getFirst();
if (!StringUtils.hasText(first.getVendorName())) { if (!StringUtils.hasText(first.getVendorName())) {
updateVendorNameWithOldName(vendor, first); updateVendorNameWithOldName(vendor, first);
} }
@@ -269,13 +265,13 @@ public class CompanyVendorApprovedListVendorImportTask extends Tasker<Object> {
} }
for (int i = 1; i < items.size(); i++) { for (int i = 1; i < items.size(); i++) {
CompanyVendorApprovedItemVo item = items.get(i); VendorApprovedItemVo item = items.get(i);
getItemService().delete(item); getItemService().delete(item);
subHolder.debug("删除重复的供方名录项:#" + item.getId()); subHolder.debug("删除重复的供方名录项:#" + item.getId());
} }
} }
private void updateVendorNameWithOldName(CompanyVendorVo vendor, CompanyVendorApprovedItemVo item) { private void updateVendorNameWithOldName(VendorVo vendor, VendorApprovedItemVo item) {
CompanyVo company = initializedVendorCompany(vendor); CompanyVo company = initializedVendorCompany(vendor);
if (company == null) { if (company == null) {
return; return;
@@ -294,10 +290,10 @@ public class CompanyVendorApprovedListVendorImportTask extends Tasker<Object> {
private boolean logUnqualifiedVendorRemove = true; private boolean logUnqualifiedVendorRemove = true;
private void updateItem( private void updateItem(
CompanyVendorVo vendor, CompanyVendorApprovedItemVo item, MessageHolder holder) { VendorVo vendor, VendorApprovedItemVo item, MessageHolder holder) {
VendorType t1 = item.getType(); VendorType t1 = item.getType();
VendorType vendorType = vendor.getType(); VendorType vendorType = vendor.getType();
CompanyVendorApprovedItemService itemService = getItemService(); VendorApprovedItemService itemService = getItemService();
if (t1 != vendorType) { if (t1 != vendorType) {
holder.warn("注意分类不一致, " + t1 + ", " + vendorType + "."); holder.warn("注意分类不一致, " + t1 + ", " + vendorType + ".");
} }
@@ -415,13 +411,13 @@ public class CompanyVendorApprovedListVendorImportTask extends Tasker<Object> {
* @see #findAllEvaluationFormFiles(Vendor, LocalDate) * @see #findAllEvaluationFormFiles(Vendor, LocalDate)
*/ */
private boolean checkAsQualifiedVendorByEvaluationFormFiles( private boolean checkAsQualifiedVendorByEvaluationFormFiles(
CompanyVendorVo vendor, CompanyVendorApprovedItemVo item, MessageHolder holder) { VendorVo vendor, VendorApprovedItemVo item, MessageHolder holder) {
List<CompanyVendorFileVo> files = findAllEvaluationFormFiles(vendor, approvedList.getPublishDate()); List<VendorFileVo> files = findAllEvaluationFormFiles(vendor, approvedList.getPublishDate());
if (files.isEmpty()) { if (files.isEmpty()) {
return false; return false;
} }
CompanyVendorFileVo first = files.getFirst(); VendorFileVo first = files.getFirst();
item.setType(VendorType.TYPICALLY); item.setType(VendorType.TYPICALLY);
File file = new File(first.getFilePath()); File file = new File(first.getFilePath());
holder.info("供方是不合格供方, 但在发布期一年内有有效评价表 " + file.getName() + ", 调整为一般供应商"); holder.info("供方是不合格供方, 但在发布期一年内有有效评价表 " + file.getName() + ", 调整为一般供应商");
@@ -485,7 +481,7 @@ public class CompanyVendorApprovedListVendorImportTask extends Tasker<Object> {
} }
private boolean checkAsTypicallyVendorByContracts( private boolean checkAsTypicallyVendorByContracts(
CompanyVendorVo vendor, CompanyVendorApprovedItemVo item, Consumer<String> consumer) { VendorVo vendor, VendorApprovedItemVo item, Consumer<String> consumer) {
// 查看供方的合同看近3年期间是否有合同 // 查看供方的合同看近3年期间是否有合同
List<ContractVo> contracts = findAllVendorContracts(vendor, approvedList.getPublishDate()); List<ContractVo> contracts = findAllVendorContracts(vendor, approvedList.getPublishDate());
if (contracts.isEmpty()) { if (contracts.isEmpty()) {
@@ -539,7 +535,7 @@ public class CompanyVendorApprovedListVendorImportTask extends Tasker<Object> {
* @param date 日期 * @param date 日期
* @return 3年内的合同列表 * @return 3年内的合同列表
*/ */
private List<ContractVo> findAllVendorContracts(CompanyVendorVo vendor, LocalDate date) { private List<ContractVo> findAllVendorContracts(VendorVo vendor, LocalDate date) {
ContractService contractService = getContractService(); ContractService contractService = getContractService();
int beginYear = date.getYear() - (vendorContractMinusYear - 1); int beginYear = date.getYear() - (vendorContractMinusYear - 1);
@@ -548,7 +544,7 @@ public class CompanyVendorApprovedListVendorImportTask extends Tasker<Object> {
return contractService.findAllByCompanyVendor(vendor, miniDate, date); return contractService.findAllByCompanyVendor(vendor, miniDate, date);
} }
private CompanyVo initializedVendorCompany(CompanyVendorVo vendor) { private CompanyVo initializedVendorCompany(VendorVo vendor) {
CompanyVo company = getCompanyService().findById(vendor.getCompanyId()); CompanyVo company = getCompanyService().findById(vendor.getCompanyId());
return company; return company;
} }
@@ -563,8 +559,8 @@ public class CompanyVendorApprovedListVendorImportTask extends Tasker<Object> {
* @param publishDate * @param publishDate
* @return * @return
*/ */
private List<CompanyVendorFileVo> findAllEvaluationFormFiles(CompanyVendorVo vendor, LocalDate publishDate) { private List<VendorFileVo> findAllEvaluationFormFiles(VendorVo vendor, LocalDate publishDate) {
CompanyVendorFileService fileService = getCompanyVendorFileService(); VendorFileService fileService = getVendorFileService();
LocalDate miniDate = publishDate.minusYears(vendorFileMinusYear); LocalDate miniDate = publishDate.minusYears(vendorFileMinusYear);
return fileService.findAll(ParamUtils.builder() return fileService.findAll(ParamUtils.builder()
.equals("vendor", vendor.getId()) .equals("vendor", vendor.getId())

View File

@@ -12,11 +12,11 @@ import org.springframework.util.StringUtils;
import com.ecep.contract.DesktopUtils; import com.ecep.contract.DesktopUtils;
import com.ecep.contract.controller.AbstEntityController; import com.ecep.contract.controller.AbstEntityController;
import com.ecep.contract.service.CompanyVendorApprovedListService; import com.ecep.contract.service.VendorApprovedService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.UITools; import com.ecep.contract.util.UITools;
import com.ecep.contract.vm.CompanyVendorApprovedListViewModel; import com.ecep.contract.vm.CompanyVendorApprovedListViewModel;
import com.ecep.contract.vo.CompanyVendorApprovedListVo; import com.ecep.contract.vo.VendorApprovedVo;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.scene.control.Button; import javafx.scene.control.Button;
@@ -34,17 +34,17 @@ import javafx.stage.WindowEvent;
@Scope("prototype") @Scope("prototype")
@Component @Component
@FxmlPath("/ui/company/vendor/vendor_approved_list.fxml") @FxmlPath("/ui/company/vendor/vendor_approved_list.fxml")
public class CompanyVendorApprovedListWindowController public class VendorApprovedListWindowController
extends AbstEntityController<CompanyVendorApprovedListVo, CompanyVendorApprovedListViewModel> { extends AbstEntityController<VendorApprovedVo, CompanyVendorApprovedListViewModel> {
private static final Logger logger = LoggerFactory.getLogger(CompanyVendorApprovedListWindowController.class); private static final Logger logger = LoggerFactory.getLogger(VendorApprovedListWindowController.class);
public static void show(CompanyVendorApprovedListVo list, Window window) { public static void show(VendorApprovedVo list, Window window) {
CompanyVendorApprovedListViewModel model = CompanyVendorApprovedListViewModel.from(list); CompanyVendorApprovedListViewModel model = CompanyVendorApprovedListViewModel.from(list);
show(CompanyVendorApprovedListWindowController.class, model, window); show(VendorApprovedListWindowController.class, model, window);
} }
@Autowired @Autowired
private CompanyVendorApprovedListService service; private VendorApprovedService service;
public BorderPane root; public BorderPane root;
public TabPane tabPane; public TabPane tabPane;
@@ -73,13 +73,13 @@ public class CompanyVendorApprovedListWindowController
@Override @Override
protected void registerTabSkins() { protected void registerTabSkins() {
registerTabSkin(baseInfoTab, tab -> new CompanyVendorApprovedListTabSkinBase(this)); registerTabSkin(baseInfoTab, tab -> new VendorApprovedListTabSkinBase(this));
registerTabSkin(vendorTab, tab -> new CompanyVendorApprovedListTabSkinVendors(this)); registerTabSkin(vendorTab, tab -> new VendorApprovedListTabSkinVendors(this));
registerTabSkin(fileTab, tab -> new CompanyVendorApprovedListTabSkinFiles(this)); registerTabSkin(fileTab, tab -> new VendorApprovedListTabSkinFiles(this));
} }
@Override @Override
public CompanyVendorApprovedListService getViewModelService() { public VendorApprovedService getViewModelService() {
return service; return service;
} }
@@ -105,10 +105,10 @@ public class CompanyVendorApprovedListWindowController
public void onApprovedListCreatePathAction(ActionEvent event) { public void onApprovedListCreatePathAction(ActionEvent event) {
int id = viewModel.getId().get(); int id = viewModel.getId().get();
CompanyVendorApprovedListVo list = service.findById(id); VendorApprovedVo list = service.findById(id);
if (service.makePathAbsent(list)) { if (service.makePathAbsent(list)) {
CompanyVendorApprovedListVo saved = service.save(list); VendorApprovedVo saved = service.save(list);
viewModel.update(saved); viewModel.update(saved);
} else { } else {
setStatus("目录存在或创建失败"); setStatus("目录存在或创建失败");
@@ -119,7 +119,7 @@ public class CompanyVendorApprovedListWindowController
} }
public void onVendorTableExportAction(ActionEvent event) { public void onVendorTableExportAction(ActionEvent event) {
CompanyVendorApprovedListVendorExportTask task = new CompanyVendorApprovedListVendorExportTask(); VendorApprovedListVendorExportTask task = new VendorApprovedListVendorExportTask();
task.setApprovedList(getEntity()); task.setApprovedList(getEntity());
UITools.showTaskDialogAndWait("导出供方", task, null); UITools.showTaskDialogAndWait("导出供方", task, null);
} }

View File

@@ -1,4 +1,4 @@
package com.ecep.contract.controller.vendor; package com.ecep.contract.controller.vendor.bid;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;

View File

@@ -4,7 +4,6 @@ import com.ecep.contract.MyDateTimeUtils;
import com.ecep.contract.SpringApp; import com.ecep.contract.SpringApp;
import com.ecep.contract.controller.tab.AbstEntityBasedTabSkin; import com.ecep.contract.controller.tab.AbstEntityBasedTabSkin;
import com.ecep.contract.controller.tab.TabSkin; import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.controller.vendor.PurchaseOrderWindowController;
import com.ecep.contract.converter.EmployeeStringConverter; import com.ecep.contract.converter.EmployeeStringConverter;
import com.ecep.contract.service.CompanyService; import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.ContractFileService; import com.ecep.contract.service.ContractFileService;

View File

@@ -8,11 +8,8 @@ import com.ecep.contract.controller.table.AbstEntityTableTabSkin;
import com.ecep.contract.controller.table.cell.EmployeeTableCell; import com.ecep.contract.controller.table.cell.EmployeeTableCell;
import com.ecep.contract.controller.table.cell.InvoiceTableCell; import com.ecep.contract.controller.table.cell.InvoiceTableCell;
import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell; import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell;
import com.ecep.contract.controller.vendor.PurchaseBillVoucherWindowController; import com.ecep.contract.controller.vendor.purchase.purchase_bill.PurchaseBillVoucherWindowController;
import com.ecep.contract.controller.vendor.PurchaseOrderWindowController;
import com.ecep.contract.converter.EmployeeStringConverter; import com.ecep.contract.converter.EmployeeStringConverter;
import com.ecep.contract.converter.EntityStringConverter;
import com.ecep.contract.model.Invoice;
import com.ecep.contract.service.InvoiceService; import com.ecep.contract.service.InvoiceService;
import com.ecep.contract.service.PurchaseBillVoucherService; import com.ecep.contract.service.PurchaseBillVoucherService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
@@ -26,8 +23,6 @@ import javafx.scene.control.ContextMenu;
import javafx.scene.control.MenuItem; import javafx.scene.control.MenuItem;
import javafx.scene.control.Tab; import javafx.scene.control.Tab;
import javafx.scene.control.TableColumn; import javafx.scene.control.TableColumn;
import javafx.scene.control.cell.TextFieldTableCell;
import javafx.util.StringConverter;
import lombok.Setter; import lombok.Setter;
@FxmlPath("/ui/contract/purchase-orders-tab-bill-voucher.fxml") @FxmlPath("/ui/contract/purchase-orders-tab-bill-voucher.fxml")

View File

@@ -3,7 +3,6 @@ package com.ecep.contract.controller.vendor.purchase.order;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -13,20 +12,17 @@ import com.ecep.contract.SpringApp;
import com.ecep.contract.controller.tab.TabSkin; import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.controller.table.AbstEntityTableTabSkin; import com.ecep.contract.controller.table.AbstEntityTableTabSkin;
import com.ecep.contract.controller.table.cell.InventoryTableCell; import com.ecep.contract.controller.table.cell.InventoryTableCell;
import com.ecep.contract.controller.vendor.PurchaseOrderWindowController;
import com.ecep.contract.service.ContractService; import com.ecep.contract.service.ContractService;
import com.ecep.contract.service.InventoryService; import com.ecep.contract.service.InventoryService;
import com.ecep.contract.service.PurchaseOrderItemService; import com.ecep.contract.service.PurchaseOrderItemService;
import com.ecep.contract.service.PurchaseOrdersService; import com.ecep.contract.service.PurchaseOrdersService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.ProxyUtils;
import com.ecep.contract.util.ParamUtils.Builder; import com.ecep.contract.util.ParamUtils.Builder;
import com.ecep.contract.vm.ContractItemComposeViewModel; import com.ecep.contract.vm.ContractItemComposeViewModel;
import com.ecep.contract.vm.PurchaseOrderItemViewModel; import com.ecep.contract.vm.PurchaseOrderItemViewModel;
import com.ecep.contract.vm.PurchaseOrderViewModel; import com.ecep.contract.vm.PurchaseOrderViewModel;
import com.ecep.contract.vo.ContractItemVo; import com.ecep.contract.vo.ContractItemVo;
import com.ecep.contract.vo.ContractVo; import com.ecep.contract.vo.ContractVo;
import com.ecep.contract.vo.InventoryVo;
import com.ecep.contract.vo.PurchaseOrderItemVo; import com.ecep.contract.vo.PurchaseOrderItemVo;
import com.ecep.contract.vo.PurchaseOrderVo; import com.ecep.contract.vo.PurchaseOrderVo;

View File

@@ -1,4 +1,4 @@
package com.ecep.contract.controller.vendor; package com.ecep.contract.controller.vendor.purchase.order;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -8,9 +8,6 @@ import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.ecep.contract.controller.AbstEntityController; import com.ecep.contract.controller.AbstEntityController;
import com.ecep.contract.controller.vendor.purchase.order.PurchaseOrderTabSkinBase;
import com.ecep.contract.controller.vendor.purchase.order.PurchaseOrderTabSkinBillVoucher;
import com.ecep.contract.controller.vendor.purchase.order.PurchaseOrderTabSkinItems;
import com.ecep.contract.service.PurchaseOrdersService; import com.ecep.contract.service.PurchaseOrdersService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.vm.PurchaseOrderViewModel; import com.ecep.contract.vm.PurchaseOrderViewModel;

View File

@@ -1,9 +1,5 @@
package com.ecep.contract.controller.vendor.purchase.purchase_bill; package com.ecep.contract.controller.vendor.purchase.purchase_bill;
import java.util.Map;
import org.controlsfx.control.spreadsheet.SpreadsheetCellEditor.IntegerEditor;
import com.ecep.contract.SpringApp; import com.ecep.contract.SpringApp;
import com.ecep.contract.controller.tab.TabSkin; import com.ecep.contract.controller.tab.TabSkin;
import com.ecep.contract.controller.table.AbstEntityTableTabSkin; import com.ecep.contract.controller.table.AbstEntityTableTabSkin;
@@ -11,7 +7,6 @@ import com.ecep.contract.controller.table.cell.ContractTableCell;
import com.ecep.contract.controller.table.cell.InventoryTableCell; import com.ecep.contract.controller.table.cell.InventoryTableCell;
import com.ecep.contract.controller.table.cell.InvoiceTableCell; import com.ecep.contract.controller.table.cell.InvoiceTableCell;
import com.ecep.contract.controller.table.cell.PurchaseOrderItemTableCell; import com.ecep.contract.controller.table.cell.PurchaseOrderItemTableCell;
import com.ecep.contract.controller.vendor.PurchaseBillVoucherWindowController;
import com.ecep.contract.service.ContractService; import com.ecep.contract.service.ContractService;
import com.ecep.contract.service.InventoryService; import com.ecep.contract.service.InventoryService;
import com.ecep.contract.service.InvoiceService; import com.ecep.contract.service.InvoiceService;
@@ -21,12 +16,8 @@ import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.util.ParamUtils.Builder; import com.ecep.contract.util.ParamUtils.Builder;
import com.ecep.contract.vm.PurchaseBillVoucherItemViewModel; import com.ecep.contract.vm.PurchaseBillVoucherItemViewModel;
import com.ecep.contract.vm.PurchaseBillVoucherViewModel; import com.ecep.contract.vm.PurchaseBillVoucherViewModel;
import com.ecep.contract.vo.ContractVo;
import com.ecep.contract.vo.InventoryVo;
import com.ecep.contract.vo.InvoiceVo;
import com.ecep.contract.vo.PurchaseBillVoucherItemVo; import com.ecep.contract.vo.PurchaseBillVoucherItemVo;
import com.ecep.contract.vo.PurchaseBillVoucherVo; import com.ecep.contract.vo.PurchaseBillVoucherVo;
import com.ecep.contract.vo.PurchaseOrderItemVo;
import javafx.geometry.Pos; import javafx.geometry.Pos;
import javafx.scene.control.Tab; import javafx.scene.control.Tab;

View File

@@ -1,4 +1,4 @@
package com.ecep.contract.controller.vendor; package com.ecep.contract.controller.vendor.purchase.purchase_bill;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
@@ -6,7 +6,6 @@ import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.ecep.contract.controller.AbstEntityController; import com.ecep.contract.controller.AbstEntityController;
import com.ecep.contract.controller.vendor.purchase.purchase_bill.PurchaseBillVoucherTabSkinItems;
import com.ecep.contract.service.PurchaseBillVoucherService; import com.ecep.contract.service.PurchaseBillVoucherService;
import com.ecep.contract.util.FxmlPath; import com.ecep.contract.util.FxmlPath;
import com.ecep.contract.vm.PurchaseBillVoucherViewModel; import com.ecep.contract.vm.PurchaseBillVoucherViewModel;

View File

@@ -4,19 +4,19 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.ecep.contract.service.CompanyVendorService; import com.ecep.contract.service.VendorService;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import jakarta.annotation.PostConstruct; import jakarta.annotation.PostConstruct;
@Lazy @Lazy
@Component @Component
public class CompanyVendorStringConverter extends EntityStringConverter<CompanyVendorVo> { public class VendorStringConverter extends EntityStringConverter<VendorVo> {
@Lazy @Lazy
@Autowired @Autowired
private CompanyVendorService service; private VendorService service;
public CompanyVendorStringConverter() { public VendorStringConverter() {
} }

View File

@@ -15,10 +15,9 @@ import org.springframework.stereotype.Service;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
import com.ecep.contract.constant.ContractConstant; import com.ecep.contract.constant.ContractConstant;
import com.ecep.contract.model.ContractFile;
import com.ecep.contract.util.ParamUtils; import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.vm.ContractViewModel; import com.ecep.contract.vm.ContractViewModel;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import com.ecep.contract.vo.ContractFileVo; import com.ecep.contract.vo.ContractFileVo;
import com.ecep.contract.vo.ContractVo; import com.ecep.contract.vo.ContractVo;
import com.ecep.contract.vo.ProjectVo; import com.ecep.contract.vo.ProjectVo;
@@ -138,7 +137,7 @@ public class ContractService extends QueryService<ContractVo, ContractViewModel>
throw new UnsupportedOperationException("Unimplemented method 'makePathAbsent'"); throw new UnsupportedOperationException("Unimplemented method 'makePathAbsent'");
} }
public List<ContractVo> findAllByCompanyVendor(CompanyVendorVo vendor, LocalDate beginDate, LocalDate endDate) { public List<ContractVo> findAllByCompanyVendor(VendorVo vendor, LocalDate beginDate, LocalDate endDate) {
return findAll(ParamUtils.builder() return findAll(ParamUtils.builder()
.equals("company", vendor.getCompanyId()) .equals("company", vendor.getCompanyId())
.between("setupDate", beginDate, endDate) .between("setupDate", beginDate, endDate)

View File

@@ -4,19 +4,19 @@ import org.springframework.stereotype.Service;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
import com.ecep.contract.vm.CompanyVendorApprovedFileViewModel; import com.ecep.contract.vm.CompanyVendorApprovedFileViewModel;
import com.ecep.contract.vo.CompanyVendorApprovedFileVo; import com.ecep.contract.vo.VendorApprovedFileVo;
import com.ecep.contract.vo.CompanyVendorApprovedListVo; import com.ecep.contract.vo.VendorApprovedVo;
@Service @Service
public class CompanyVendorApprovedFileService public class VendorApprovedFileService
extends QueryService<CompanyVendorApprovedFileVo, CompanyVendorApprovedFileViewModel> { extends QueryService<VendorApprovedFileVo, CompanyVendorApprovedFileViewModel> {
public CompanyVendorApprovedFileVo findByName(CompanyVendorApprovedListVo approvedList, String name) { public VendorApprovedFileVo findByName(VendorApprovedVo approvedList, String name) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'findByName'"); throw new UnsupportedOperationException("Unimplemented method 'findByName'");
} }
public boolean reBuildingFiles(CompanyVendorApprovedListVo list, MessageHolder holder) { public boolean reBuildingFiles(VendorApprovedVo list, MessageHolder holder) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'reBuildingFiles'"); throw new UnsupportedOperationException("Unimplemented method 'reBuildingFiles'");
} }

View File

@@ -7,16 +7,16 @@ import org.springframework.stereotype.Service;
import com.ecep.contract.util.ParamUtils; import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.vm.CompanyVendorApprovedItemViewModel; import com.ecep.contract.vm.CompanyVendorApprovedItemViewModel;
import com.ecep.contract.vo.CompanyVendorApprovedItemVo; import com.ecep.contract.vo.VendorApprovedItemVo;
import com.ecep.contract.vo.CompanyVendorApprovedListVo; import com.ecep.contract.vo.VendorApprovedVo;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
@Service @Service
public class CompanyVendorApprovedItemService public class VendorApprovedItemService
extends QueryService<CompanyVendorApprovedItemVo, CompanyVendorApprovedItemViewModel> { extends QueryService<VendorApprovedItemVo, CompanyVendorApprovedItemViewModel> {
public List<CompanyVendorApprovedItemVo> findAllByListAndVendor(CompanyVendorApprovedListVo approvedList, public List<VendorApprovedItemVo> findAllByListAndVendor(VendorApprovedVo approvedList,
CompanyVendorVo vendor) { VendorVo vendor) {
return findAll(ParamUtils.builder() return findAll(ParamUtils.builder()
.equals("list", approvedList.getId()) .equals("list", approvedList.getId())
.equals("vendor", vendor.getId()) .equals("vendor", vendor.getId())

View File

@@ -3,25 +3,24 @@ package com.ecep.contract.service;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
import com.ecep.contract.model.CompanyVendorApprovedList;
import com.ecep.contract.vm.CompanyVendorApprovedListViewModel; import com.ecep.contract.vm.CompanyVendorApprovedListViewModel;
import com.ecep.contract.vo.CompanyVendorApprovedListVo; import com.ecep.contract.vo.VendorApprovedVo;
@Service @Service
public class CompanyVendorApprovedListService public class VendorApprovedService
extends QueryService<CompanyVendorApprovedListVo, CompanyVendorApprovedListViewModel> { extends QueryService<VendorApprovedVo, CompanyVendorApprovedListViewModel> {
public boolean makePathAbsent(CompanyVendorApprovedListVo list) { public boolean makePathAbsent(VendorApprovedVo list) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'makePathAbsent'"); throw new UnsupportedOperationException("Unimplemented method 'makePathAbsent'");
} }
public boolean reBuildingFiles(CompanyVendorApprovedListVo list, MessageHolder holder) { public boolean reBuildingFiles(VendorApprovedVo list, MessageHolder holder) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'reBuildingFiles'"); throw new UnsupportedOperationException("Unimplemented method 'reBuildingFiles'");
} }
public boolean existPath(CompanyVendorApprovedListVo entity) { public boolean existPath(VendorApprovedVo entity) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'existPath'"); throw new UnsupportedOperationException("Unimplemented method 'existPath'");
} }

View File

@@ -6,18 +6,17 @@ import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ecep.contract.util.ParamUtils; import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.vo.CompanyVendorEntityVo; import com.ecep.contract.vo.VendorEntityVo;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import com.ecep.contract.vm.CompanyVendorEntityViewModel; import com.ecep.contract.vm.CompanyVendorEntityViewModel;
import com.ecep.contract.model.CompanyVendorEntity;
@Service @Service
public class CompanyVendorEntityService extends QueryService<CompanyVendorEntityVo, CompanyVendorEntityViewModel> { public class VendorEntityService extends QueryService<VendorEntityVo, CompanyVendorEntityViewModel> {
/** /**
* 根据供应商ID查询关联实体列表 * 根据供应商ID查询关联实体列表
*/ */
public List<CompanyVendorEntityVo> findByVendorId(Integer vendorId) { public List<VendorEntityVo> findByVendorId(Integer vendorId) {
return findAll(ParamUtils.builder().equals("vendorId", vendorId).build(), Pageable.unpaged()) return findAll(ParamUtils.builder().equals("vendorId", vendorId).build(), Pageable.unpaged())
.getContent(); .getContent();
} }
@@ -25,15 +24,15 @@ public class CompanyVendorEntityService extends QueryService<CompanyVendorEntity
/** /**
* 根据CompanyVendor对象查询关联的CompanyVendorEntity列表 * 根据CompanyVendor对象查询关联的CompanyVendorEntity列表
*/ */
public List<CompanyVendorEntityVo> findByVendor(CompanyVendorVo vendor) { public List<VendorEntityVo> findByVendor(VendorVo vendor) {
return findByVendorId(vendor.getId()); return findByVendorId(vendor.getId());
} }
/** /**
* 根据供应商ID创建新的CompanyVendorEntity实例 * 根据供应商ID创建新的CompanyVendorEntity实例
*/ */
public CompanyVendorEntityVo newInstanceByVendor(CompanyVendorVo vendor) { public VendorEntityVo newInstanceByVendor(VendorVo vendor) {
CompanyVendorEntityVo entity = createNewEntity(); VendorEntityVo entity = createNewEntity();
// 设置供应商ID // 设置供应商ID
try { try {
// 通过反射设置vendor属性因为实体类中可能没有直接的setVendorId方法 // 通过反射设置vendor属性因为实体类中可能没有直接的setVendorId方法

View File

@@ -17,13 +17,13 @@ import com.ecep.contract.model.Vendor;
import com.ecep.contract.model.VendorFileTypeLocal; import com.ecep.contract.model.VendorFileTypeLocal;
import com.ecep.contract.util.ParamUtils; import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.vm.CompanyVendorFileViewModel; import com.ecep.contract.vm.CompanyVendorFileViewModel;
import com.ecep.contract.vo.CompanyVendorFileVo; import com.ecep.contract.vo.VendorFileVo;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
@Service @Service
public class CompanyVendorFileService extends QueryService<CompanyVendorFileVo, CompanyVendorFileViewModel> { public class VendorFileService extends QueryService<VendorFileVo, CompanyVendorFileViewModel> {
public LocalDate getNextSignDate(CompanyVendorVo companyVendor, Consumer<String> state) { public LocalDate getNextSignDate(VendorVo companyVendor, Consumer<String> state) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'getNextSignDate'"); throw new UnsupportedOperationException("Unimplemented method 'getNextSignDate'");
} }
@@ -37,9 +37,9 @@ public class CompanyVendorFileService extends QueryService<CompanyVendorFileVo,
throw new UnsupportedOperationException("Unimplemented method 'getFileTypeLocalMap'"); throw new UnsupportedOperationException("Unimplemented method 'getFileTypeLocalMap'");
} }
public void verify(CompanyVendorVo companyVendor, LocalDate verifyDate, MessageHolder holder) { public void verify(VendorVo companyVendor, LocalDate verifyDate, MessageHolder holder) {
// 查询所有评价表 // 查询所有评价表
List<CompanyVendorFileVo> files = findAllByVendorAndType(companyVendor, VendorFileType.EvaluationForm); List<VendorFileVo> files = findAllByVendorAndType(companyVendor, VendorFileType.EvaluationForm);
if (files == null || files.isEmpty()) { if (files == null || files.isEmpty()) {
holder.error("未见供应商评价"); holder.error("未见供应商评价");
return; return;
@@ -47,15 +47,15 @@ public class CompanyVendorFileService extends QueryService<CompanyVendorFileVo,
// 检索 验证日期最近一年内的有效评价表日期宽限7天 // 检索 验证日期最近一年内的有效评价表日期宽限7天
LocalDate begin = verifyDate.plusYears(-1); LocalDate begin = verifyDate.plusYears(-1);
CompanyVendorFileVo vendorFile = files.stream() VendorFileVo vendorFile = files.stream()
.filter(v -> v.getSignDate() != null && v.isValid()) .filter(v -> v.getSignDate() != null && v.isValid())
.filter(v -> MyDateTimeUtils.dateValidFilter(v.getSignDate(), begin, verifyDate, 7)) .filter(v -> MyDateTimeUtils.dateValidFilter(v.getSignDate(), begin, verifyDate, 7))
.findFirst().orElse(null); .findFirst().orElse(null);
if (vendorFile == null) { if (vendorFile == null) {
// 检索最后一个有效评价表 // 检索最后一个有效评价表
CompanyVendorFileVo latestFile = files.stream() VendorFileVo latestFile = files.stream()
.filter(v -> v.getSignDate() != null && v.isValid()) .filter(v -> v.getSignDate() != null && v.isValid())
.max(Comparator.comparing(CompanyVendorFileVo::getSignDate)) .max(Comparator.comparing(VendorFileVo::getSignDate))
.orElse(null); .orElse(null);
if (latestFile == null) { if (latestFile == null) {
@@ -67,7 +67,7 @@ public class CompanyVendorFileService extends QueryService<CompanyVendorFileVo,
} }
} }
public List<CompanyVendorFileVo> findAllByVendorAndType(CompanyVendorVo vendor, VendorFileType type) { public List<VendorFileVo> findAllByVendorAndType(VendorVo vendor, VendorFileType type) {
return findAll(ParamUtils.builder() return findAll(ParamUtils.builder()
.equals("vendor", vendor.getId()) .equals("vendor", vendor.getId())
.equals("type", type.name()) .equals("type", type.name())

View File

@@ -20,18 +20,18 @@ import com.ecep.contract.util.FileUtils;
import com.ecep.contract.util.MyStringUtils; import com.ecep.contract.util.MyStringUtils;
import com.ecep.contract.util.ParamUtils; import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.vm.CompanyVendorViewModel; import com.ecep.contract.vm.CompanyVendorViewModel;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import com.ecep.contract.vo.CompanyVo; import com.ecep.contract.vo.CompanyVo;
import com.ecep.contract.vo.ContractVo; import com.ecep.contract.vo.ContractVo;
@Service @Service
public class CompanyVendorService extends QueryService<CompanyVendorVo, CompanyVendorViewModel> { public class VendorService extends QueryService<VendorVo, CompanyVendorViewModel> {
@Autowired @Autowired
private CompanyService companyService; private CompanyService companyService;
@Autowired @Autowired
private CompanyFileService companyFileService; private CompanyFileService companyFileService;
@Autowired @Autowired
private CompanyVendorFileService companyVendorFileService; private VendorFileService vendorFileService;
private File basePath; private File basePath;
@@ -52,15 +52,15 @@ public class CompanyVendorService extends QueryService<CompanyVendorVo, CompanyV
throw new UnsupportedOperationException("Unimplemented method 'findCatalogById'"); throw new UnsupportedOperationException("Unimplemented method 'findCatalogById'");
} }
public CompanyVendorVo findByCompany(CompanyVo company) { public VendorVo findByCompany(CompanyVo company) {
Page<CompanyVendorVo> page = findAll(ParamUtils.equal("company", company.getId()), Pageable.ofSize(1)); Page<VendorVo> page = findAll(ParamUtils.equal("company", company.getId()), Pageable.ofSize(1));
if (page.isEmpty()) { if (page.isEmpty()) {
return null; return null;
} }
return page.getContent().getFirst(); return page.getContent().getFirst();
} }
public boolean reBuildingFiles(CompanyVendorVo companyVendor, MessageHolder messageHolder) { public boolean reBuildingFiles(VendorVo companyVendor, MessageHolder messageHolder) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'reBuildingFiles'"); throw new UnsupportedOperationException("Unimplemented method 'reBuildingFiles'");
} }
@@ -76,7 +76,7 @@ public class CompanyVendorService extends QueryService<CompanyVendorVo, CompanyV
holder.error("合同未关联公司"); holder.error("合同未关联公司");
return; return;
} }
CompanyVendorVo companyVendor = findByCompany(company); VendorVo companyVendor = findByCompany(company);
if (companyVendor == null) { if (companyVendor == null) {
holder.error("合同未关联供应商"); holder.error("合同未关联供应商");
return; return;
@@ -102,10 +102,10 @@ public class CompanyVendorService extends QueryService<CompanyVendorVo, CompanyV
companyFileService.verify(company, contract.getSetupDate(), holder); companyFileService.verify(company, contract.getSetupDate(), holder);
companyVendorFileService.verify(companyVendor, contract.getSetupDate(), holder); vendorFileService.verify(companyVendor, contract.getSetupDate(), holder);
} }
private boolean verifyAsTypicallyVendor(CompanyVendorVo companyVendor, LocalDate verifyDate, MessageHolder holder) { private boolean verifyAsTypicallyVendor(VendorVo companyVendor, LocalDate verifyDate, MessageHolder holder) {
boolean valid = false; boolean valid = false;
CompanyVo company = companyService.findById(companyVendor.getCompanyId()); CompanyVo company = companyService.findById(companyVendor.getCompanyId());
// 检查营业状态 // 检查营业状态
@@ -135,7 +135,7 @@ public class CompanyVendorService extends QueryService<CompanyVendorVo, CompanyV
return valid; return valid;
} }
public boolean makePathAbsent(CompanyVendorVo companyVendor) { public boolean makePathAbsent(VendorVo companyVendor) {
String path = companyVendor.getPath(); String path = companyVendor.getPath();
if (StringUtils.hasText(path)) { if (StringUtils.hasText(path)) {
File file = new File(path); File file = new File(path);
@@ -155,7 +155,7 @@ public class CompanyVendorService extends QueryService<CompanyVendorVo, CompanyV
return true; return true;
} }
public File makePath(CompanyVendorVo companyVendor) { public File makePath(VendorVo companyVendor) {
File basePath = getBasePath(); File basePath = getBasePath();
CompanyVo company = companyService.findById(companyVendor.getCompanyId()); CompanyVo company = companyService.findById(companyVendor.getCompanyId());
String companyName = company.getName(); String companyName = company.getName();

View File

@@ -1,7 +1,6 @@
package com.ecep.contract.controller; package com.ecep.contract.task;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
import com.ecep.contract.task.Tasker;
public class ContractGroupSyncTask extends Tasker<Object>{ public class ContractGroupSyncTask extends Tasker<Object>{
@Override @Override

View File

@@ -1,7 +1,6 @@
package com.ecep.contract.controller; package com.ecep.contract.task;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
import com.ecep.contract.task.Tasker;
public class ContractKindSyncTask extends Tasker<Object> { public class ContractKindSyncTask extends Tasker<Object> {
@Override @Override

View File

@@ -1,7 +1,6 @@
package com.ecep.contract.controller; package com.ecep.contract.task;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
import com.ecep.contract.task.Tasker;
public class ContractSyncAllTask extends Tasker<Object> { public class ContractSyncAllTask extends Tasker<Object> {
@Override @Override

View File

@@ -1,7 +1,6 @@
package com.ecep.contract.controller; package com.ecep.contract.task;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
import com.ecep.contract.task.Tasker;
public class ContractTypeSyncTask extends Tasker<Object> { public class ContractTypeSyncTask extends Tasker<Object> {
@Override @Override

View File

@@ -13,6 +13,7 @@ import java.util.Locale;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.ecep.contract.service.*;
import com.ecep.contract.vo.*; import com.ecep.contract.vo.*;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
@@ -25,29 +26,9 @@ import com.ecep.contract.SpringApp;
import com.ecep.contract.controller.project.cost.ProjectCostImportItemsFromContractsTasker; import com.ecep.contract.controller.project.cost.ProjectCostImportItemsFromContractsTasker;
import com.ecep.contract.model.Contract; import com.ecep.contract.model.Contract;
import com.ecep.contract.model.ContractFileTypeLocal; import com.ecep.contract.model.ContractFileTypeLocal;
import com.ecep.contract.service.CompanyCustomerFileService; import com.ecep.contract.service.VendorService;
import com.ecep.contract.service.CompanyCustomerService;
import com.ecep.contract.service.CompanyExtendInfoService;
import com.ecep.contract.service.CompanyFileService;
import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.CompanyVendorService;
import com.ecep.contract.service.ContractBidVendorService;
import com.ecep.contract.service.ContractFileService;
import com.ecep.contract.service.ContractFileTypeService;
import com.ecep.contract.service.ContractService;
import com.ecep.contract.service.EmployeeService;
import com.ecep.contract.service.ExtendVendorInfoService;
import com.ecep.contract.service.ProjectBidService;
import com.ecep.contract.service.ProjectCostService;
import com.ecep.contract.service.ProjectQuotationService;
import com.ecep.contract.service.ProjectSaleTypeRequireFileTypeService;
import com.ecep.contract.service.ProjectSaleTypeService;
import com.ecep.contract.service.ProjectService;
import com.ecep.contract.service.VendorGroupRequireFileTypeService;
import com.ecep.contract.service.VendorGroupService;
import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleBooleanProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableMap; import javafx.collections.ObservableMap;
import javafx.util.converter.NumberStringConverter; import javafx.util.converter.NumberStringConverter;
import lombok.Data; import lombok.Data;
@@ -71,7 +52,7 @@ public class ContractVerifyComm {
private CompanyService companyService; private CompanyService companyService;
private CompanyFileService companyFileService; private CompanyFileService companyFileService;
// Vendor // Vendor
private CompanyVendorService companyVendorService; private VendorService vendorService;
private VendorGroupService vendorGroupService; private VendorGroupService vendorGroupService;
private VendorGroupRequireFileTypeService vendorGroupRequireFileTypeService; private VendorGroupRequireFileTypeService vendorGroupRequireFileTypeService;
private ExtendVendorInfoService extendVendorInfoService; private ExtendVendorInfoService extendVendorInfoService;
@@ -187,11 +168,11 @@ public class ContractVerifyComm {
return extendVendorInfoService; return extendVendorInfoService;
} }
private CompanyVendorService getCompanyVendorService() { private VendorService getVendorService() {
if (companyVendorService == null) { if (vendorService == null) {
companyVendorService = SpringApp.getBean(CompanyVendorService.class); vendorService = SpringApp.getBean(VendorService.class);
} }
return companyVendorService; return vendorService;
} }
private CompanyCustomerService getCompanyCustomerService() { private CompanyCustomerService getCompanyCustomerService() {
@@ -425,7 +406,7 @@ public class ContractVerifyComm {
} }
} }
if (verifyVendor.get()) { if (verifyVendor.get()) {
getCompanyVendorService().verify(contract, holder); getVendorService().verify(contract, holder);
} }
if (verifyVendorFiles.get()) { if (verifyVendorFiles.get()) {

View File

@@ -1,7 +1,6 @@
package com.ecep.contract.controller; package com.ecep.contract.task;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
import com.ecep.contract.task.Tasker;
public class CustomerClassSyncTask extends Tasker<Object> { public class CustomerClassSyncTask extends Tasker<Object> {

View File

@@ -1,7 +1,6 @@
package com.ecep.contract.controller; package com.ecep.contract.task;
import com.ecep.contract.MessageHolder; import com.ecep.contract.MessageHolder;
import com.ecep.contract.task.Tasker;
public class VendorClassSyncTask extends Tasker<Object> { public class VendorClassSyncTask extends Tasker<Object> {
@Override @Override

View File

@@ -1,4 +1,4 @@
package com.ecep.contract.controller; package com.ecep.contract.util;
import java.util.List; import java.util.List;

View File

@@ -34,7 +34,7 @@ public class TableViewUtils {
return new Sort.Order(dir, id); return new Sort.Order(dir, id);
}).toList(); }).toList();
} }
@SuppressWarnings("unchecked")
public static <T> void bindDoubleClicked(TableView<T> table, Consumer<T> consumer) { public static <T> void bindDoubleClicked(TableView<T> table, Consumer<T> consumer) {
table.setOnMouseClicked(event -> { table.setOnMouseClicked(event -> {
if (event.getClickCount() == 2 && event.getButton() == MouseButton.PRIMARY) { if (event.getClickCount() == 2 && event.getButton() == MouseButton.PRIMARY) {

View File

@@ -3,7 +3,7 @@ package com.ecep.contract.vm;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.Objects; import java.util.Objects;
import com.ecep.contract.vo.CompanyVendorApprovedFileVo; import com.ecep.contract.vo.VendorApprovedFileVo;
import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.SimpleStringProperty;
@@ -14,9 +14,9 @@ import lombok.ToString;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ToString @ToString
public class CompanyVendorApprovedFileViewModel extends IdentityViewModel<CompanyVendorApprovedFileVo> { public class CompanyVendorApprovedFileViewModel extends IdentityViewModel<VendorApprovedFileVo> {
public static CompanyVendorApprovedFileViewModel from(CompanyVendorApprovedFileVo companyVendorApprovedItemFile) { public static CompanyVendorApprovedFileViewModel from(VendorApprovedFileVo companyVendorApprovedItemFile) {
CompanyVendorApprovedFileViewModel viewModel = new CompanyVendorApprovedFileViewModel(); CompanyVendorApprovedFileViewModel viewModel = new CompanyVendorApprovedFileViewModel();
viewModel.update(companyVendorApprovedItemFile); viewModel.update(companyVendorApprovedItemFile);
return viewModel; return viewModel;
@@ -35,7 +35,7 @@ public class CompanyVendorApprovedFileViewModel extends IdentityViewModel<Compan
private SimpleStringProperty description = new SimpleStringProperty(); private SimpleStringProperty description = new SimpleStringProperty();
@Override @Override
protected void updateFrom(CompanyVendorApprovedFileVo v) { protected void updateFrom(VendorApprovedFileVo v) {
super.updateFrom(v); super.updateFrom(v);
getList().set(v.getListId()); getList().set(v.getListId());
getFileName().set(v.getFileName()); getFileName().set(v.getFileName());
@@ -44,7 +44,7 @@ public class CompanyVendorApprovedFileViewModel extends IdentityViewModel<Compan
} }
@Override @Override
public boolean copyTo(CompanyVendorApprovedFileVo v) { public boolean copyTo(VendorApprovedFileVo v) {
boolean modified = super.copyTo(v); boolean modified = super.copyTo(v);
if (!Objects.equals(list.get(), v.getListId())) { if (!Objects.equals(list.get(), v.getListId())) {
v.setListId(list.get()); v.setListId(list.get());

View File

@@ -3,7 +3,7 @@ package com.ecep.contract.vm;
import java.util.Objects; import java.util.Objects;
import com.ecep.contract.VendorType; import com.ecep.contract.VendorType;
import com.ecep.contract.vo.CompanyVendorApprovedItemVo; import com.ecep.contract.vo.VendorApprovedItemVo;
import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.SimpleStringProperty;
@@ -12,8 +12,8 @@ import lombok.EqualsAndHashCode;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CompanyVendorApprovedItemViewModel extends IdentityViewModel<CompanyVendorApprovedItemVo> { public class CompanyVendorApprovedItemViewModel extends IdentityViewModel<VendorApprovedItemVo> {
public static CompanyVendorApprovedItemViewModel from(CompanyVendorApprovedItemVo item) { public static CompanyVendorApprovedItemViewModel from(VendorApprovedItemVo item) {
CompanyVendorApprovedItemViewModel model = new CompanyVendorApprovedItemViewModel(); CompanyVendorApprovedItemViewModel model = new CompanyVendorApprovedItemViewModel();
model.update(item); model.update(item);
return model; return model;
@@ -29,7 +29,7 @@ public class CompanyVendorApprovedItemViewModel extends IdentityViewModel<Compan
private SimpleStringProperty description = new SimpleStringProperty(); private SimpleStringProperty description = new SimpleStringProperty();
@Override @Override
protected void updateFrom(CompanyVendorApprovedItemVo v) { protected void updateFrom(VendorApprovedItemVo v) {
super.updateFrom(v); super.updateFrom(v);
getList().set(v.getListId()); getList().set(v.getListId());
getVendorName().set(v.getVendorName()); getVendorName().set(v.getVendorName());
@@ -39,7 +39,7 @@ public class CompanyVendorApprovedItemViewModel extends IdentityViewModel<Compan
} }
@Override @Override
public boolean copyTo(CompanyVendorApprovedItemVo v) { public boolean copyTo(VendorApprovedItemVo v) {
boolean modified = super.copyTo(v); boolean modified = super.copyTo(v);
if (!Objects.equals(vendorName.get(), v.getVendorName())) { if (!Objects.equals(vendorName.get(), v.getVendorName())) {
v.setVendorName(vendorName.get()); v.setVendorName(vendorName.get());

View File

@@ -3,7 +3,7 @@ package com.ecep.contract.vm;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.Objects; import java.util.Objects;
import com.ecep.contract.vo.CompanyVendorApprovedListVo; import com.ecep.contract.vo.VendorApprovedVo;
import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.SimpleStringProperty;
@@ -13,20 +13,20 @@ import lombok.EqualsAndHashCode;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CompanyVendorApprovedListViewModel public class CompanyVendorApprovedListViewModel
extends IdentityViewModel<CompanyVendorApprovedListVo> { extends IdentityViewModel<VendorApprovedVo> {
private SimpleStringProperty title = new SimpleStringProperty(); private SimpleStringProperty title = new SimpleStringProperty();
private SimpleObjectProperty<LocalDate> publishDate = new SimpleObjectProperty<>(); private SimpleObjectProperty<LocalDate> publishDate = new SimpleObjectProperty<>();
private SimpleStringProperty path = new SimpleStringProperty(); private SimpleStringProperty path = new SimpleStringProperty();
private SimpleStringProperty description = new SimpleStringProperty(); private SimpleStringProperty description = new SimpleStringProperty();
public static CompanyVendorApprovedListViewModel from(CompanyVendorApprovedListVo list) { public static CompanyVendorApprovedListViewModel from(VendorApprovedVo list) {
CompanyVendorApprovedListViewModel model = new CompanyVendorApprovedListViewModel(); CompanyVendorApprovedListViewModel model = new CompanyVendorApprovedListViewModel();
model.update(list); model.update(list);
return model; return model;
} }
@Override @Override
protected void updateFrom(CompanyVendorApprovedListVo v) { protected void updateFrom(VendorApprovedVo v) {
super.updateFrom(v); super.updateFrom(v);
getTitle().set(v.getTitle()); getTitle().set(v.getTitle());
getPublishDate().set(v.getPublishDate()); getPublishDate().set(v.getPublishDate());
@@ -35,7 +35,7 @@ public class CompanyVendorApprovedListViewModel
} }
@Override @Override
public boolean copyTo(CompanyVendorApprovedListVo v) { public boolean copyTo(VendorApprovedVo v) {
boolean modified = super.copyTo(v); boolean modified = super.copyTo(v);
if (!Objects.equals(title.get(), v.getTitle())) { if (!Objects.equals(title.get(), v.getTitle())) {

View File

@@ -3,7 +3,7 @@ package com.ecep.contract.vm;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import com.ecep.contract.vo.CompanyVendorEntityVo; import com.ecep.contract.vo.VendorEntityVo;
import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleObjectProperty;
import lombok.Data; import lombok.Data;
@@ -11,7 +11,7 @@ import lombok.EqualsAndHashCode;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CompanyVendorEntityViewModel extends IdentityViewModel<CompanyVendorEntityVo> { public class CompanyVendorEntityViewModel extends IdentityViewModel<VendorEntityVo> {
private SimpleObjectProperty<Integer> vendorId = new SimpleObjectProperty<>(); private SimpleObjectProperty<Integer> vendorId = new SimpleObjectProperty<>();
private SimpleObjectProperty<String> name = new SimpleObjectProperty<>(); private SimpleObjectProperty<String> name = new SimpleObjectProperty<>();
private SimpleObjectProperty<String> abbName = new SimpleObjectProperty<>(); private SimpleObjectProperty<String> abbName = new SimpleObjectProperty<>();
@@ -27,7 +27,7 @@ public class CompanyVendorEntityViewModel extends IdentityViewModel<CompanyVendo
private SimpleObjectProperty<LocalDateTime> fetchedTime = new SimpleObjectProperty<>(); private SimpleObjectProperty<LocalDateTime> fetchedTime = new SimpleObjectProperty<>();
@Override @Override
protected void updateFrom(CompanyVendorEntityVo v) { protected void updateFrom(VendorEntityVo v) {
super.updateFrom(v); super.updateFrom(v);
if (v.getVendorId() != null) { if (v.getVendorId() != null) {
vendorId.set(v.getVendorId()); vendorId.set(v.getVendorId());
@@ -51,7 +51,7 @@ public class CompanyVendorEntityViewModel extends IdentityViewModel<CompanyVendo
} }
@Override @Override
public boolean copyTo(CompanyVendorEntityVo v) { public boolean copyTo(VendorEntityVo v) {
boolean modified = super.copyTo(v); boolean modified = super.copyTo(v);
if (vendorId.get() != 0) { if (vendorId.get() != 0) {
v.setVendorId(vendorId.get()); v.setVendorId(vendorId.get());

View File

@@ -4,7 +4,7 @@ import java.time.LocalDate;
import java.util.Objects; import java.util.Objects;
import com.ecep.contract.VendorFileType; import com.ecep.contract.VendorFileType;
import com.ecep.contract.vo.CompanyVendorFileVo; import com.ecep.contract.vo.VendorFileVo;
import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleObjectProperty;
@@ -16,7 +16,7 @@ import lombok.ToString;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ToString @ToString
public class CompanyVendorFileViewModel extends IdentityViewModel<CompanyVendorFileVo> { public class CompanyVendorFileViewModel extends IdentityViewModel<VendorFileVo> {
/** /**
* *
*/ */
@@ -35,7 +35,7 @@ public class CompanyVendorFileViewModel extends IdentityViewModel<CompanyVendorF
private SimpleBooleanProperty valid = new SimpleBooleanProperty(this, "valid", false); private SimpleBooleanProperty valid = new SimpleBooleanProperty(this, "valid", false);
@Override @Override
protected void updateFrom(CompanyVendorFileVo v) { protected void updateFrom(VendorFileVo v) {
super.updateFrom(v); super.updateFrom(v);
getVendor().set(v.getVendorId()); getVendor().set(v.getVendorId());
getType().set(v.getType()); getType().set(v.getType());
@@ -47,7 +47,7 @@ public class CompanyVendorFileViewModel extends IdentityViewModel<CompanyVendorF
} }
@Override @Override
public boolean copyTo(CompanyVendorFileVo v) { public boolean copyTo(VendorFileVo v) {
boolean modified = super.copyTo(v); boolean modified = super.copyTo(v);
if (!Objects.equals(getVendor().get(), v.getVendorId())) { if (!Objects.equals(getVendor().get(), v.getVendorId())) {
v.setVendorId(getVendor().get()); v.setVendorId(getVendor().get());
@@ -76,7 +76,7 @@ public class CompanyVendorFileViewModel extends IdentityViewModel<CompanyVendorF
return modified; return modified;
} }
public static CompanyVendorFileViewModel from(CompanyVendorFileVo companyVendorFile) { public static CompanyVendorFileViewModel from(VendorFileVo companyVendorFile) {
CompanyVendorFileViewModel model = new CompanyVendorFileViewModel(); CompanyVendorFileViewModel model = new CompanyVendorFileViewModel();
model.update(companyVendorFile); model.update(companyVendorFile);
return model; return model;

View File

@@ -7,7 +7,7 @@ import java.time.ZonedDateTime;
import java.util.Objects; import java.util.Objects;
import com.ecep.contract.VendorType; import com.ecep.contract.VendorType;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleIntegerProperty; import javafx.beans.property.SimpleIntegerProperty;
@@ -18,7 +18,7 @@ import lombok.EqualsAndHashCode;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CompanyVendorViewModel extends IdentityViewModel<CompanyVendorVo> { public class CompanyVendorViewModel extends IdentityViewModel<VendorVo> {
private SimpleStringProperty code = new SimpleStringProperty(); private SimpleStringProperty code = new SimpleStringProperty();
private SimpleStringProperty state = new SimpleStringProperty(); private SimpleStringProperty state = new SimpleStringProperty();
@@ -68,13 +68,13 @@ public class CompanyVendorViewModel extends IdentityViewModel<CompanyVendorVo> {
private SimpleObjectProperty<LocalDateTime> created = new SimpleObjectProperty<>(); private SimpleObjectProperty<LocalDateTime> created = new SimpleObjectProperty<>();
private SimpleIntegerProperty version = new SimpleIntegerProperty(); private SimpleIntegerProperty version = new SimpleIntegerProperty();
public static CompanyVendorViewModel from(CompanyVendorVo companyVendor) { public static CompanyVendorViewModel from(VendorVo companyVendor) {
CompanyVendorViewModel model = new CompanyVendorViewModel(); CompanyVendorViewModel model = new CompanyVendorViewModel();
model.update(companyVendor); model.update(companyVendor);
return model; return model;
} }
public void updateFrom(CompanyVendorVo v) { public void updateFrom(VendorVo v) {
super.updateFrom(v); super.updateFrom(v);
// getState().set(v.getState()); // getState().set(v.getState());
getType().set(v.getType()); getType().set(v.getType());
@@ -100,7 +100,7 @@ public class CompanyVendorViewModel extends IdentityViewModel<CompanyVendorVo> {
version.set(v.getVersion()); version.set(v.getVersion());
} }
public boolean copyTo(CompanyVendorVo v) { public boolean copyTo(VendorVo v) {
boolean modified = super.copyTo(v); boolean modified = super.copyTo(v);
if (!Objects.equals(type.get(), v.getType())) { if (!Objects.equals(type.get(), v.getType())) {
v.setType(type.get()); v.setType(type.get());

View File

@@ -4,7 +4,7 @@ import java.time.LocalDate;
import java.util.Objects; import java.util.Objects;
import com.ecep.contract.model.Vendor; import com.ecep.contract.model.Vendor;
import com.ecep.contract.model.CompanyVendorEntity; import com.ecep.contract.model.VendorEntity;
import com.ecep.contract.model.Employee; import com.ecep.contract.model.Employee;
import com.ecep.contract.model.VendorCatalog; import com.ecep.contract.model.VendorCatalog;
@@ -15,7 +15,7 @@ import lombok.EqualsAndHashCode;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class VendorEntityViewModel extends IdentityViewModel<CompanyVendorEntity> { public class VendorEntityViewModel extends IdentityViewModel<VendorEntity> {
private SimpleStringProperty name = new SimpleStringProperty(); private SimpleStringProperty name = new SimpleStringProperty();
private SimpleStringProperty abbName = new SimpleStringProperty(); private SimpleStringProperty abbName = new SimpleStringProperty();
private SimpleStringProperty code = new SimpleStringProperty(); private SimpleStringProperty code = new SimpleStringProperty();
@@ -41,14 +41,14 @@ public class VendorEntityViewModel extends IdentityViewModel<CompanyVendorEntity
public static VendorEntityViewModel from(CompanyVendorEntity cc) { public static VendorEntityViewModel from(VendorEntity cc) {
VendorEntityViewModel model = new VendorEntityViewModel(); VendorEntityViewModel model = new VendorEntityViewModel();
model.update(cc); model.update(cc);
return model; return model;
} }
@Override @Override
protected void updateFrom(CompanyVendorEntity v) { protected void updateFrom(VendorEntity v) {
super.updateFrom(v); super.updateFrom(v);
getName().set(v.getName()); getName().set(v.getName());
getAbbName().set(v.getAbbName()); getAbbName().set(v.getAbbName());
@@ -63,7 +63,7 @@ public class VendorEntityViewModel extends IdentityViewModel<CompanyVendorEntity
} }
@Override @Override
public boolean copyTo(CompanyVendorEntity v) { public boolean copyTo(VendorEntity v) {
boolean modified = super.copyTo(v); boolean modified = super.copyTo(v);
if (!Objects.equals(name.get(), v.getName())) { if (!Objects.equals(name.get(), v.getName())) {
v.setName(name.get()); v.setName(name.get());

View File

@@ -3,7 +3,7 @@
<?import javafx.scene.control.*?> <?import javafx.scene.control.*?>
<?import javafx.scene.layout.VBox?> <?import javafx.scene.layout.VBox?>
<VBox prefHeight="400.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" <VBox prefHeight="400.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.ecep.contract.controller.YongYouU8ManagerWindowController"> fx:controller="com.ecep.contract.controller.cloud.u8.YongYouU8ManagerWindowController">
<children> <children>
<MenuBar VBox.vgrow="NEVER"> <MenuBar VBox.vgrow="NEVER">
<menus> <menus>

View File

@@ -7,7 +7,7 @@
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<BorderPane fx:id="root" maxHeight="900" maxWidth="1024" minHeight="300" minWidth="200" prefHeight="600.0" <BorderPane fx:id="root" maxHeight="900" maxWidth="1024" minHeight="300" minWidth="200" prefHeight="600.0"
prefWidth="800.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" prefWidth="800.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.ecep.contract.controller.bank.account.BankAccountWindowController"> fx:controller="com.ecep.contract.controller.company.bank_account.BankAccountWindowController">
<center> <center>
<TabPane fx:id="tabPane" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minWidth="150.0" <TabPane fx:id="tabPane" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minWidth="150.0"
tabClosingPolicy="UNAVAILABLE" tabMaxWidth="100.0" tabMinWidth="40.0"> tabClosingPolicy="UNAVAILABLE" tabMaxWidth="100.0" tabMinWidth="40.0">

View File

@@ -26,7 +26,7 @@
<BorderPane fx:id="root" minHeight="300" minWidth="200" prefHeight="600.0" prefWidth="800.0" <BorderPane fx:id="root" minHeight="300" minWidth="200" prefHeight="600.0" prefWidth="800.0"
xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.ecep.contract.controller.company_old_name.CompanyOldNameWindowController"> fx:controller="com.ecep.contract.controller.company.old_name.CompanyOldNameWindowController">
<center> <center>
<TabPane fx:id="tabPane" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minWidth="150.0" tabClosingPolicy="UNAVAILABLE" tabMaxWidth="100.0" tabMinWidth="40.0"> <TabPane fx:id="tabPane" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minWidth="150.0" tabClosingPolicy="UNAVAILABLE" tabMaxWidth="100.0" tabMinWidth="40.0">
<tabs> <tabs>

View File

@@ -5,7 +5,7 @@
<?import javafx.scene.layout.*?> <?import javafx.scene.layout.*?>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0"
xmlns:fx="http://javafx.com/fxml/1" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.ecep.contract.controller.vendor.CompanyVendorTabSkinEntity"> fx:controller="com.ecep.contract.controller.vendor.VendorTabSkinEntity">
<children> <children>
<VBox AnchorPane.bottomAnchor="5.0" AnchorPane.leftAnchor="5.0" AnchorPane.rightAnchor="5.0" <VBox AnchorPane.bottomAnchor="5.0" AnchorPane.leftAnchor="5.0" AnchorPane.rightAnchor="5.0"
AnchorPane.topAnchor="5.0"> AnchorPane.topAnchor="5.0">

View File

@@ -22,7 +22,7 @@
<?import javafx.scene.paint.Color?> <?import javafx.scene.paint.Color?>
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<BorderPane fx:id="root" maxHeight="900" maxWidth="1024" minHeight="300" minWidth="200" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.ecep.contract.controller.vendor.CompanyVendorWindowController"> <BorderPane fx:id="root" maxHeight="900" maxWidth="1024" minHeight="300" minWidth="200" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.ecep.contract.controller.vendor.VendorWindowController">
<center> <center>
<TabPane fx:id="tabPane" tabClosingPolicy="UNAVAILABLE" tabMaxWidth="100.0" tabMinWidth="40.0"> <TabPane fx:id="tabPane" tabClosingPolicy="UNAVAILABLE" tabMaxWidth="100.0" tabMinWidth="40.0">
<tabs> <tabs>

View File

@@ -4,7 +4,7 @@
<?import javafx.scene.control.*?> <?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?> <?import javafx.scene.layout.*?>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" xmlns:fx="http://javafx.com/fxml/1" <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.ecep.contract.controller.vendor.approved_list.CompanyVendorApprovedListTabSkinFiles"> fx:controller="com.ecep.contract.controller.vendor.approved_list.VendorApprovedListTabSkinFiles">
<children> <children>
<HBox spacing="3.0"> <HBox spacing="3.0">
<children> <children>

View File

@@ -4,7 +4,7 @@
<?import javafx.scene.control.*?> <?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?> <?import javafx.scene.layout.*?>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" xmlns:fx="http://javafx.com/fxml/1" <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.ecep.contract.controller.vendor.approved_list.CompanyVendorApprovedListTabSkinVendors"> fx:controller="com.ecep.contract.controller.vendor.approved_list.VendorApprovedListTabSkinVendors">
<children> <children>
<HBox spacing="3.0"> <HBox spacing="3.0">
<children> <children>

View File

@@ -9,7 +9,7 @@
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<BorderPane fx:id="root" maxHeight="900" maxWidth="1024" minHeight="300" minWidth="200" prefHeight="600.0" <BorderPane fx:id="root" maxHeight="900" maxWidth="1024" minHeight="300" minWidth="200" prefHeight="600.0"
prefWidth="800.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" prefWidth="800.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.ecep.contract.controller.vendor.approved_list.CompanyVendorApprovedListWindowController"> fx:controller="com.ecep.contract.controller.vendor.approved_list.VendorApprovedListWindowController">
<center> <center>
<TabPane fx:id="tabPane" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minWidth="150.0" <TabPane fx:id="tabPane" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minWidth="150.0"
tabClosingPolicy="UNAVAILABLE" tabMaxWidth="100.0" tabMinWidth="40.0"> tabClosingPolicy="UNAVAILABLE" tabMaxWidth="100.0" tabMinWidth="40.0">

View File

@@ -3,7 +3,7 @@
<?import javafx.scene.control.*?> <?import javafx.scene.control.*?>
<?import javafx.scene.layout.VBox?> <?import javafx.scene.layout.VBox?>
<VBox prefHeight="400.0" prefWidth="640.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" <VBox prefHeight="400.0" prefWidth="640.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.ecep.contract.controller.vendor.approved_list.CompanyVendorApprovedListManagerWindowController"> fx:controller="com.ecep.contract.controller.vendor.approved_list.VendorApprovedListManagerWindowController">
<children> <children>
<MenuBar VBox.vgrow="NEVER"> <MenuBar VBox.vgrow="NEVER">
<menus> <menus>

View File

@@ -4,7 +4,7 @@
<?import javafx.scene.control.*?> <?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?> <?import javafx.scene.layout.*?>
<VBox prefHeight="680.0" prefWidth="1120.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" <VBox prefHeight="680.0" prefWidth="1120.0" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.ecep.contract.controller.vendor.CompanyVendorManagerWindowController"> fx:controller="com.ecep.contract.controller.vendor.VendorManagerWindowController">
<children> <children>
<MenuBar VBox.vgrow="NEVER"> <MenuBar VBox.vgrow="NEVER">
<menus> <menus>

View File

@@ -10,7 +10,7 @@ import org.hibernate.annotations.ColumnDefault;
import com.ecep.contract.VendorType; import com.ecep.contract.VendorType;
import com.ecep.contract.util.HibernateProxyUtils; import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyVendorVo; import com.ecep.contract.vo.VendorVo;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.Column; import jakarta.persistence.Column;
@@ -34,7 +34,7 @@ import lombok.ToString;
@Entity @Entity
@Table(name = "COMPANY_VENDOR", schema = "supplier_ms") @Table(name = "COMPANY_VENDOR", schema = "supplier_ms")
@ToString @ToString
public class Vendor implements IdentityEntity, CompanyBasedEntity, Serializable, Voable<CompanyVendorVo> { public class Vendor implements IdentityEntity, CompanyBasedEntity, Serializable, Voable<VendorVo> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@Column(name = "ID", nullable = false) @Column(name = "ID", nullable = false)
@@ -58,7 +58,7 @@ public class Vendor implements IdentityEntity, CompanyBasedEntity, Serializable,
@OneToMany(mappedBy = "vendor", fetch = FetchType.LAZY) @OneToMany(mappedBy = "vendor", fetch = FetchType.LAZY)
@JsonIgnore @JsonIgnore
@ToString.Exclude @ToString.Exclude
private List<CompanyVendorEntity> entities; private List<VendorEntity> entities;
@ManyToOne @ManyToOne
@JoinColumn(name = "VEN_CLS") @JoinColumn(name = "VEN_CLS")
@@ -124,8 +124,8 @@ public class Vendor implements IdentityEntity, CompanyBasedEntity, Serializable,
} }
@Override @Override
public CompanyVendorVo toVo() { public VendorVo toVo() {
CompanyVendorVo vo = new CompanyVendorVo(); VendorVo vo = new VendorVo();
vo.setId(id); vo.setId(id);
vo.setType(type); vo.setType(type);
vo.setProtocolProvider(protocolProvider); vo.setProtocolProvider(protocolProvider);

View File

@@ -5,7 +5,7 @@ import java.time.LocalDate;
import java.util.Objects; import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils; import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyVendorApprovedListVo; import com.ecep.contract.vo.VendorApprovedVo;
import jakarta.persistence.Column; import jakarta.persistence.Column;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
@@ -27,7 +27,7 @@ import lombok.ToString;
@Entity @Entity
@Table(name = "COMPANY_VENDOR_APPROVED") @Table(name = "COMPANY_VENDOR_APPROVED")
@ToString @ToString
public class CompanyVendorApprovedList implements IdentityEntity, Serializable, Voable<CompanyVendorApprovedListVo> { public class VendorApproved implements IdentityEntity, Serializable, Voable<VendorApprovedVo> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@@ -67,7 +67,7 @@ public class CompanyVendorApprovedList implements IdentityEntity, Serializable,
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) { if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false; return false;
} }
CompanyVendorApprovedList that = (CompanyVendorApprovedList) object; VendorApproved that = (VendorApproved) object;
return getId() != null && Objects.equals(getId(), that.getId()); return getId() != null && Objects.equals(getId(), that.getId());
} }
@@ -77,8 +77,8 @@ public class CompanyVendorApprovedList implements IdentityEntity, Serializable,
} }
@Override @Override
public CompanyVendorApprovedListVo toVo() { public VendorApprovedVo toVo() {
CompanyVendorApprovedListVo vo = new CompanyVendorApprovedListVo(); VendorApprovedVo vo = new VendorApprovedVo();
vo.setId(getId()); vo.setId(getId());
vo.setTitle(getTitle()); vo.setTitle(getTitle());
vo.setPublishDate(getPublishDate()); vo.setPublishDate(getPublishDate());

View File

@@ -5,7 +5,7 @@ import java.time.LocalDate;
import java.util.Objects; import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils; import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyVendorApprovedFileVo; import com.ecep.contract.vo.VendorApprovedFileVo;
import jakarta.persistence.Column; import jakarta.persistence.Column;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
@@ -28,7 +28,7 @@ import lombok.ToString;
@Entity @Entity
@Table(name = "COMPANY_VENDOR_APPROVED_FILE") @Table(name = "COMPANY_VENDOR_APPROVED_FILE")
@ToString @ToString
public class CompanyVendorApprovedFile implements IdentityEntity, Serializable, Voable<CompanyVendorApprovedFileVo> { public class VendorApprovedFile implements IdentityEntity, Serializable, Voable<VendorApprovedFileVo> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -38,7 +38,7 @@ public class CompanyVendorApprovedFile implements IdentityEntity, Serializable,
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "LIST_ID", nullable = false) @JoinColumn(name = "LIST_ID", nullable = false)
@ToString.Exclude @ToString.Exclude
private CompanyVendorApprovedList list; private VendorApproved list;
/** /**
* 文件名不含目录目录使用目录的目录 * 文件名不含目录目录使用目录的目录
@@ -67,7 +67,7 @@ public class CompanyVendorApprovedFile implements IdentityEntity, Serializable,
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) { if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false; return false;
} }
CompanyVendorApprovedFile that = (CompanyVendorApprovedFile) object; VendorApprovedFile that = (VendorApprovedFile) object;
return getId() != null && Objects.equals(getId(), that.getId()); return getId() != null && Objects.equals(getId(), that.getId());
} }
@@ -77,8 +77,8 @@ public class CompanyVendorApprovedFile implements IdentityEntity, Serializable,
} }
@Override @Override
public CompanyVendorApprovedFileVo toVo() { public VendorApprovedFileVo toVo() {
CompanyVendorApprovedFileVo vo = new CompanyVendorApprovedFileVo(); VendorApprovedFileVo vo = new VendorApprovedFileVo();
vo.setId(getId()); vo.setId(getId());
vo.setListId(getList() != null ? getList().getId() : null); vo.setListId(getList() != null ? getList().getId() : null);
vo.setFileName(getFileName()); vo.setFileName(getFileName());

View File

@@ -5,7 +5,7 @@ import java.util.Objects;
import com.ecep.contract.VendorType; import com.ecep.contract.VendorType;
import com.ecep.contract.util.HibernateProxyUtils; import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyVendorApprovedItemVo; import com.ecep.contract.vo.VendorApprovedItemVo;
import jakarta.persistence.Column; import jakarta.persistence.Column;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
@@ -28,7 +28,7 @@ import lombok.ToString;
@Entity @Entity
@Table(name = "COMPANY_VENDOR_APPROVED_ITEM") @Table(name = "COMPANY_VENDOR_APPROVED_ITEM")
@ToString @ToString
public class CompanyVendorApprovedItem implements IdentityEntity, Serializable, Voable<CompanyVendorApprovedItemVo> { public class VendorApprovedItem implements IdentityEntity, Serializable, Voable<VendorApprovedItemVo> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@@ -39,7 +39,7 @@ public class CompanyVendorApprovedItem implements IdentityEntity, Serializable,
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "LIST_ID", nullable = false) @JoinColumn(name = "LIST_ID", nullable = false)
@ToString.Exclude @ToString.Exclude
private CompanyVendorApprovedList list; private VendorApproved list;
/** /**
* 供应商名称有可能改名了所以存历史名称 * 供应商名称有可能改名了所以存历史名称
@@ -73,7 +73,7 @@ public class CompanyVendorApprovedItem implements IdentityEntity, Serializable,
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) { if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false; return false;
} }
CompanyVendorApprovedItem that = (CompanyVendorApprovedItem) object; VendorApprovedItem that = (VendorApprovedItem) object;
return getId() != null && Objects.equals(getId(), that.getId()); return getId() != null && Objects.equals(getId(), that.getId());
} }
@@ -83,8 +83,8 @@ public class CompanyVendorApprovedItem implements IdentityEntity, Serializable,
} }
@Override @Override
public CompanyVendorApprovedItemVo toVo() { public VendorApprovedItemVo toVo() {
CompanyVendorApprovedItemVo vo = new CompanyVendorApprovedItemVo(); VendorApprovedItemVo vo = new VendorApprovedItemVo();
vo.setId(getId()); vo.setId(getId());
vo.setListId(getList() != null ? getList().getId() : null); vo.setListId(getList() != null ? getList().getId() : null);
vo.setVendorId(getVendor() != null ? getVendor().getId() : null); vo.setVendorId(getVendor() != null ? getVendor().getId() : null);

View File

@@ -6,7 +6,7 @@ import java.time.LocalDateTime;
import java.util.Objects; import java.util.Objects;
import com.ecep.contract.util.HibernateProxyUtils; import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyVendorEntityVo; import com.ecep.contract.vo.VendorEntityVo;
import jakarta.persistence.Column; import jakarta.persistence.Column;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
@@ -31,7 +31,7 @@ import lombok.ToString;
}) })
@ToString @ToString
public class CompanyVendorEntity implements IdentityEntity, Serializable, Voable<CompanyVendorEntityVo> { public class VendorEntity implements IdentityEntity, Serializable, Voable<VendorEntityVo> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@Column(name = "ID", nullable = false) @Column(name = "ID", nullable = false)
@@ -102,7 +102,7 @@ public class CompanyVendorEntity implements IdentityEntity, Serializable, Voable
return true; return true;
if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object)) if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
return false; return false;
CompanyVendorEntity that = (CompanyVendorEntity) object; VendorEntity that = (VendorEntity) object;
return getId() != null && Objects.equals(getId(), that.getId()); return getId() != null && Objects.equals(getId(), that.getId());
} }
@@ -112,8 +112,8 @@ public class CompanyVendorEntity implements IdentityEntity, Serializable, Voable
} }
@Override @Override
public CompanyVendorEntityVo toVo() { public VendorEntityVo toVo() {
CompanyVendorEntityVo vo = new CompanyVendorEntityVo(); VendorEntityVo vo = new VendorEntityVo();
vo.setId(id); vo.setId(id);
if (vendor != null) { if (vendor != null) {
vo.setVendorId(vendor.getId()); vo.setVendorId(vendor.getId());

View File

@@ -6,7 +6,7 @@ import java.util.Objects;
import com.ecep.contract.VendorFileType; import com.ecep.contract.VendorFileType;
import com.ecep.contract.util.HibernateProxyUtils; import com.ecep.contract.util.HibernateProxyUtils;
import com.ecep.contract.vo.CompanyVendorFileVo; import com.ecep.contract.vo.VendorFileVo;
import jakarta.persistence.Column; import jakarta.persistence.Column;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
@@ -31,7 +31,7 @@ import lombok.ToString;
@Entity @Entity
@Table(name = "COMPANY_VENDOR_FILE") @Table(name = "COMPANY_VENDOR_FILE")
@ToString @ToString
public class CompanyVendorFile implements CompanyBasicFile<VendorFileType>, Serializable, Voable<CompanyVendorFileVo> { public class VendorFile implements CompanyBasicFile<VendorFileType>, Serializable, Voable<VendorFileVo> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -77,7 +77,7 @@ public class CompanyVendorFile implements CompanyBasicFile<VendorFileType>, Seri
if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) { if (HibernateProxyUtils.isNotEffectiveClassEquals(object, this)) {
return false; return false;
} }
CompanyVendorFile that = (CompanyVendorFile) object; VendorFile that = (VendorFile) object;
return getId() != null && Objects.equals(getId(), that.getId()); return getId() != null && Objects.equals(getId(), that.getId());
} }
@@ -87,8 +87,8 @@ public class CompanyVendorFile implements CompanyBasicFile<VendorFileType>, Seri
} }
@Override @Override
public CompanyVendorFileVo toVo() { public VendorFileVo toVo() {
CompanyVendorFileVo vo = new CompanyVendorFileVo(); VendorFileVo vo = new VendorFileVo();
vo.setId(getId()); vo.setId(getId());
if (getVendor() != null) { if (getVendor() != null) {
vo.setVendorId(getVendor().getId()); vo.setVendorId(getVendor().getId());

View File

@@ -5,7 +5,7 @@ import java.time.LocalDate;
import lombok.Data; import lombok.Data;
@Data @Data
public class CompanyVendorApprovedFileVo implements IdentityEntity { public class VendorApprovedFileVo implements IdentityEntity {
private Integer id; private Integer id;
private Integer listId; private Integer listId;
private String fileName; private String fileName;

View File

@@ -9,7 +9,7 @@ import lombok.Data;
* 供应商审批项目VO类 * 供应商审批项目VO类
*/ */
@Data @Data
public class CompanyVendorApprovedItemVo implements IdentityEntity { public class VendorApprovedItemVo implements IdentityEntity {
private Integer id; private Integer id;
private Integer listId; private Integer listId;
private Integer vendorId; private Integer vendorId;

View File

@@ -10,7 +10,7 @@ import lombok.Data;
* 合格供应商名录VO类 * 合格供应商名录VO类
*/ */
@Data @Data
public class CompanyVendorApprovedListVo implements IdentityEntity { public class VendorApprovedVo implements IdentityEntity {
private Integer id; private Integer id;
private String title; private String title;
private LocalDate publishDate; private LocalDate publishDate;

View File

@@ -11,7 +11,7 @@ import lombok.Data;
* 供应商的关联详细项VO类 * 供应商的关联详细项VO类
*/ */
@Data @Data
public class CompanyVendorEntityVo implements IdentityEntity { public class VendorEntityVo implements IdentityEntity {
private Integer id; private Integer id;
private Integer vendorId; private Integer vendorId;
private String name; private String name;

View File

@@ -11,7 +11,7 @@ import lombok.Data;
* 供应商的文件VO类 * 供应商的文件VO类
*/ */
@Data @Data
public class CompanyVendorFileVo implements IdentityEntity { public class VendorFileVo implements IdentityEntity {
private Integer id; private Integer id;
private Integer vendorId; private Integer vendorId;
private VendorFileType type; private VendorFileType type;

View File

@@ -9,7 +9,7 @@ import com.ecep.contract.model.IdentityEntity;
import lombok.Data; import lombok.Data;
@Data @Data
public class CompanyVendorVo implements IdentityEntity, CompanyBasedVo { public class VendorVo implements IdentityEntity, CompanyBasedVo {
private Integer id; private Integer id;
private VendorType type; private VendorType type;
private boolean protocolProvider = false; private boolean protocolProvider = false;

View File

@@ -4,10 +4,10 @@ import java.time.LocalDate;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import com.ecep.contract.model.CompanyVendorFile; import com.ecep.contract.model.VendorFile;
public class CompanyVendorFileUtils { public class CompanyVendorFileUtils {
public static boolean applyVendorFileByMap(CompanyVendorFile vendorFile, Map<String, Object> m) { public static boolean applyVendorFileByMap(VendorFile vendorFile, Map<String, Object> m) {
boolean modified = false; boolean modified = false;
String filePath = (String) m.get("FILE_PATH"); String filePath = (String) m.get("FILE_PATH");

View File

@@ -14,6 +14,7 @@ import java.util.function.Consumer;
import java.util.function.Supplier; import java.util.function.Supplier;
import java.util.stream.Stream; import java.util.stream.Stream;
import com.ecep.contract.ds.vendor.service.VendorService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@@ -39,8 +40,7 @@ import com.ecep.contract.ds.contract.repository.ContractRepository;
import com.ecep.contract.ds.customer.repository.CompanyCustomerFileRepository; import com.ecep.contract.ds.customer.repository.CompanyCustomerFileRepository;
import com.ecep.contract.ds.customer.repository.CompanyCustomerRepository; import com.ecep.contract.ds.customer.repository.CompanyCustomerRepository;
import com.ecep.contract.ds.other.service.SysConfService; import com.ecep.contract.ds.other.service.SysConfService;
import com.ecep.contract.ds.vendor.repository.CompanyVendorRepository; import com.ecep.contract.ds.vendor.service.VendorFileService;
import com.ecep.contract.ds.vendor.service.CompanyVendorFileService;
import com.ecep.contract.model.CloudRk; import com.ecep.contract.model.CloudRk;
import com.ecep.contract.model.CloudTyc; import com.ecep.contract.model.CloudTyc;
import com.ecep.contract.model.Company; import com.ecep.contract.model.Company;
@@ -51,7 +51,7 @@ import com.ecep.contract.model.CompanyCustomerFile;
import com.ecep.contract.model.CompanyFile; import com.ecep.contract.model.CompanyFile;
import com.ecep.contract.model.CompanyOldName; import com.ecep.contract.model.CompanyOldName;
import com.ecep.contract.model.Vendor; import com.ecep.contract.model.Vendor;
import com.ecep.contract.model.CompanyVendorFile; import com.ecep.contract.model.VendorFile;
import com.ecep.contract.model.Contract; import com.ecep.contract.model.Contract;
import com.ecep.contract.model.ContractFile; import com.ecep.contract.model.ContractFile;
@@ -90,8 +90,6 @@ public class OldVersionService {
@Autowired @Autowired
private CompanyCustomerRepository companyCustomerRepository; private CompanyCustomerRepository companyCustomerRepository;
@Autowired @Autowired
private CompanyVendorRepository companyVendorRepository;
@Autowired
private CompanyOldNameRepository companyOldNameRepository; private CompanyOldNameRepository companyOldNameRepository;
@Autowired @Autowired
private ContractRepository contractRepository; private ContractRepository contractRepository;
@@ -510,7 +508,8 @@ public class OldVersionService {
if (type == Types.VENDOR) { if (type == Types.VENDOR) {
String vendorType = (String) map.get("TYPE"); String vendorType = (String) map.get("TYPE");
boolean changed = false; boolean changed = false;
Vendor vendor = companyVendorRepository.findByCompany(updater).orElse(null);
Vendor vendor = SpringApp.getBean(VendorService.class).findByCompany(updater);
if (vendor == null) { if (vendor == null) {
vendor = new Vendor(); vendor = new Vendor();
vendor.setId(id); vendor.setId(id);
@@ -538,15 +537,15 @@ public class OldVersionService {
} }
if (changed) { if (changed) {
companyVendorRepository.save(vendor); SpringApp.getBean(VendorService.class).save(vendor);
} }
CompanyVendorFileService fileService = SpringApp.getBean(CompanyVendorFileService.class); VendorFileService fileService = SpringApp.getBean(VendorFileService.class);
// 1. 先做数据库排重 // 1. 先做数据库排重
List<CompanyVendorFile> files = fileService.findAllByVendor(vendor); List<VendorFile> files = fileService.findAllByVendor(vendor);
HashMap<String, CompanyVendorFile> fileMap = new HashMap<>(); HashMap<String, VendorFile> fileMap = new HashMap<>();
for (CompanyVendorFile vendorFile : files) { for (VendorFile vendorFile : files) {
String key = vendorFile.getFilePath(); String key = vendorFile.getFilePath();
if (fileMap.containsKey(key)) { if (fileMap.containsKey(key)) {
// 有重复删除按List顺序只保留第一个 // 有重复删除按List顺序只保留第一个
@@ -564,13 +563,13 @@ public class OldVersionService {
List<Map<String, Object>> rs = queryVendorEvalFormByVendorId(id); List<Map<String, Object>> rs = queryVendorEvalFormByVendorId(id);
for (Map<String, Object> m : rs) { for (Map<String, Object> m : rs) {
String key = CompanyVendorFileUtils.getVendorFileKey(m); String key = CompanyVendorFileUtils.getVendorFileKey(m);
CompanyVendorFile vendorFile = fileMap.get(key); VendorFile vendorFile = fileMap.get(key);
if (vendorFile == null) { if (vendorFile == null) {
continue; continue;
} }
if (CompanyVendorFileUtils.applyVendorFileByMap(vendorFile, m)) { if (CompanyVendorFileUtils.applyVendorFileByMap(vendorFile, m)) {
CompanyVendorFile saved = fileService.save(vendorFile); VendorFile saved = fileService.save(vendorFile);
fileMap.put(key, saved); fileMap.put(key, saved);
} }
} }
@@ -585,7 +584,7 @@ public class OldVersionService {
continue; continue;
} }
try { try {
CompanyVendorFile vendorFile = new CompanyVendorFile(); VendorFile vendorFile = new VendorFile();
CompanyVendorFileUtils.applyVendorFileByMap(vendorFile, m); CompanyVendorFileUtils.applyVendorFileByMap(vendorFile, m);
vendorFile.setVendor(vendor); vendorFile.setVendor(vendor);
fileService.save(vendorFile); fileService.save(vendorFile);

Some files were not shown because too many files have changed in this diff Show More