songqq ddd9dad945 refactor: 优化采购订单相关功能及代码结构
重构采购订单模块,包括以下改进:
1. 移除PurchaseOrderItemVo中冗余字段
2. 在ContractCtx中添加调试日志
3. 修改InventoryTabSkinContracts和PurchaseOrderTabSkinBillVoucher中的equals比较逻辑
4. 调整PurchaseOrderVo的税率字段类型并添加锁定标志
5. 修正FXML文件中的控制器路径
6. 优化InventoryStringConverter的toString方法格式
7. 在PurchaseBillVoucherItemService中添加凭证查询条件
8. 改进ContractRepairTasker的进度更新逻辑
9. 修复AbstContractRepairTasker中的子合同同步问题
10. 优化PurchaseOrderTabSkinItems的表格列显示
11. 添加InventoryCatalogStringConverter及相关缓存支持
12. 完善PurchaseBillVoucherService的查询逻辑
13. 增强ContractService的库存查询功能
14. 改进PurchaseOrderItemService的合同项查询逻辑
15. 为InventoryService添加缓存支持
16. 优化ContractTabSkinPurchaseOrders的员工列显示
17. 改进ContractTabSkinItemsV2的数量显示逻辑
18. 重构PurchaseOrderViewModel的数据绑定逻辑
2025-10-12 00:52:01 +08:00
2025-08-22 19:55:19 +08:00
2025-08-22 19:55:19 +08:00
UP
2025-10-11 09:21:14 +08:00
2025-08-22 19:55:19 +08:00
2025-08-22 19:55:19 +08:00
2025-08-22 18:26:47 +08:00
2025-08-22 19:55:19 +08:00
2025-08-22 19:55:19 +08:00
UP
2025-10-11 09:21:14 +08:00
2025-09-25 10:08:17 +08:00

Contract-Manager 项目报告

项目概述

Contract-Manager是一个企业级合同管理系统提供完整的合同生命周期管理包括合同的创建、审批、执行、归档等功能同时集成了供应商管理、客户管理、项目管理等相关业务模块。

项目架构

模块划分

项目采用模块化设计,分为三个主要模块:

  • 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/                 # 数据库相关文件
    └── task/               # 任务

核心功能模块

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. 扩展更多云端服务集成
Description
电气开利合同管理软件
Readme GPL-3.0 9.3 MiB
Languages
Java 99.8%