# MES数据管理系统重构方案 ## BasicData目录整理方案 现有的`MES.Service/service/BasicData`目录包含了多种类型的数据处理Manager类,但组织结构混乱。本方案将按照功能和数据类型对这些Manager类进行重组,提高代码可维护性。 ### 整理后的文件夹结构 基础数据管理类将被整理为以下几个目录: 1. **组织架构管理** - OrganizeManager.cs - SysDepartmentManager.cs - MesStaffManager.cs - MesPositionManager.cs 2. **物料及单位管理** - MesItemsManager.cs - MesItemTypeManager.cs - MesUnitManager.cs - MesDepotsManager.cs 3. **合作伙伴管理** - MesSupplierManager.cs - MesCustomerManager.cs 4. **生产管理** - ProductionOrderManager.cs - ProductionOrderSubManager.cs - MESProductionNoticeManager.cs 5. **销售和发货管理** - SalesOrderManager.cs - SalesOrderDetailManager.cs - SalesReturnNoticeManager.cs - SalesReturnNoticeDetailManager.cs - ShipmentNoticeManager.cs - ShipmentDetailManager.cs - MesDeliveryNoteManager.cs - MesDeliveryNoteDetailsManager.cs - MesDeliveryNoteBarcodeManager.cs 6. **原材料管理** - MesRohInManager.cs - MesRohInDataManager.cs ### 删除未使用文件 经过分析,所有Manager类均保留,没有确定可删除的未使用文件。 ### 整理实施步骤 #### 1. 创建文件夹 使用文件资源管理器创建以下文件夹: - `MES.Service\service\BasicData\Organization` - `MES.Service\service\BasicData\Material` - `MES.Service\service\BasicData\Partner` - `MES.Service\service\BasicData\Production` - `MES.Service\service\BasicData\Sales` - `MES.Service\service\BasicData\RawMaterial` #### 2. 移动文件 按照以下分组将文件移动到对应文件夹: **组织架构管理** - 将 OrganizeManager.cs、SysDepartmentManager.cs、MesStaffManager.cs、MesPositionManager.cs 移动到 Organization 文件夹 **物料及单位管理** - 将 MesItemsManager.cs、MesItemTypeManager.cs、MesUnitManager.cs、MesDepotsManager.cs 移动到 Material 文件夹 **合作伙伴管理** - 将 MesSupplierManager.cs、MesCustomerManager.cs 移动到 Partner 文件夹 **生产管理** - 将 ProductionOrderManager.cs、ProductionOrderSubManager.cs、MESProductionNoticeManager.cs 移动到 Production 文件夹 **销售和发货管理** - 将 SalesOrderManager.cs、SalesOrderDetailManager.cs、SalesReturnNoticeManager.cs、SalesReturnNoticeDetailManager.cs、ShipmentNoticeManager.cs、ShipmentDetailManager.cs、MesDeliveryNoteManager.cs、MesDeliveryNoteDetailsManager.cs、MesDeliveryNoteBarcodeManager.cs 移动到 Sales 文件夹 **原材料管理** - 将 MesRohInManager.cs、MesRohInDataManager.cs 移动到 RawMaterial 文件夹 #### 3. 更新命名空间 移动文件后,需要修改每个文件中的命名空间定义。例如: 原始命名空间: ```csharp namespace MES.Service.service.BasicData; ``` 修改为对应子目录的命名空间: ```csharp namespace MES.Service.service.BasicData.Organization; // 或其他相应的子目录名 ``` #### 4. 更新引用 在其他文件中对这些Manager类的引用也需要相应更新。搜索使用了这些类的地方,并添加正确的命名空间引用。 #### 5. 测试验证 完成整理后,需要全面测试应用程序的功能,确保所有功能正常运行。 ### 自动化脚本 项目中提供了`organize_basicdata.ps1`脚本,可以自动执行文件移动操作。使用方法: ```powershell PowerShell -File .\organize_basicdata.ps1 ``` ### 注意事项 1. **备份重要文件**:在进行整理前,建议先备份所有文件,以防意外情况发生。 2. **命名空间更新**:移动文件后,需要手动更新每个文件的命名空间,这是最关键的步骤。 3. **引用更新**:在控制器和其他使用这些Manager类的地方,需要添加对应的using语句,例如: ```csharp using MES.Service.service.BasicData.Organization; using MES.Service.service.BasicData.Material; // 等等 ``` 4. **分阶段实施**:建议按照功能模块分阶段实施,每完成一个模块就进行测试,确保功能正常。 5. **编译错误处理**:整理过程中可能会出现编译错误,主要是由于命名空间变更导致的引用问题,需要逐一解决。