Lius
2025-08-19 057d3af95ae0346b98e394bdbbaa2c5a7c34f4af
mdc算法公式自定义
已重命名3个文件
已添加28个文件
已修改27个文件
已复制1个文件
已删除185个文件
19101 ■■■■ 文件已修改
lxzn-boot-base-core/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/constant/MdcConstant.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDowntimeController.java 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDowntimeReasonController.java 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentTypeController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOeeInfoController.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcParameterController.java 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcDowntimeDto.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquDepDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquProDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcDowntime.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcDowntimeReason.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOeeInfo.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcParameter.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOEEJob.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDowntimeMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDowntimeReasonMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentStatisticalInfoMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOeeInfoMapper.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcParameterMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/XYZAliasesMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/ControlSystemMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentAlarmMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentLogMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentWorklineMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDowntimeMapper.xml 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDowntimeReasonMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentRunningSectionMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalInfoMapper.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalShiftInfoMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOeeInfoMapper.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcParameterMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/XYZAliasesMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDowntimeReasonService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDowntimeService.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalInfoService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOeeInfoService.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcParameterService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDowntimeReasonServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDowntimeServiceImpl.java 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java 386 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalInfoServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java 253 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcParameterServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPlanCloseServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/JexlFormulaCalculator.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcDowntimeVo.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeComputeVo.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeInfoVo.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-api/lxzn-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/ClientCategoryController.java 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/ClientContactController.java 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/ClientController.java 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/ConstructorController.java 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/DepartmentCategoryController.java 197 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/EncodeRuleController.java 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/EncodeRuleDepartController.java 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/EncodeRuleDetailController.java 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/EncodeRuleTableFieldRelateController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/EnterpriseAdministratorController.java 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/EnterpriseController.java 722 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/FactoryElementCategoryController.java 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/FactoryModelController.java 711 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/MaterialCategoryController.java 402 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/MaterialController.java 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/ProductionLineWarehouseController.java 702 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/SupplierCategoryController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/SupplierContactController.java 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/SupplierController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/UnitCategoryController.java 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/UnitController.java 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/UnitConversionController.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/WarehouseAreaController.java 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/WarehouseController.java 772 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/WarehouseLocationController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/WorkCenterController.java 565 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/WorkCenterEquipmentController.java 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/WorkCenterUserController.java 273 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Client.java 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/ClientCategory.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/ClientContact.java 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Constructor.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/DepartmentCategory.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/EncodeRule.java 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/EncodeRuleDepart.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/EncodeRuleDetail.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/EncodeRuleTableFieldRelate.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Enterprise.java 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/EnterpriseAdministrator.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/FactoryElementCategory.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/FactoryModel.java 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/FactoryModelDetail.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Material.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/MaterialCategory.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/ProductionLineWarehouse.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/ProductionLineWarehouseClient.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Supplier.java 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/SupplierCategory.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/SupplierContact.java 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Unit.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/UnitCategory.java 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/UnitConversion.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Warehouse.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WarehouseArea.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WarehouseClient.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WarehouseLocation.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WorkCenter.java 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WorkCenterDetail.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WorkCenterEquipment.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WorkCenterUser.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/ClientCategoryMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/ClientContactMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/ClientMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/ConstructorMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/DepartmentCategoryMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/EncodeRuleDepartMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/EncodeRuleDetailMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/EncodeRuleMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/EncodeRuleTableFieldRelateMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/EnterpriseAdministratorMapper.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/EnterpriseMapper.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/FactoryElementCategoryMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/FactoryModelMapper.java 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/MaterialCategoryMapper.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/MaterialMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/ProductionLineWarehouseClientMapper.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/ProductionLineWarehouseMapper.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/SupplierCategoryMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/SupplierContactMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/SupplierMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/UnitCategoryMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/UnitConversionMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/UnitMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WarehouseAreaMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WarehouseClientMapper.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WarehouseLocationMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WarehouseMapper.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WorkCenterEquipmentMapper.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WorkCenterMapper.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WorkCenterUserMapper.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/ClientMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/ConstructorMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/DepartmentCategoryMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/EncodeRuleDepartMapper.xml 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/EncodeRuleDetailMapper.xml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/EncodeRuleMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/EncodeRuleTableFieldRelateMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/EnterpriseAdministratorMapper.xml 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/EnterpriseMapper.xml 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/FactoryElementCategoryMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/FactoryModelMapper.xml 240 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/MaterialCategoryMapper.xml 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/ProductionLineWarehouseClientMapper.xml 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/ProductionLineWarehouseMapper.xml 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/SupplierContactMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/SupplierMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/UnitCategoryMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/UnitConversionMapper.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/UnitMapper.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WarehouseAreaMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WarehouseClientMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WarehouseLocationMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WarehouseMapper.xml 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WorkCenterEquipmentMapper.xml 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WorkCenterMapper.xml 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WorkCenterUserMapper.xml 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IClientCategoryService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IClientContactService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IClientService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IConstructorService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IDepartmentCategoryService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IEncodeRuleDepartService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IEncodeRuleDetailService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IEncodeRuleService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IEncodeRuleTableFieldRelateService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IEnterpriseAdministratorService.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IEnterpriseService.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IFactoryElementCategoryService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IFactoryModelService.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IMaterialCategoryService.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IMaterialService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IProductionLineWarehouseClientService.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IProductionLineWarehouseService.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/ISupplierCategoryService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/ISupplierContactService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/ISupplierService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IUnitCategoryService.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IUnitConversionService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IUnitService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWarehouseAreaService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWarehouseClientService.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWarehouseLocationService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWarehouseService.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWorkCenterEquipmentService.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWorkCenterService.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWorkCenterUserService.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/ClientCategoryServiceImpl.java 219 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/ClientContactServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/ClientServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/ConstructorServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/DepartmentCategoryServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/EncodeRuleServiceDepartImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/EncodeRuleServiceDetailImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/EncodeRuleServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/EncodeRuleTableFieldRelateServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/EnterpriseAdministratorServiceImpl.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/EnterpriseServiceImpl.java 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/FactoryElementCategoryServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/FactoryModelServiceImpl.java 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/MaterialCategoryImpl.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/MaterialServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/ProductionLineWarehouseClientServiceImpl.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/ProductionLineWarehouseServiceImpl.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/SupplierCategoryServiceImpl.java 246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/SupplierContactServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/SupplierServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/UnitCategoryServiceImpl.java 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/UnitConversionServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/UnitServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WarehouseAreaServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WarehouseClientServiceImpl.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WarehouseLocationServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WarehouseServiceImpl.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WorkCenterEquipmentServiceImpl.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WorkCenterServiceImpl.java 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WorkCenterUserServiceImpl.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/AdministratorController.java 350 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/Administrator.java 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/AdministratorMapper.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/AdministratorMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/MdcProductionMapper.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IAdministratorService.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/AdministratorServiceImpl.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-boot-base-core/pom.xml
@@ -219,6 +219,12 @@
            <groupId>com.fasterxml.jackson.module</groupId>
            <artifactId>jackson-module-kotlin</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-jexl3</artifactId>
            <version>${jexl.version}</version> <!-- æœ€æ–°ç¨³å®šç‰ˆ -->
        </dependency>
    </dependencies>
</project>
lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java
@@ -598,4 +598,10 @@
    Integer AUTO_FLAG_Y = 1;
    Integer AUTO_FLAG_N = 2;
    /**
     * åœæœºç±»åž‹   0(计划停机) 1 (非计划停机)
     */
    String CLOSE_TYPE_0 = "0";
    String CLOSE_TYPE_1 = "1";
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/constant/MdcConstant.java
ÎļþÒÑɾ³ý
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDowntimeController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,163 @@
package org.jeecg.modules.mdc.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.mdc.dto.MdcDowntimeDto;
import org.jeecg.modules.mdc.entity.MdcDowntime;
import org.jeecg.modules.mdc.service.IMdcDowntimeService;
import org.jeecg.modules.mdc.vo.MdcDowntimeVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
/**
 * @Description: å¾…机停机表
 * @Author: lius
 * @Date: 2025-03-12
 */
@Slf4j
@Api(tags = "待机停机表")
@RestController
@RequestMapping("/mdc/mdcDowntime")
public class MdcDowntimeController extends JeecgController<MdcDowntime, IMdcDowntimeService> {
    @Resource
    private IMdcDowntimeService mdcDowntimeService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param mdcDowntimeVo
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    @AutoLog(value = "待机停机表-分页列表查询")
    @ApiOperation(value = "待机停机表-分页列表查询", notes = "待机停机表-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(MdcDowntimeVo mdcDowntimeVo,
                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                   HttpServletRequest req) {
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        String userId = user.getId();
        Page<MdcDowntimeDto> page = new Page<MdcDowntimeDto>(pageNo, pageSize);
        IPage<MdcDowntimeDto> pageList = mdcDowntimeService.pageList(userId, page, mdcDowntimeVo, req);
        return Result.OK(pageList);
    }
    /**
     * æ·»åŠ 
     *
     * @param mdcDowntime
     * @return
     */
    @AutoLog(value = "待机停机表-添加")
    @ApiOperation(value = "待机停机表-添加", notes = "待机停机表-添加")
    @PostMapping(value = "/add")
    public Result<?> add(@RequestBody MdcDowntime mdcDowntime) {
        if (StringUtils.isBlank(mdcDowntime.getEquipmentIds())) {
            return Result.error("未选择设备,请排查");
        }
        if (CollectionUtils.isEmpty(mdcDowntime.getDateList())) {
            return Result.error("未选择日期,请排查");
        }
        boolean flag = mdcDowntimeService.saveDowntime(mdcDowntime);
        return flag ? Result.ok("添加成功") : Result.error("添加失败");
    }
    /**
     * ç¼–辑
     *
     * @param mdcDowntime
     * @return
     */
    @AutoLog(value = "待机停机表-编辑")
    @ApiOperation(value = "待机停机表-编辑", notes = "待机停机表-编辑")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
    public Result<?> edit(@RequestBody MdcDowntime mdcDowntime) {
        mdcDowntimeService.updateById(mdcDowntime);
        return Result.OK("编辑成功!");
    }
    /**
     * é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "待机停机表-通过id删除")
    @ApiOperation(value = "待机停机表-通过id删除", notes = "待机停机表-通过id删除")
    @DeleteMapping(value = "/delete")
    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
        mdcDowntimeService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     * æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "待机停机表-批量删除")
    @ApiOperation(value = "待机停机表-批量删除", notes = "待机停机表-批量删除")
    @DeleteMapping(value = "/deleteBatch")
    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
        this.mdcDowntimeService.removeByIds(Arrays.asList(ids.split(",")));
        return Result.OK("批量删除成功!");
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    @AutoLog(value = "待机停机表-通过id查询")
    @ApiOperation(value = "待机停机表-通过id查询", notes = "待机停机表-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
        MdcDowntime mdcDowntime = mdcDowntimeService.getById(id);
        return Result.OK(mdcDowntime);
    }
    /**
     * å¯¼å‡ºexcel
     *
     * @param request
     * @param mdcDowntime
     */
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, MdcDowntime mdcDowntime) {
        return super.exportXls(request, mdcDowntime, MdcDowntime.class, "待机停机表");
    }
    /**
     * é€šè¿‡excel导入数据
     *
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, MdcDowntime.class);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDowntimeReasonController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,168 @@
package org.jeecg.modules.mdc.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.mdc.entity.MdcDowntimeReason;
import org.jeecg.modules.mdc.service.IMdcDowntimeReasonService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
/**
 * @Description: åœæœºåŽŸå› è¡¨
 * @Author: lius
 * @Date: 2025-03-11
 */
@Slf4j
@Api(tags = "停机原因表")
@RestController
@RequestMapping("/mdc/mdcDowntimeReason")
public class MdcDowntimeReasonController extends JeecgController<MdcDowntimeReason, IMdcDowntimeReasonService> {
    @Resource
    private IMdcDowntimeReasonService mdcDowntimeReasonService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param mdcDowntimeReason
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    @AutoLog(value = "停机原因表-分页列表查询")
    @ApiOperation(value = "停机原因表-分页列表查询", notes = "停机原因表-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(MdcDowntimeReason mdcDowntimeReason,
                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<MdcDowntimeReason> queryWrapper = QueryGenerator.initQueryWrapper(mdcDowntimeReason, req.getParameterMap());
        Page<MdcDowntimeReason> page = new Page<MdcDowntimeReason>(pageNo, pageSize);
        IPage<MdcDowntimeReason> pageList = mdcDowntimeReasonService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     * æ·»åŠ 
     *
     * @param mdcDowntimeReason
     * @return
     */
    @AutoLog(value = "停机原因表-添加")
    @ApiOperation(value = "停机原因表-添加", notes = "停机原因表-添加")
    @PostMapping(value = "/add")
    public Result<?> add(@RequestBody MdcDowntimeReason mdcDowntimeReason) {
        mdcDowntimeReasonService.save(mdcDowntimeReason);
        return Result.OK("添加成功!");
    }
    /**
     * ç¼–辑
     *
     * @param mdcDowntimeReason
     * @return
     */
    @AutoLog(value = "停机原因表-编辑")
    @ApiOperation(value = "停机原因表-编辑", notes = "停机原因表-编辑")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
    public Result<?> edit(@RequestBody MdcDowntimeReason mdcDowntimeReason) {
        mdcDowntimeReasonService.updateById(mdcDowntimeReason);
        return Result.OK("编辑成功!");
    }
    /**
     * é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "停机原因表-通过id删除")
    @ApiOperation(value = "停机原因表-通过id删除", notes = "停机原因表-通过id删除")
    @DeleteMapping(value = "/delete")
    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
        mdcDowntimeReasonService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     * æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "停机原因表-批量删除")
    @ApiOperation(value = "停机原因表-批量删除", notes = "停机原因表-批量删除")
    @DeleteMapping(value = "/deleteBatch")
    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
        this.mdcDowntimeReasonService.removeByIds(Arrays.asList(ids.split(",")));
        return Result.OK("批量删除成功!");
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    @AutoLog(value = "停机原因表-通过id查询")
    @ApiOperation(value = "停机原因表-通过id查询", notes = "停机原因表-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
        MdcDowntimeReason mdcDowntimeReason = mdcDowntimeReasonService.getById(id);
        return Result.OK(mdcDowntimeReason);
    }
    /**
     * å¯¼å‡ºexcel
     *
     * @param request
     * @param mdcDowntimeReason
     */
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, MdcDowntimeReason mdcDowntimeReason) {
        return super.exportXls(request, mdcDowntimeReason, MdcDowntimeReason.class, "停机原因表");
    }
    /**
     * é€šè¿‡excel导入数据
     *
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, MdcDowntimeReason.class);
    }
    /**
     * æ ¹æ®åœæœºç±»åž‹èŽ·å–åœæœºåŽŸå› åˆ—è¡¨
     *
     * @param downtimeType
     * @return
     */
    @AutoLog(value = "停机原因表-根据停机类型获取停机原因列表")
    @ApiOperation(value = "停机原因表-根据停机类型获取停机原因列表", notes = "停机原因表-根据停机类型获取停机原因列表")
    @GetMapping(value = "/downtimeReasonList")
    public Result<?> downtimeReasonList(@RequestParam(name = "downtimeType", required = true) String downtimeType) {
        List<MdcDowntimeReason> result = mdcDowntimeReasonService.downtimeReasonList(downtimeType);
        return Result.OK(result);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentTypeController.java
@@ -8,9 +8,7 @@
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.mdc.entity.MdcDriveTypeParamConfig;
import org.jeecg.modules.mdc.entity.MdcEquipmentType;
import org.jeecg.modules.mdc.service.IMdcDriveTypeParamConfigService;
import org.jeecg.modules.mdc.service.IMdcEquipmentTypeService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOeeInfoController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,100 @@
package org.jeecg.modules.mdc.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.mdc.entity.MdcOeeInfo;
import org.jeecg.modules.mdc.service.IMdcOeeInfoService;
import org.jeecg.modules.mdc.vo.MdcOeeComputeVo;
import org.jeecg.modules.mdc.vo.MdcOeeInfoVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
/**
 * @Description: OEE表
 * @Author: lius
 * @Date: 2024-12-12
 */
@Slf4j
@Api(tags = "OEE表")
@RestController
@RequestMapping("/mdc/mdcOeeInfo")
public class MdcOeeInfoController extends JeecgController<MdcOeeInfo, IMdcOeeInfoService> {
    @Resource
    private IMdcOeeInfoService mdcOeeInfoService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param mdcOeeInfoVo
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    @AutoLog(value = "OEE表-分页列表查询")
    @ApiOperation(value = "OEE表-分页列表查询", notes = "OEE表-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(MdcOeeInfoVo mdcOeeInfoVo,
                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                   HttpServletRequest req) {
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        String userId = user.getId();
        Page<MdcOeeInfo> page = new Page<MdcOeeInfo>(pageNo, pageSize);
        IPage<MdcOeeInfo> pageList = mdcOeeInfoService.pageList(userId, page, mdcOeeInfoVo, req);
        return Result.OK(pageList);
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    @AutoLog(value = "OEE表-通过id查询")
    @ApiOperation(value = "OEE表-通过id查询", notes = "OEE表-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
        MdcOeeInfo mdcOeeInfo = mdcOeeInfoService.getById(id);
        return Result.OK(mdcOeeInfo);
    }
    /**
     * å¯¼å‡ºexcel
     *
     * @param request
     * @param mdcOeeInfoVo
     */
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, MdcOeeInfoVo mdcOeeInfoVo) {
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        String userId = user.getId();
        return mdcOeeInfoService.exportXls(userId, mdcOeeInfoVo);
    }
    /**
     * è®¡ç®—OEE
     *
     * @return
     */
    @AutoLog(value = "OEE表-计算OEE")
    @ApiOperation(value = "OEE表-计算OEE", notes = "OEE表-计算OEE")
    @PostMapping(value = "/computeOee")
    public Result<?> computeOee(@RequestBody MdcOeeComputeVo mdcOeeComputeVo) {
        mdcOeeInfoService.computeOee(mdcOeeComputeVo);
        return Result.OK("计算成功!");
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcParameterController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,126 @@
package org.jeecg.modules.mdc.controller;
import java.util.Arrays;
import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.aspect.annotation.AutoLog;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.mdc.entity.MdcParameter;
import org.jeecg.modules.mdc.service.IMdcParameterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/**
 * @Description: mdc算法公式
 * @Author: lius
 * @Date: 2025-08-13
 * @Version: V1.0
 */
@Slf4j
@Api(tags = "mdc算法公式")
@RestController
@RequestMapping("/mdc/mdcParameter")
public class MdcParameterController extends JeecgController<MdcParameter, IMdcParameterService> {
    @Autowired
    private IMdcParameterService mdcParameterService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param mdcParameter
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    @AutoLog(value = "mdc算法公式-分页列表查询")
    @ApiOperation(value = "mdc算法公式-分页列表查询", notes = "mdc算法公式-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(MdcParameter mdcParameter,
                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<MdcParameter> queryWrapper = QueryGenerator.initQueryWrapper(mdcParameter, req.getParameterMap());
        Page<MdcParameter> page = new Page<MdcParameter>(pageNo, pageSize);
        IPage<MdcParameter> pageList = mdcParameterService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     * æ·»åŠ 
     *
     * @param mdcParameter
     * @return
     */
    @AutoLog(value = "mdc算法公式-添加")
    @ApiOperation(value = "mdc算法公式-添加", notes = "mdc算法公式-添加")
    @PostMapping(value = "/add")
    public Result<?> add(@RequestBody MdcParameter mdcParameter) {
        mdcParameterService.save(mdcParameter);
        return Result.OK("添加成功!");
    }
    /**
     * ç¼–辑
     *
     * @param mdcParameter
     * @return
     */
    @AutoLog(value = "mdc算法公式-编辑")
    @ApiOperation(value = "mdc算法公式-编辑", notes = "mdc算法公式-编辑")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
    public Result<?> edit(@RequestBody MdcParameter mdcParameter) {
        mdcParameterService.updateById(mdcParameter);
        return Result.OK("编辑成功!");
    }
    /**
     * é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "mdc算法公式-通过id删除")
    @ApiOperation(value = "mdc算法公式-通过id删除", notes = "mdc算法公式-通过id删除")
    @DeleteMapping(value = "/delete")
    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
        mdcParameterService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     * æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "mdc算法公式-批量删除")
    @ApiOperation(value = "mdc算法公式-批量删除", notes = "mdc算法公式-批量删除")
    @DeleteMapping(value = "/deleteBatch")
    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
        this.mdcParameterService.removeByIds(Arrays.asList(ids.split(",")));
        return Result.OK("批量删除成功!");
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    @AutoLog(value = "mdc算法公式-通过id查询")
    @ApiOperation(value = "mdc算法公式-通过id查询", notes = "mdc算法公式-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
        MdcParameter mdcParameter = mdcParameterService.getById(id);
        return Result.OK(mdcParameter);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcDowntimeDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package org.jeecg.modules.mdc.dto;
import lombok.Data;
import org.jeecg.modules.mdc.entity.MdcDowntime;
/**
 * @Author: Lius
 * @CreateTime: 2025-03-17
 * @Description: å¾…机停机原因
 */
@Data
public class MdcDowntimeDto extends MdcDowntime {
    private Integer downtimeType;
    private String downtimeDescription;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquDepDto.java
@@ -23,7 +23,7 @@
    /**
     * å±‚级编号
     */
    private String orgType;
    private String orgCode;
    /**
     * è®¾å¤‡id
     */
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquProDto.java
@@ -24,7 +24,7 @@
    /**
     * å±‚级编号
     */
    private String orgType;
    private String orgCode;
    /**
     * è®¾å¤‡id
     */
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcDowntime.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
package org.jeecg.modules.mdc.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
import java.util.List;
/**
 * @Description: å¾…机停机表
 * @Author: lius
 * @Date: 2025-03-12
 */
@Data
@TableName("mdc_downtime")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "mdc_downtime对象", description = "待机停机表")
public class MdcDowntime extends JeecgEntity implements Serializable {
    private static final long serialVersionUID = 7151231815767722285L;
    /**
     * è®¾å¤‡ç¼–号
     */
    @Excel(name = "设备编号", width = 15)
    @ApiModelProperty(value = "设备编号")
    private String equipmentId;
    /**
     * è®¾å¤‡åç§°
     */
    @Excel(name = "设备名称", width = 15)
    @ApiModelProperty(value = "设备名称")
    private String equipmentName;
    /**
     * åœæœºåŽŸå› id
     */
    @Excel(name = "停机原因id", width = 15)
    @ApiModelProperty(value = "停机原因id")
    private String reasonId;
    /**
     * åœæœºæ—¶é•¿
     */
    @Excel(name = "停机时长", width = 15)
    @ApiModelProperty(value = "停机时长")
    private Integer downLong;
    /**
     * æ—¥æœŸ
     */
    @Excel(name = "日期", width = 15)
    @ApiModelProperty(value = "日期")
    private String theDate;
    /**
     * å¤‡æ³¨
     */
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    @TableField(exist = false)
    private String equipmentIds;
    @TableField(exist = false)
    private List<String> dateList;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcDowntimeReason.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
package org.jeecg.modules.mdc.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
/**
 * @Description: åœæœºåŽŸå› è¡¨
 * @Author: lius
 * @Date: 2025-03-11
 */
@Data
@TableName("mdc_downtime_reason")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "mdc_downtime_reason对象", description = "停机原因表")
public class MdcDowntimeReason extends JeecgEntity implements Serializable {
    private static final long serialVersionUID = -4421631921207859780L;
    /**
     * åœæœºç±»åž‹ï¼ˆ0:计划停机 1:非计划停机)
     */
    @Excel(name = "停机类型(0:计划停机 1:非计划停机)", width = 15)
    @ApiModelProperty(value = "停机类型(0:计划停机 1:非计划停机)")
    @Dict(dicCode = "mdc_downtime_type")
    private Integer downtimeType;
    /**
     * åœæœºåŽŸå› æè¿°
     */
    @Excel(name = "停机原因描述", width = 15)
    @ApiModelProperty(value = "停机原因描述")
    private String downtimeDescription;
    /**
     * å¤‡æ³¨
     */
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOeeInfo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
package org.jeecg.modules.mdc.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
import java.math.BigDecimal;
/**
 * @Description: OEE表
 * @Author: lius
 * @Date: 2024-12-12
 */
@Data
@TableName("mdc_oee_info")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "mdc_oee_info对象", description = "OEE表")
public class MdcOeeInfo extends JeecgEntity implements Serializable {
    private static final long serialVersionUID = -1029070983514140912L;
    /**
     * è®¾å¤‡ç¼–号
     */
    @Excel(name = "设备编号", width = 15)
    @ApiModelProperty(value = "设备编号")
    private String equipmentId;
    /**
     * æ—¥æœŸ
     */
    @Excel(name = "日期", width = 15)
    @ApiModelProperty(value = "日期")
    private String theDate;
    /**
     * å·¥ä½œæ—¥åŽ†æ—¶é—´(min)
     */
    @Excel(name = "工作日历时间(min)", width = 15)
    @ApiModelProperty(value = "工作日历时间(min)")
    private Integer calendarLong;
    /**
     * è®¡åˆ’停机时间(min)
     */
    @Excel(name = "计划停机时间(min)", width = 15)
    @ApiModelProperty(value = "计划停机时间(min)")
    private Integer planCloseLong;
    /**
     * è´Ÿè·æ—¶é—´(min)
     */
    @Excel(name = "负荷时间(min)", width = 15)
    @ApiModelProperty(value = "负荷时间(min)")
    private Integer loadLong;
    /**
     * éžè®¡åˆ’停机时间(min)
     */
    @Excel(name = "非计划停机时间(min)", width = 15)
    @ApiModelProperty(value = "非计划停机时间(min)")
    private Integer noplanCloseLong;
    /**
     * å¼€åŠ¨æ—¶é—´(min)
     */
    @Excel(name = "开动时间(min)", width = 15)
    @ApiModelProperty(value = "开动时间(min)")
    private Integer actuateLong;
    /**
     * æ—¶é—´å¼€åŠ¨çŽ‡
     */
    @Excel(name = "时间开动率", width = 15)
    @ApiModelProperty(value = "时间开动率")
    private BigDecimal timeActuationRate;
    /**
     * æœ‰æ•ˆè¿è¡Œæ—¶é—´
     */
    @Excel(name = "有效运行时间", width = 15)
    @ApiModelProperty(value = "有效运行时间")
    private Integer effectiveRunLong;
    /**
     * æ€§èƒ½å¼€åŠ¨çŽ‡
     */
    @Excel(name = "性能开动率", width = 15)
    @ApiModelProperty(value = "性能开动率")
    private BigDecimal performanceRate;
    /**
     * åŠ å·¥é›¶ä»¶æ•°é‡
     */
    @Excel(name = "加工零件数量", width = 15)
    @ApiModelProperty(value = "加工零件数量")
    private Integer processCount;
    /**
     * åˆæ ¼é›¶ä»¶æ•°é‡
     */
    @Excel(name = "合格零件数量", width = 15)
    @ApiModelProperty(value = "合格零件数量")
    private Integer passCount;
    /**
     * åˆæ ¼çއ
     */
    @Excel(name = "合格率", width = 15)
    @ApiModelProperty(value = "合格率")
    private BigDecimal passRate;
    /**
     * OEE
     */
    @Excel(name = "OEE", width = 15)
    @ApiModelProperty(value = "OEE")
    private BigDecimal oee;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcParameter.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
package org.jeecg.modules.mdc.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
/**
 * @Description: mdc算法公式
 * @Author: lius
 * @Date: 2025-08-13
 * @Version: V1.0
 */
@Data
@TableName("mdc_parameter")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "mdc_parameter对象", description = "mdc算法公式")
public class MdcParameter extends JeecgEntity implements Serializable {
    private static final long serialVersionUID = -1935799306658540361L;
    /**
     * ç¼–码
     */
    @Excel(name = "编码", width = 15)
    @ApiModelProperty(value = "编码")
    private String code;
    /**
     * åç§°
     */
    @Excel(name = "名称", width = 15)
    @ApiModelProperty(value = "名称")
    private String name;
    /**
     * æè¿°
     */
    @Excel(name = "描述", width = 15)
    @ApiModelProperty(value = "描述")
    private String description;
    /**
     * å€¼
     */
    @Excel(name = "值", width = 15)
    @ApiModelProperty(value = "值")
    private String value;
    /**
     * ç±»åž‹
     */
    @Excel(name = "类型", width = 15)
    @ApiModelProperty(value = "类型")
    private Boolean type;
    /**
     * å¤‡æ³¨
     */
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOEEJob.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package org.jeecg.modules.mdc.job;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.util.DateUtils;
import org.jeecg.modules.mdc.service.IMdcOeeInfoService;
import org.jeecg.modules.mdc.util.ThrowableUtil;
import org.jeecg.modules.mdc.vo.MdcOeeComputeVo;
import org.jeecg.modules.quartz.entity.QuartzJob;
import org.jeecg.modules.quartz.entity.SysQuartzLog;
import org.jeecg.modules.quartz.service.IQuartzJobService;
import org.jeecg.modules.quartz.service.ISysQuartzLogService;
import org.jeecg.modules.system.service.ISysAnnouncementService;
import org.quartz.*;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
/**
 * @Author: Lius
 * @CreateTime: 2025-04-24
 * @Description: OEE
 */
@PersistJobDataAfterExecution
@DisallowConcurrentExecution
@Slf4j
public class RunningOEEJob implements Job {
    /**
     * è‹¥å‚数变量名修改 QuartzJobController中也需对应修改  æ—¶é—´ï¼š yyyyMMdd ä¾‹ï¼š 20230414
     */
    private String parameter;
    public void setParameter(String parameter) {
        this.parameter = parameter;
    }
    @Resource
    private IQuartzJobService quartzJobService;
    @Resource
    private ISysAnnouncementService sysAnnouncementService;
    @Resource
    private ISysQuartzLogService sysQuartzLogService;
    @Resource
    private IMdcOeeInfoService mdcOeeInfoService;
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        SysQuartzLog quartzLog = new SysQuartzLog();
        quartzLog.setCreateTime(new Date());
        List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName());
        if (byJobClassName != null && !byJobClassName.isEmpty()) {
            quartzLog.setJobId(byJobClassName.get(0).getId());
        }
        quartzLog.setParams(this.parameter);
        log.info("定时计算设备综合效率OEE任务 RunningOEEJob start!  æ—¶é—´:" + DateUtils.now(), this.parameter);
        long startTime = System.currentTimeMillis();
        try {
            MdcOeeComputeVo mdcOeeComputeVo = new MdcOeeComputeVo();
            String dateTime = LocalDate.now().plusDays(-1).toString();
            if (StringUtils.isNotBlank(this.parameter)) {
                dateTime = DateUtils.date2Str(DateUtils.str2Date(this.parameter, DateUtils.yyyyMMdd.get()), DateUtils.date_sdf.get());
            }
            mdcOeeComputeVo.setStartTime(dateTime);
            mdcOeeComputeVo.setEndTime(dateTime);
            mdcOeeInfoService.computeOee(mdcOeeComputeVo);
            quartzLog.setIsSuccess(0);
        } catch (Exception e) {
            quartzLog.setIsSuccess(-1);
            quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e));
            // å‘送消息通知
            sysAnnouncementService.jobSendMessage("定时计算设备综合效率OEE任务", quartzLog.getExceptionDetail());
        }
        long endTime = System.currentTimeMillis();
        quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime)));
        sysQuartzLogService.save(quartzLog);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java
@@ -16,7 +16,7 @@
public interface EquipmentMapper extends BaseMapper<Equipment> {
    @Select(" SELECT name FROM SysObjects Where XType='U' AND name = '${saveTableName}' ")
    @Select(" SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = '${saveTableName}' ")
    String checkTableExists(@Param("saveTableName") String saveTableName);
    @Select(" SELECT COUNT(CollectTime) num FROM ${saveTableName} WHERE CollectTime < '${day}' ")
@@ -28,6 +28,6 @@
    @Delete(" delete from ${tableName} where CollectTime < '${day}' ")
    void deleteTableData(@Param("tableName") String saveTableName, @Param("day") String day);
    @Insert(" SELECT * INTO ${tableName} FROM ${lastTableName} WHERE CollectTime < '${date}' ")
    @Insert("CREATE TABLE `{tableName}` AS SELECT * FROM `{lastTableName}` WHERE CollectTime < '${date}' ")
    void insertNoTableData(@Param("tableName") String tableName, @Param("lastTableName") String lastTableName, @Param("date") String date);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDowntimeMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package org.jeecg.modules.mdc.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.mdc.dto.MdcDowntimeDto;
import org.jeecg.modules.mdc.entity.MdcDowntime;
import org.jeecg.modules.mdc.vo.MdcDowntimeVo;
import java.util.List;
/**
 * @Description: å¾…机停机表
 * @Author: lius
 * @Date: 2025-03-12
 */
public interface MdcDowntimeMapper extends BaseMapper<MdcDowntime> {
    IPage<MdcDowntimeDto> pageList(Page<MdcDowntimeDto> page, @Param("mdcDowntimeVo") MdcDowntimeVo mdcDowntimeVo);
    List<MdcDowntime> findPlanTimeDuration(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate, @Param("closeType") String closeType);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDowntimeReasonMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package org.jeecg.modules.mdc.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.mdc.entity.MdcDowntimeReason;
/**
 * @Description: åœæœºåŽŸå› è¡¨
 * @Author: lius
 * @Date:   2025-03-11
 */
public interface MdcDowntimeReasonMapper extends BaseMapper<MdcDowntimeReason> {
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java
@@ -8,7 +8,6 @@
import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo;
import org.jeecg.modules.mdc.vo.MdcEfficiencyReportShiftQueryVo;
import java.math.BigDecimal;
import java.util.List;
/**
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentStatisticalInfoMapper.java
@@ -16,4 +16,13 @@
     * èŽ·å–è®¾å¤‡æœ€æ–°æ—¥æœŸçš„è¿è¡Œæ•°æ®
     */
    MdcEquipmentStatisticalInfo getMaxStaticsData(@Param("equipmentId") String equipmentId);
    /**
     * æŸ¥è¯¢è®¾å¤‡è¿è¡Œæ—¶é—´
     *
     * @param equipmentId
     * @param validDate
     * @return
     */
    Integer selectProcessLong(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOeeInfoMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
package org.jeecg.modules.mdc.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.mdc.entity.MdcOeeInfo;
import org.jeecg.modules.mdc.vo.MdcOeeInfoVo;
import java.math.BigDecimal;
import java.util.List;
/**
 * @Description: OEE表
 * @Author: lius
 * @Date: 2024-12-12
 */
public interface MdcOeeInfoMapper extends BaseMapper<MdcOeeInfo> {
    /**
     * åˆ†é¡µåˆ—表
     *
     * @param page
     * @param mdcOeeInfoVo
     * @return
     */
    IPage<MdcOeeInfo> pageList(Page<MdcOeeInfo> page, @Param("mdcOeeInfoVo") MdcOeeInfoVo mdcOeeInfoVo);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcParameterMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.mdc.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.mdc.entity.MdcParameter;
/**
 * @Description: mdc算法公式
 * @Author: lius
 * @Date:   2025-08-13
 * @Version: V1.0
 */
public interface MdcParameterMapper extends BaseMapper<MdcParameter> {
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/XYZAliasesMapper.java
ÎļþÒÑɾ³ý
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/ControlSystemMapper.xml
ÎļþÃû´Ó lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/ClientCategoryMapper.xml ÐÞ¸Ä
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.base.mapper.ClientCategoryMapper">
<mapper namespace="org.jeecg.modules.mdc.mapper.ControlSystemMapper">
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentAlarmMapper.xml
ÎļþÃû´Ó lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/ClientContactMapper.xml ÐÞ¸Ä
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.base.mapper.ClientContactMapper">
<mapper namespace="org.jeecg.modules.mdc.mapper.EquipmentAlarmMapper">
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentLogMapper.xml
@@ -3,11 +3,11 @@
<mapper namespace="org.jeecg.modules.mdc.mapper.EquipmentLogMapper">
    <select id="getRow" resultType="org.jeecg.modules.mdc.entity.EquipmentLog">
        SELECT top 1 * FROM EquipmentLog WHERE EquipmentID = #{ equipmentid } AND CollectTime &lt;= #{ startTime } AND Oporation in ('0','1','2','3') ORDER BY CollectTime ASC
        SELECT * FROM EquipmentLog WHERE EquipmentID = #{ equipmentid } AND CollectTime &lt;= #{ startTime } AND Oporation in ('0','1','2','3') ORDER BY CollectTime ASC LIMIT 1
    </select>
    <select id="selectEquipmentOporation" resultType="org.jeecg.modules.mdc.entity.EquipmentLog">
        SELECT TOP 1 * FROM EquipmentLog WHERE EquipmentID = #{ equipmentId } ORDER BY CollectTime DESC
        SELECT * FROM EquipmentLog WHERE EquipmentID = #{ equipmentId } ORDER BY CollectTime DESC LIMIT 1
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentWorklineMapper.xml
@@ -3,10 +3,10 @@
<mapper namespace="org.jeecg.modules.mdc.mapper.EquipmentWorklineMapper">
    <select id="getEquipProgramNum" resultType="org.jeecg.modules.mdc.dto.EquipmentMachingDto">
        select Programnumber,CollectTime from [${tableName}] where CollectTime &gt; #{startTime} and CollectTime &lt;= #{endTime} and Programnumber is not null
        select Programnumber,CollectTime from ${tableName} where CollectTime &gt; #{startTime} and CollectTime &lt;= #{endTime} and Programnumber is not null
    </select>
    <select id="getDataList" resultType="java.util.Map">
        select top 1 [${tableName}].* from [${tableName}] order by CollectTime  desc
        select ${tableName}.* from ${tableName} order by CollectTime desc limit 1
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDowntimeMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.mdc.mapper.MdcDowntimeMapper">
    <select id="pageList" resultType="org.jeecg.modules.mdc.dto.MdcDowntimeDto">
        SELECT
            t1.* ,
            t2.downtime_type downtimeType,
            t2.downtime_description downtimeDescription
        FROM mdc_downtime t1 LEFT JOIN mdc_downtime_reason t2 ON t1.reason_id = t2.id
        <where>
            <if test="mdcDowntimeVo.equipmentId != null and mdcDowntimeVo.equipmentId != ''">
                AND t1.equipment_id = #{ mdcDowntimeVo.equipmentId }
            </if>
            <if test="mdcDowntimeVo.equipmentName != null and mdcDowntimeVo.equipmentName != ''">
                AND t1.equipment_name = #{ mdcDowntimeVo.equipmentName }
            </if>
            <if test="mdcDowntimeVo.theDate != null and mdcDowntimeVo.theDate != ''">
                AND t1.the_date = #{ mdcDowntimeVo.theDate }
            </if>
            <if test="mdcDowntimeVo.equipmentIdList != null and mdcDowntimeVo.equipmentIdList.size() > 0 ">
                AND t1.equipment_id IN
                <foreach collection="mdcDowntimeVo.equipmentIdList" item="equipmentId" index="index" open="(" close=")" separator=",">
                    #{ equipmentId }
                </foreach>
            </if>
        </where>
        ORDER BY t1.create_time DESC
    </select>
    <select id="findPlanTimeDuration" resultType="org.jeecg.modules.mdc.entity.MdcDowntime">
        SELECT
            t1.*
        FROM
            mdc_downtime t1
                LEFT JOIN mdc_downtime_reason t2 ON t1.reason_id = t2.id
        WHERE
            t1.equipment_id = #{equipmentId}
          AND t2.downtime_type = #{closeType}
          AND t1.the_date = #{validDate}
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDowntimeReasonMapper.xml
copy from lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/ClientCategoryMapper.xml copy to lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDowntimeReasonMapper.xml
Îļþ´Ó lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/ClientCategoryMapper.xml ¸´ÖÆ
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.base.mapper.ClientCategoryMapper">
<mapper namespace="org.jeecg.modules.mdc.mapper.MdcDowntimeReasonMapper">
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml
@@ -102,11 +102,11 @@
            t1.the_date theDate,
            t1.shift_id shiftId,
            t1.shift_sub_id shiftSubId,
            SUM ( t1.process_long ) processLong,
            SUM ( t1.open_long ) openLong,
            SUM ( t1.wait_long ) waitLong,
            SUM ( t1.close_long ) closeLong,
            sum ( t1.total_long ) totalLong
            SUM( t1.process_long ) processLong,
            SUM( t1.open_long ) openLong,
            SUM( t1.wait_long ) waitLong,
            SUM( t1.close_long ) closeLong,
            sum( t1.total_long ) totalLong
        FROM
            mdc_equipment t2
            LEFT JOIN mdc_equipment_statistical_shift_info t1 ON t1.equipment_id = t2.equipment_id
@@ -153,10 +153,10 @@
    <select id="comparativeAnalysis" resultType="org.jeecg.modules.mdc.dto.MdcComAnaDto">
        SELECT
            mesi.equipment_id equipmentId,
            SUM ( mesi.open_long ) openLong,
            SUM ( mesi.close_long ) closeLong,
            SUM ( mesi.wait_long ) waitLong,
            SUM ( mesi.process_long ) processLong
            SUM( mesi.open_long ) openLong,
            SUM( mesi.close_long ) closeLong,
            SUM( mesi.wait_long ) waitLong,
            SUM( mesi.process_long ) processLong
        FROM
            mdc_equipment_statistical_info mesi
            LEFT JOIN mdc_equipment me ON mesi.equipment_id = me.equipment_id
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml
@@ -129,7 +129,7 @@
            sd.id,
            sd.parent_id,
            sd.depart_name,
            sd.org_type,
            sd.org_code,
            me.equipment_id,
            me.equipment_name,
            me.equipment_type
@@ -152,7 +152,7 @@
            mp.id,
            mp.parent_id,
            mp.production_name,
            mp.org_type,
            mp.org_code,
            me.equipment_id,
            me.equipment_name,
            me.equipment_type
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentRunningSectionMapper.xml
@@ -4,17 +4,17 @@
    <!--查询单台设备最后时间段记录(非报警)-->
    <select id="getMaxNormal" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection">
        SELECT TOP 1 * FROM mdc_equipment_running_section WHERE equipment_id = #{equipmentId} AND status <![CDATA[ <> ]]> '22' ORDER BY end_time DESC
        SELECT * FROM mdc_equipment_running_section WHERE equipment_id = #{equipmentId} AND status <![CDATA[ <> ]]> '22' ORDER BY end_time DESC LIMIT 1
    </select>
    <!--获取计算段时间后的最后一条记录(报警)-->
    <select id="getMaxError" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection">
        SELECT TOP 1 * FROM mdc_equipment_running_section WHERE equipment_id = #{equipmentId} AND status = '22' ORDER BY end_time DESC
        SELECT * FROM mdc_equipment_running_section WHERE equipment_id = #{equipmentId} AND status = '22' ORDER BY end_time DESC LIMIT 1
    </select>
    <!--获取设备运行记录最早的数据-->
    <select id="getFirstData" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection">
        SELECT TOP 1 * FROM mdc_equipment_running_section WHERE equipment_id = #{equipmentId} ORDER BY start_time
        SELECT * FROM mdc_equipment_running_section WHERE equipment_id = #{equipmentId} ORDER BY start_time LIMIT 1
    </select>
    <!--查询设备单日运行状态时间段记录-->
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalInfoMapper.xml
@@ -2,9 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.mdc.mapper.MdcEquipmentStatisticalInfoMapper">
    <!--获取设备最新日期的运行数据-->
    <select id="getMaxStaticsData" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo">
        SELECT TOP 1 * FROM mdc_equipment_statistical_info WHERE equipment_id = #{equipmentId} ORDER BY the_date DESC
        SELECT * FROM mdc_equipment_statistical_info WHERE equipment_id = #{equipmentId} ORDER BY the_date DESC LIMIT 1
    </select>
    <!--查询设备运行时间-->
    <select id="selectProcessLong" resultType="java.lang.Integer">
        SELECT process_long FROM mdc_equipment_statistical_info WHERE equipment_id = #{equipmentId} AND the_date = #{validDate} LIMIT 1
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalShiftInfoMapper.xml
@@ -2,9 +2,8 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.mdc.mapper.MdcEquipmentStatisticalShiftInfoMapper">
    <select id="getMaxStaticsData" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalShiftInfo">
        SELECT TOP 1 * FROM mdc_equipment_statistical_shift_info WHERE equipment_id = #{equipmentId} ORDER BY the_date DESC
        SELECT * FROM mdc_equipment_statistical_shift_info WHERE equipment_id = #{equipmentId} ORDER BY the_date DESC LIMIT 1
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOeeInfoMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.mdc.mapper.MdcOeeInfoMapper">
    <!--分页列表-->
    <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcOeeInfo">
        SELECT
            *
        FROM
            mdc_oee_info
        <where>
            <if test="mdcOeeInfoVo.equipmentId != null and mdcOeeInfoVo.equipmentId != ''">
                AND equipment_id = #{ mdcOeeInfoVo.equipmentId }
            </if>
            <if test="mdcOeeInfoVo.startTime != null and mdcOeeInfoVo.startTime != ''">
                AND the_date &gt;= #{ mdcOeeInfoVo.startTime }
            </if>
            <if test="mdcOeeInfoVo.endTime != null and mdcOeeInfoVo.endTime != ''">
                AND the_date &lt;= #{mdcOeeInfoVo.endTime }
            </if>
            <if test="mdcOeeInfoVo.equipmentIdList != null and mdcOeeInfoVo.equipmentIdList.size() > 0 ">
                AND equipment_id IN
                <foreach collection="mdcOeeInfoVo.equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
                    #{ id }
                </foreach>
            </if>
        </where>
        ORDER BY the_date DESC, equipment_id ASC
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcParameterMapper.xml
ÎļþÃû´Ó lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/MaterialMapper.xml ÐÞ¸Ä
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.base.mapper.MaterialMapper">
<mapper namespace="org.jeecg.modules.mdc.mapper.MdcParameterMapper">
</mapper>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml
@@ -123,6 +123,6 @@
            mpq.update_by updateBy,
            mpq.update_time updateTime
        FROM mdc_process_quantity mpq LEFT JOIN mdc_standard_process_duration mspd ON mpq.standard_id = mspd.id
        WHERE mpq.id = { id }
        WHERE mpq.id = #{ id }
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/XYZAliasesMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDowntimeReasonService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package org.jeecg.modules.mdc.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.mdc.entity.MdcDowntimeReason;
import java.util.List;
/**
 * @Description: åœæœºåŽŸå› è¡¨
 * @Author: lius
 * @Date:   2025-03-11
 */
public interface IMdcDowntimeReasonService extends IService<MdcDowntimeReason> {
    List<MdcDowntimeReason> downtimeReasonList(String downtimeType);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDowntimeService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
package org.jeecg.modules.mdc.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.mdc.dto.MdcDowntimeDto;
import org.jeecg.modules.mdc.entity.MdcDowntime;
import org.jeecg.modules.mdc.vo.MdcDowntimeVo;
import javax.servlet.http.HttpServletRequest;
/**
 * @Description: å¾…机停机表
 * @Author: lius
 * @Date: 2025-03-12
 */
public interface IMdcDowntimeService extends IService<MdcDowntime> {
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param userId
     * @param page
     * @param mdcDowntimeVo
     * @param req
     * @return
     */
    IPage<MdcDowntimeDto> pageList(String userId, Page<MdcDowntimeDto> page, MdcDowntimeVo mdcDowntimeVo, HttpServletRequest req);
    /**
     * æ·»åŠ 
     * @param mdcDowntime
     * @return
     */
    boolean saveDowntime(MdcDowntime mdcDowntime);
    /**
     *  æŸ¥è¯¢åœæœºæ—¶é•¿
     * @param equipmentId
     * @param validDate
     * @param closeType
     * @return
     */
    Integer findPlanTimeDuration(String equipmentId, String validDate, String closeType);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalInfoService.java
@@ -17,4 +17,13 @@
     * @param dateTime
     */
    void runningAllEquipmentStatisticalProcess(String dateTime);
    /**
     * æŸ¥è¯¢è®¾å¤‡è¿è¡Œæ—¶é—´
     *
     * @param equipmentId
     * @param validDate
     * @return
     */
    Integer selectProcessLong(String equipmentId, String validDate);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOeeInfoService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
package org.jeecg.modules.mdc.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.mdc.entity.MdcOeeInfo;
import org.jeecg.modules.mdc.vo.MdcOeeComputeVo;
import org.jeecg.modules.mdc.vo.MdcOeeInfoVo;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.List;
/**
 * @Description: OEE表
 * @Author: lius
 * @Date: 2024-12-12
 */
public interface IMdcOeeInfoService extends IService<MdcOeeInfo> {
    /**
     * åˆ†é¡µåˆ—表
     *
     * @param userId
     * @param page
     * @param mdcOeeInfoVo
     * @param req
     * @return
     */
    IPage<MdcOeeInfo> pageList(String userId, Page<MdcOeeInfo> page, MdcOeeInfoVo mdcOeeInfoVo, HttpServletRequest req);
    /**
     * å¯¼å‡º
     *
     * @param userId
     * @param mdcOeeInfoVo
     * @return
     */
    ModelAndView exportXls(String userId, MdcOeeInfoVo mdcOeeInfoVo);
    /**
     * è®¡ç®—OEE
     *
     * @param mdcOeeComputeVo
     */
    void computeOee(MdcOeeComputeVo mdcOeeComputeVo);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcParameterService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.mdc.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.mdc.entity.MdcParameter;
/**
 * @Description: mdc算法公式
 * @Author: jeecg-boot
 * @Date:   2025-08-13
 * @Version: V1.0
 */
public interface IMdcParameterService extends IService<MdcParameter> {
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java
@@ -4,9 +4,6 @@
import org.jeecg.modules.mdc.dto.DayUtilizationRateDto;
import org.jeecg.modules.mdc.vo.*;
import java.math.BigDecimal;
import java.util.List;
/**
 * @author: LiuS
 * @create: 2023-06-15 17:25
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDowntimeReasonServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package org.jeecg.modules.mdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.mdc.entity.MdcDowntimeReason;
import org.jeecg.modules.mdc.mapper.MdcDowntimeReasonMapper;
import org.jeecg.modules.mdc.service.IMdcDowntimeReasonService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * @Description: åœæœºåŽŸå› è¡¨
 * @Author: lius
 * @Date:   2025-03-11
 */
@Service
public class MdcDowntimeReasonServiceImpl extends ServiceImpl<MdcDowntimeReasonMapper, MdcDowntimeReason> implements IMdcDowntimeReasonService {
    @Override
    public List<MdcDowntimeReason> downtimeReasonList(String downtimeType) {
        return this.baseMapper.selectList(new LambdaQueryWrapper<MdcDowntimeReason>().eq(MdcDowntimeReason::getDowntimeType, downtimeType));
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDowntimeServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,117 @@
package org.jeecg.modules.mdc.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.mdc.dto.MdcDowntimeDto;
import org.jeecg.modules.mdc.entity.MdcDowntime;
import org.jeecg.modules.mdc.entity.MdcEquipment;
import org.jeecg.modules.mdc.mapper.MdcDowntimeMapper;
import org.jeecg.modules.mdc.service.IMdcDowntimeService;
import org.jeecg.modules.mdc.service.IMdcEquipmentService;
import org.jeecg.modules.mdc.util.DateUtils;
import org.jeecg.modules.mdc.vo.MdcDowntimeVo;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
 * @Description: å¾…机停机表
 * @Author: lius
 * @Date: 2025-03-12
 */
@Service
public class MdcDowntimeServiceImpl extends ServiceImpl<MdcDowntimeMapper, MdcDowntime> implements IMdcDowntimeService {
    @Resource
    private IMdcEquipmentService mdcEquipmentService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param userId
     * @param page
     * @param mdcDowntimeVo
     * @param req
     * @return
     */
    @Override
    public IPage<MdcDowntimeDto> pageList(String userId, Page<MdcDowntimeDto> page, MdcDowntimeVo mdcDowntimeVo, HttpServletRequest req) {
        // èŽ·å–è®¾å¤‡ID列表
        List<String> equipmentIds = getEquipmentIds(userId, mdcDowntimeVo);
        // å¦‚果设备ID列表为空,直接返回空分页
        if (equipmentIds == null || equipmentIds.isEmpty()) {
            return new Page<>(page.getCurrent(), page.getSize(), 0);
        }
        // è®¾ç½®è®¾å¤‡ID列表到查询条件中
        mdcDowntimeVo.setEquipmentIdList(equipmentIds);
        // æ‰§è¡Œåˆ†é¡µæŸ¥è¯¢
        return this.baseMapper.pageList(page, mdcDowntimeVo);
    }
    /**
     * æ·»åŠ 
     * @param mdcDowntime
     * @return
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean saveDowntime(MdcDowntime mdcDowntime) {
        String[] equipmentIds = mdcDowntime.getEquipmentIds().split(",");
        List<String> dateList = mdcDowntime.getDateList();
        List<MdcDowntime> mdcDowntimeList = new ArrayList<>();
        for (String equipmentId : equipmentIds) {
            for (String date : dateList) {
                String format = DateUtils.format(DateUtils.toDate(date, DateUtils.STRDATE), DateUtils.STR_DATE);
                MdcEquipment mdcEquipment = mdcEquipmentService.findEquipmentNameByEquipmentId(equipmentId);
                MdcDowntime downtime = new MdcDowntime();
                BeanUtils.copyProperties(mdcDowntime, downtime);
                downtime.setEquipmentId(mdcEquipment.getEquipmentId());
                downtime.setEquipmentName(mdcEquipment.getEquipmentName());
                downtime.setTheDate(format);
                mdcDowntimeList.add(downtime);
            }
        }
        this.saveBatch(mdcDowntimeList);
        return true;
    }
    @Override
    public Integer findPlanTimeDuration(String equipmentId, String validDate, String closeType) {
        int result = 0;
        List<MdcDowntime> mdcDowntimeList = this.baseMapper.findPlanTimeDuration(equipmentId, validDate, closeType);
        if (mdcDowntimeList != null && !mdcDowntimeList.isEmpty()) {
            for (MdcDowntime mdcDowntime : mdcDowntimeList) {
                result = mdcDowntime.getDownLong() + result;
            }
        }
        return result;
    }
    private List<String> getEquipmentIds(String userId, MdcDowntimeVo mdcDowntimeVo) {
        if (StringUtils.isNotEmpty(mdcDowntimeVo.getEquipmentId())) {
            return Collections.singletonList(mdcDowntimeVo.getEquipmentId());
        }
        if (StringUtils.isNotEmpty(mdcDowntimeVo.getParentId())) {
            return "2".equals(mdcDowntimeVo.getTypeTree())
                    ? mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcDowntimeVo.getParentId())
                    : mdcEquipmentService.getEquipmentIdsProduction(userId, mdcDowntimeVo.getParentId());
        }
        return "2".equals(mdcDowntimeVo.getTypeTree())
                ? mdcEquipmentService.getEquipmentIdsByDepart(userId, null)
                : mdcEquipmentService.getEquipmentIdsProduction(userId, null);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java
@@ -9,12 +9,14 @@
import org.jeecg.modules.mdc.mapper.MdcEfficiencyReportMapper;
import org.jeecg.modules.mdc.service.*;
import org.jeecg.modules.mdc.util.DateUtils;
import org.jeecg.modules.mdc.util.JexlFormulaCalculator;
import org.jeecg.modules.mdc.vo.MdcUtilizationRateDto;
import org.jeecg.modules.mdc.vo.*;
import org.jeecg.modules.system.entity.MdcProduction;
import org.jeecg.modules.system.entity.SysDepart;
import org.jeecg.modules.system.service.IMdcProductionService;
import org.jeecg.modules.system.service.ISysDepartService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -53,6 +55,12 @@
    @Resource
    private IMdcEquipmentRunningSectionService mdcEquipmentRunningSectionService;
    @Resource
    private IMdcParameterService mdcParameterService;
    @Resource
    private JexlFormulaCalculator formulaCalculator;
    /**
     * åˆ©ç”¨çŽ‡æŠ¥è¡¨
@@ -115,56 +123,22 @@
            if ("2".equals(vo.getTypeTree())) {
                // éƒ¨é—¨å±‚级
                List<MdcEquDepDto> equipmentList = mdcEquipmentService.findEquDepList(vo.getEquipmentIdList());
                // æŸ¥è¯¢æ‰€æœ‰éƒ¨é—¨ä¿¡æ¯
                List<SysDepart> departList = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).orderByAsc(SysDepart::getDepartOrder));
                for (MdcEquDepDto mdcEquDepDto : equipmentList) {
                    MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto();
                    mdcEfficiencyListDto.setEquipmentId(mdcEquDepDto.getEquipmentId());
                    mdcEfficiencyListDto.setEquipmentName(mdcEquDepDto.getEquipmentName());
                    mdcEfficiencyListDto.setEquipmentType(mdcEquDepDto.getEquipmentType());
                    switch (mdcEquDepDto.getOrgType()) {
                        case "1":
                            mdcEfficiencyListDto.setLevel1(mdcEquDepDto.getDepartName());
                            break;
                        case "2":
                            mdcEfficiencyListDto.setLevel2(mdcEquDepDto.getDepartName());
                            break;
                        case "3":
                            mdcEfficiencyListDto.setLevel3(mdcEquDepDto.getDepartName());
                            break;
                        default:
                    }
                    SysDepart sysDepart = departList.stream().filter(depart -> depart.getId().equals(mdcEquDepDto.getParentId())).findAny().orElse(null);
                    if (sysDepart != null) {
                        switch (sysDepart.getOrgType()) {
                            case "1":
                                mdcEfficiencyListDto.setLevel1(sysDepart.getDepartName());
                                break;
                            case "2":
                                mdcEfficiencyListDto.setLevel2(sysDepart.getDepartName());
                                break;
                            case "3":
                                mdcEfficiencyListDto.setLevel3(sysDepart.getDepartName());
                                break;
                            default:
                    String orgCode = mdcEquDepDto.getOrgCode();
                    if (orgCode != null) {
                        if (orgCode.length() >= 3) {
                            mdcEfficiencyListDto.setLevel1(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 3))).getDepartName());
                        }
                        if (StringUtils.isNotEmpty(sysDepart.getParentId())) {
                            departList.stream().filter(depart -> depart.getId().equals(sysDepart.getParentId())).findAny().ifPresent(depart1 -> {
                                switch (depart1.getOrgType()) {
                                    case "1":
                                        mdcEfficiencyListDto.setLevel1(depart1.getDepartName());
                                        break;
                                    case "2":
                                        mdcEfficiencyListDto.setLevel2(depart1.getDepartName());
                                        break;
                                    case "3":
                                        mdcEfficiencyListDto.setLevel3(depart1.getDepartName());
                                        break;
                                    default:
                                }
                            });
                        if (orgCode.length() >= 6) {
                            mdcEfficiencyListDto.setLevel2(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 6))).getDepartName());
                        }
                        if (orgCode.length() >= 9) {
                            mdcEfficiencyListDto.setLevel3(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 9))).getDepartName());
                        }
                    }
                    List<MdcEfficiencyResultDto> list = new ArrayList<>();
@@ -204,55 +178,22 @@
            } else {
                // äº§çº¿å±‚级
                List<MdcEquProDto> equipmentList = mdcEquipmentService.findEquProList(vo.getEquipmentIdList());
                // æŸ¥è¯¢æ‰€æœ‰äº§çº¿ä¿¡æ¯
                List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).orderByAsc(MdcProduction::getProductionOrder));
                for (MdcEquProDto mdcEquProDto : equipmentList) {
                    MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto();
                    mdcEfficiencyListDto.setEquipmentId(mdcEquProDto.getEquipmentId());
                    mdcEfficiencyListDto.setEquipmentName(mdcEquProDto.getEquipmentName());
                    mdcEfficiencyListDto.setEquipmentType(mdcEquProDto.getEquipmentType());
                    switch (mdcEquProDto.getOrgType()) {
                        case "1":
                            mdcEfficiencyListDto.setLevel1(mdcEquProDto.getProductionName());
                            break;
                        case "2":
                            mdcEfficiencyListDto.setLevel2(mdcEquProDto.getProductionName());
                            break;
                        case "3":
                            mdcEfficiencyListDto.setLevel3(mdcEquProDto.getProductionName());
                            break;
                        default:
                    }
                    MdcProduction mdcProduction = productionList.stream().filter(production -> production.getId().equals(mdcEquProDto.getParentId())).findAny().orElse(null);
                    if (mdcProduction != null) {
                        switch (mdcProduction.getOrgType()) {
                            case "1":
                                mdcEfficiencyListDto.setLevel1(mdcProduction.getProductionName());
                                break;
                            case "2":
                                mdcEfficiencyListDto.setLevel2(mdcProduction.getProductionName());
                                break;
                            case "3":
                                mdcEfficiencyListDto.setLevel3(mdcProduction.getProductionName());
                                break;
                            default:
                    String orgCode = mdcEquProDto.getOrgCode();
                    if (orgCode != null) {
                        if (orgCode.length() >= 3) {
                            mdcEfficiencyListDto.setLevel1(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 3))).getProductionName());
                        }
                        if (StringUtils.isNotEmpty(mdcProduction.getParentId())) {
                            productionList.stream().filter(production -> production.getId().equals(mdcProduction.getParentId())).findAny().ifPresent(production1 -> {
                                switch (production1.getOrgType()) {
                                    case "1":
                                        mdcEfficiencyListDto.setLevel1(production1.getProductionName());
                                        break;
                                    case "2":
                                        mdcEfficiencyListDto.setLevel2(production1.getProductionName());
                                        break;
                                    case "3":
                                        mdcEfficiencyListDto.setLevel3(production1.getProductionName());
                                        break;
                                    default:
                                }
                            });
                        if (orgCode.length() >= 6) {
                            mdcEfficiencyListDto.setLevel2(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 6))).getProductionName());
                        }
                        if (orgCode.length() >= 9) {
                            mdcEfficiencyListDto.setLevel3(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 9))).getProductionName());
                        }
                    }
                    List<MdcEfficiencyResultDto> list = new ArrayList<>();
@@ -448,7 +389,7 @@
        if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) {
            result.setMdcEfficiencyList(listDtos);
        } else {
            List<String> equipmentIdList = mdcEquipmentService.listEquipmentId(vo);
            if (equipmentIdList != null && !equipmentIdList.isEmpty()) {
                vo.setEquipmentIdList(equipmentIdList);
@@ -463,56 +404,22 @@
            if ("2".equals(vo.getTypeTree())) {
                // éƒ¨é—¨å±‚级
                List<MdcEquDepDto> equipmentList = mdcEquipmentService.findEquDepList(vo.getEquipmentIdList());
                // æŸ¥è¯¢æ‰€æœ‰éƒ¨é—¨ä¿¡æ¯
                List<SysDepart> departList = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).orderByAsc(SysDepart::getDepartOrder));
                for (MdcEquDepDto mdcEquDepDto : equipmentList) {
                    MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto();
                    mdcEfficiencyListDto.setEquipmentId(mdcEquDepDto.getEquipmentId());
                    mdcEfficiencyListDto.setEquipmentName(mdcEquDepDto.getEquipmentName());
                    mdcEfficiencyListDto.setEquipmentType(mdcEquDepDto.getEquipmentType());
                    switch (mdcEquDepDto.getOrgType()) {
                        case "1":
                            mdcEfficiencyListDto.setLevel1(mdcEquDepDto.getDepartName());
                            break;
                        case "2":
                            mdcEfficiencyListDto.setLevel2(mdcEquDepDto.getDepartName());
                            break;
                        case "3":
                            mdcEfficiencyListDto.setLevel3(mdcEquDepDto.getDepartName());
                            break;
                        default:
                    }
                    SysDepart sysDepart = departList.stream().filter(depart -> depart.getId().equals(mdcEquDepDto.getParentId())).findAny().orElse(null);
                    if (sysDepart != null) {
                        switch (sysDepart.getOrgType()) {
                            case "1":
                                mdcEfficiencyListDto.setLevel1(sysDepart.getDepartName());
                                break;
                            case "2":
                                mdcEfficiencyListDto.setLevel2(sysDepart.getDepartName());
                                break;
                            case "3":
                                mdcEfficiencyListDto.setLevel3(sysDepart.getDepartName());
                                break;
                            default:
                    String orgCode = mdcEquDepDto.getOrgCode();
                    if (orgCode != null) {
                        if (orgCode.length() >= 3) {
                            mdcEfficiencyListDto.setLevel1(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 3))).getDepartName());
                        }
                        if (StringUtils.isNotEmpty(sysDepart.getParentId())) {
                            departList.stream().filter(depart -> depart.getId().equals(sysDepart.getParentId())).findAny().ifPresent(depart1 -> {
                                switch (depart1.getOrgType()) {
                                    case "1":
                                        mdcEfficiencyListDto.setLevel1(depart1.getDepartName());
                                        break;
                                    case "2":
                                        mdcEfficiencyListDto.setLevel2(depart1.getDepartName());
                                        break;
                                    case "3":
                                        mdcEfficiencyListDto.setLevel3(depart1.getDepartName());
                                        break;
                                    default:
                                }
                            });
                        if (orgCode.length() >= 6) {
                            mdcEfficiencyListDto.setLevel2(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 6))).getDepartName());
                        }
                        if (orgCode.length() >= 9) {
                            mdcEfficiencyListDto.setLevel3(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 9))).getDepartName());
                        }
                    }
                    List<MdcEfficiencyResultDto> list = new ArrayList<>();
@@ -552,55 +459,22 @@
            } else {
                // äº§çº¿å±‚级
                List<MdcEquProDto> equipmentList = mdcEquipmentService.findEquProList(vo.getEquipmentIdList());
                // æŸ¥è¯¢æ‰€æœ‰äº§çº¿ä¿¡æ¯
                List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).orderByAsc(MdcProduction::getProductionOrder));
                for (MdcEquProDto mdcEquProDto : equipmentList) {
                    MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto();
                    mdcEfficiencyListDto.setEquipmentId(mdcEquProDto.getEquipmentId());
                    mdcEfficiencyListDto.setEquipmentName(mdcEquProDto.getEquipmentName());
                    mdcEfficiencyListDto.setEquipmentType(mdcEquProDto.getEquipmentType());
                    switch (mdcEquProDto.getOrgType()) {
                        case "1":
                            mdcEfficiencyListDto.setLevel1(mdcEquProDto.getProductionName());
                            break;
                        case "2":
                            mdcEfficiencyListDto.setLevel2(mdcEquProDto.getProductionName());
                            break;
                        case "3":
                            mdcEfficiencyListDto.setLevel3(mdcEquProDto.getProductionName());
                            break;
                        default:
                    }
                    MdcProduction mdcProduction = productionList.stream().filter(production -> production.getId().equals(mdcEquProDto.getParentId())).findAny().orElse(null);
                    if (mdcProduction != null) {
                        switch (mdcProduction.getOrgType()) {
                            case "1":
                                mdcEfficiencyListDto.setLevel1(mdcProduction.getProductionName());
                                break;
                            case "2":
                                mdcEfficiencyListDto.setLevel2(mdcProduction.getProductionName());
                                break;
                            case "3":
                                mdcEfficiencyListDto.setLevel3(mdcProduction.getProductionName());
                                break;
                            default:
                    String orgCode = mdcEquProDto.getOrgCode();
                    if (orgCode != null) {
                        if (orgCode.length() >= 3) {
                            mdcEfficiencyListDto.setLevel1(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 3))).getProductionName());
                        }
                        if (StringUtils.isNotEmpty(mdcProduction.getParentId())) {
                            productionList.stream().filter(production -> production.getId().equals(mdcProduction.getParentId())).findAny().ifPresent(production1 -> {
                                switch (production1.getOrgType()) {
                                    case "1":
                                        mdcEfficiencyListDto.setLevel1(production1.getProductionName());
                                        break;
                                    case "2":
                                        mdcEfficiencyListDto.setLevel2(production1.getProductionName());
                                        break;
                                    case "3":
                                        mdcEfficiencyListDto.setLevel3(production1.getProductionName());
                                        break;
                                    default:
                                }
                            });
                        if (orgCode.length() >= 6) {
                            mdcEfficiencyListDto.setLevel2(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 6))).getProductionName());
                        }
                        if (orgCode.length() >= 9) {
                            mdcEfficiencyListDto.setLevel3(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 9))).getProductionName());
                        }
                    }
                    List<MdcEfficiencyResultDto> list = new ArrayList<>();
@@ -813,8 +687,6 @@
            if ("2".equals(vo.getTypeTree())) {
                // éƒ¨é—¨å±‚级
                List<MdcEquDepDto> equipmentList = mdcEquipmentService.findEquDepList(vo.getEquipmentIdList());
                // æŸ¥è¯¢æ‰€æœ‰éƒ¨é—¨ä¿¡æ¯
                List<SysDepart> departList = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).orderByAsc(SysDepart::getDepartOrder));
                // ç­æ¬¡åç§°æ˜¾ç¤ºå¤„理
                String shiftSubName = "";
                if (StringUtils.isBlank(vo.getShiftId())) {
@@ -842,48 +714,16 @@
                    mdcEfficiencyShiftListDto.setEquipmentName(mdcEquDepDto.getEquipmentName());
                    mdcEfficiencyShiftListDto.setEquipmentType(mdcEquDepDto.getEquipmentType());
                    mdcEfficiencyShiftListDto.setShiftSubName(shiftSubName);
                    switch (mdcEquDepDto.getOrgType()) {
                        case "1":
                            mdcEfficiencyShiftListDto.setLevel1(mdcEquDepDto.getDepartName());
                            break;
                        case "2":
                            mdcEfficiencyShiftListDto.setLevel2(mdcEquDepDto.getDepartName());
                            break;
                        case "3":
                            mdcEfficiencyShiftListDto.setLevel3(mdcEquDepDto.getDepartName());
                            break;
                        default:
                    }
                    SysDepart sysDepart = departList.stream().filter(depart -> depart.getId().equals(mdcEquDepDto.getParentId())).findAny().orElse(null);
                    if (sysDepart != null) {
                        switch (sysDepart.getOrgType()) {
                            case "1":
                                mdcEfficiencyShiftListDto.setLevel1(sysDepart.getDepartName());
                                break;
                            case "2":
                                mdcEfficiencyShiftListDto.setLevel2(sysDepart.getDepartName());
                                break;
                            case "3":
                                mdcEfficiencyShiftListDto.setLevel3(sysDepart.getDepartName());
                                break;
                            default:
                    String orgCode = mdcEquDepDto.getOrgCode();
                    if (orgCode != null) {
                        if (orgCode.length() >= 3) {
                            mdcEfficiencyShiftListDto.setLevel1(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 3))).getDepartName());
                        }
                        if (StringUtils.isNotEmpty(sysDepart.getParentId())) {
                            departList.stream().filter(depart -> depart.getId().equals(sysDepart.getParentId())).findAny().ifPresent(depart1 -> {
                                switch (depart1.getOrgType()) {
                                    case "1":
                                        mdcEfficiencyShiftListDto.setLevel1(depart1.getDepartName());
                                        break;
                                    case "2":
                                        mdcEfficiencyShiftListDto.setLevel2(depart1.getDepartName());
                                        break;
                                    case "3":
                                        mdcEfficiencyShiftListDto.setLevel3(depart1.getDepartName());
                                        break;
                                    default:
                                }
                            });
                        if (orgCode.length() >= 6) {
                            mdcEfficiencyShiftListDto.setLevel2(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 6))).getDepartName());
                        }
                        if (orgCode.length() >= 9) {
                            mdcEfficiencyShiftListDto.setLevel3(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 9))).getDepartName());
                        }
                    }
                    List<MdcEfficiencyShiftResultDto> list = new ArrayList<>();
@@ -923,8 +763,6 @@
            } else {
                // äº§çº¿å±‚级
                List<MdcEquProDto> equipmentList = mdcEquipmentService.findEquProList(vo.getEquipmentIdList());
                // æŸ¥è¯¢æ‰€æœ‰äº§çº¿ä¿¡æ¯
                List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).orderByAsc(MdcProduction::getProductionOrder));
                // ç­æ¬¡åç§°æ˜¾ç¤ºå¤„理
                String shiftSubName = "";
@@ -953,47 +791,16 @@
                    mdcEfficiencyShiftListDto.setEquipmentName(mdcEquProDto.getEquipmentName());
                    mdcEfficiencyShiftListDto.setEquipmentType(mdcEquProDto.getEquipmentType());
                    mdcEfficiencyShiftListDto.setShiftSubName(shiftSubName);
                    switch (mdcEquProDto.getOrgType()) {
                        case "1":
                            mdcEfficiencyShiftListDto.setLevel1(mdcEquProDto.getProductionName());
                            break;
                        case "2":
                            mdcEfficiencyShiftListDto.setLevel2(mdcEquProDto.getProductionName());
                            break;
                        case "3":
                            mdcEfficiencyShiftListDto.setLevel3(mdcEquProDto.getProductionName());
                            break;
                        default:
                    }
                    MdcProduction mdcProduction = productionList.stream().filter(production -> production.getId().equals(mdcEquProDto.getParentId())).findAny().orElse(null);
                    if (mdcProduction != null) {
                        switch (mdcProduction.getOrgType()) {
                            case "1":
                                mdcEfficiencyShiftListDto.setLevel1(mdcProduction.getProductionName());
                                break;
                            case "2":
                                mdcEfficiencyShiftListDto.setLevel2(mdcProduction.getProductionName());
                                break;
                            case "3":
                                mdcEfficiencyShiftListDto.setLevel3(mdcProduction.getProductionName());
                                break;
                            default:
                    String orgCode = mdcEquProDto.getOrgCode();
                    if (orgCode != null) {
                        if (orgCode.length() >= 3) {
                            mdcEfficiencyShiftListDto.setLevel1(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 3))).getProductionName());
                        }
                        if (StringUtils.isNotEmpty(mdcProduction.getParentId())) {
                            productionList.stream().filter(production -> production.getId().equals(mdcProduction.getParentId())).findAny().ifPresent(production1 -> {
                                switch (production1.getOrgType()) {
                                    case "1":
                                        mdcEfficiencyShiftListDto.setLevel1(production1.getProductionName());
                                        break;
                                    case "2":
                                        mdcEfficiencyShiftListDto.setLevel2(production1.getProductionName());
                                        break;
                                    case "3":
                                        mdcEfficiencyShiftListDto.setLevel3(production1.getProductionName());
                                        break;
                                    default:
                                }
                            });
                        if (orgCode.length() >= 6) {
                            mdcEfficiencyShiftListDto.setLevel2(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 6))).getProductionName());
                        }
                        if (orgCode.length() >= 9) {
                            mdcEfficiencyShiftListDto.setLevel3(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 9))).getProductionName());
                        }
                    }
                    List<MdcEfficiencyShiftResultDto> list = new ArrayList<>();
@@ -1151,19 +958,45 @@
                if (date.equals(equipmentStatisticalShiftInfo.getTheDate()) && equipmentStatisticalShiftInfo.getEquipmentId().equals(equipmentId)) {
                    mdcEfficiencyShiftResultDto.setTheDate(equipmentStatisticalShiftInfo.getTheDate());
                    mdcEfficiencyShiftResultDto.setProcessLong(equipmentStatisticalShiftInfo.getProcessLong());
                    if (equipmentStatisticalShiftInfo.getTotalLong().compareTo(BigDecimal.ZERO) == 0) {
                        mdcEfficiencyShiftResultDto.setUtilizationRate(BigDecimal.ZERO);
                    } else {
                        mdcEfficiencyShiftResultDto.setUtilizationRate(equipmentStatisticalShiftInfo.getProcessLong().divide(equipmentStatisticalShiftInfo.getTotalLong(), 6, RoundingMode.HALF_UP));
                    }
                    mdcEfficiencyShiftResultDto.setCloseLong(equipmentStatisticalShiftInfo.getCloseLong());
                    mdcEfficiencyShiftResultDto.setOpenLong(equipmentStatisticalShiftInfo.getOpenLong());
                    mdcEfficiencyShiftResultDto.setWaitLong(equipmentStatisticalShiftInfo.getWaitLong());
                    if (equipmentStatisticalShiftInfo.getTotalLong().compareTo(BigDecimal.ZERO) == 0) {
                        mdcEfficiencyShiftResultDto.setOpenRate(BigDecimal.ZERO);
                    Map<String, Object> variables = new HashMap<>();
                    variables.put("processLong", equipmentStatisticalShiftInfo.getProcessLong());
                    variables.put("openLong", equipmentStatisticalShiftInfo.getOpenLong());
                    variables.put("totalLong", equipmentStatisticalShiftInfo.getTotalLong());
                    MdcParameter shiftUtilizationRate = mdcParameterService.getOne(new LambdaQueryWrapper<MdcParameter>().eq(MdcParameter::getCode, "shiftUtilizationRate"));
                    if (shiftUtilizationRate != null) {
                        mdcEfficiencyShiftResultDto.setUtilizationRate(formulaCalculator.calculate(shiftUtilizationRate.getValue(), variables));
                    } else {
                        mdcEfficiencyShiftResultDto.setOpenRate(equipmentStatisticalShiftInfo.getOpenLong().divide(equipmentStatisticalShiftInfo.getTotalLong(), 6, RoundingMode.HALF_UP));
                        if (equipmentStatisticalShiftInfo.getTotalLong().compareTo(BigDecimal.ZERO) == 0) {
                            mdcEfficiencyShiftResultDto.setUtilizationRate(BigDecimal.ZERO);
                        } else {
                            mdcEfficiencyShiftResultDto.setUtilizationRate(equipmentStatisticalShiftInfo.getProcessLong().divide(equipmentStatisticalShiftInfo.getTotalLong(), 6, RoundingMode.HALF_UP));
                        }
                    }
                    MdcParameter shiftOpenRate = mdcParameterService.getOne(new LambdaQueryWrapper<MdcParameter>().eq(MdcParameter::getCode, "shiftOpenRate"));
                    if (shiftOpenRate != null) {
                        mdcEfficiencyShiftResultDto.setOpenRate(formulaCalculator.calculate(shiftOpenRate.getValue(), variables));
                    } else {
                        if (equipmentStatisticalShiftInfo.getTotalLong().compareTo(BigDecimal.ZERO) == 0) {
                            mdcEfficiencyShiftResultDto.setOpenRate(BigDecimal.ZERO);
                        } else {
                            mdcEfficiencyShiftResultDto.setOpenRate(equipmentStatisticalShiftInfo.getOpenLong().divide(equipmentStatisticalShiftInfo.getTotalLong(), 6, RoundingMode.HALF_UP));
                        }
                    }
                    MdcParameter startRate = mdcParameterService.getOne(new LambdaQueryWrapper<MdcParameter>().eq(MdcParameter::getCode, "startRate"));
                    if (startRate != null) {
                        mdcEfficiencyShiftResultDto.setStartRate(formulaCalculator.calculate(startRate.getValue(), variables));
                    } else {
                        if (equipmentStatisticalShiftInfo.getOpenLong().compareTo(BigDecimal.ZERO) == 0) {
                            mdcEfficiencyShiftResultDto.setStartRate(BigDecimal.ZERO);
                        } else {
                            mdcEfficiencyShiftResultDto.setStartRate(equipmentStatisticalShiftInfo.getProcessLong().divide(equipmentStatisticalShiftInfo.getOpenLong(), 6, RoundingMode.HALF_UP));
                        }
                    }
                    long rate = mdcEfficiencyShiftResultDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue();
                    for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) {
                        if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) {
@@ -1792,12 +1625,31 @@
                if (date.equals(efficiencyDto.getTheDate()) && efficiencyDto.getEquipmentId().equals(equipmentId)) {
                    mdcEfficiencyResultDto.setTheDate(efficiencyDto.getTheDate());
                    mdcEfficiencyResultDto.setProcessLong(efficiencyDto.getProcessLong());
                    mdcEfficiencyResultDto.setUtilizationRate(efficiencyDto.getUtilizationRate());
                    mdcEfficiencyResultDto.setStartRate(efficiencyDto.getStartRate());
                    mdcEfficiencyResultDto.setOpenRate(efficiencyDto.getOpenRate());
                    mdcEfficiencyResultDto.setOpenLong(efficiencyDto.getOpenLong());
                    mdcEfficiencyResultDto.setWaitLong(efficiencyDto.getWaitLong());
                    mdcEfficiencyResultDto.setCloseLong(efficiencyDto.getCloseLong());
                    Map<String, Object> variables = new HashMap<>();
                    variables.put("processLong", efficiencyDto.getProcessLong());
                    variables.put("openLong", efficiencyDto.getOpenLong());
                    variables.put("measureTime", new BigDecimal("86400"));
                    MdcParameter utilizationRate = mdcParameterService.getOne(new LambdaQueryWrapper<MdcParameter>().eq(MdcParameter::getCode, "utilizationRate"));
                    if (utilizationRate != null) {
                        mdcEfficiencyResultDto.setUtilizationRate(formulaCalculator.calculate(utilizationRate.getValue(), variables));
                    } else {
                        mdcEfficiencyResultDto.setUtilizationRate(efficiencyDto.getUtilizationRate());
                    }
                    MdcParameter openRate = mdcParameterService.getOne(new LambdaQueryWrapper<MdcParameter>().eq(MdcParameter::getCode, "openRate"));
                    if (openRate != null) {
                        mdcEfficiencyResultDto.setOpenRate(formulaCalculator.calculate(openRate.getValue(), variables));
                    } else {
                        mdcEfficiencyResultDto.setOpenRate(efficiencyDto.getOpenRate());
                    }
                    MdcParameter startRate = mdcParameterService.getOne(new LambdaQueryWrapper<MdcParameter>().eq(MdcParameter::getCode, "startRate"));
                    if (startRate != null) {
                        mdcEfficiencyResultDto.setStartRate(formulaCalculator.calculate(startRate.getValue(), variables));
                    } else {
                        mdcEfficiencyResultDto.setStartRate(efficiencyDto.getStartRate());
                    }
                    long rate = efficiencyDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue();
                    for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) {
                        if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) {
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java
@@ -519,9 +519,9 @@
            //获取running运行的日志记录
            List<MdcEquipmentRunningSection> list = this.equipmentRunningTracesLog(equipment.getEquipmentid());
            if (list != null && !list.isEmpty()) {
                List<MdcEquipmentRunningSection> equipList = addSequenceNumber(list); //添加程序号
                this.ergodicTrim(equipList);
                super.saveBatch(equipList);
//                List<MdcEquipmentRunningSection> equipList = addSequenceNumber(list); //添加程序号
                this.ergodicTrim(list);
                super.saveBatch(list);
            }
            //获取报警的日志记录
            List<MdcEquipmentRunningSection> errorList = this.equipmentRunningTracesErrorLog(equipment.getEquipmentid());
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalInfoServiceImpl.java
@@ -14,6 +14,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
/**
@@ -299,4 +300,21 @@
        }
        return equipmentStatisticalInfos;
    }
    /**
     * æŸ¥è¯¢è®¾å¤‡è¿è¡Œæ—¶é—´
     *
     * @param equipmentId
     * @param validDate
     * @return
     */
    @Override
    public Integer selectProcessLong(String equipmentId, String validDate) {
        Integer processLong = this.baseMapper.selectProcessLong(equipmentId, validDate);
        if (processLong == null) {
            return 0;
        } else {
            return Integer.parseInt(new BigDecimal(processLong).divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP).toString());
        }
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,253 @@
package org.jeecg.modules.mdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.mdc.entity.MdcEquipment;
import org.jeecg.modules.mdc.entity.MdcOeeInfo;
import org.jeecg.modules.mdc.mapper.MdcOeeInfoMapper;
import org.jeecg.modules.mdc.service.IMdcDowntimeService;
import org.jeecg.modules.mdc.service.IMdcEquipmentService;
import org.jeecg.modules.mdc.service.IMdcEquipmentStatisticalInfoService;
import org.jeecg.modules.mdc.service.IMdcOeeInfoService;
import org.jeecg.modules.mdc.util.DateUtils;
import org.jeecg.modules.mdc.vo.MdcOeeComputeVo;
import org.jeecg.modules.mdc.vo.MdcOeeInfoVo;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
 * @Description: OEE表
 * @Author: lius
 * @Date: 2024-12-12
 */
@Service
public class MdcOeeInfoServiceImpl extends ServiceImpl<MdcOeeInfoMapper, MdcOeeInfo> implements IMdcOeeInfoService {
    @Resource
    private IMdcEquipmentService mdcEquipmentService;
    @Resource
    private IMdcDowntimeService mdcDowntimeService;
    @Resource
    private IMdcEquipmentStatisticalInfoService mdcEquipmentStatisticalInfoService;
    /**
     * åˆ†é¡µåˆ—表
     *
     * @param userId
     * @param page
     * @param mdcOeeInfoVo
     * @param req
     * @return
     */
    @Override
    public IPage<MdcOeeInfo> pageList(String userId, Page<MdcOeeInfo> page, MdcOeeInfoVo mdcOeeInfoVo, HttpServletRequest req) {
        List<String> equipmentIds = new ArrayList<>();
        if (StringUtils.isNotEmpty(mdcOeeInfoVo.getParentId()) && StringUtils.isEmpty(mdcOeeInfoVo.getEquipmentId())) {
            if ("2".equals(mdcOeeInfoVo.getTypeTree())) {
                //部门层级
                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcOeeInfoVo.getParentId());
            } else {
                //产线层级
                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcOeeInfoVo.getParentId());
            }
        } else if (StringUtils.isNotEmpty(mdcOeeInfoVo.getEquipmentId())) {
            //单台设备信息
            mdcOeeInfoVo.setEquipmentIdList(Collections.singletonList(mdcOeeInfoVo.getEquipmentId()));
        } else {
            //查询用户拥有的所有设备信息
            if ("2".equals(mdcOeeInfoVo.getTypeTree())) {
                //部门层级
                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
            } else {
                //产线层级
                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
            }
        }
        if (mdcOeeInfoVo.getEquipmentIdList() == null || mdcOeeInfoVo.getEquipmentIdList().isEmpty()) {
            mdcOeeInfoVo.setEquipmentIdList(equipmentIds);
        }
        if (mdcOeeInfoVo.getEquipmentIdList() == null || mdcOeeInfoVo.getEquipmentIdList().isEmpty()) {
            return null;
        }
        return this.baseMapper.pageList(page, mdcOeeInfoVo);
    }
    /**
     * å¯¼å‡º
     *
     * @param userId
     * @param mdcOeeInfoVo
     * @return
     */
    @Override
    public ModelAndView exportXls(String userId, MdcOeeInfoVo mdcOeeInfoVo) {
        LambdaQueryWrapper<MdcOeeInfo> queryWrapper = new LambdaQueryWrapper<>();
        List<String> equipmentIds = new ArrayList<>();
        if (StringUtils.isNotEmpty(mdcOeeInfoVo.getParentId()) && StringUtils.isEmpty(mdcOeeInfoVo.getEquipmentId())) {
            if ("2".equals(mdcOeeInfoVo.getTypeTree())) {
                //部门层级
                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcOeeInfoVo.getParentId());
            } else {
                //产线层级
                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcOeeInfoVo.getParentId());
            }
        } else if (StringUtils.isNotEmpty(mdcOeeInfoVo.getEquipmentId())) {
            //单台设备信息
            mdcOeeInfoVo.setEquipmentIdList(Collections.singletonList(mdcOeeInfoVo.getEquipmentId()));
        } else {
            //查询用户拥有的所有设备信息
            if ("2".equals(mdcOeeInfoVo.getTypeTree())) {
                //部门层级
                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
            } else {
                //产线层级
                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
            }
        }
        if (mdcOeeInfoVo.getEquipmentIdList() == null || mdcOeeInfoVo.getEquipmentIdList().isEmpty()) {
            mdcOeeInfoVo.setEquipmentIdList(equipmentIds);
        }
        if (mdcOeeInfoVo.getEquipmentIdList() == null || mdcOeeInfoVo.getEquipmentIdList().isEmpty()) {
            return null;
        } else {
            queryWrapper.in(MdcOeeInfo::getEquipmentId, mdcOeeInfoVo.getEquipmentIdList());
        }
        if (StringUtils.isNotEmpty(mdcOeeInfoVo.getEquipmentId())) {
            queryWrapper.eq(MdcOeeInfo::getEquipmentId, mdcOeeInfoVo.getEquipmentId());
        }
        if (StringUtils.isNotEmpty(mdcOeeInfoVo.getStartTime()) && StringUtils.isNotEmpty(mdcOeeInfoVo.getEndTime())) {
            queryWrapper.between(MdcOeeInfo::getTheDate, mdcOeeInfoVo.getStartTime(), mdcOeeInfoVo.getEndTime());
        }
        queryWrapper.orderByDesc(MdcOeeInfo::getTheDate).orderByDesc(MdcOeeInfo::getEquipmentId);
        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
        List<MdcOeeInfo> mdcOeeInfos = this.baseMapper.selectList(queryWrapper);
        // å¯¼å‡ºæ–‡ä»¶åç§°
        mv.addObject(NormalExcelConstants.FILE_NAME, "OEE数据列表");
        mv.addObject(NormalExcelConstants.CLASS, MdcOeeInfo.class);
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("OEE数据列表数据", "导出人:" + user.getRealname(), "OEE数据"));
        //update-end---author:wangshuai ---date:20211227  for:[JTC-116]导出人写死了------------
        mv.addObject(NormalExcelConstants.DATA_LIST, mdcOeeInfos);
        return mv;
    }
    /**
     * è®¡ç®—OEE
     *
     * @param mdcOeeComputeVo
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void computeOee(MdcOeeComputeVo mdcOeeComputeVo) {
        List<MdcOeeInfo> result = new ArrayList<>();
        String startDate = mdcOeeComputeVo.getStartTime();
        String endDate = mdcOeeComputeVo.getEndTime();
        List<String> dateList = DateUtils.getDatesStringList(DateUtils.getShortDate(startDate), DateUtils.getShortDate(endDate));
        if (!dateList.isEmpty()) {
            //获取设备列表
            List<MdcEquipment> equipmentList = mdcEquipmentService.list();
            for (String validDate : dateList) {
                try {
                    this.remove(new LambdaQueryWrapper<MdcOeeInfo>().eq(MdcOeeInfo::getTheDate, validDate));
                } catch (Exception e) {
                    log.error("参数格式不对", e);
                }
                for (MdcEquipment mdcEquipment : equipmentList) {
                    String equipmentId = mdcEquipment.getEquipmentId();
                    MdcOeeInfo mdcOeeInfo = new MdcOeeInfo();
                    // è®¾å¤‡ç¼–号
                    mdcOeeInfo.setEquipmentId(equipmentId);
                    // è®¡ç®—日期
                    mdcOeeInfo.setTheDate(validDate);
                    // å·¥ä½œæ—¥åŽ†æ—¶é—´(min) --- æŒ‰æ¯å¤©24小时算
                    mdcOeeInfo.setCalendarLong(1440);
                    // è®¡åˆ’停机时间(min) --- æŒ‰ç»´æŠ¤æ•°æ®ç»Ÿè®¡å½“天总时长
                    Integer planCloseLong = mdcDowntimeService.findPlanTimeDuration(equipmentId, validDate, CommonConstant.CLOSE_TYPE_0);
                    mdcOeeInfo.setPlanCloseLong(planCloseLong);
                    // è´Ÿè·æ—¶é—´(min) --- æ—¥åŽ†å·¥ä½œæ—¶é—´-计划停机时间
                    Integer loadLong = mdcOeeInfo.getCalendarLong() - planCloseLong;
                    mdcOeeInfo.setLoadLong(loadLong);
                    // éžè®¡åˆ’停机时间(min) --- æŒ‰ç»´æŠ¤æ•°æ®ç»Ÿè®¡å½“天总时长
                    Integer noPlanCloseLong = mdcDowntimeService.findPlanTimeDuration(equipmentId, validDate, CommonConstant.CLOSE_TYPE_1);
                    mdcOeeInfo.setNoplanCloseLong(noPlanCloseLong);
                    // å¼€åŠ¨æ—¶é—´(min) --- è´Ÿè·æ—¶é—´-非计划停机时间
                    int actuateLong = loadLong - noPlanCloseLong;
                    mdcOeeInfo.setActuateLong(actuateLong);
                    // æ—¶é—´å¼€åŠ¨çŽ‡ --- å¼€åŠ¨æ—¶é—´/负荷时间
                    BigDecimal timeActuationRate = BigDecimal.ZERO;
                    if (loadLong == 0) {
                        mdcOeeInfo.setTimeActuationRate(timeActuationRate);
                    } else {
                        timeActuationRate = new BigDecimal(actuateLong).divide(new BigDecimal(loadLong), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
                        mdcOeeInfo.setTimeActuationRate(timeActuationRate.compareTo(new BigDecimal(100)) > 0 ? new BigDecimal(100) : timeActuationRate);
                    }
                    // æœ‰æ•ˆè¿è¡Œæ—¶é—´ --- æŒ‰éœ€æ±‚维护零件加工总时长||系统主轴负载时间
                    Integer effectiveRunLong = 0;
                    //查询设备运行时间
                    effectiveRunLong = mdcEquipmentStatisticalInfoService.selectProcessLong(equipmentId, validDate.replace("-", ""));
                    if (effectiveRunLong == null) {
                        effectiveRunLong = 0;
                    }
                    mdcOeeInfo.setEffectiveRunLong(effectiveRunLong);
                    // æ€§èƒ½å¼€åŠ¨çŽ‡ --- æœ‰æ•ˆè¿è¡Œæ—¶é—´/开动时间
                    BigDecimal performanceRate = BigDecimal.ZERO;
                    if (effectiveRunLong != 0 && actuateLong != 0) {
                        performanceRate = new BigDecimal(effectiveRunLong).divide(new BigDecimal(actuateLong), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
                    }
                    mdcOeeInfo.setPerformanceRate(performanceRate.compareTo(new BigDecimal(100)) > 0 ? new BigDecimal(100) : performanceRate);
                    // åŠ å·¥é›¶ä»¶æ•°é‡ --- æŒ‰ç»´æŠ¤æ•°æ®ç»Ÿè®¡å½“天
                    // åŠ å·¥é›¶ä»¶æ•°é‡
                    // TODO
//                    Integer processCount = mdcJcRcJobreportService.selectTotalProcessCount(equipmentId, validDate);
                    int processCount = 0;
                    mdcOeeInfo.setProcessCount(processCount);
                    // åˆæ ¼é›¶ä»¶æ•°é‡
                    // TODO
//                    Integer passCount = mdcJcRcJobreportService.selectTotalPassCount(equipmentId, validDate);
                    int passCount = 0;
                    mdcOeeInfo.setPassCount(passCount);
                    // åˆæ ¼çއ --- åˆæ ¼æ•°/加工数
                    BigDecimal passRate = new BigDecimal("100");
                    if (processCount != 0 && passCount != 0) {
                        passRate = new BigDecimal(passCount).divide(new BigDecimal(processCount), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
                    }
                    mdcOeeInfo.setPassRate(passRate.compareTo(new BigDecimal(100)) > 0 ? new BigDecimal(100) : passRate);
                    // OEE --- æ—¶é—´å¼€åŠ¨çŽ‡ * æ€§èƒ½å¼€åŠ¨çŽ‡ * ä¸€æ¬¡åˆæ ¼çއ
                    BigDecimal oee = BigDecimal.ZERO;
                    if (!timeActuationRate.equals(BigDecimal.ZERO) && !performanceRate.equals(BigDecimal.ZERO) && !passRate.equals(BigDecimal.ZERO)) {
                        oee = timeActuationRate.multiply(performanceRate).multiply(passRate).divide(new BigDecimal("10000"), 4, RoundingMode.HALF_UP);
                    }
                    mdcOeeInfo.setOee(oee.compareTo(new BigDecimal(100)) > 0 ? new BigDecimal(100) : oee);
                    result.add(mdcOeeInfo);
                }
            }
        }
        super.saveBatch(result);
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcParameterServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package org.jeecg.modules.mdc.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.mdc.entity.MdcParameter;
import org.jeecg.modules.mdc.mapper.MdcParameterMapper;
import org.jeecg.modules.mdc.service.IMdcParameterService;
import org.springframework.stereotype.Service;
/**
 * @Description: mdc算法公式
 * @Author: lius
 * @Date:   2025-08-13
 * @Version: V1.0
 */
@Service
public class MdcParameterServiceImpl extends ServiceImpl<MdcParameterMapper, MdcParameter> implements IMdcParameterService {
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPlanCloseServiceImpl.java
@@ -1,18 +1,10 @@
package org.jeecg.modules.mdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.modules.mdc.constant.MdcConstant;
import org.jeecg.modules.mdc.entity.MdcPlanClose;
import org.jeecg.modules.mdc.mapper.MdcPlanCloseMapper;
import org.jeecg.modules.mdc.service.IMdcPlanCloseService;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
/**
 * @Description: mdc计划停机维护表
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/JexlFormulaCalculator.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package org.jeecg.modules.mdc.util;
import org.apache.commons.jexl3.*;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.Map;
/**
 * @Author: Lius
 * @CreateTime: 2025-08-19
 * @Description: è‡ªå®šä¹‰å…¬å¼è®¡ç®—ç±»
 */
@Component
public class JexlFormulaCalculator {
    // é€šè¿‡JexlBuilder创建JexlEngine实例
    private static final JexlEngine jexl = new JexlBuilder().create();
    /**
     * è®¡ç®—自定义公式,除数为0时返回0
     * @param formula å…¬å¼å­—符串,如 "processLong/measureTime*1.0"
     * @param variables å…¬å¼ä¸­çš„变量键值对
     * @return è®¡ç®—结果(BigDecimal类型,除数为0时返回0)
     */
    public BigDecimal calculate(String formula, Map<String, Object> variables) {
        try {
            // è§£æžå…¬å¼
            JexlExpression expression = jexl.createExpression(formula);
            // åˆ›å»ºä¸Šä¸‹æ–‡å¹¶æ³¨å…¥å˜é‡
            MapContext context = new MapContext();
            for (Map.Entry<String, Object> entry : variables.entrySet()) {
                String varName = entry.getKey();
                Object value = entry.getValue();
                // ç¡®ä¿å˜é‡ä¸ºæ•°å­—类型
                if (value instanceof Number) {
                    context.set(varName, value);
                } else {
                    throw new IllegalArgumentException("变量" + varName + "必须是数字类型");
                }
            }
            // æ‰§è¡Œè®¡ç®—
            Object result = expression.evaluate(context);
            // è½¬æ¢ä¸ºBigDecimal返回
            if (result instanceof Number) {
                return new BigDecimal(result.toString());
            } else {
                throw new RuntimeException("公式计算结果不是数字");
            }
        } catch (JexlException e) {
            // å…³é”®ï¼šä¸ä¾èµ–内部类,直接通过异常消息判断除数为0
            if (e.getMessage() != null && e.getMessage().contains("division by zero")) {
                return BigDecimal.ZERO; // é™¤æ•°ä¸º0返回0
            }
            // å…¶ä»–JEXL异常正常抛出
            throw new RuntimeException("公式计算失败: " + formula, e);
        } catch (Exception e) {
            throw new RuntimeException("公式计算失败: " + formula, e);
        }
    }
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcDowntimeVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
package org.jeecg.modules.mdc.vo;
import lombok.Data;
import org.jeecg.modules.mdc.entity.MdcDowntime;
import java.util.List;
/**
 * @Author: Lius
 * @CreateTime: 2025-03-12
 * @Description:
 */
@Data
public class MdcDowntimeVo extends MdcDowntime {
    /**
     * å¼€å§‹æ—¶é—´  ->  20220101
     */
    private String startTime;
    /**
     * ç»“束时间  ->  20220101
     */
    private String endTime;
    private String effectiveDate;
    /**
     * æ ‘类型    ->  1:车间层级   2:部门层级
     */
    private String typeTree;
    /**
     * å±‚级ID
     */
    private String parentId;
    /**
     * è®¾å¤‡ids
     */
    private List<String> equipmentIdList;
    private List<String> mdcSectionIds;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeComputeVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package org.jeecg.modules.mdc.vo;
import lombok.Data;
/**
 * @author Lius
 * @date 2025/1/20 14:41
 */
@Data
public class MdcOeeComputeVo {
    private String startTime;
    private String endTime;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeInfoVo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package org.jeecg.modules.mdc.vo;
import lombok.Data;
import org.jeecg.modules.mdc.entity.MdcOeeInfo;
import java.util.List;
/**
 * @author Lius
 * @date 2024/12/12 10:14
 */
@Data
public class MdcOeeInfoVo extends MdcOeeInfo {
    private String startTime;
    private String endTime;
    private String parentId;
    private String typeTree;
    private List<String> equipmentIdList;
    private String equipmentIds;
}
lxzn-module-system/lxzn-system-api/lxzn-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java
@@ -411,8 +411,6 @@
    void delSysUploadRelaByBusIdAndBusType(String busId, String busType);
    String getUnitNameById(String unitId);
    String queryDictTextByKey(String dictCode, String key);
    String getVersionStatusByVersionAndBusinessType(Integer version, String businessType);
@@ -422,8 +420,6 @@
    DataVersion getDataVersionByBusinessId(String id);
    void removeDataVersionById(String id);
    String getEnterpriseNameById(String enterpriseId);
    List<DataVersion> getLastDataVersion(String businessType, String enterpriseId, String isLastusable);
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/ClientCategoryController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/ClientContactController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/ClientController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/ConstructorController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/DepartmentCategoryController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/EncodeRuleController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/EncodeRuleDepartController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/EncodeRuleDetailController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/EncodeRuleTableFieldRelateController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/EnterpriseAdministratorController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/EnterpriseController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/FactoryElementCategoryController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/FactoryModelController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/MaterialCategoryController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/MaterialController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/ProductionLineWarehouseController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/SupplierCategoryController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/SupplierContactController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/SupplierController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/UnitCategoryController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/UnitController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/UnitConversionController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/WarehouseAreaController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/WarehouseController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/WarehouseLocationController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/WorkCenterController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/WorkCenterEquipmentController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/controller/WorkCenterUserController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Client.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/ClientCategory.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/ClientContact.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Constructor.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/DepartmentCategory.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/EncodeRule.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/EncodeRuleDepart.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/EncodeRuleDetail.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/EncodeRuleTableFieldRelate.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Enterprise.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/EnterpriseAdministrator.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/FactoryElementCategory.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/FactoryModel.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/FactoryModelDetail.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Material.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/MaterialCategory.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/ProductionLineWarehouse.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/ProductionLineWarehouseClient.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Supplier.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/SupplierCategory.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/SupplierContact.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Unit.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/UnitCategory.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/UnitConversion.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/Warehouse.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WarehouseArea.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WarehouseClient.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WarehouseLocation.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WorkCenter.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WorkCenterDetail.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WorkCenterEquipment.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/entity/WorkCenterUser.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/ClientCategoryMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/ClientContactMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/ClientMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/ConstructorMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/DepartmentCategoryMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/EncodeRuleDepartMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/EncodeRuleDetailMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/EncodeRuleMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/EncodeRuleTableFieldRelateMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/EnterpriseAdministratorMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/EnterpriseMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/FactoryElementCategoryMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/FactoryModelMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/MaterialCategoryMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/MaterialMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/ProductionLineWarehouseClientMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/ProductionLineWarehouseMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/SupplierCategoryMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/SupplierContactMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/SupplierMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/UnitCategoryMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/UnitConversionMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/UnitMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WarehouseAreaMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WarehouseClientMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WarehouseLocationMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WarehouseMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WorkCenterEquipmentMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WorkCenterMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/WorkCenterUserMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/ClientMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/ConstructorMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/DepartmentCategoryMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/EncodeRuleDepartMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/EncodeRuleDetailMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/EncodeRuleMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/EncodeRuleTableFieldRelateMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/EnterpriseAdministratorMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/EnterpriseMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/FactoryElementCategoryMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/FactoryModelMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/MaterialCategoryMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/ProductionLineWarehouseClientMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/ProductionLineWarehouseMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/SupplierContactMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/SupplierMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/UnitCategoryMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/UnitConversionMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/UnitMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WarehouseAreaMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WarehouseClientMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WarehouseLocationMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WarehouseMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WorkCenterEquipmentMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WorkCenterMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/mapper/xml/WorkCenterUserMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IClientCategoryService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IClientContactService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IClientService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IConstructorService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IDepartmentCategoryService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IEncodeRuleDepartService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IEncodeRuleDetailService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IEncodeRuleService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IEncodeRuleTableFieldRelateService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IEnterpriseAdministratorService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IEnterpriseService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IFactoryElementCategoryService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IFactoryModelService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IMaterialCategoryService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IMaterialService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IProductionLineWarehouseClientService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IProductionLineWarehouseService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/ISupplierCategoryService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/ISupplierContactService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/ISupplierService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IUnitCategoryService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IUnitConversionService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IUnitService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWarehouseAreaService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWarehouseClientService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWarehouseLocationService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWarehouseService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWorkCenterEquipmentService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWorkCenterService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/IWorkCenterUserService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/ClientCategoryServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/ClientContactServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/ClientServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/ConstructorServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/DepartmentCategoryServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/EncodeRuleServiceDepartImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/EncodeRuleServiceDetailImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/EncodeRuleServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/EncodeRuleTableFieldRelateServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/EnterpriseAdministratorServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/EnterpriseServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/FactoryElementCategoryServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/FactoryModelServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/MaterialCategoryImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/MaterialServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/ProductionLineWarehouseClientServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/ProductionLineWarehouseServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/SupplierCategoryServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/SupplierContactServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/SupplierServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/UnitCategoryServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/UnitConversionServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/UnitServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WarehouseAreaServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WarehouseClientServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WarehouseLocationServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WarehouseServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WorkCenterEquipmentServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WorkCenterServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/base/service/impl/WorkCenterUserServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/AdministratorController.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/Administrator.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/AdministratorMapper.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/AdministratorMapper.xml
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/MdcProductionMapper.xml
@@ -4,31 +4,31 @@
    <!--递归查询所有子节点-->
    <select id="recursionChildren" resultType="java.lang.String">
        WITH temp ( id ) AS (
        WITH RECURSIVE temp ( id ) AS (
            SELECT
                id
            FROM
                mdc_production
            WHERE
                id = #{ productionId } UNION ALL
                id = #{productionId}  UNION ALL
            SELECT
                a.id
            FROM
                mdc_production a
                    INNER JOIN temp ON a.parent_id = temp.id
                INNER JOIN temp ON a.parent_id = temp.id
        ) SELECT
            *
        FROM
            temp
      FROM
          temp
    </select>
    <!--根据用户id和车间id获取用户拥有的车间id-->
    <select id="findFirstProduction" resultType="java.lang.String">
        SELECT TOP 1 t2.id FROM mdc_user_production t1 LEFT JOIN mdc_production t2 ON t1.pro_id = t2.id WHERE t1.user_id = #{ userId } AND t2.parent_id = #{productionId}
        SELECT t2.id FROM mdc_user_production t1 LEFT JOIN mdc_production t2 ON t1.pro_id = t2.id WHERE t1.user_id = #{ userId } AND t2.parent_id = #{productionId} LIMIT 1
    </select>
    <!--根据用户id查询用户工段权限-->
    <select id="findThreeProductionId" resultType="java.lang.String">
        SELECT TOP 1 t2.id id FROM mdc_user_production t1 LEFT JOIN mdc_production t2 ON t1.pro_id = t2.id WHERE t1.user_id = #{userId} AND t2.org_type = '3'
        SELECT t2.id id FROM mdc_user_production t1 LEFT JOIN mdc_production t2 ON t1.pro_id = t2.id WHERE t1.user_id = #{userId} AND t2.org_type = '3' LIMIT 1
    </select>
</mapper>
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml
@@ -126,7 +126,7 @@
    </select>
    <select id="findLastMessage" resultType="org.jeecg.modules.system.entity.SysAnnouncement">
        SELECT TOP 1 * FROM sys_announcement WHERE msg_content = #{messageContent} ORDER BY create_time DESC;
        SELECT * FROM sys_announcement WHERE msg_content = #{messageContent} ORDER BY create_time DESC LIMIT 1
    </select>
</mapper>
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IAdministratorService.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/AdministratorServiceImpl.java
ÎļþÒÑɾ³ý
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java
@@ -29,9 +29,6 @@
import org.jeecg.common.system.vo.*;
import org.jeecg.common.util.*;
import org.jeecg.common.util.dynamic.db.FreemarkerParseFactory;
import org.jeecg.modules.base.entity.Unit;
import org.jeecg.modules.base.service.IEnterpriseService;
import org.jeecg.modules.base.service.IUnitService;
import org.jeecg.modules.message.entity.SysMessageTemplate;
import org.jeecg.modules.message.handle.impl.DdSendMsgHandle;
import org.jeecg.modules.message.handle.impl.EmailSendMsgHandle;
@@ -125,12 +122,6 @@
    @Autowired
    private IDataVersionService dataVersionService;
    @Autowired
    private IUnitService unitService;
    @Autowired
    private IEnterpriseService enterpriseService;
    @Autowired
    private IQuartzJobService quartzJobService;
@@ -1382,16 +1373,6 @@
    }
    @Override
    public String getUnitNameById(String unitId) {
        Unit unit = unitService.getById(unitId);
        String unitName = "";
        if(unit != null){
            unitName = unit.getName();
        }
        return unitName;
    }
    @Override
    public String queryDictTextByKey(String dictCode, String key) {
        return sysDictService.queryDictTextByKey(dictCode, key);
@@ -1416,18 +1397,6 @@
    @Override
    public void removeDataVersionById(String id) {
        dataVersionService.removeById(id);
    }
    /**
     * æ ¹æ®ä¼ä¸šID获取企业名称
     *
     * @param enterpriseId
     * @return
     */
    @Override
    public String getEnterpriseNameById(String enterpriseId) {
        String enterpriseName = enterpriseService.getById(enterpriseId).getName();
        return enterpriseName;
    }
    @Override
pom.xml
@@ -59,6 +59,8 @@
        <!-- Log4j2爆雷漏洞 -->
        <log4j2.version>2.17.0</log4j2.version>
        <logback.version>1.2.9</logback.version>
        <!--jexl3-->
        <jexl.version>3.2.1</jexl.version>
    </properties>
    <modules>