From 1dc7bf7ffbc08705179f93849083261aa392fa29 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 20 Feb 2026 17:14:54 +0800 Subject: [PATCH] feat(mes): 重构 MES 相关数据对象和服务,调整包结构以提高可维护性 --- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessContentController.java | 4 ++-- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessController.java | 4 ++-- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteProcessController.java | 4 ++-- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/defect/MesQcDefectController.java | 4 ++-- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicator/MesQcIndicatorController.java | 4 ++-- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcController.java | 4 ++-- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcDefectController.java | 4 ++-- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcLineController.java | 8 ++++---- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateController.java | 4 ++-- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateIndicatorController.java | 8 ++++---- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateItemController.java | 4 ++-- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/MesProProcessContentDO.java | 76 ---------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/MesProProcessDO.java | 68 -------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/process/MesProProcessContentDO.java | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/process/MesProProcessDO.java | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/route/MesProRouteProcessDO.java | 5 +++-- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/route/MesProRouteProductBomDO.java | 3 ++- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcDefectDO.java | 70 ---------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIndicatorDO.java | 82 ---------------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcDO.java | 200 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcDefectDO.java | 80 -------------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcLineDO.java | 109 ------------------------------------------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateDO.java | 60 ------------------------------------------------------------ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateIndicatorDO.java | 75 --------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateItemDO.java | 69 --------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/defect/MesQcDefectDO.java | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/indicator/MesQcIndicatorDO.java | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcDO.java | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcDefectDO.java | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcLineDO.java | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateDO.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateIndicatorDO.java | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateItemDO.java | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProProcessContentMapper.java | 29 ----------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProProcessMapper.java | 50 -------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteMapper.java | 37 ------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProcessMapper.java | 51 --------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProductBomMapper.java | 49 ------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProductMapper.java | 31 ------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/process/MesProProcessContentMapper.java | 29 +++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/process/MesProProcessMapper.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteMapper.java | 37 +++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProcessMapper.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProductBomMapper.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProductMapper.java | 31 +++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcDefectMapper.java | 42 ------------------------------------------ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIndicatorMapper.java | 42 ------------------------------------------ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcDefectMapper.java | 42 ------------------------------------------ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcLineMapper.java | 35 ----------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcMapper.java | 35 ----------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateIndicatorMapper.java | 35 ----------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateItemMapper.java | 41 ----------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateMapper.java | 42 ------------------------------------------ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/defect/MesQcDefectMapper.java | 42 ++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/indicator/MesQcIndicatorMapper.java | 42 ++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcDefectMapper.java | 42 ++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcLineMapper.java | 35 +++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcMapper.java | 35 +++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateIndicatorMapper.java | 35 +++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateItemMapper.java | 41 +++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateMapper.java | 42 ++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessContentService.java | 61 ------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessContentServiceImpl.java | 73 ------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessService.java | 72 ------------------------------------------------------------------------ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessServiceImpl.java | 130 ---------------------------------------------------------------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentService.java | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentServiceImpl.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessService.java | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java | 4 ++-- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProductBomServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProductServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteServiceImpl.java | 2 +- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcDefectService.java | 85 ------------------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcDefectServiceImpl.java | 118 ---------------------------------------------------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIndicatorService.java | 85 ------------------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIndicatorServiceImpl.java | 118 ---------------------------------------------------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIqcService.java | 118 ---------------------------------------------------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIqcServiceImpl.java | 333 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcTemplateService.java | 173 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcTemplateServiceImpl.java | 230 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/defect/MesQcDefectService.java | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/defect/MesQcDefectServiceImpl.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicator/MesQcIndicatorService.java | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicator/MesQcIndicatorServiceImpl.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/lqc/MesQcIqcService.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/lqc/MesQcIqcServiceImpl.java | 343 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateService.java | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateServiceImpl.java | 230 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 89 files changed, 3095 insertions(+), 3080 deletions(-) delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/MesProProcessContentDO.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/MesProProcessDO.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/process/MesProProcessContentDO.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/process/MesProProcessDO.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcDefectDO.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIndicatorDO.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcDO.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcDefectDO.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcLineDO.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateDO.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateIndicatorDO.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateItemDO.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/defect/MesQcDefectDO.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/indicator/MesQcIndicatorDO.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcDO.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcDefectDO.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcLineDO.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateDO.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateIndicatorDO.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateItemDO.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProProcessContentMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProProcessMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProcessMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProductBomMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProductMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/process/MesProProcessContentMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/process/MesProProcessMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProcessMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProductBomMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProductMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcDefectMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIndicatorMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcDefectMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcLineMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateIndicatorMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateItemMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/defect/MesQcDefectMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/indicator/MesQcIndicatorMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcDefectMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcLineMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateIndicatorMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateItemMapper.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateMapper.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessContentService.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessContentServiceImpl.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessService.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessServiceImpl.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentService.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentServiceImpl.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessService.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcDefectService.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcDefectServiceImpl.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIndicatorService.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIndicatorServiceImpl.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIqcService.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIqcServiceImpl.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcTemplateService.java delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcTemplateServiceImpl.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/defect/MesQcDefectService.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/defect/MesQcDefectServiceImpl.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicator/MesQcIndicatorService.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicator/MesQcIndicatorServiceImpl.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/lqc/MesQcIqcService.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/lqc/MesQcIqcServiceImpl.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateService.java create mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateServiceImpl.java diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessContentController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessContentController.java index 4eaf266..6301231 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessContentController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessContentController.java @@ -4,8 +4,8 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.content.MesProProcessContentRespVO; import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.content.MesProProcessContentSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.pro.MesProProcessContentDO; -import cn.iocoder.yudao.module.mes.service.pro.MesProProcessContentService; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessContentDO; +import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessContentService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessController.java index 6f906a7..7428856 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessController.java @@ -10,8 +10,8 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessRespVO; import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.pro.MesProProcessDO; -import cn.iocoder.yudao.module.mes.service.pro.MesProProcessService; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO; +import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteProcessController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteProcessController.java index 13e2875..9f37858 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteProcessController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteProcessController.java @@ -6,9 +6,9 @@ import cn.iocoder.yudao.framework.common.util.collection.MapUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.pro.route.vo.process.MesProRouteProcessRespVO; import cn.iocoder.yudao.module.mes.controller.admin.pro.route.vo.process.MesProRouteProcessSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.pro.MesProProcessDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProcessDO; -import cn.iocoder.yudao.module.mes.service.pro.MesProProcessService; +import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService; import cn.iocoder.yudao.module.mes.service.pro.route.MesProRouteProcessService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/defect/MesQcDefectController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/defect/MesQcDefectController.java index b07779d..9c76651 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/defect/MesQcDefectController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/defect/MesQcDefectController.java @@ -9,8 +9,8 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.mes.controller.admin.qc.defect.vo.MesQcDefectPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.qc.defect.vo.MesQcDefectRespVO; import cn.iocoder.yudao.module.mes.controller.admin.qc.defect.vo.MesQcDefectSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcDefectDO; -import cn.iocoder.yudao.module.mes.service.qc.MesQcDefectService; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.defect.MesQcDefectDO; +import cn.iocoder.yudao.module.mes.service.qc.defect.MesQcDefectService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicator/MesQcIndicatorController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicator/MesQcIndicatorController.java index 0e48132..e225452 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicator/MesQcIndicatorController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicator/MesQcIndicatorController.java @@ -9,8 +9,8 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.mes.controller.admin.qc.indicator.vo.MesQcIndicatorPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.qc.indicator.vo.MesQcIndicatorRespVO; import cn.iocoder.yudao.module.mes.controller.admin.qc.indicator.vo.MesQcIndicatorSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIndicatorDO; -import cn.iocoder.yudao.module.mes.service.qc.MesQcIndicatorService; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO; +import cn.iocoder.yudao.module.mes.service.qc.indicator.MesQcIndicatorService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcController.java index e21216a..87848a7 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcController.java @@ -13,11 +13,11 @@ import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.MesQcIqcSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.vendor.MesMdVendorDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIqcDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc.MesQcIqcDO; import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService; import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; import cn.iocoder.yudao.module.mes.service.md.vendor.MesMdVendorService; -import cn.iocoder.yudao.module.mes.service.qc.MesQcIqcService; +import cn.iocoder.yudao.module.mes.service.qc.lqc.MesQcIqcService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcDefectController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcDefectController.java index 5a83f79..cd94296 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcDefectController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcDefectController.java @@ -6,8 +6,8 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.defect.MesQcIqcDefectPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.defect.MesQcIqcDefectRespVO; import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.defect.MesQcIqcDefectSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIqcDefectDO; -import cn.iocoder.yudao.module.mes.service.qc.MesQcIqcService; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc.MesQcIqcDefectDO; +import cn.iocoder.yudao.module.mes.service.qc.lqc.MesQcIqcService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcLineController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcLineController.java index 339c805..d082287 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcLineController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcLineController.java @@ -7,12 +7,12 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.line.MesQcIqcLinePageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.line.MesQcIqcLineRespVO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIqcLineDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIndicatorDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc.MesQcIqcLineDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO; import cn.iocoder.yudao.module.mes.dal.dataobject.tm.tool.MesTmToolDO; import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; -import cn.iocoder.yudao.module.mes.service.qc.MesQcIqcService; -import cn.iocoder.yudao.module.mes.service.qc.MesQcIndicatorService; +import cn.iocoder.yudao.module.mes.service.qc.lqc.MesQcIqcService; +import cn.iocoder.yudao.module.mes.service.qc.indicator.MesQcIndicatorService; import cn.iocoder.yudao.module.mes.service.tm.tool.MesTmToolService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateController.java index 5513b84..735c9d3 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateController.java @@ -9,8 +9,8 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.MesQcTemplatePageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.MesQcTemplateRespVO; import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.MesQcTemplateSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcTemplateDO; -import cn.iocoder.yudao.module.mes.service.qc.MesQcTemplateService; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateDO; +import cn.iocoder.yudao.module.mes.service.qc.template.MesQcTemplateService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateIndicatorController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateIndicatorController.java index 05debc6..a358734 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateIndicatorController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateIndicatorController.java @@ -8,11 +8,11 @@ import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.Mes import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.MesQcTemplateIndicatorRespVO; import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.MesQcTemplateIndicatorSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIndicatorDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcTemplateIndicatorDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateIndicatorDO; import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; -import cn.iocoder.yudao.module.mes.service.qc.MesQcIndicatorService; -import cn.iocoder.yudao.module.mes.service.qc.MesQcTemplateService; +import cn.iocoder.yudao.module.mes.service.qc.indicator.MesQcIndicatorService; +import cn.iocoder.yudao.module.mes.service.qc.template.MesQcTemplateService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateItemController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateItemController.java index e966a4d..d68ebf6 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateItemController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateItemController.java @@ -8,10 +8,10 @@ import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.item.MesQcTem import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.item.MesQcTemplateItemSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcTemplateItemDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateItemDO; import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService; import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; -import cn.iocoder.yudao.module.mes.service.qc.MesQcTemplateService; +import cn.iocoder.yudao.module.mes.service.qc.template.MesQcTemplateService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/MesProProcessContentDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/MesProProcessContentDO.java deleted file mode 100644 index 1095fc4..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/MesProProcessContentDO.java +++ /dev/null @@ -1,76 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.dataobject.pro; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -/** - * MES 生产工序内容 DO - * - * @author 芋道源码 - */ -@TableName("mes_pro_process_content") -@KeySequence("mes_pro_process_content_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class MesProProcessContentDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 工序编号 - * - * 关联 {@link MesProProcessDO#getId()} - */ - private Long processId; - /** - * 顺序编号 - */ - private Integer sort; - /** - * 步骤说明 - */ - private String content; - /** - * 辅助设备 - */ - private String device; - /** - * 辅助材料 - */ - private String material; - /** - * 材料文档 URL - */ - private String docUrl; - /** - * 备注 - */ - private String remark; - /** - * 预留字段1 - */ - private String attribute1; - /** - * 预留字段2 - */ - private String attribute2; - /** - * 预留字段3 - */ - private Integer attribute3; - /** - * 预留字段4 - */ - private Integer attribute4; - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/MesProProcessDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/MesProProcessDO.java deleted file mode 100644 index 7afc933..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/MesProProcessDO.java +++ /dev/null @@ -1,68 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.dataobject.pro; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -/** - * MES 生产工序 DO - * - * @author 芋道源码 - */ -@TableName("mes_pro_process") -@KeySequence("mes_pro_process_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class MesProProcessDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 工序编码 - */ - private String code; - /** - * 工序名称 - */ - private String name; - /** - * 工艺要求 - */ - private String attention; - /** - * 状态 - * - * 枚举 {@link cn.iocoder.yudao.framework.common.enums.CommonStatusEnum} - */ - private Integer status; - /** - * 备注 - */ - private String remark; - /** - * 预留字段1 - */ - private String attribute1; - /** - * 预留字段2 - */ - private String attribute2; - /** - * 预留字段3 - */ - private Integer attribute3; - /** - * 预留字段4 - */ - private Integer attribute4; - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/process/MesProProcessContentDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/process/MesProProcessContentDO.java new file mode 100644 index 0000000..577cb83 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/process/MesProProcessContentDO.java @@ -0,0 +1,76 @@ +package cn.iocoder.yudao.module.mes.dal.dataobject.pro.process; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +/** + * MES 生产工序内容 DO + * + * @author 芋道源码 + */ +@TableName("mes_pro_process_content") +@KeySequence("mes_pro_process_content_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MesProProcessContentDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 工序编号 + * + * 关联 {@link MesProProcessDO#getId()} + */ + private Long processId; + /** + * 顺序编号 + */ + private Integer sort; + /** + * 步骤说明 + */ + private String content; + /** + * 辅助设备 + */ + private String device; + /** + * 辅助材料 + */ + private String material; + /** + * 材料文档 URL + */ + private String docUrl; + /** + * 备注 + */ + private String remark; + /** + * 预留字段1 + */ + private String attribute1; + /** + * 预留字段2 + */ + private String attribute2; + /** + * 预留字段3 + */ + private Integer attribute3; + /** + * 预留字段4 + */ + private Integer attribute4; + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/process/MesProProcessDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/process/MesProProcessDO.java new file mode 100644 index 0000000..e089eff --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/process/MesProProcessDO.java @@ -0,0 +1,68 @@ +package cn.iocoder.yudao.module.mes.dal.dataobject.pro.process; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +/** + * MES 生产工序 DO + * + * @author 芋道源码 + */ +@TableName("mes_pro_process") +@KeySequence("mes_pro_process_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MesProProcessDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 工序编码 + */ + private String code; + /** + * 工序名称 + */ + private String name; + /** + * 工艺要求 + */ + private String attention; + /** + * 状态 + * + * 枚举 {@link cn.iocoder.yudao.framework.common.enums.CommonStatusEnum} + */ + private Integer status; + /** + * 备注 + */ + private String remark; + /** + * 预留字段1 + */ + private String attribute1; + /** + * 预留字段2 + */ + private String attribute2; + /** + * 预留字段3 + */ + private Integer attribute3; + /** + * 预留字段4 + */ + private Integer attribute4; + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/route/MesProRouteProcessDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/route/MesProRouteProcessDO.java index e94a4a8..23dad93 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/route/MesProRouteProcessDO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/route/MesProRouteProcessDO.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.mes.dal.dataobject.pro.route; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -35,7 +36,7 @@ public class MesProRouteProcessDO extends BaseDO { /** * 工序编号 * - * 关联 {@link cn.iocoder.yudao.module.mes.dal.dataobject.pro.MesProProcessDO#getId()} + * 关联 {@link MesProProcessDO#getId()} */ private Long processId; /** @@ -45,7 +46,7 @@ public class MesProRouteProcessDO extends BaseDO { /** * 下一道工序编号 * - * 关联 {@link cn.iocoder.yudao.module.mes.dal.dataobject.pro.MesProProcessDO#getId()} + * 关联 {@link MesProProcessDO#getId()} */ private Long nextProcessId; /** diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/route/MesProRouteProductBomDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/route/MesProRouteProductBomDO.java index cab8c39..325275b 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/route/MesProRouteProductBomDO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/pro/route/MesProRouteProductBomDO.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.mes.dal.dataobject.pro.route; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -37,7 +38,7 @@ public class MesProRouteProductBomDO extends BaseDO { /** * 工序编号 * - * 关联 {@link cn.iocoder.yudao.module.mes.dal.dataobject.pro.MesProProcessDO#getId()} + * 关联 {@link MesProProcessDO#getId()} */ private Long processId; /** diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcDefectDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcDefectDO.java deleted file mode 100644 index 0f3f45c..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcDefectDO.java +++ /dev/null @@ -1,70 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.dataobject.qc; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -/** - * MES 缺陷类型 DO - * - * @author 芋道源码 - */ -@TableName("mes_qc_defect") -@KeySequence("mes_qc_defect_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class MesQcDefectDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 缺陷编码 - */ - private String code; - /** - * 缺陷描述 - */ - private String name; - /** - * 检测项类型 - * - * 字典类型 mes_index_type - */ - private String type; - /** - * 缺陷等级 - * - * 字典类型 mes_defect_level - */ - private String level; - /** - * 备注 - */ - private String remark; - /** - * 预留字段1 - */ - private String attribute1; - /** - * 预留字段2 - */ - private String attribute2; - /** - * 预留字段3 - */ - private Integer attribute3; - /** - * 预留字段4 - */ - private Integer attribute4; - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIndicatorDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIndicatorDO.java deleted file mode 100644 index 7f96e44..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIndicatorDO.java +++ /dev/null @@ -1,82 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.dataobject.qc; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -/** - * MES 质检指标 DO - * - * @author 芋道源码 - */ -@TableName("mes_qc_indicator") -@KeySequence("mes_qc_indicator_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class MesQcIndicatorDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 检测项编码 - */ - private String code; - /** - * 检测项名称 - */ - private String name; - // TODO @AI:字典枚举,链接过去; - /** - * 检测项类型 - * - * 字典类型 mes_index_type - */ - private String type; - /** - * 检测工具 - */ - private String tool; - // TODO @AI:字典枚举,链接过去; - /** - * 结果值类型 - * - * 字典类型 mes_qc_result_type - */ - private String resultType; - /** - * 结果值属性 - * - * FILE 时存 IMG/FILE;DICT 时存字典类型名 - */ - private String resultSpec; - /** - * 备注 - */ - private String remark; - /** - * 预留字段1 - */ - private String attribute1; - /** - * 预留字段2 - */ - private String attribute2; - /** - * 预留字段3 - */ - private Integer attribute3; - /** - * 预留字段4 - */ - private Integer attribute4; - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcDO.java deleted file mode 100644 index d6cfe22..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcDO.java +++ /dev/null @@ -1,200 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.dataobject.qc; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.md.vendor.MesMdVendorDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -// TODO @AI:IQC 完整的拼写,也加下; -/** - * MES 来料检验单(IQC) DO - * - * @author 芋道源码 - */ -@TableName("mes_qc_iqc") -@KeySequence("mes_qc_iqc_seq") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class MesQcIqcDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 检验单编号 - */ - private String code; - /** - * 检验单名称 - */ - private String name; - /** - * 检验模板 ID - * - * 关联 {@link MesQcTemplateDO#getId()} - */ - private Long templateId; - - // ========== 来源单据(TODO @芋艿:WM 模块迁移后接入) ========== - - /** - * 来源单据 ID - */ - private Long sourceDocId; - /** - * 来源单据类型 - * - * 字典 mes_qc_source_doc_type - */ - private String sourceDocType; - /** - * 来源单据编号 - */ - private String sourceDocCode; - /** - * 来源单据行 ID - */ - private Long sourceLineId; - - // ========== 供应商 ========== - - /** - * 供应商 ID - * - * 关联 {@link MesMdVendorDO#getId()} - */ - private Long vendorId; - /** - * 供应商批次号 - */ - private String vendorBatch; - - // ========== 物料 ========== - - /** - * 产品物料 ID - * - * 关联 {@link MesMdItemDO#getId()} - */ - private Long itemId; - - // ========== 数量 ========== - - /** - * 最低检测数 - */ - private Integer minCheckQuantity; - /** - * 最大不合格数 - */ - private Integer maxUnqualifiedQuantity; - /** - * 本次接收数量 - */ - private BigDecimal receivedQuantity; - /** - * 本次检测数量 - */ - private Integer checkQuantity; - /** - * 合格品数量 - */ - private Integer qualifiedQuantity; - /** - * 不合格品数量 - */ - private Integer unqualifiedQuantity; - - // ========== 缺陷统计 ========== - - /** - * 致命缺陷率(%) - */ - private BigDecimal criticalRate; - /** - * 严重缺陷率(%) - */ - private BigDecimal majorRate; - /** - * 轻微缺陷率(%) - */ - private BigDecimal minorRate; - /** - * 致命缺陷数量 - */ - private Integer criticalQuantity; - /** - * 严重缺陷数量 - */ - private Integer majorQuantity; - /** - * 轻微缺陷数量 - */ - private Integer minorQuantity; - - // ========== 检验 ========== - - // TODO @AI:需要搞个枚举么?使用 int 把。现在就搞了; - /** - * 检测结果 - * - * 字典 mes_qc_check_result - */ - private String checkResult; - /** - * 来料日期 - */ - private LocalDateTime receiveDate; - /** - * 检测日期 - */ - private LocalDateTime inspectDate; - /** - * 检测人员 - */ - // TODO @AI:改成 inspectorUserId; - private String inspector; - // TODO @AI:需要搞个枚举么?使用 int 把。现在就搞了; - /** - * 状态(0=草稿 1=已完成) - * - * 字典 mes_qc_iqc_status - */ - private Integer status; - /** - * 备注 - */ - private String remark; - - // ========== 预留字段 ========== - - /** - * 预留字段 1 - */ - private String attribute1; - /** - * 预留字段 2 - */ - private String attribute2; - /** - * 预留字段 3 - */ - private Integer attribute3; - /** - * 预留字段 4 - */ - private Integer attribute4; - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcDefectDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcDefectDO.java deleted file mode 100644 index 890c649..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcDefectDO.java +++ /dev/null @@ -1,80 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.dataobject.qc; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -/** - * MES 来料检验缺陷记录 DO - * - * @author 芋道源码 - */ -@TableName("mes_qc_iqc_defect") -@KeySequence("mes_qc_iqc_defect_seq") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class MesQcIqcDefectDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 来料检验单 ID - * - * 关联 {@link MesQcIqcDO#getId()} - */ - private Long iqcId; - /** - * 来料检验行 ID - * - * 关联 {@link MesQcIqcLineDO#getId()} - */ - private Long lineId; - /** - * 缺陷描述 - */ - private String defectName; - // TODO @AI:要不枚举值也加下,也改成 int; - /** - * 缺陷等级 - * - * 字典 mes_defect_level - */ - private String defectLevel; - /** - * 缺陷数量 - */ - private Integer defectQuantity; - /** - * 备注 - */ - private String remark; - - // ========== 预留字段 ========== - - /** - * 预留字段 1 - */ - private String attribute1; - /** - * 预留字段 2 - */ - private String attribute2; - /** - * 预留字段 3 - */ - private Integer attribute3; - /** - * 预留字段 4 - */ - private Integer attribute4; - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcLineDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcLineDO.java deleted file mode 100644 index 96bc82d..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcIqcLineDO.java +++ /dev/null @@ -1,109 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.dataobject.qc; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.tm.tool.MesTmToolDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -import java.math.BigDecimal; - -/** - * MES 来料检验单行 DO - * - * @author 芋道源码 - */ -@TableName("mes_qc_iqc_line") -@KeySequence("mes_qc_iqc_line_seq") -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class MesQcIqcLineDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 来料检验单 ID - * - * 关联 {@link MesQcIqcDO#getId()} - */ - private Long iqcId; - /** - * 检测指标 ID - * - * 关联 {@link MesQcIndicatorDO#getId()} - */ - private Long indicatorId; - /** - * 检测工具 ID - * - * 关联 {@link MesTmToolDO#getId()} - */ - private Long toolId; - /** - * 检测方法 - */ - private String checkMethod; - /** - * 标准值 - */ - private BigDecimal standardValue; - /** - * 计量单位 ID - * - * 关联 {@link MesMdUnitMeasureDO#getId()} - */ - private Long unitMeasureId; - /** - * 误差上限 - */ - private BigDecimal maxThreshold; - /** - * 误差下限 - */ - private BigDecimal minThreshold; - /** - * 致命缺陷数量 - */ - private Integer criticalQuantity; - /** - * 严重缺陷数量 - */ - private Integer majorQuantity; - /** - * 轻微缺陷数量 - */ - private Integer minorQuantity; - /** - * 备注 - */ - private String remark; - - // ========== 预留字段 ========== - - /** - * 预留字段 1 - */ - private String attribute1; - /** - * 预留字段 2 - */ - private String attribute2; - /** - * 预留字段 3 - */ - private Integer attribute3; - /** - * 预留字段 4 - */ - private Integer attribute4; - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateDO.java deleted file mode 100644 index 0bb7307..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateDO.java +++ /dev/null @@ -1,60 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.dataobject.qc; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import cn.iocoder.yudao.framework.mybatis.core.type.IntegerListTypeHandler; -import cn.iocoder.yudao.module.mes.enums.DictTypeConstants; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -import java.util.List; - -/** - * MES 质检方案 DO - * - * @author 芋道源码 - */ -@TableName(value = "mes_qc_template", autoResultMap = true) -@KeySequence("mes_qc_template_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class MesQcTemplateDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 方案编号 - */ - private String code; - /** - * 方案名称 - */ - private String name; - /** - * 检测种类 - * - * 字典 {@link DictTypeConstants#MES_QC_TYPE} - */ - @TableField(typeHandler = IntegerListTypeHandler.class) - private List types; - /** - * 状态 - * - * 枚举 {@link cn.iocoder.yudao.framework.common.enums.CommonStatusEnum} - */ - private Integer status; - /** - * 备注 - */ - private String remark; - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateIndicatorDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateIndicatorDO.java deleted file mode 100644 index 15e0d33..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateIndicatorDO.java +++ /dev/null @@ -1,75 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.dataobject.qc; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -import java.math.BigDecimal; - -/** - * MES 质检方案-检测指标项 DO - * - * @author 芋道源码 - */ -@TableName("mes_qc_template_indicator") -@KeySequence("mes_qc_template_indicator_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class MesQcTemplateIndicatorDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 质检方案编号 - * - * 关联 {@link MesQcTemplateDO#getId()} - */ - private Long templateId; - /** - * 质检指标编号 - * - * 关联 {@link MesQcIndicatorDO#getId()} - */ - private Long indicatorId; - /** - * 检测方法 - */ - private String checkMethod; - /** - * 标准值 - */ - private BigDecimal standardValue; - /** - * 计量单位编号 - * - * 关联 {@link MesMdUnitMeasureDO#getId()} - */ - private Long unitMeasureId; - /** - * 误差上限 - */ - private BigDecimal thresholdMax; - /** - * 误差下限 - */ - private BigDecimal thresholdMin; - /** - * 说明图 URL - */ - private String docUrl; - /** - * 备注 - */ - private String remark; - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateItemDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateItemDO.java deleted file mode 100644 index 711794b..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/MesQcTemplateItemDO.java +++ /dev/null @@ -1,69 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.dataobject.qc; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; -import com.baomidou.mybatisplus.annotation.KeySequence; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.*; - -import java.math.BigDecimal; - -/** - * MES 质检方案-产品关联 DO - * - * @author 芋道源码 - */ -@TableName("mes_qc_template_item") -@KeySequence("mes_qc_template_item_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class MesQcTemplateItemDO extends BaseDO { - - /** - * 编号 - */ - @TableId - private Long id; - /** - * 质检方案编号 - * - * 关联 {@link MesQcTemplateDO#getId()} - */ - private Long templateId; - /** - * 产品物料编号 - * - * 关联 {@link MesMdItemDO#getId()} - */ - private Long itemId; - /** - * 最低检测数 - */ - private Integer quantityCheck; - /** - * 最大不合格数(0=不启用) - */ - private Integer quantityUnqualified; - /** - * 最大致命缺陷率(%,0=不允许) - */ - private BigDecimal criticalRate; - /** - * 最大严重缺陷率(%,0=不允许) - */ - private BigDecimal majorRate; - /** - * 最大轻微缺陷率(%) - */ - private BigDecimal minorRate; - /** - * 备注 - */ - private String remark; - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/defect/MesQcDefectDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/defect/MesQcDefectDO.java new file mode 100644 index 0000000..b4e5c9f --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/defect/MesQcDefectDO.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.mes.dal.dataobject.qc.defect; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +/** + * MES 缺陷类型 DO + * + * @author 芋道源码 + */ +@TableName("mes_qc_defect") +@KeySequence("mes_qc_defect_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MesQcDefectDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 缺陷编码 + */ + private String code; + /** + * 缺陷描述 + */ + private String name; + /** + * 检测项类型 + * + * 字典类型 mes_index_type + */ + private String type; + /** + * 缺陷等级 + * + * 字典类型 mes_defect_level + */ + private String level; + /** + * 备注 + */ + private String remark; + /** + * 预留字段1 + */ + private String attribute1; + /** + * 预留字段2 + */ + private String attribute2; + /** + * 预留字段3 + */ + private Integer attribute3; + /** + * 预留字段4 + */ + private Integer attribute4; + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/indicator/MesQcIndicatorDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/indicator/MesQcIndicatorDO.java new file mode 100644 index 0000000..f44d951 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/indicator/MesQcIndicatorDO.java @@ -0,0 +1,82 @@ +package cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +/** + * MES 质检指标 DO + * + * @author 芋道源码 + */ +@TableName("mes_qc_indicator") +@KeySequence("mes_qc_indicator_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MesQcIndicatorDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 检测项编码 + */ + private String code; + /** + * 检测项名称 + */ + private String name; + // TODO @AI:字典枚举,链接过去; + /** + * 检测项类型 + * + * 字典类型 mes_index_type + */ + private String type; + /** + * 检测工具 + */ + private String tool; + // TODO @AI:字典枚举,链接过去; + /** + * 结果值类型 + * + * 字典类型 mes_qc_result_type + */ + private String resultType; + /** + * 结果值属性 + * + * FILE 时存 IMG/FILE;DICT 时存字典类型名 + */ + private String resultSpec; + /** + * 备注 + */ + private String remark; + /** + * 预留字段1 + */ + private String attribute1; + /** + * 预留字段2 + */ + private String attribute2; + /** + * 预留字段3 + */ + private Integer attribute3; + /** + * 预留字段4 + */ + private Integer attribute4; + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcDO.java new file mode 100644 index 0000000..edb3be7 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcDO.java @@ -0,0 +1,201 @@ +package cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.md.vendor.MesMdVendorDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +// TODO @AI:IQC 完整的拼写,也加下; +/** + * MES 来料检验单(IQC) DO + * + * @author 芋道源码 + */ +@TableName("mes_qc_iqc") +@KeySequence("mes_qc_iqc_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MesQcIqcDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 检验单编号 + */ + private String code; + /** + * 检验单名称 + */ + private String name; + /** + * 检验模板 ID + * + * 关联 {@link MesQcTemplateDO#getId()} + */ + private Long templateId; + + // ========== 来源单据(TODO @芋艿:WM 模块迁移后接入) ========== + + /** + * 来源单据 ID + */ + private Long sourceDocId; + /** + * 来源单据类型 + * + * 字典 mes_qc_source_doc_type + */ + private String sourceDocType; + /** + * 来源单据编号 + */ + private String sourceDocCode; + /** + * 来源单据行 ID + */ + private Long sourceLineId; + + // ========== 供应商 ========== + + /** + * 供应商 ID + * + * 关联 {@link MesMdVendorDO#getId()} + */ + private Long vendorId; + /** + * 供应商批次号 + */ + private String vendorBatch; + + // ========== 物料 ========== + + /** + * 产品物料 ID + * + * 关联 {@link MesMdItemDO#getId()} + */ + private Long itemId; + + // ========== 数量 ========== + + /** + * 最低检测数 + */ + private Integer minCheckQuantity; + /** + * 最大不合格数 + */ + private Integer maxUnqualifiedQuantity; + /** + * 本次接收数量 + */ + private BigDecimal receivedQuantity; + /** + * 本次检测数量 + */ + private Integer checkQuantity; + /** + * 合格品数量 + */ + private Integer qualifiedQuantity; + /** + * 不合格品数量 + */ + private Integer unqualifiedQuantity; + + // ========== 缺陷统计 ========== + + /** + * 致命缺陷率(%) + */ + private BigDecimal criticalRate; + /** + * 严重缺陷率(%) + */ + private BigDecimal majorRate; + /** + * 轻微缺陷率(%) + */ + private BigDecimal minorRate; + /** + * 致命缺陷数量 + */ + private Integer criticalQuantity; + /** + * 严重缺陷数量 + */ + private Integer majorQuantity; + /** + * 轻微缺陷数量 + */ + private Integer minorQuantity; + + // ========== 检验 ========== + + // TODO @AI:需要搞个枚举么?使用 int 把。现在就搞了; + /** + * 检测结果 + * + * 字典 mes_qc_check_result + */ + private String checkResult; + /** + * 来料日期 + */ + private LocalDateTime receiveDate; + /** + * 检测日期 + */ + private LocalDateTime inspectDate; + /** + * 检测人员 + */ + // TODO @AI:改成 inspectorUserId; + private String inspector; + // TODO @AI:需要搞个枚举么?使用 int 把。现在就搞了; + /** + * 状态(0=草稿 1=已完成) + * + * 字典 mes_qc_iqc_status + */ + private Integer status; + /** + * 备注 + */ + private String remark; + + // ========== 预留字段 ========== + + /** + * 预留字段 1 + */ + private String attribute1; + /** + * 预留字段 2 + */ + private String attribute2; + /** + * 预留字段 3 + */ + private Integer attribute3; + /** + * 预留字段 4 + */ + private Integer attribute4; + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcDefectDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcDefectDO.java new file mode 100644 index 0000000..a939dee --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcDefectDO.java @@ -0,0 +1,80 @@ +package cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +/** + * MES 来料检验缺陷记录 DO + * + * @author 芋道源码 + */ +@TableName("mes_qc_iqc_defect") +@KeySequence("mes_qc_iqc_defect_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MesQcIqcDefectDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 来料检验单 ID + * + * 关联 {@link MesQcIqcDO#getId()} + */ + private Long iqcId; + /** + * 来料检验行 ID + * + * 关联 {@link MesQcIqcLineDO#getId()} + */ + private Long lineId; + /** + * 缺陷描述 + */ + private String defectName; + // TODO @AI:要不枚举值也加下,也改成 int; + /** + * 缺陷等级 + * + * 字典 mes_defect_level + */ + private String defectLevel; + /** + * 缺陷数量 + */ + private Integer defectQuantity; + /** + * 备注 + */ + private String remark; + + // ========== 预留字段 ========== + + /** + * 预留字段 1 + */ + private String attribute1; + /** + * 预留字段 2 + */ + private String attribute2; + /** + * 预留字段 3 + */ + private Integer attribute3; + /** + * 预留字段 4 + */ + private Integer attribute4; + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcLineDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcLineDO.java new file mode 100644 index 0000000..1fd6c9b --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/lqc/MesQcIqcLineDO.java @@ -0,0 +1,110 @@ +package cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.tm.tool.MesTmToolDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.math.BigDecimal; + +/** + * MES 来料检验单行 DO + * + * @author 芋道源码 + */ +@TableName("mes_qc_iqc_line") +@KeySequence("mes_qc_iqc_line_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MesQcIqcLineDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 来料检验单 ID + * + * 关联 {@link MesQcIqcDO#getId()} + */ + private Long iqcId; + /** + * 检测指标 ID + * + * 关联 {@link MesQcIndicatorDO#getId()} + */ + private Long indicatorId; + /** + * 检测工具 ID + * + * 关联 {@link MesTmToolDO#getId()} + */ + private Long toolId; + /** + * 检测方法 + */ + private String checkMethod; + /** + * 标准值 + */ + private BigDecimal standardValue; + /** + * 计量单位 ID + * + * 关联 {@link MesMdUnitMeasureDO#getId()} + */ + private Long unitMeasureId; + /** + * 误差上限 + */ + private BigDecimal maxThreshold; + /** + * 误差下限 + */ + private BigDecimal minThreshold; + /** + * 致命缺陷数量 + */ + private Integer criticalQuantity; + /** + * 严重缺陷数量 + */ + private Integer majorQuantity; + /** + * 轻微缺陷数量 + */ + private Integer minorQuantity; + /** + * 备注 + */ + private String remark; + + // ========== 预留字段 ========== + + /** + * 预留字段 1 + */ + private String attribute1; + /** + * 预留字段 2 + */ + private String attribute2; + /** + * 预留字段 3 + */ + private Integer attribute3; + /** + * 预留字段 4 + */ + private Integer attribute4; + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateDO.java new file mode 100644 index 0000000..72aa254 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateDO.java @@ -0,0 +1,60 @@ +package cn.iocoder.yudao.module.mes.dal.dataobject.qc.template; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.framework.mybatis.core.type.IntegerListTypeHandler; +import cn.iocoder.yudao.module.mes.enums.DictTypeConstants; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.util.List; + +/** + * MES 质检方案 DO + * + * @author 芋道源码 + */ +@TableName(value = "mes_qc_template", autoResultMap = true) +@KeySequence("mes_qc_template_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MesQcTemplateDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 方案编号 + */ + private String code; + /** + * 方案名称 + */ + private String name; + /** + * 检测种类 + * + * 字典 {@link DictTypeConstants#MES_QC_TYPE} + */ + @TableField(typeHandler = IntegerListTypeHandler.class) + private List types; + /** + * 状态 + * + * 枚举 {@link cn.iocoder.yudao.framework.common.enums.CommonStatusEnum} + */ + private Integer status; + /** + * 备注 + */ + private String remark; + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateIndicatorDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateIndicatorDO.java new file mode 100644 index 0000000..82b8abc --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateIndicatorDO.java @@ -0,0 +1,76 @@ +package cn.iocoder.yudao.module.mes.dal.dataobject.qc.template; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.math.BigDecimal; + +/** + * MES 质检方案-检测指标项 DO + * + * @author 芋道源码 + */ +@TableName("mes_qc_template_indicator") +@KeySequence("mes_qc_template_indicator_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MesQcTemplateIndicatorDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 质检方案编号 + * + * 关联 {@link MesQcTemplateDO#getId()} + */ + private Long templateId; + /** + * 质检指标编号 + * + * 关联 {@link MesQcIndicatorDO#getId()} + */ + private Long indicatorId; + /** + * 检测方法 + */ + private String checkMethod; + /** + * 标准值 + */ + private BigDecimal standardValue; + /** + * 计量单位编号 + * + * 关联 {@link MesMdUnitMeasureDO#getId()} + */ + private Long unitMeasureId; + /** + * 误差上限 + */ + private BigDecimal thresholdMax; + /** + * 误差下限 + */ + private BigDecimal thresholdMin; + /** + * 说明图 URL + */ + private String docUrl; + /** + * 备注 + */ + private String remark; + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateItemDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateItemDO.java new file mode 100644 index 0000000..01476d5 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/template/MesQcTemplateItemDO.java @@ -0,0 +1,69 @@ +package cn.iocoder.yudao.module.mes.dal.dataobject.qc.template; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +import java.math.BigDecimal; + +/** + * MES 质检方案-产品关联 DO + * + * @author 芋道源码 + */ +@TableName("mes_qc_template_item") +@KeySequence("mes_qc_template_item_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MesQcTemplateItemDO extends BaseDO { + + /** + * 编号 + */ + @TableId + private Long id; + /** + * 质检方案编号 + * + * 关联 {@link MesQcTemplateDO#getId()} + */ + private Long templateId; + /** + * 产品物料编号 + * + * 关联 {@link MesMdItemDO#getId()} + */ + private Long itemId; + /** + * 最低检测数 + */ + private Integer quantityCheck; + /** + * 最大不合格数(0=不启用) + */ + private Integer quantityUnqualified; + /** + * 最大致命缺陷率(%,0=不允许) + */ + private BigDecimal criticalRate; + /** + * 最大严重缺陷率(%,0=不允许) + */ + private BigDecimal majorRate; + /** + * 最大轻微缺陷率(%) + */ + private BigDecimal minorRate; + /** + * 备注 + */ + private String remark; + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProProcessContentMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProProcessContentMapper.java deleted file mode 100644 index 6bfd397..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProProcessContentMapper.java +++ /dev/null @@ -1,29 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.pro; - -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.dal.dataobject.pro.MesProProcessContentDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 生产工序内容 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesProProcessContentMapper extends BaseMapperX { - - default List selectListByProcessId(Long processId) { - return selectList(new LambdaQueryWrapperX() - .eq(MesProProcessContentDO::getProcessId, processId) - .orderByAsc(MesProProcessContentDO::getSort)); - } - - default void deleteByProcessId(Long processId) { - delete(new LambdaQueryWrapperX() - .eq(MesProProcessContentDO::getProcessId, processId)); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProProcessMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProProcessMapper.java deleted file mode 100644 index 0fcdc5e..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProProcessMapper.java +++ /dev/null @@ -1,50 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.pro; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessPageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.pro.MesProProcessDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 生产工序 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesProProcessMapper extends BaseMapperX { - - default PageResult selectPage(MesProProcessPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(MesProProcessDO::getCode, reqVO.getCode()) - .likeIfPresent(MesProProcessDO::getName, reqVO.getName()) - .eqIfPresent(MesProProcessDO::getStatus, reqVO.getStatus()) - .betweenIfPresent(MesProProcessDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(MesProProcessDO::getId)); - } - - default List selectList(MesProProcessPageReqVO reqVO) { - return selectList(new LambdaQueryWrapperX() - .likeIfPresent(MesProProcessDO::getCode, reqVO.getCode()) - .likeIfPresent(MesProProcessDO::getName, reqVO.getName()) - .eqIfPresent(MesProProcessDO::getStatus, reqVO.getStatus()) - .betweenIfPresent(MesProProcessDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(MesProProcessDO::getId)); - } - - default MesProProcessDO selectByCode(String code) { - return selectOne(MesProProcessDO::getCode, code); - } - - default MesProProcessDO selectByName(String name) { - return selectOne(MesProProcessDO::getName, name); - } - - default List selectListByStatus(Integer status) { - return selectList(MesProProcessDO::getStatus, status); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteMapper.java deleted file mode 100644 index 0ac6d44..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteMapper.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.pro; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.controller.admin.pro.route.vo.MesProRoutePageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 工艺路线 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesProRouteMapper extends BaseMapperX { - - default PageResult selectPage(MesProRoutePageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(MesProRouteDO::getCode, reqVO.getCode()) - .likeIfPresent(MesProRouteDO::getName, reqVO.getName()) - .eqIfPresent(MesProRouteDO::getStatus, reqVO.getStatus()) - .betweenIfPresent(MesProRouteDO::getCreateTime, reqVO.getCreateTime()) - .orderByDesc(MesProRouteDO::getId)); - } - - default MesProRouteDO selectByCode(String code) { - return selectOne(MesProRouteDO::getCode, code); - } - - default List selectListByStatus(Integer status) { - return selectList(MesProRouteDO::getStatus, status); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProcessMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProcessMapper.java deleted file mode 100644 index 1ed2303..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProcessMapper.java +++ /dev/null @@ -1,51 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.pro; - -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProcessDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 工艺路线工序 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesProRouteProcessMapper extends BaseMapperX { - - default List selectListByRouteId(Long routeId) { - return selectList(new LambdaQueryWrapperX() - .eq(MesProRouteProcessDO::getRouteId, routeId) - .orderByAsc(MesProRouteProcessDO::getSort)); - } - - default MesProRouteProcessDO selectByRouteIdAndSort(Long routeId, Integer sort) { - return selectOne(new LambdaQueryWrapperX() - .eq(MesProRouteProcessDO::getRouteId, routeId) - .eq(MesProRouteProcessDO::getSort, sort)); - } - - default MesProRouteProcessDO selectByRouteIdAndProcessId(Long routeId, Long processId) { - return selectOne(new LambdaQueryWrapperX() - .eq(MesProRouteProcessDO::getRouteId, routeId) - .eq(MesProRouteProcessDO::getProcessId, processId)); - } - - default MesProRouteProcessDO selectKeyProcessByRouteId(Long routeId) { - return selectOne(new LambdaQueryWrapperX() - .eq(MesProRouteProcessDO::getRouteId, routeId) - .eq(MesProRouteProcessDO::getKeyFlag, true)); - } - - default void deleteByRouteId(Long routeId) { - delete(new LambdaQueryWrapperX() - .eq(MesProRouteProcessDO::getRouteId, routeId)); - } - - default List selectListByProcessId(Long processId) { - return selectList(MesProRouteProcessDO::getProcessId, processId); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProductBomMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProductBomMapper.java deleted file mode 100644 index f62d2cc..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProductBomMapper.java +++ /dev/null @@ -1,49 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.pro; - -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductBomDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 工艺路线产品 BOM Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesProRouteProductBomMapper extends BaseMapperX { - - default List selectList(Long routeId, Long processId, Long productId) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(MesProRouteProductBomDO::getRouteId, routeId) - .eqIfPresent(MesProRouteProductBomDO::getProcessId, processId) - .eqIfPresent(MesProRouteProductBomDO::getProductId, productId)); - } - - default MesProRouteProductBomDO selectByUnique(Long itemId, Long processId, Long productId) { - return selectOne(new LambdaQueryWrapperX() - .eq(MesProRouteProductBomDO::getItemId, itemId) - .eq(MesProRouteProductBomDO::getProcessId, processId) - .eq(MesProRouteProductBomDO::getProductId, productId)); - } - - default void deleteByRouteId(Long routeId) { - delete(new LambdaQueryWrapperX() - .eq(MesProRouteProductBomDO::getRouteId, routeId)); - } - - default void deleteByRouteIdAndProductId(Long routeId, Long productId) { - delete(new LambdaQueryWrapperX() - .eq(MesProRouteProductBomDO::getRouteId, routeId) - .eq(MesProRouteProductBomDO::getProductId, productId)); - } - - default List selectListByRouteIdAndProductId(Long routeId, Long productId) { - return selectList(new LambdaQueryWrapperX() - .eq(MesProRouteProductBomDO::getRouteId, routeId) - .eq(MesProRouteProductBomDO::getProductId, productId)); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProductMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProductMapper.java deleted file mode 100644 index 777a4a5..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/MesProRouteProductMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.pro; - -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 工艺路线产品 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesProRouteProductMapper extends BaseMapperX { - - default List selectListByRouteId(Long routeId) { - return selectList(MesProRouteProductDO::getRouteId, routeId); - } - - default MesProRouteProductDO selectByItemId(Long itemId) { - return selectOne(MesProRouteProductDO::getItemId, itemId); - } - - default void deleteByRouteId(Long routeId) { - delete(new LambdaQueryWrapperX() - .eq(MesProRouteProductDO::getRouteId, routeId)); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/process/MesProProcessContentMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/process/MesProProcessContentMapper.java new file mode 100644 index 0000000..bfa21e0 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/process/MesProProcessContentMapper.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.pro.process; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessContentDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 生产工序内容 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesProProcessContentMapper extends BaseMapperX { + + default List selectListByProcessId(Long processId) { + return selectList(new LambdaQueryWrapperX() + .eq(MesProProcessContentDO::getProcessId, processId) + .orderByAsc(MesProProcessContentDO::getSort)); + } + + default void deleteByProcessId(Long processId) { + delete(new LambdaQueryWrapperX() + .eq(MesProProcessContentDO::getProcessId, processId)); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/process/MesProProcessMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/process/MesProProcessMapper.java new file mode 100644 index 0000000..91260de --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/process/MesProProcessMapper.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.pro.process; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessPageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 生产工序 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesProProcessMapper extends BaseMapperX { + + default PageResult selectPage(MesProProcessPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(MesProProcessDO::getCode, reqVO.getCode()) + .likeIfPresent(MesProProcessDO::getName, reqVO.getName()) + .eqIfPresent(MesProProcessDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(MesProProcessDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(MesProProcessDO::getId)); + } + + default List selectList(MesProProcessPageReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(MesProProcessDO::getCode, reqVO.getCode()) + .likeIfPresent(MesProProcessDO::getName, reqVO.getName()) + .eqIfPresent(MesProProcessDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(MesProProcessDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(MesProProcessDO::getId)); + } + + default MesProProcessDO selectByCode(String code) { + return selectOne(MesProProcessDO::getCode, code); + } + + default MesProProcessDO selectByName(String name) { + return selectOne(MesProProcessDO::getName, name); + } + + default List selectListByStatus(Integer status) { + return selectList(MesProProcessDO::getStatus, status); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteMapper.java new file mode 100644 index 0000000..e98ec24 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteMapper.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.pro.route; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.controller.admin.pro.route.vo.MesProRoutePageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 工艺路线 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesProRouteMapper extends BaseMapperX { + + default PageResult selectPage(MesProRoutePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(MesProRouteDO::getCode, reqVO.getCode()) + .likeIfPresent(MesProRouteDO::getName, reqVO.getName()) + .eqIfPresent(MesProRouteDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(MesProRouteDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(MesProRouteDO::getId)); + } + + default MesProRouteDO selectByCode(String code) { + return selectOne(MesProRouteDO::getCode, code); + } + + default List selectListByStatus(Integer status) { + return selectList(MesProRouteDO::getStatus, status); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProcessMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProcessMapper.java new file mode 100644 index 0000000..d3e071e --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProcessMapper.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.pro.route; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProcessDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 工艺路线工序 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesProRouteProcessMapper extends BaseMapperX { + + default List selectListByRouteId(Long routeId) { + return selectList(new LambdaQueryWrapperX() + .eq(MesProRouteProcessDO::getRouteId, routeId) + .orderByAsc(MesProRouteProcessDO::getSort)); + } + + default MesProRouteProcessDO selectByRouteIdAndSort(Long routeId, Integer sort) { + return selectOne(new LambdaQueryWrapperX() + .eq(MesProRouteProcessDO::getRouteId, routeId) + .eq(MesProRouteProcessDO::getSort, sort)); + } + + default MesProRouteProcessDO selectByRouteIdAndProcessId(Long routeId, Long processId) { + return selectOne(new LambdaQueryWrapperX() + .eq(MesProRouteProcessDO::getRouteId, routeId) + .eq(MesProRouteProcessDO::getProcessId, processId)); + } + + default MesProRouteProcessDO selectKeyProcessByRouteId(Long routeId) { + return selectOne(new LambdaQueryWrapperX() + .eq(MesProRouteProcessDO::getRouteId, routeId) + .eq(MesProRouteProcessDO::getKeyFlag, true)); + } + + default void deleteByRouteId(Long routeId) { + delete(new LambdaQueryWrapperX() + .eq(MesProRouteProcessDO::getRouteId, routeId)); + } + + default List selectListByProcessId(Long processId) { + return selectList(MesProRouteProcessDO::getProcessId, processId); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProductBomMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProductBomMapper.java new file mode 100644 index 0000000..832c549 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProductBomMapper.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.pro.route; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductBomDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 工艺路线产品 BOM Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesProRouteProductBomMapper extends BaseMapperX { + + default List selectList(Long routeId, Long processId, Long productId) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(MesProRouteProductBomDO::getRouteId, routeId) + .eqIfPresent(MesProRouteProductBomDO::getProcessId, processId) + .eqIfPresent(MesProRouteProductBomDO::getProductId, productId)); + } + + default MesProRouteProductBomDO selectByUnique(Long itemId, Long processId, Long productId) { + return selectOne(new LambdaQueryWrapperX() + .eq(MesProRouteProductBomDO::getItemId, itemId) + .eq(MesProRouteProductBomDO::getProcessId, processId) + .eq(MesProRouteProductBomDO::getProductId, productId)); + } + + default void deleteByRouteId(Long routeId) { + delete(new LambdaQueryWrapperX() + .eq(MesProRouteProductBomDO::getRouteId, routeId)); + } + + default void deleteByRouteIdAndProductId(Long routeId, Long productId) { + delete(new LambdaQueryWrapperX() + .eq(MesProRouteProductBomDO::getRouteId, routeId) + .eq(MesProRouteProductBomDO::getProductId, productId)); + } + + default List selectListByRouteIdAndProductId(Long routeId, Long productId) { + return selectList(new LambdaQueryWrapperX() + .eq(MesProRouteProductBomDO::getRouteId, routeId) + .eq(MesProRouteProductBomDO::getProductId, productId)); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProductMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProductMapper.java new file mode 100644 index 0000000..1afbb83 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/route/MesProRouteProductMapper.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.pro.route; + +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 工艺路线产品 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesProRouteProductMapper extends BaseMapperX { + + default List selectListByRouteId(Long routeId) { + return selectList(MesProRouteProductDO::getRouteId, routeId); + } + + default MesProRouteProductDO selectByItemId(Long itemId) { + return selectOne(MesProRouteProductDO::getItemId, itemId); + } + + default void deleteByRouteId(Long routeId) { + delete(new LambdaQueryWrapperX() + .eq(MesProRouteProductDO::getRouteId, routeId)); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcDefectMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcDefectMapper.java deleted file mode 100644 index 1c2251c..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcDefectMapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.qc; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.controller.admin.qc.defect.vo.MesQcDefectPageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcDefectDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 缺陷类型 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesQcDefectMapper extends BaseMapperX { - - default PageResult selectPage(MesQcDefectPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(MesQcDefectDO::getCode, reqVO.getCode()) - .likeIfPresent(MesQcDefectDO::getName, reqVO.getName()) - .eqIfPresent(MesQcDefectDO::getType, reqVO.getType()) - .eqIfPresent(MesQcDefectDO::getLevel, reqVO.getLevel()) - .orderByDesc(MesQcDefectDO::getId)); - } - - default MesQcDefectDO selectByCode(String code) { - return selectOne(MesQcDefectDO::getCode, code); - } - - default MesQcDefectDO selectByName(String name) { - return selectOne(MesQcDefectDO::getName, name); - } - - default List selectList() { - return selectList(new LambdaQueryWrapperX() - .orderByDesc(MesQcDefectDO::getId)); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIndicatorMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIndicatorMapper.java deleted file mode 100644 index 4bac9b4..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIndicatorMapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.qc; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.controller.admin.qc.indicator.vo.MesQcIndicatorPageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIndicatorDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 质检指标 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesQcIndicatorMapper extends BaseMapperX { - - default PageResult selectPage(MesQcIndicatorPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(MesQcIndicatorDO::getCode, reqVO.getCode()) - .likeIfPresent(MesQcIndicatorDO::getName, reqVO.getName()) - .eqIfPresent(MesQcIndicatorDO::getType, reqVO.getType()) - .eqIfPresent(MesQcIndicatorDO::getResultType, reqVO.getResultType()) - .orderByDesc(MesQcIndicatorDO::getId)); - } - - default MesQcIndicatorDO selectByCode(String code) { - return selectOne(MesQcIndicatorDO::getCode, code); - } - - default MesQcIndicatorDO selectByName(String name) { - return selectOne(MesQcIndicatorDO::getName, name); - } - - default List selectList() { - return selectList(new LambdaQueryWrapperX() - .orderByDesc(MesQcIndicatorDO::getId)); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcDefectMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcDefectMapper.java deleted file mode 100644 index dfecb10..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcDefectMapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.qc; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.defect.MesQcIqcDefectPageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIqcDefectDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 来料检验缺陷记录 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesQcIqcDefectMapper extends BaseMapperX { - - default PageResult selectPage(MesQcIqcDefectPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(MesQcIqcDefectDO::getIqcId, reqVO.getIqcId()) - .eqIfPresent(MesQcIqcDefectDO::getLineId, reqVO.getLineId()) - .orderByDesc(MesQcIqcDefectDO::getId)); - } - - default List selectListByIqcId(Long iqcId) { - return selectList(MesQcIqcDefectDO::getIqcId, iqcId); - } - - default List selectListByIqcIdAndLineId(Long iqcId, Long lineId) { - return selectList(new LambdaQueryWrapperX() - .eq(MesQcIqcDefectDO::getIqcId, iqcId) - .eq(MesQcIqcDefectDO::getLineId, lineId)); - } - - default void deleteByIqcId(Long iqcId) { - delete(new LambdaQueryWrapperX() - .eq(MesQcIqcDefectDO::getIqcId, iqcId)); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcLineMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcLineMapper.java deleted file mode 100644 index 0c78c1a..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcLineMapper.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.qc; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.line.MesQcIqcLinePageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIqcLineDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 来料检验单行 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesQcIqcLineMapper extends BaseMapperX { - - default PageResult selectPage(MesQcIqcLinePageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(MesQcIqcLineDO::getIqcId, reqVO.getIqcId()) - .orderByAsc(MesQcIqcLineDO::getId)); - } - - default List selectListByIqcId(Long iqcId) { - return selectList(MesQcIqcLineDO::getIqcId, iqcId); - } - - default void deleteByIqcId(Long iqcId) { - delete(new LambdaQueryWrapperX() - .eq(MesQcIqcLineDO::getIqcId, iqcId)); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcMapper.java deleted file mode 100644 index 82e464d..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcIqcMapper.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.qc; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.MesQcIqcPageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIqcDO; -import org.apache.ibatis.annotations.Mapper; - -/** - * MES 来料检验单(IQC) Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesQcIqcMapper extends BaseMapperX { - - default PageResult selectPage(MesQcIqcPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(MesQcIqcDO::getCode, reqVO.getCode()) - .eqIfPresent(MesQcIqcDO::getVendorId, reqVO.getVendorId()) - .likeIfPresent(MesQcIqcDO::getVendorBatch, reqVO.getVendorBatch()) - .eqIfPresent(MesQcIqcDO::getItemId, reqVO.getItemId()) - .eqIfPresent(MesQcIqcDO::getCheckResult, reqVO.getCheckResult()) - .eqIfPresent(MesQcIqcDO::getStatus, reqVO.getStatus()) - .betweenIfPresent(MesQcIqcDO::getReceiveDate, reqVO.getReceiveDate()) - .betweenIfPresent(MesQcIqcDO::getInspectDate, reqVO.getInspectDate()) - .orderByDesc(MesQcIqcDO::getId)); - } - - default MesQcIqcDO selectByCode(String code) { - return selectOne(MesQcIqcDO::getCode, code); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateIndicatorMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateIndicatorMapper.java deleted file mode 100644 index 2c7240f..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateIndicatorMapper.java +++ /dev/null @@ -1,35 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.qc; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.MesQcTemplateIndicatorPageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcTemplateIndicatorDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 质检方案-检测指标项 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesQcTemplateIndicatorMapper extends BaseMapperX { - - default PageResult selectPage(MesQcTemplateIndicatorPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(MesQcTemplateIndicatorDO::getTemplateId, reqVO.getTemplateId()) - .orderByAsc(MesQcTemplateIndicatorDO::getId)); - } - - default List selectListByTemplateId(Long templateId) { - return selectList(MesQcTemplateIndicatorDO::getTemplateId, templateId); - } - - default void deleteByTemplateId(Long templateId) { - delete(new LambdaQueryWrapperX() - .eq(MesQcTemplateIndicatorDO::getTemplateId, templateId)); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateItemMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateItemMapper.java deleted file mode 100644 index b423767..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateItemMapper.java +++ /dev/null @@ -1,41 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.qc; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.item.MesQcTemplateItemPageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcTemplateItemDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 质检方案-产品关联 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesQcTemplateItemMapper extends BaseMapperX { - - default PageResult selectPage(MesQcTemplateItemPageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(MesQcTemplateItemDO::getTemplateId, reqVO.getTemplateId()) - .orderByAsc(MesQcTemplateItemDO::getId)); - } - - default List selectListByTemplateId(Long templateId) { - return selectList(MesQcTemplateItemDO::getTemplateId, templateId); - } - - default MesQcTemplateItemDO selectByTemplateIdAndItemId(Long templateId, Long itemId) { - return selectOne(new LambdaQueryWrapperX() - .eq(MesQcTemplateItemDO::getTemplateId, templateId) - .eq(MesQcTemplateItemDO::getItemId, itemId)); - } - - default void deleteByTemplateId(Long templateId) { - delete(new LambdaQueryWrapperX() - .eq(MesQcTemplateItemDO::getTemplateId, templateId)); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateMapper.java deleted file mode 100644 index bb44c86..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/MesQcTemplateMapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.iocoder.yudao.module.mes.dal.mysql.qc; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; -import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.MesQcTemplatePageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcTemplateDO; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - * MES 质检方案 Mapper - * - * @author 芋道源码 - */ -@Mapper -public interface MesQcTemplateMapper extends BaseMapperX { - - default PageResult selectPage(MesQcTemplatePageReqVO reqVO) { - LambdaQueryWrapperX query = new LambdaQueryWrapperX() - .likeIfPresent(MesQcTemplateDO::getCode, reqVO.getCode()) - .likeIfPresent(MesQcTemplateDO::getName, reqVO.getName()) - .orderByDesc(MesQcTemplateDO::getId); - if (reqVO.getType() != null) { - query.apply(MyBatisUtils.findInSet("types", reqVO.getType())); - } - query.eqIfPresent(MesQcTemplateDO::getStatus, reqVO.getStatus()); - return selectPage(reqVO, query); - } - - default MesQcTemplateDO selectByCode(String code) { - return selectOne(MesQcTemplateDO::getCode, code); - } - - default List selectList() { - return selectList(new LambdaQueryWrapperX() - .orderByDesc(MesQcTemplateDO::getId)); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/defect/MesQcDefectMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/defect/MesQcDefectMapper.java new file mode 100644 index 0000000..1dd7d8f --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/defect/MesQcDefectMapper.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.qc.defect; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.controller.admin.qc.defect.vo.MesQcDefectPageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.defect.MesQcDefectDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 缺陷类型 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesQcDefectMapper extends BaseMapperX { + + default PageResult selectPage(MesQcDefectPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(MesQcDefectDO::getCode, reqVO.getCode()) + .likeIfPresent(MesQcDefectDO::getName, reqVO.getName()) + .eqIfPresent(MesQcDefectDO::getType, reqVO.getType()) + .eqIfPresent(MesQcDefectDO::getLevel, reqVO.getLevel()) + .orderByDesc(MesQcDefectDO::getId)); + } + + default MesQcDefectDO selectByCode(String code) { + return selectOne(MesQcDefectDO::getCode, code); + } + + default MesQcDefectDO selectByName(String name) { + return selectOne(MesQcDefectDO::getName, name); + } + + default List selectList() { + return selectList(new LambdaQueryWrapperX() + .orderByDesc(MesQcDefectDO::getId)); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/indicator/MesQcIndicatorMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/indicator/MesQcIndicatorMapper.java new file mode 100644 index 0000000..b13f2f2 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/indicator/MesQcIndicatorMapper.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.qc.indicator; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.controller.admin.qc.indicator.vo.MesQcIndicatorPageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 质检指标 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesQcIndicatorMapper extends BaseMapperX { + + default PageResult selectPage(MesQcIndicatorPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(MesQcIndicatorDO::getCode, reqVO.getCode()) + .likeIfPresent(MesQcIndicatorDO::getName, reqVO.getName()) + .eqIfPresent(MesQcIndicatorDO::getType, reqVO.getType()) + .eqIfPresent(MesQcIndicatorDO::getResultType, reqVO.getResultType()) + .orderByDesc(MesQcIndicatorDO::getId)); + } + + default MesQcIndicatorDO selectByCode(String code) { + return selectOne(MesQcIndicatorDO::getCode, code); + } + + default MesQcIndicatorDO selectByName(String name) { + return selectOne(MesQcIndicatorDO::getName, name); + } + + default List selectList() { + return selectList(new LambdaQueryWrapperX() + .orderByDesc(MesQcIndicatorDO::getId)); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcDefectMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcDefectMapper.java new file mode 100644 index 0000000..7fa1731 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcDefectMapper.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.qc.lqc; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.defect.MesQcIqcDefectPageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc.MesQcIqcDefectDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 来料检验缺陷记录 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesQcIqcDefectMapper extends BaseMapperX { + + default PageResult selectPage(MesQcIqcDefectPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MesQcIqcDefectDO::getIqcId, reqVO.getIqcId()) + .eqIfPresent(MesQcIqcDefectDO::getLineId, reqVO.getLineId()) + .orderByDesc(MesQcIqcDefectDO::getId)); + } + + default List selectListByIqcId(Long iqcId) { + return selectList(MesQcIqcDefectDO::getIqcId, iqcId); + } + + default List selectListByIqcIdAndLineId(Long iqcId, Long lineId) { + return selectList(new LambdaQueryWrapperX() + .eq(MesQcIqcDefectDO::getIqcId, iqcId) + .eq(MesQcIqcDefectDO::getLineId, lineId)); + } + + default void deleteByIqcId(Long iqcId) { + delete(new LambdaQueryWrapperX() + .eq(MesQcIqcDefectDO::getIqcId, iqcId)); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcLineMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcLineMapper.java new file mode 100644 index 0000000..70a2618 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcLineMapper.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.qc.lqc; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.line.MesQcIqcLinePageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc.MesQcIqcLineDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 来料检验单行 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesQcIqcLineMapper extends BaseMapperX { + + default PageResult selectPage(MesQcIqcLinePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MesQcIqcLineDO::getIqcId, reqVO.getIqcId()) + .orderByAsc(MesQcIqcLineDO::getId)); + } + + default List selectListByIqcId(Long iqcId) { + return selectList(MesQcIqcLineDO::getIqcId, iqcId); + } + + default void deleteByIqcId(Long iqcId) { + delete(new LambdaQueryWrapperX() + .eq(MesQcIqcLineDO::getIqcId, iqcId)); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcMapper.java new file mode 100644 index 0000000..08aeba5 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/lqc/MesQcIqcMapper.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.qc.lqc; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.MesQcIqcPageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc.MesQcIqcDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * MES 来料检验单(IQC) Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesQcIqcMapper extends BaseMapperX { + + default PageResult selectPage(MesQcIqcPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(MesQcIqcDO::getCode, reqVO.getCode()) + .eqIfPresent(MesQcIqcDO::getVendorId, reqVO.getVendorId()) + .likeIfPresent(MesQcIqcDO::getVendorBatch, reqVO.getVendorBatch()) + .eqIfPresent(MesQcIqcDO::getItemId, reqVO.getItemId()) + .eqIfPresent(MesQcIqcDO::getCheckResult, reqVO.getCheckResult()) + .eqIfPresent(MesQcIqcDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(MesQcIqcDO::getReceiveDate, reqVO.getReceiveDate()) + .betweenIfPresent(MesQcIqcDO::getInspectDate, reqVO.getInspectDate()) + .orderByDesc(MesQcIqcDO::getId)); + } + + default MesQcIqcDO selectByCode(String code) { + return selectOne(MesQcIqcDO::getCode, code); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateIndicatorMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateIndicatorMapper.java new file mode 100644 index 0000000..94b2ae2 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateIndicatorMapper.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.qc.template; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.MesQcTemplateIndicatorPageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateIndicatorDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 质检方案-检测指标项 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesQcTemplateIndicatorMapper extends BaseMapperX { + + default PageResult selectPage(MesQcTemplateIndicatorPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MesQcTemplateIndicatorDO::getTemplateId, reqVO.getTemplateId()) + .orderByAsc(MesQcTemplateIndicatorDO::getId)); + } + + default List selectListByTemplateId(Long templateId) { + return selectList(MesQcTemplateIndicatorDO::getTemplateId, templateId); + } + + default void deleteByTemplateId(Long templateId) { + delete(new LambdaQueryWrapperX() + .eq(MesQcTemplateIndicatorDO::getTemplateId, templateId)); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateItemMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateItemMapper.java new file mode 100644 index 0000000..c9c227a --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateItemMapper.java @@ -0,0 +1,41 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.qc.template; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.item.MesQcTemplateItemPageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateItemDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 质检方案-产品关联 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesQcTemplateItemMapper extends BaseMapperX { + + default PageResult selectPage(MesQcTemplateItemPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MesQcTemplateItemDO::getTemplateId, reqVO.getTemplateId()) + .orderByAsc(MesQcTemplateItemDO::getId)); + } + + default List selectListByTemplateId(Long templateId) { + return selectList(MesQcTemplateItemDO::getTemplateId, templateId); + } + + default MesQcTemplateItemDO selectByTemplateIdAndItemId(Long templateId, Long itemId) { + return selectOne(new LambdaQueryWrapperX() + .eq(MesQcTemplateItemDO::getTemplateId, templateId) + .eq(MesQcTemplateItemDO::getItemId, itemId)); + } + + default void deleteByTemplateId(Long templateId) { + delete(new LambdaQueryWrapperX() + .eq(MesQcTemplateItemDO::getTemplateId, templateId)); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateMapper.java new file mode 100644 index 0000000..29242fe --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/template/MesQcTemplateMapper.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.mes.dal.mysql.qc.template; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.MesQcTemplatePageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * MES 质检方案 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface MesQcTemplateMapper extends BaseMapperX { + + default PageResult selectPage(MesQcTemplatePageReqVO reqVO) { + LambdaQueryWrapperX query = new LambdaQueryWrapperX() + .likeIfPresent(MesQcTemplateDO::getCode, reqVO.getCode()) + .likeIfPresent(MesQcTemplateDO::getName, reqVO.getName()) + .orderByDesc(MesQcTemplateDO::getId); + if (reqVO.getType() != null) { + query.apply(MyBatisUtils.findInSet("types", reqVO.getType())); + } + query.eqIfPresent(MesQcTemplateDO::getStatus, reqVO.getStatus()); + return selectPage(reqVO, query); + } + + default MesQcTemplateDO selectByCode(String code) { + return selectOne(MesQcTemplateDO::getCode, code); + } + + default List selectList() { + return selectList(new LambdaQueryWrapperX() + .orderByDesc(MesQcTemplateDO::getId)); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessContentService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessContentService.java deleted file mode 100644 index 06b8a9f..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessContentService.java +++ /dev/null @@ -1,61 +0,0 @@ -package cn.iocoder.yudao.module.mes.service.pro; - -import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.content.MesProProcessContentSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.pro.MesProProcessContentDO; - -import jakarta.validation.Valid; -import java.util.List; - -/** - * MES 生产工序内容 Service 接口 - * - * @author 芋道源码 - */ -public interface MesProProcessContentService { - - /** - * 创建生产工序内容 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createProcessContent(@Valid MesProProcessContentSaveReqVO createReqVO); - - /** - * 更新生产工序内容 - * - * @param updateReqVO 更新信息 - */ - void updateProcessContent(@Valid MesProProcessContentSaveReqVO updateReqVO); - - /** - * 删除生产工序内容 - * - * @param id 编号 - */ - void deleteProcessContent(Long id); - - /** - * 获得生产工序内容 - * - * @param id 编号 - * @return 生产工序内容 - */ - MesProProcessContentDO getProcessContent(Long id); - - /** - * 获得生产工序内容列表(按工序编号) - * - * @param processId 工序编号 - * @return 生产工序内容列表 - */ - List getProcessContentListByProcessId(Long processId); - - /** - * 删除生产工序内容(按工序编号) - * - * @param processId 工序编号 - */ - void deleteProcessContentByProcessId(Long processId); - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessContentServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessContentServiceImpl.java deleted file mode 100644 index c001eac..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessContentServiceImpl.java +++ /dev/null @@ -1,73 +0,0 @@ -package cn.iocoder.yudao.module.mes.service.pro; - -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.content.MesProProcessContentSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.pro.MesProProcessContentDO; -import cn.iocoder.yudao.module.mes.dal.mysql.pro.MesProProcessContentMapper; -import jakarta.annotation.Resource; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import java.util.List; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.PRO_PROCESS_CONTENT_NOT_EXISTS; - -/** - * MES 生产工序内容 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class MesProProcessContentServiceImpl implements MesProProcessContentService { - - @Resource - private MesProProcessContentMapper processContentMapper; - - @Override - public Long createProcessContent(MesProProcessContentSaveReqVO createReqVO) { - MesProProcessContentDO content = BeanUtils.toBean(createReqVO, MesProProcessContentDO.class); - processContentMapper.insert(content); - return content.getId(); - } - - @Override - public void updateProcessContent(MesProProcessContentSaveReqVO updateReqVO) { - // 校验存在 - validateProcessContentExists(updateReqVO.getId()); - // 更新 - MesProProcessContentDO updateObj = BeanUtils.toBean(updateReqVO, MesProProcessContentDO.class); - processContentMapper.updateById(updateObj); - } - - @Override - public void deleteProcessContent(Long id) { - // 校验存在 - validateProcessContentExists(id); - // 删除 - processContentMapper.deleteById(id); - } - - private void validateProcessContentExists(Long id) { - if (processContentMapper.selectById(id) == null) { - throw exception(PRO_PROCESS_CONTENT_NOT_EXISTS); - } - } - - @Override - public MesProProcessContentDO getProcessContent(Long id) { - return processContentMapper.selectById(id); - } - - @Override - public List getProcessContentListByProcessId(Long processId) { - return processContentMapper.selectListByProcessId(processId); - } - - @Override - public void deleteProcessContentByProcessId(Long processId) { - processContentMapper.deleteByProcessId(processId); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessService.java deleted file mode 100644 index f25d639..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessService.java +++ /dev/null @@ -1,72 +0,0 @@ -package cn.iocoder.yudao.module.mes.service.pro; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessPageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.pro.MesProProcessDO; - -import jakarta.validation.Valid; -import java.util.List; - -/** - * MES 生产工序 Service 接口 - * - * @author 芋道源码 - */ -public interface MesProProcessService { - - /** - * 创建生产工序 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createProcess(@Valid MesProProcessSaveReqVO createReqVO); - - /** - * 更新生产工序 - * - * @param updateReqVO 更新信息 - */ - void updateProcess(@Valid MesProProcessSaveReqVO updateReqVO); - - /** - * 删除生产工序 - * - * @param id 编号 - */ - void deleteProcess(Long id); - - /** - * 获得生产工序 - * - * @param id 编号 - * @return 生产工序 - */ - MesProProcessDO getProcess(Long id); - - /** - * 获得生产工序列表 - * - * @param ids 编号列表 - * @return 生产工序列表 - */ - List getProcessList(List ids); - - /** - * 获得生产工序分页 - * - * @param pageReqVO 分页查询 - * @return 生产工序分页 - */ - PageResult getProcessPage(MesProProcessPageReqVO pageReqVO); - - /** - * 获得指定状态的生产工序列表 - * - * @param status 状态 - * @return 生产工序列表 - */ - List getProcessListByStatus(Integer status); - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessServiceImpl.java deleted file mode 100644 index 020afe4..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/MesProProcessServiceImpl.java +++ /dev/null @@ -1,130 +0,0 @@ -package cn.iocoder.yudao.module.mes.service.pro; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessPageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.pro.MesProProcessDO; -import cn.iocoder.yudao.module.mes.dal.mysql.pro.MesProProcessMapper; -import cn.iocoder.yudao.module.mes.dal.mysql.pro.MesProRouteProcessMapper; -import jakarta.annotation.Resource; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.validation.annotation.Validated; - -import java.util.List; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; - -/** - * MES 生产工序 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class MesProProcessServiceImpl implements MesProProcessService { - - @Resource - private MesProProcessMapper processMapper; - - @Resource - private MesProProcessContentService processContentService; - - @Resource - private MesProRouteProcessMapper routeProcessMapper; - - @Override - public Long createProcess(MesProProcessSaveReqVO createReqVO) { - // 1. 校验工序编码唯一性 - validateProcessCodeUnique(null, createReqVO.getCode()); - // 2. 校验工序名称唯一性 - validateProcessNameUnique(null, createReqVO.getName()); - // 3. 插入工序 - MesProProcessDO process = BeanUtils.toBean(createReqVO, MesProProcessDO.class); - processMapper.insert(process); - return process.getId(); - } - - @Override - public void updateProcess(MesProProcessSaveReqVO updateReqVO) { - // 1. 校验存在 - validateProcessExists(updateReqVO.getId()); - // 2. 校验工序编码唯一性 - validateProcessCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); - // 3. 校验工序名称唯一性 - validateProcessNameUnique(updateReqVO.getId(), updateReqVO.getName()); - // 4. 更新工序 - MesProProcessDO updateObj = BeanUtils.toBean(updateReqVO, MesProProcessDO.class); - processMapper.updateById(updateObj); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteProcess(Long id) { - // 1. 校验存在 - validateProcessExists(id); - // 2. 校验是否被工艺路线引用 - if (!routeProcessMapper.selectListByProcessId(id).isEmpty()) { - throw exception(PRO_PROCESS_USED_BY_ROUTE); - } - // 3. 删除工序 - processMapper.deleteById(id); - // 4. 级联删除工序内容 - processContentService.deleteProcessContentByProcessId(id); - } - - private void validateProcessExists(Long id) { - if (processMapper.selectById(id) == null) { - throw exception(PRO_PROCESS_NOT_EXISTS); - } - } - - private void validateProcessCodeUnique(Long id, String code) { - MesProProcessDO process = processMapper.selectByCode(code); - if (process == null) { - return; - } - if (id == null) { - throw exception(PRO_PROCESS_CODE_EXISTS); - } - if (!process.getId().equals(id)) { - throw exception(PRO_PROCESS_CODE_EXISTS); - } - } - - private void validateProcessNameUnique(Long id, String name) { - MesProProcessDO process = processMapper.selectByName(name); - if (process == null) { - return; - } - if (id == null) { - throw exception(PRO_PROCESS_NAME_EXISTS); - } - if (!process.getId().equals(id)) { - throw exception(PRO_PROCESS_NAME_EXISTS); - } - } - - @Override - public MesProProcessDO getProcess(Long id) { - return processMapper.selectById(id); - } - - @Override - public List getProcessList(List ids) { - return processMapper.selectBatchIds(ids); - } - - @Override - public PageResult getProcessPage(MesProProcessPageReqVO pageReqVO) { - return processMapper.selectPage(pageReqVO); - } - - @Override - public List getProcessListByStatus(Integer status) { - return processMapper.selectListByStatus(status); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentService.java new file mode 100644 index 0000000..f558598 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentService.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.module.mes.service.pro.process; + +import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.content.MesProProcessContentSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessContentDO; + +import jakarta.validation.Valid; +import java.util.List; + +/** + * MES 生产工序内容 Service 接口 + * + * @author 芋道源码 + */ +public interface MesProProcessContentService { + + /** + * 创建生产工序内容 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createProcessContent(@Valid MesProProcessContentSaveReqVO createReqVO); + + /** + * 更新生产工序内容 + * + * @param updateReqVO 更新信息 + */ + void updateProcessContent(@Valid MesProProcessContentSaveReqVO updateReqVO); + + /** + * 删除生产工序内容 + * + * @param id 编号 + */ + void deleteProcessContent(Long id); + + /** + * 获得生产工序内容 + * + * @param id 编号 + * @return 生产工序内容 + */ + MesProProcessContentDO getProcessContent(Long id); + + /** + * 获得生产工序内容列表(按工序编号) + * + * @param processId 工序编号 + * @return 生产工序内容列表 + */ + List getProcessContentListByProcessId(Long processId); + + /** + * 删除生产工序内容(按工序编号) + * + * @param processId 工序编号 + */ + void deleteProcessContentByProcessId(Long processId); + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentServiceImpl.java new file mode 100644 index 0000000..b35e9b5 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentServiceImpl.java @@ -0,0 +1,73 @@ +package cn.iocoder.yudao.module.mes.service.pro.process; + +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.content.MesProProcessContentSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessContentDO; +import cn.iocoder.yudao.module.mes.dal.mysql.pro.process.MesProProcessContentMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.PRO_PROCESS_CONTENT_NOT_EXISTS; + +/** + * MES 生产工序内容 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class MesProProcessContentServiceImpl implements MesProProcessContentService { + + @Resource + private MesProProcessContentMapper processContentMapper; + + @Override + public Long createProcessContent(MesProProcessContentSaveReqVO createReqVO) { + MesProProcessContentDO content = BeanUtils.toBean(createReqVO, MesProProcessContentDO.class); + processContentMapper.insert(content); + return content.getId(); + } + + @Override + public void updateProcessContent(MesProProcessContentSaveReqVO updateReqVO) { + // 校验存在 + validateProcessContentExists(updateReqVO.getId()); + // 更新 + MesProProcessContentDO updateObj = BeanUtils.toBean(updateReqVO, MesProProcessContentDO.class); + processContentMapper.updateById(updateObj); + } + + @Override + public void deleteProcessContent(Long id) { + // 校验存在 + validateProcessContentExists(id); + // 删除 + processContentMapper.deleteById(id); + } + + private void validateProcessContentExists(Long id) { + if (processContentMapper.selectById(id) == null) { + throw exception(PRO_PROCESS_CONTENT_NOT_EXISTS); + } + } + + @Override + public MesProProcessContentDO getProcessContent(Long id) { + return processContentMapper.selectById(id); + } + + @Override + public List getProcessContentListByProcessId(Long processId) { + return processContentMapper.selectListByProcessId(processId); + } + + @Override + public void deleteProcessContentByProcessId(Long processId) { + processContentMapper.deleteByProcessId(processId); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessService.java new file mode 100644 index 0000000..b2878e7 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessService.java @@ -0,0 +1,72 @@ +package cn.iocoder.yudao.module.mes.service.pro.process; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO; + +import jakarta.validation.Valid; +import java.util.List; + +/** + * MES 生产工序 Service 接口 + * + * @author 芋道源码 + */ +public interface MesProProcessService { + + /** + * 创建生产工序 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createProcess(@Valid MesProProcessSaveReqVO createReqVO); + + /** + * 更新生产工序 + * + * @param updateReqVO 更新信息 + */ + void updateProcess(@Valid MesProProcessSaveReqVO updateReqVO); + + /** + * 删除生产工序 + * + * @param id 编号 + */ + void deleteProcess(Long id); + + /** + * 获得生产工序 + * + * @param id 编号 + * @return 生产工序 + */ + MesProProcessDO getProcess(Long id); + + /** + * 获得生产工序列表 + * + * @param ids 编号列表 + * @return 生产工序列表 + */ + List getProcessList(List ids); + + /** + * 获得生产工序分页 + * + * @param pageReqVO 分页查询 + * @return 生产工序分页 + */ + PageResult getProcessPage(MesProProcessPageReqVO pageReqVO); + + /** + * 获得指定状态的生产工序列表 + * + * @param status 状态 + * @return 生产工序列表 + */ + List getProcessListByStatus(Integer status); + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java new file mode 100644 index 0000000..8dbde71 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java @@ -0,0 +1,130 @@ +package cn.iocoder.yudao.module.mes.service.pro.process; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO; +import cn.iocoder.yudao.module.mes.dal.mysql.pro.process.MesProProcessMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.pro.route.MesProRouteProcessMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; + +/** + * MES 生产工序 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class MesProProcessServiceImpl implements MesProProcessService { + + @Resource + private MesProProcessMapper processMapper; + + @Resource + private MesProProcessContentService processContentService; + + @Resource + private MesProRouteProcessMapper routeProcessMapper; + + @Override + public Long createProcess(MesProProcessSaveReqVO createReqVO) { + // 1. 校验工序编码唯一性 + validateProcessCodeUnique(null, createReqVO.getCode()); + // 2. 校验工序名称唯一性 + validateProcessNameUnique(null, createReqVO.getName()); + // 3. 插入工序 + MesProProcessDO process = BeanUtils.toBean(createReqVO, MesProProcessDO.class); + processMapper.insert(process); + return process.getId(); + } + + @Override + public void updateProcess(MesProProcessSaveReqVO updateReqVO) { + // 1. 校验存在 + validateProcessExists(updateReqVO.getId()); + // 2. 校验工序编码唯一性 + validateProcessCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); + // 3. 校验工序名称唯一性 + validateProcessNameUnique(updateReqVO.getId(), updateReqVO.getName()); + // 4. 更新工序 + MesProProcessDO updateObj = BeanUtils.toBean(updateReqVO, MesProProcessDO.class); + processMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteProcess(Long id) { + // 1. 校验存在 + validateProcessExists(id); + // 2. 校验是否被工艺路线引用 + if (!routeProcessMapper.selectListByProcessId(id).isEmpty()) { + throw exception(PRO_PROCESS_USED_BY_ROUTE); + } + // 3. 删除工序 + processMapper.deleteById(id); + // 4. 级联删除工序内容 + processContentService.deleteProcessContentByProcessId(id); + } + + private void validateProcessExists(Long id) { + if (processMapper.selectById(id) == null) { + throw exception(PRO_PROCESS_NOT_EXISTS); + } + } + + private void validateProcessCodeUnique(Long id, String code) { + MesProProcessDO process = processMapper.selectByCode(code); + if (process == null) { + return; + } + if (id == null) { + throw exception(PRO_PROCESS_CODE_EXISTS); + } + if (!process.getId().equals(id)) { + throw exception(PRO_PROCESS_CODE_EXISTS); + } + } + + private void validateProcessNameUnique(Long id, String name) { + MesProProcessDO process = processMapper.selectByName(name); + if (process == null) { + return; + } + if (id == null) { + throw exception(PRO_PROCESS_NAME_EXISTS); + } + if (!process.getId().equals(id)) { + throw exception(PRO_PROCESS_NAME_EXISTS); + } + } + + @Override + public MesProProcessDO getProcess(Long id) { + return processMapper.selectById(id); + } + + @Override + public List getProcessList(List ids) { + return processMapper.selectBatchIds(ids); + } + + @Override + public PageResult getProcessPage(MesProProcessPageReqVO pageReqVO) { + return processMapper.selectPage(pageReqVO); + } + + @Override + public List getProcessListByStatus(Integer status) { + return processMapper.selectListByStatus(status); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java index 826354d..23ccdc1 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java @@ -4,8 +4,8 @@ import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.pro.route.vo.process.MesProRouteProcessSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProcessDO; -import cn.iocoder.yudao.module.mes.dal.mysql.pro.MesProRouteProcessMapper; -import cn.iocoder.yudao.module.mes.service.pro.MesProProcessService; +import cn.iocoder.yudao.module.mes.dal.mysql.pro.route.MesProRouteProcessMapper; +import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService; import jakarta.annotation.Resource; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProductBomServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProductBomServiceImpl.java index 59bb0d8..24aca4b 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProductBomServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProductBomServiceImpl.java @@ -4,7 +4,7 @@ import cn.hutool.core.util.ObjUtil; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.pro.route.vo.productbom.MesProRouteProductBomSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductBomDO; -import cn.iocoder.yudao.module.mes.dal.mysql.pro.MesProRouteProductBomMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.pro.route.MesProRouteProductBomMapper; import jakarta.annotation.Resource; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProductServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProductServiceImpl.java index f43fc0b..e880188 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProductServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProductServiceImpl.java @@ -4,7 +4,7 @@ import cn.hutool.core.util.ObjUtil; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.pro.route.vo.product.MesProRouteProductSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductDO; -import cn.iocoder.yudao.module.mes.dal.mysql.pro.MesProRouteProductMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.pro.route.MesProRouteProductMapper; import jakarta.annotation.Resource; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteServiceImpl.java index 288bc4e..ef77918 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteServiceImpl.java @@ -12,7 +12,7 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteDO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProcessDO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductDO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductBomDO; -import cn.iocoder.yudao.module.mes.dal.mysql.pro.MesProRouteMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.pro.route.MesProRouteMapper; import jakarta.annotation.Resource; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcDefectService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcDefectService.java deleted file mode 100644 index 59ebb2d..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcDefectService.java +++ /dev/null @@ -1,85 +0,0 @@ -package cn.iocoder.yudao.module.mes.service.qc; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mes.controller.admin.qc.defect.vo.MesQcDefectPageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.defect.vo.MesQcDefectSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcDefectDO; -import jakarta.validation.Valid; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; - -/** - * MES 缺陷类型 Service 接口 - * - * @author 芋道源码 - */ -public interface MesQcDefectService { - - /** - * 创建缺陷类型 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createDefect(@Valid MesQcDefectSaveReqVO createReqVO); - - /** - * 更新缺陷类型 - * - * @param updateReqVO 更新信息 - */ - void updateDefect(@Valid MesQcDefectSaveReqVO updateReqVO); - - /** - * 删除缺陷类型 - * - * @param id 编号 - */ - void deleteDefect(Long id); - - /** - * 获得缺陷类型 - * - * @param id 编号 - * @return 缺陷类型 - */ - MesQcDefectDO getDefect(Long id); - - /** - * 获得缺陷类型分页 - * - * @param pageReqVO 分页查询 - * @return 缺陷类型分页 - */ - PageResult getDefectPage(MesQcDefectPageReqVO pageReqVO); - - /** - * 获得缺陷类型列表 - * - * @return 缺陷类型列表 - */ - List getDefectList(); - - /** - * 获得缺陷类型列表 - * - * @param ids 编号数组 - * @return 缺陷类型列表 - */ - List getDefectList(Collection ids); - - /** - * 获得缺陷类型 Map - * - * @param ids 编号数组 - * @return 缺陷类型 Map - */ - default Map getDefectMap(Collection ids) { - return convertMap(getDefectList(ids), MesQcDefectDO::getId); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcDefectServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcDefectServiceImpl.java deleted file mode 100644 index 2538e05..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcDefectServiceImpl.java +++ /dev/null @@ -1,118 +0,0 @@ -package cn.iocoder.yudao.module.mes.service.qc; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjUtil; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.mes.controller.admin.qc.defect.vo.MesQcDefectPageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.defect.vo.MesQcDefectSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcDefectDO; -import cn.iocoder.yudao.module.mes.dal.mysql.qc.MesQcDefectMapper; -import jakarta.annotation.Resource; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; - -/** - * MES 缺陷类型 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class MesQcDefectServiceImpl implements MesQcDefectService { - - @Resource - private MesQcDefectMapper defectMapper; - - @Override - public Long createDefect(MesQcDefectSaveReqVO createReqVO) { - // 校验编码唯一 - validateDefectCodeUnique(null, createReqVO.getCode()); - // 校验名称唯一 - validateDefectNameUnique(null, createReqVO.getName()); - - // 插入 - MesQcDefectDO defect = BeanUtils.toBean(createReqVO, MesQcDefectDO.class); - defectMapper.insert(defect); - return defect.getId(); - } - - @Override - public void updateDefect(MesQcDefectSaveReqVO updateReqVO) { - // 校验存在 - validateDefectExists(updateReqVO.getId()); - // 校验编码唯一 - validateDefectCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); - // 校验名称唯一 - validateDefectNameUnique(updateReqVO.getId(), updateReqVO.getName()); - - // 更新 - MesQcDefectDO updateObj = BeanUtils.toBean(updateReqVO, MesQcDefectDO.class); - defectMapper.updateById(updateObj); - } - - @Override - public void deleteDefect(Long id) { - // 校验存在 - validateDefectExists(id); - // 删除 - defectMapper.deleteById(id); - } - - private void validateDefectExists(Long id) { - if (defectMapper.selectById(id) == null) { - throw exception(QC_DEFECT_NOT_EXISTS); - } - } - - private void validateDefectCodeUnique(Long id, String code) { - MesQcDefectDO defect = defectMapper.selectByCode(code); - if (defect == null) { - return; - } - if (ObjUtil.notEqual(defect.getId(), id)) { - throw exception(QC_DEFECT_CODE_DUPLICATE); - } - } - - private void validateDefectNameUnique(Long id, String name) { - MesQcDefectDO defect = defectMapper.selectByName(name); - if (defect == null) { - return; - } - if (ObjUtil.notEqual(defect.getId(), id)) { - throw exception(QC_DEFECT_NAME_DUPLICATE); - } - } - - @Override - public MesQcDefectDO getDefect(Long id) { - return defectMapper.selectById(id); - } - - @Override - public PageResult getDefectPage(MesQcDefectPageReqVO pageReqVO) { - return defectMapper.selectPage(pageReqVO); - } - - @Override - public List getDefectList() { - return defectMapper.selectList(); - } - - @Override - public List getDefectList(Collection ids) { - if (CollUtil.isEmpty(ids)) { - return Collections.emptyList(); - } - return defectMapper.selectByIds(ids); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIndicatorService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIndicatorService.java deleted file mode 100644 index f07ee3d..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIndicatorService.java +++ /dev/null @@ -1,85 +0,0 @@ -package cn.iocoder.yudao.module.mes.service.qc; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mes.controller.admin.qc.indicator.vo.MesQcIndicatorPageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.indicator.vo.MesQcIndicatorSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIndicatorDO; -import jakarta.validation.Valid; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; - -/** - * MES 质检指标 Service 接口 - * - * @author 芋道源码 - */ -public interface MesQcIndicatorService { - - /** - * 创建质检指标 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createIndicator(@Valid MesQcIndicatorSaveReqVO createReqVO); - - /** - * 更新质检指标 - * - * @param updateReqVO 更新信息 - */ - void updateIndicator(@Valid MesQcIndicatorSaveReqVO updateReqVO); - - /** - * 删除质检指标 - * - * @param id 编号 - */ - void deleteIndicator(Long id); - - /** - * 获得质检指标 - * - * @param id 编号 - * @return 质检指标 - */ - MesQcIndicatorDO getIndicator(Long id); - - /** - * 获得质检指标分页 - * - * @param pageReqVO 分页查询 - * @return 质检指标分页 - */ - PageResult getIndicatorPage(MesQcIndicatorPageReqVO pageReqVO); - - /** - * 获得质检指标列表 - * - * @return 质检指标列表 - */ - List getIndicatorList(); - - /** - * 获得质检指标列表 - * - * @param ids 编号数组 - * @return 质检指标列表 - */ - List getIndicatorList(Collection ids); - - /** - * 获得质检指标 Map - * - * @param ids 编号数组 - * @return 质检指标 Map - */ - default Map getIndicatorMap(Collection ids) { - return convertMap(getIndicatorList(ids), MesQcIndicatorDO::getId); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIndicatorServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIndicatorServiceImpl.java deleted file mode 100644 index 1e9a803..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIndicatorServiceImpl.java +++ /dev/null @@ -1,118 +0,0 @@ -package cn.iocoder.yudao.module.mes.service.qc; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjUtil; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.mes.controller.admin.qc.indicator.vo.MesQcIndicatorPageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.indicator.vo.MesQcIndicatorSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIndicatorDO; -import cn.iocoder.yudao.module.mes.dal.mysql.qc.MesQcIndicatorMapper; -import jakarta.annotation.Resource; -import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; - -/** - * MES 质检指标 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class MesQcIndicatorServiceImpl implements MesQcIndicatorService { - - @Resource - private MesQcIndicatorMapper indicatorMapper; - - @Override - public Long createIndicator(MesQcIndicatorSaveReqVO createReqVO) { - // 校验编码唯一 - validateIndicatorCodeUnique(null, createReqVO.getCode()); - // 校验名称唯一 - validateIndicatorNameUnique(null, createReqVO.getName()); - - // 插入 - MesQcIndicatorDO indicator = BeanUtils.toBean(createReqVO, MesQcIndicatorDO.class); - indicatorMapper.insert(indicator); - return indicator.getId(); - } - - @Override - public void updateIndicator(MesQcIndicatorSaveReqVO updateReqVO) { - // 校验存在 - validateIndicatorExists(updateReqVO.getId()); - // 校验编码唯一 - validateIndicatorCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); - // 校验名称唯一 - validateIndicatorNameUnique(updateReqVO.getId(), updateReqVO.getName()); - - // 更新 - MesQcIndicatorDO updateObj = BeanUtils.toBean(updateReqVO, MesQcIndicatorDO.class); - indicatorMapper.updateById(updateObj); - } - - @Override - public void deleteIndicator(Long id) { - // 校验存在 - validateIndicatorExists(id); - // 删除 - indicatorMapper.deleteById(id); - } - - private void validateIndicatorExists(Long id) { - if (indicatorMapper.selectById(id) == null) { - throw exception(QC_INDICATOR_NOT_EXISTS); - } - } - - private void validateIndicatorCodeUnique(Long id, String code) { - MesQcIndicatorDO indicator = indicatorMapper.selectByCode(code); - if (indicator == null) { - return; - } - if (ObjUtil.notEqual(indicator.getId(), id)) { - throw exception(QC_INDICATOR_CODE_DUPLICATE); - } - } - - private void validateIndicatorNameUnique(Long id, String name) { - MesQcIndicatorDO indicator = indicatorMapper.selectByName(name); - if (indicator == null) { - return; - } - if (ObjUtil.notEqual(indicator.getId(), id)) { - throw exception(QC_INDICATOR_NAME_DUPLICATE); - } - } - - @Override - public MesQcIndicatorDO getIndicator(Long id) { - return indicatorMapper.selectById(id); - } - - @Override - public PageResult getIndicatorPage(MesQcIndicatorPageReqVO pageReqVO) { - return indicatorMapper.selectPage(pageReqVO); - } - - @Override - public List getIndicatorList() { - return indicatorMapper.selectList(); - } - - @Override - public List getIndicatorList(Collection ids) { - if (CollUtil.isEmpty(ids)) { - return Collections.emptyList(); - } - return indicatorMapper.selectByIds(ids); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIqcService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIqcService.java deleted file mode 100644 index 7368b69..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIqcService.java +++ /dev/null @@ -1,118 +0,0 @@ -package cn.iocoder.yudao.module.mes.service.qc; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.*; -import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.defect.MesQcIqcDefectPageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.defect.MesQcIqcDefectSaveReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.line.MesQcIqcLinePageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIqcDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIqcDefectDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcIqcLineDO; -import jakarta.validation.Valid; - -// TODO @AI:和别的模块一样,拆分成多个 service -/** - * MES 来料检验单(IQC) Service 接口 - * - * @author 芋道源码 - */ -public interface MesQcIqcService { - - // ========== 来料检验主表 ========== - - /** - * 创建来料检验单 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createIqc(@Valid MesQcIqcSaveReqVO createReqVO); - - /** - * 更新来料检验单 - * - * @param updateReqVO 更新信息 - */ - void updateIqc(@Valid MesQcIqcSaveReqVO updateReqVO); - - /** - * 完成来料检验单 - * - * @param id 编号 - */ - void completeIqc(Long id); - - /** - * 删除来料检验单 - * - * @param id 编号 - */ - void deleteIqc(Long id); - - /** - * 获得来料检验单 - * - * @param id 编号 - * @return 来料检验单 - */ - MesQcIqcDO getIqc(Long id); - - /** - * 获得来料检验单分页 - * - * @param pageReqVO 分页查询 - * @return 来料检验单分页 - */ - PageResult getIqcPage(MesQcIqcPageReqVO pageReqVO); - - // ========== 来料检验行(只读) ========== - - /** - * 获得来料检验行 - * - * @param id 编号 - * @return 来料检验行 - */ - MesQcIqcLineDO getIqcLine(Long id); - - /** - * 获得来料检验行分页 - * - * @param pageReqVO 分页查询 - * @return 来料检验行分页 - */ - PageResult getIqcLinePage(MesQcIqcLinePageReqVO pageReqVO); - - // ========== 来料检验缺陷记录 ========== - - /** - * 创建来料检验缺陷记录 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createIqcDefect(@Valid MesQcIqcDefectSaveReqVO createReqVO); - - /** - * 更新来料检验缺陷记录 - * - * @param updateReqVO 更新信息 - */ - void updateIqcDefect(@Valid MesQcIqcDefectSaveReqVO updateReqVO); - - /** - * 删除来料检验缺陷记录 - * - * @param id 编号 - */ - void deleteIqcDefect(Long id); - - /** - * 获得来料检验缺陷记录分页 - * - * @param pageReqVO 分页查询 - * @return 来料检验缺陷记录分页 - */ - PageResult getIqcDefectPage(MesQcIqcDefectPageReqVO pageReqVO); - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIqcServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIqcServiceImpl.java deleted file mode 100644 index aac0c38..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcIqcServiceImpl.java +++ /dev/null @@ -1,333 +0,0 @@ -package cn.iocoder.yudao.module.mes.service.qc; - -import cn.hutool.core.util.ObjUtil; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.*; -import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.defect.MesQcIqcDefectPageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.defect.MesQcIqcDefectSaveReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.line.MesQcIqcLinePageReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.*; -import cn.iocoder.yudao.module.mes.dal.mysql.qc.*; -import jakarta.annotation.Resource; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.validation.annotation.Validated; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.List; -import java.util.Objects; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; - -// TODO @AI:和别的模块一样,拆分成多个 service -/** - * MES 来料检验单(IQC) Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class MesQcIqcServiceImpl implements MesQcIqcService { - - // TODO @AI:搞个枚举类; - /** - * IQC 检测种类值(对应 mes_qc_type 字典 value=1) - */ - private static final int QC_TYPE_IQC = 1; - - @Resource - private MesQcIqcMapper iqcMapper; - @Resource - private MesQcIqcLineMapper iqcLineMapper; - @Resource - private MesQcIqcDefectMapper iqcDefectMapper; - @Resource - private MesQcTemplateMapper templateMapper; - @Resource - private MesQcTemplateIndicatorMapper templateIndicatorMapper; - @Resource - private MesQcTemplateItemMapper templateItemMapper; - - // ========== 来料检验主表 ========== - - @Override - @Transactional(rollbackFor = Exception.class) - public Long createIqc(MesQcIqcSaveReqVO createReqVO) { - // 1. 校验编号唯一 - validateIqcCodeUnique(null, createReqVO.getCode()); - - // 2. 查找物料关联的 IQC 检测模板 - Long templateId = createReqVO.getTemplateId(); - MesQcTemplateDO template = templateMapper.selectById(templateId); - if (template == null || template.getTypes() == null || !template.getTypes().contains(QC_TYPE_IQC)) { - throw exception(QC_IQC_NO_TEMPLATE); - } - - // 3. 从模板的产品关联中获取检测参数(min_check_quantity、max_unqualified_quantity) - MesQcTemplateItemDO templateItem = templateItemMapper.selectByTemplateIdAndItemId( - templateId, createReqVO.getItemId()); - if (templateItem != null) { - if (createReqVO.getMinCheckQuantity() == null) { - createReqVO.setMinCheckQuantity(templateItem.getQuantityCheck()); - } - if (createReqVO.getMaxUnqualifiedQuantity() == null) { - createReqVO.setMaxUnqualifiedQuantity(templateItem.getQuantityUnqualified()); - } - } - - // 4. 插入主表 - MesQcIqcDO iqc = BeanUtils.toBean(createReqVO, MesQcIqcDO.class); - iqc.setStatus(0); // 草稿 - iqcMapper.insert(iqc); - - // 5. 从模板指标自动生成检验行 - List indicators = templateIndicatorMapper.selectListByTemplateId(templateId); - for (MesQcTemplateIndicatorDO indicator : indicators) { - MesQcIqcLineDO line = new MesQcIqcLineDO(); - line.setIqcId(iqc.getId()); - line.setIndicatorId(indicator.getIndicatorId()); - line.setToolId(null); // TODO @芋艿:模板指标暂无 toolId,后续可扩展 - line.setCheckMethod(indicator.getCheckMethod()); - line.setStandardValue(indicator.getStandardValue()); - line.setUnitMeasureId(indicator.getUnitMeasureId()); - line.setMaxThreshold(indicator.getThresholdMax()); - line.setMinThreshold(indicator.getThresholdMin()); - line.setCriticalQuantity(0); - line.setMajorQuantity(0); - line.setMinorQuantity(0); - iqcLineMapper.insert(line); - } - - return iqc.getId(); - } - - @Override - public void updateIqc(MesQcIqcSaveReqVO updateReqVO) { - // 1. 校验存在 - MesQcIqcDO iqc = validateIqcExists(updateReqVO.getId()); - // 2. 校验状态为草稿 - if (!Objects.equals(iqc.getStatus(), 0)) { - throw exception(QC_IQC_ONLY_PREPARE_CAN_COMPLETE); - } - // 3. 校验编号唯一 - validateIqcCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); - // 4. 更新 - MesQcIqcDO updateObj = BeanUtils.toBean(updateReqVO, MesQcIqcDO.class); - iqcMapper.updateById(updateObj); - } - - @Override - public void completeIqc(Long id) { - // 1. 校验存在 - MesQcIqcDO iqc = validateIqcExists(id); - // 2. 校验状态为草稿 - if (!Objects.equals(iqc.getStatus(), 0)) { - throw exception(QC_IQC_ONLY_PREPARE_CAN_COMPLETE); - } - // 3. 校验合格品 + 不合格品 = 检测数量 - if (iqc.getCheckQuantity() != null && iqc.getCheckQuantity() > 0) { - int total = (iqc.getQualifiedQuantity() != null ? iqc.getQualifiedQuantity() : 0) - + (iqc.getUnqualifiedQuantity() != null ? iqc.getUnqualifiedQuantity() : 0); - if (total != iqc.getCheckQuantity()) { - throw exception(QC_IQC_QUANTITY_MISMATCH); - } - } - // 4. 更新状态为已完成 - MesQcIqcDO updateObj = new MesQcIqcDO(); - updateObj.setId(id); - updateObj.setStatus(1); - iqcMapper.updateById(updateObj); - // TODO @芋艿:WM 模块迁移后,更新到货通知单行/外协入库单行的检验结果 - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteIqc(Long id) { - // 1. 校验存在 - MesQcIqcDO iqc = validateIqcExists(id); - // 2. 仅草稿可删 - if (!Objects.equals(iqc.getStatus(), 0)) { - throw exception(QC_IQC_ONLY_PREPARE_CAN_DELETE); - } - // 3. 删除主表 - iqcMapper.deleteById(id); - // 4. 级联删除行 - iqcLineMapper.deleteByIqcId(id); - // 5. 级联删除缺陷记录 - iqcDefectMapper.deleteByIqcId(id); - } - - private MesQcIqcDO validateIqcExists(Long id) { - MesQcIqcDO iqc = iqcMapper.selectById(id); - if (iqc == null) { - throw exception(QC_IQC_NOT_EXISTS); - } - return iqc; - } - - private void validateIqcCodeUnique(Long id, String code) { - MesQcIqcDO iqc = iqcMapper.selectByCode(code); - if (iqc == null) { - return; - } - if (ObjUtil.notEqual(iqc.getId(), id)) { - throw exception(QC_IQC_CODE_DUPLICATE); - } - } - - @Override - public MesQcIqcDO getIqc(Long id) { - return iqcMapper.selectById(id); - } - - @Override - public PageResult getIqcPage(MesQcIqcPageReqVO pageReqVO) { - return iqcMapper.selectPage(pageReqVO); - } - - // ========== 来料检验行(只读) ========== - - @Override - public MesQcIqcLineDO getIqcLine(Long id) { - return iqcLineMapper.selectById(id); - } - - @Override - public PageResult getIqcLinePage(MesQcIqcLinePageReqVO pageReqVO) { - return iqcLineMapper.selectPage(pageReqVO); - } - - // ========== 来料检验缺陷记录 ========== - - @Override - @Transactional(rollbackFor = Exception.class) - public Long createIqcDefect(MesQcIqcDefectSaveReqVO createReqVO) { - // 1. 校验 IQC 存在 - validateIqcExists(createReqVO.getIqcId()); - // 2. 校验行存在 - validateIqcLineExists(createReqVO.getLineId()); - // 3. 插入 - MesQcIqcDefectDO defect = BeanUtils.toBean(createReqVO, MesQcIqcDefectDO.class); - iqcDefectMapper.insert(defect); - // 4. 重新计算缺陷统计 - recalculateDefectStats(createReqVO.getIqcId()); - return defect.getId(); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void updateIqcDefect(MesQcIqcDefectSaveReqVO updateReqVO) { - // 1. 校验存在 - validateIqcDefectExists(updateReqVO.getId()); - // 2. 更新 - MesQcIqcDefectDO updateObj = BeanUtils.toBean(updateReqVO, MesQcIqcDefectDO.class); - iqcDefectMapper.updateById(updateObj); - // 3. 重新计算缺陷统计 - recalculateDefectStats(updateReqVO.getIqcId()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteIqcDefect(Long id) { - // 1. 校验存在 - MesQcIqcDefectDO defect = validateIqcDefectExists(id); - // 2. 删除 - iqcDefectMapper.deleteById(id); - // 3. 重新计算缺陷统计 - recalculateDefectStats(defect.getIqcId()); - } - - private void validateIqcLineExists(Long id) { - if (iqcLineMapper.selectById(id) == null) { - throw exception(QC_IQC_LINE_NOT_EXISTS); - } - } - - private MesQcIqcDefectDO validateIqcDefectExists(Long id) { - MesQcIqcDefectDO defect = iqcDefectMapper.selectById(id); - if (defect == null) { - throw exception(QC_IQC_DEFECT_NOT_EXISTS); - } - return defect; - } - - @Override - public PageResult getIqcDefectPage(MesQcIqcDefectPageReqVO pageReqVO) { - return iqcDefectMapper.selectPage(pageReqVO); - } - - // ========== 内部方法 ========== - - /** - * 重新计算缺陷统计(行级 + 主表级) - * - * @param iqcId 来料检验单 ID - */ - private void recalculateDefectStats(Long iqcId) { - // 1. 查询所有缺陷记录 - List defects = iqcDefectMapper.selectListByIqcId(iqcId); - - // 2. 更新每行的缺陷数量 - List lines = iqcLineMapper.selectListByIqcId(iqcId); - for (MesQcIqcLineDO line : lines) { - int critical = 0, major = 0, minor = 0; - for (MesQcIqcDefectDO defect : defects) { - if (Objects.equals(defect.getLineId(), line.getId())) { - int qty = defect.getDefectQuantity() != null ? defect.getDefectQuantity() : 1; - switch (defect.getDefectLevel()) { - case "CRITICAL": critical += qty; break; - case "MAJOR": major += qty; break; - case "MINOR": minor += qty; break; - } - } - } - MesQcIqcLineDO updateLine = new MesQcIqcLineDO(); - updateLine.setId(line.getId()); - updateLine.setCriticalQuantity(critical); - updateLine.setMajorQuantity(major); - updateLine.setMinorQuantity(minor); - iqcLineMapper.updateById(updateLine); - } - - // 3. 汇总主表的缺陷数量 - int totalCritical = 0, totalMajor = 0, totalMinor = 0; - for (MesQcIqcDefectDO defect : defects) { - int qty = defect.getDefectQuantity() != null ? defect.getDefectQuantity() : 1; - switch (defect.getDefectLevel()) { - case "CRITICAL": totalCritical += qty; break; - case "MAJOR": totalMajor += qty; break; - case "MINOR": totalMinor += qty; break; - } - } - - // 4. 计算缺陷率 - MesQcIqcDO iqc = iqcMapper.selectById(iqcId); - BigDecimal criticalRate = BigDecimal.ZERO; - BigDecimal majorRate = BigDecimal.ZERO; - BigDecimal minorRate = BigDecimal.ZERO; - if (iqc != null && iqc.getCheckQuantity() != null && iqc.getCheckQuantity() > 0) { - BigDecimal checkQty = BigDecimal.valueOf(iqc.getCheckQuantity()); - criticalRate = BigDecimal.valueOf(totalCritical).multiply(BigDecimal.valueOf(100)) - .divide(checkQty, 2, RoundingMode.HALF_UP); - majorRate = BigDecimal.valueOf(totalMajor).multiply(BigDecimal.valueOf(100)) - .divide(checkQty, 2, RoundingMode.HALF_UP); - minorRate = BigDecimal.valueOf(totalMinor).multiply(BigDecimal.valueOf(100)) - .divide(checkQty, 2, RoundingMode.HALF_UP); - } - - // 5. 更新主表 - MesQcIqcDO updateIqc = new MesQcIqcDO(); - updateIqc.setId(iqcId); - updateIqc.setCriticalQuantity(totalCritical); - updateIqc.setMajorQuantity(totalMajor); - updateIqc.setMinorQuantity(totalMinor); - updateIqc.setCriticalRate(criticalRate); - updateIqc.setMajorRate(majorRate); - updateIqc.setMinorRate(minorRate); - iqcMapper.updateById(updateIqc); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcTemplateService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcTemplateService.java deleted file mode 100644 index ca971b7..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcTemplateService.java +++ /dev/null @@ -1,173 +0,0 @@ -package cn.iocoder.yudao.module.mes.service.qc; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.MesQcTemplatePageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.MesQcTemplateSaveReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.MesQcTemplateIndicatorPageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.MesQcTemplateIndicatorSaveReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.item.MesQcTemplateItemPageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.item.MesQcTemplateItemSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcTemplateDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcTemplateIndicatorDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcTemplateItemDO; -import jakarta.validation.Valid; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; - -/** - * MES 质检方案 Service 接口 - * - * @author 芋道源码 - */ -public interface MesQcTemplateService { - - // ========== 质检方案主表 ========== - - /** - * 创建质检方案 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createTemplate(@Valid MesQcTemplateSaveReqVO createReqVO); - - /** - * 更新质检方案 - * - * @param updateReqVO 更新信息 - */ - void updateTemplate(@Valid MesQcTemplateSaveReqVO updateReqVO); - - /** - * 删除质检方案(级联删除检测指标项和产品关联) - * - * @param id 编号 - */ - void deleteTemplate(Long id); - - /** - * 获得质检方案 - * - * @param id 编号 - * @return 质检方案 - */ - MesQcTemplateDO getTemplate(Long id); - - /** - * 获得质检方案分页 - * - * @param pageReqVO 分页查询 - * @return 质检方案分页 - */ - PageResult getTemplatePage(MesQcTemplatePageReqVO pageReqVO); - - /** - * 获得质检方案列表(用于下拉选择) - * - * @return 质检方案列表 - */ - List getTemplateList(); - - /** - * 获得质检方案列表 - * - * @param ids 编号数组 - * @return 质检方案列表 - */ - List getTemplateList(Collection ids); - - /** - * 获得质检方案 Map - * - * @param ids 编号数组 - * @return 质检方案 Map - */ - default Map getTemplateMap(Collection ids) { - return convertMap(getTemplateList(ids), MesQcTemplateDO::getId); - } - - // ========== 质检方案-检测指标项 ========== - - /** - * 创建检测指标项 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createTemplateIndicator(@Valid MesQcTemplateIndicatorSaveReqVO createReqVO); - - /** - * 更新检测指标项 - * - * @param updateReqVO 更新信息 - */ - void updateTemplateIndicator(@Valid MesQcTemplateIndicatorSaveReqVO updateReqVO); - - /** - * 删除检测指标项 - * - * @param id 编号 - */ - void deleteTemplateIndicator(Long id); - - /** - * 获得检测指标项 - * - * @param id 编号 - * @return 检测指标项 - */ - MesQcTemplateIndicatorDO getTemplateIndicator(Long id); - - /** - * 获得检测指标项分页 - * - * @param pageReqVO 分页查询 - * @return 检测指标项分页 - */ - PageResult getTemplateIndicatorPage(MesQcTemplateIndicatorPageReqVO pageReqVO); - - // ========== 质检方案-产品关联 ========== - - /** - * 创建产品关联 - * - * @param createReqVO 创建信息 - * @return 编号 - */ - Long createTemplateItem(@Valid MesQcTemplateItemSaveReqVO createReqVO); - - /** - * 更新产品关联 - * - * @param updateReqVO 更新信息 - */ - void updateTemplateItem(@Valid MesQcTemplateItemSaveReqVO updateReqVO); - - /** - * 删除产品关联 - * - * @param id 编号 - */ - void deleteTemplateItem(Long id); - - /** - * 获得产品关联 - * - * @param id 编号 - * @return 产品关联 - */ - MesQcTemplateItemDO getTemplateItem(Long id); - - /** - * 获得产品关联分页 - * - * @param pageReqVO 分页查询 - * @return 产品关联分页 - */ - PageResult getTemplateItemPage(MesQcTemplateItemPageReqVO pageReqVO); - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcTemplateServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcTemplateServiceImpl.java deleted file mode 100644 index a54f3ba..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/MesQcTemplateServiceImpl.java +++ /dev/null @@ -1,230 +0,0 @@ -package cn.iocoder.yudao.module.mes.service.qc; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjUtil; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.MesQcTemplatePageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.MesQcTemplateSaveReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.MesQcTemplateIndicatorPageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.MesQcTemplateIndicatorSaveReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.item.MesQcTemplateItemPageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.item.MesQcTemplateItemSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcTemplateDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcTemplateIndicatorDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.qc.MesQcTemplateItemDO; -import cn.iocoder.yudao.module.mes.dal.mysql.qc.MesQcIndicatorMapper; -import cn.iocoder.yudao.module.mes.dal.mysql.qc.MesQcTemplateIndicatorMapper; -import cn.iocoder.yudao.module.mes.dal.mysql.qc.MesQcTemplateItemMapper; -import cn.iocoder.yudao.module.mes.dal.mysql.qc.MesQcTemplateMapper; -import jakarta.annotation.Resource; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.validation.annotation.Validated; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; - -/** - * MES 质检方案 Service 实现类 - * - * @author 芋道源码 - */ -@Service -@Validated -public class MesQcTemplateServiceImpl implements MesQcTemplateService { - - @Resource - private MesQcTemplateMapper templateMapper; - @Resource - private MesQcTemplateIndicatorMapper templateIndicatorMapper; - @Resource - private MesQcTemplateItemMapper templateItemMapper; - @Resource - private MesQcIndicatorMapper indicatorMapper; - - // ========== 质检方案主表 ========== - - @Override - public Long createTemplate(MesQcTemplateSaveReqVO createReqVO) { - // 校验编码唯一 - validateTemplateCodeUnique(null, createReqVO.getCode()); - - // 插入 - MesQcTemplateDO template = BeanUtils.toBean(createReqVO, MesQcTemplateDO.class); - templateMapper.insert(template); - return template.getId(); - } - - @Override - public void updateTemplate(MesQcTemplateSaveReqVO updateReqVO) { - // 校验存在 - validateTemplateExists(updateReqVO.getId()); - // 校验编码唯一 - validateTemplateCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); - // 更新 - MesQcTemplateDO updateObj = BeanUtils.toBean(updateReqVO, MesQcTemplateDO.class); - templateMapper.updateById(updateObj); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteTemplate(Long id) { - // 校验存在 - validateTemplateExists(id); - // 删除主表 - templateMapper.deleteById(id); - // 级联删除检测指标项 - templateIndicatorMapper.deleteByTemplateId(id); - // 级联删除产品关联 - templateItemMapper.deleteByTemplateId(id); - } - - private void validateTemplateExists(Long id) { - if (templateMapper.selectById(id) == null) { - throw exception(QC_TEMPLATE_NOT_EXISTS); - } - } - - private void validateTemplateCodeUnique(Long id, String code) { - MesQcTemplateDO template = templateMapper.selectByCode(code); - if (template == null) { - return; - } - if (ObjUtil.notEqual(template.getId(), id)) { - throw exception(QC_TEMPLATE_CODE_DUPLICATE); - } - } - - @Override - public MesQcTemplateDO getTemplate(Long id) { - return templateMapper.selectById(id); - } - - @Override - public PageResult getTemplatePage(MesQcTemplatePageReqVO pageReqVO) { - return templateMapper.selectPage(pageReqVO); - } - - @Override - public List getTemplateList() { - return templateMapper.selectList(); - } - - @Override - public List getTemplateList(Collection ids) { - if (CollUtil.isEmpty(ids)) { - return Collections.emptyList(); - } - return templateMapper.selectByIds(ids); - } - - // ========== 质检方案-检测指标项 ========== - - @Override - public Long createTemplateIndicator(MesQcTemplateIndicatorSaveReqVO createReqVO) { - // 校验方案存在 - validateTemplateExists(createReqVO.getTemplateId()); - // 插入 - MesQcTemplateIndicatorDO indicator = BeanUtils.toBean(createReqVO, MesQcTemplateIndicatorDO.class); - templateIndicatorMapper.insert(indicator); - return indicator.getId(); - } - - @Override - public void updateTemplateIndicator(MesQcTemplateIndicatorSaveReqVO updateReqVO) { - // 校验存在 - validateTemplateIndicatorExists(updateReqVO.getId()); - // 更新 - MesQcTemplateIndicatorDO updateObj = BeanUtils.toBean(updateReqVO, MesQcTemplateIndicatorDO.class); - templateIndicatorMapper.updateById(updateObj); - } - - @Override - public void deleteTemplateIndicator(Long id) { - // 校验存在 - validateTemplateIndicatorExists(id); - // 删除 - templateIndicatorMapper.deleteById(id); - } - - private void validateTemplateIndicatorExists(Long id) { - if (templateIndicatorMapper.selectById(id) == null) { - throw exception(QC_TEMPLATE_INDICATOR_NOT_EXISTS); - } - } - - @Override - public MesQcTemplateIndicatorDO getTemplateIndicator(Long id) { - return templateIndicatorMapper.selectById(id); - } - - @Override - public PageResult getTemplateIndicatorPage(MesQcTemplateIndicatorPageReqVO pageReqVO) { - return templateIndicatorMapper.selectPage(pageReqVO); - } - - // ========== 质检方案-产品关联 ========== - - @Override - public Long createTemplateItem(MesQcTemplateItemSaveReqVO createReqVO) { - // 校验方案存在 - validateTemplateExists(createReqVO.getTemplateId()); - // 校验产品在此方案中唯一 - validateTemplateItemNotDuplicate(null, createReqVO.getTemplateId(), createReqVO.getItemId()); - // 插入 - MesQcTemplateItemDO item = BeanUtils.toBean(createReqVO, MesQcTemplateItemDO.class); - templateItemMapper.insert(item); - return item.getId(); - } - - @Override - public void updateTemplateItem(MesQcTemplateItemSaveReqVO updateReqVO) { - // 校验存在 - validateTemplateItemExists(updateReqVO.getId()); - // 校验产品在此方案中唯一 - validateTemplateItemNotDuplicate(updateReqVO.getId(), updateReqVO.getTemplateId(), updateReqVO.getItemId()); - // 更新 - MesQcTemplateItemDO updateObj = BeanUtils.toBean(updateReqVO, MesQcTemplateItemDO.class); - templateItemMapper.updateById(updateObj); - } - - @Override - public void deleteTemplateItem(Long id) { - // 校验存在 - validateTemplateItemExists(id); - // 删除 - templateItemMapper.deleteById(id); - } - - private void validateTemplateItemExists(Long id) { - if (templateItemMapper.selectById(id) == null) { - throw exception(QC_TEMPLATE_ITEM_NOT_EXISTS); - } - } - - private void validateTemplateItemNotDuplicate(Long id, Long templateId, Long itemId) { - MesQcTemplateItemDO existing = templateItemMapper.selectByTemplateIdAndItemId(templateId, itemId); - if (existing == null) { - return; - } - if (ObjUtil.notEqual(existing.getId(), id)) { - throw exception(QC_TEMPLATE_ITEM_DUPLICATE); - } - } - - @Override - public MesQcTemplateItemDO getTemplateItem(Long id) { - return templateItemMapper.selectById(id); - } - - @Override - public PageResult getTemplateItemPage(MesQcTemplateItemPageReqVO pageReqVO) { - return templateItemMapper.selectPage(pageReqVO); - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/defect/MesQcDefectService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/defect/MesQcDefectService.java new file mode 100644 index 0000000..0ba0882 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/defect/MesQcDefectService.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.mes.service.qc.defect; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mes.controller.admin.qc.defect.vo.MesQcDefectPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.defect.vo.MesQcDefectSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.defect.MesQcDefectDO; +import jakarta.validation.Valid; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; + +/** + * MES 缺陷类型 Service 接口 + * + * @author 芋道源码 + */ +public interface MesQcDefectService { + + /** + * 创建缺陷类型 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createDefect(@Valid MesQcDefectSaveReqVO createReqVO); + + /** + * 更新缺陷类型 + * + * @param updateReqVO 更新信息 + */ + void updateDefect(@Valid MesQcDefectSaveReqVO updateReqVO); + + /** + * 删除缺陷类型 + * + * @param id 编号 + */ + void deleteDefect(Long id); + + /** + * 获得缺陷类型 + * + * @param id 编号 + * @return 缺陷类型 + */ + MesQcDefectDO getDefect(Long id); + + /** + * 获得缺陷类型分页 + * + * @param pageReqVO 分页查询 + * @return 缺陷类型分页 + */ + PageResult getDefectPage(MesQcDefectPageReqVO pageReqVO); + + /** + * 获得缺陷类型列表 + * + * @return 缺陷类型列表 + */ + List getDefectList(); + + /** + * 获得缺陷类型列表 + * + * @param ids 编号数组 + * @return 缺陷类型列表 + */ + List getDefectList(Collection ids); + + /** + * 获得缺陷类型 Map + * + * @param ids 编号数组 + * @return 缺陷类型 Map + */ + default Map getDefectMap(Collection ids) { + return convertMap(getDefectList(ids), MesQcDefectDO::getId); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/defect/MesQcDefectServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/defect/MesQcDefectServiceImpl.java new file mode 100644 index 0000000..a084b2a --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/defect/MesQcDefectServiceImpl.java @@ -0,0 +1,118 @@ +package cn.iocoder.yudao.module.mes.service.qc.defect; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.mes.controller.admin.qc.defect.vo.MesQcDefectPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.defect.vo.MesQcDefectSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.defect.MesQcDefectDO; +import cn.iocoder.yudao.module.mes.dal.mysql.qc.defect.MesQcDefectMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; + +/** + * MES 缺陷类型 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class MesQcDefectServiceImpl implements MesQcDefectService { + + @Resource + private MesQcDefectMapper defectMapper; + + @Override + public Long createDefect(MesQcDefectSaveReqVO createReqVO) { + // 校验编码唯一 + validateDefectCodeUnique(null, createReqVO.getCode()); + // 校验名称唯一 + validateDefectNameUnique(null, createReqVO.getName()); + + // 插入 + MesQcDefectDO defect = BeanUtils.toBean(createReqVO, MesQcDefectDO.class); + defectMapper.insert(defect); + return defect.getId(); + } + + @Override + public void updateDefect(MesQcDefectSaveReqVO updateReqVO) { + // 校验存在 + validateDefectExists(updateReqVO.getId()); + // 校验编码唯一 + validateDefectCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); + // 校验名称唯一 + validateDefectNameUnique(updateReqVO.getId(), updateReqVO.getName()); + + // 更新 + MesQcDefectDO updateObj = BeanUtils.toBean(updateReqVO, MesQcDefectDO.class); + defectMapper.updateById(updateObj); + } + + @Override + public void deleteDefect(Long id) { + // 校验存在 + validateDefectExists(id); + // 删除 + defectMapper.deleteById(id); + } + + private void validateDefectExists(Long id) { + if (defectMapper.selectById(id) == null) { + throw exception(QC_DEFECT_NOT_EXISTS); + } + } + + private void validateDefectCodeUnique(Long id, String code) { + MesQcDefectDO defect = defectMapper.selectByCode(code); + if (defect == null) { + return; + } + if (ObjUtil.notEqual(defect.getId(), id)) { + throw exception(QC_DEFECT_CODE_DUPLICATE); + } + } + + private void validateDefectNameUnique(Long id, String name) { + MesQcDefectDO defect = defectMapper.selectByName(name); + if (defect == null) { + return; + } + if (ObjUtil.notEqual(defect.getId(), id)) { + throw exception(QC_DEFECT_NAME_DUPLICATE); + } + } + + @Override + public MesQcDefectDO getDefect(Long id) { + return defectMapper.selectById(id); + } + + @Override + public PageResult getDefectPage(MesQcDefectPageReqVO pageReqVO) { + return defectMapper.selectPage(pageReqVO); + } + + @Override + public List getDefectList() { + return defectMapper.selectList(); + } + + @Override + public List getDefectList(Collection ids) { + if (CollUtil.isEmpty(ids)) { + return Collections.emptyList(); + } + return defectMapper.selectByIds(ids); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicator/MesQcIndicatorService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicator/MesQcIndicatorService.java new file mode 100644 index 0000000..8a9f5cb --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicator/MesQcIndicatorService.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.mes.service.qc.indicator; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mes.controller.admin.qc.indicator.vo.MesQcIndicatorPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.indicator.vo.MesQcIndicatorSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO; +import jakarta.validation.Valid; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; + +/** + * MES 质检指标 Service 接口 + * + * @author 芋道源码 + */ +public interface MesQcIndicatorService { + + /** + * 创建质检指标 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createIndicator(@Valid MesQcIndicatorSaveReqVO createReqVO); + + /** + * 更新质检指标 + * + * @param updateReqVO 更新信息 + */ + void updateIndicator(@Valid MesQcIndicatorSaveReqVO updateReqVO); + + /** + * 删除质检指标 + * + * @param id 编号 + */ + void deleteIndicator(Long id); + + /** + * 获得质检指标 + * + * @param id 编号 + * @return 质检指标 + */ + MesQcIndicatorDO getIndicator(Long id); + + /** + * 获得质检指标分页 + * + * @param pageReqVO 分页查询 + * @return 质检指标分页 + */ + PageResult getIndicatorPage(MesQcIndicatorPageReqVO pageReqVO); + + /** + * 获得质检指标列表 + * + * @return 质检指标列表 + */ + List getIndicatorList(); + + /** + * 获得质检指标列表 + * + * @param ids 编号数组 + * @return 质检指标列表 + */ + List getIndicatorList(Collection ids); + + /** + * 获得质检指标 Map + * + * @param ids 编号数组 + * @return 质检指标 Map + */ + default Map getIndicatorMap(Collection ids) { + return convertMap(getIndicatorList(ids), MesQcIndicatorDO::getId); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicator/MesQcIndicatorServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicator/MesQcIndicatorServiceImpl.java new file mode 100644 index 0000000..519f4d9 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/indicator/MesQcIndicatorServiceImpl.java @@ -0,0 +1,118 @@ +package cn.iocoder.yudao.module.mes.service.qc.indicator; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.mes.controller.admin.qc.indicator.vo.MesQcIndicatorPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.indicator.vo.MesQcIndicatorSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO; +import cn.iocoder.yudao.module.mes.dal.mysql.qc.indicator.MesQcIndicatorMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; + +/** + * MES 质检指标 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class MesQcIndicatorServiceImpl implements MesQcIndicatorService { + + @Resource + private MesQcIndicatorMapper indicatorMapper; + + @Override + public Long createIndicator(MesQcIndicatorSaveReqVO createReqVO) { + // 校验编码唯一 + validateIndicatorCodeUnique(null, createReqVO.getCode()); + // 校验名称唯一 + validateIndicatorNameUnique(null, createReqVO.getName()); + + // 插入 + MesQcIndicatorDO indicator = BeanUtils.toBean(createReqVO, MesQcIndicatorDO.class); + indicatorMapper.insert(indicator); + return indicator.getId(); + } + + @Override + public void updateIndicator(MesQcIndicatorSaveReqVO updateReqVO) { + // 校验存在 + validateIndicatorExists(updateReqVO.getId()); + // 校验编码唯一 + validateIndicatorCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); + // 校验名称唯一 + validateIndicatorNameUnique(updateReqVO.getId(), updateReqVO.getName()); + + // 更新 + MesQcIndicatorDO updateObj = BeanUtils.toBean(updateReqVO, MesQcIndicatorDO.class); + indicatorMapper.updateById(updateObj); + } + + @Override + public void deleteIndicator(Long id) { + // 校验存在 + validateIndicatorExists(id); + // 删除 + indicatorMapper.deleteById(id); + } + + private void validateIndicatorExists(Long id) { + if (indicatorMapper.selectById(id) == null) { + throw exception(QC_INDICATOR_NOT_EXISTS); + } + } + + private void validateIndicatorCodeUnique(Long id, String code) { + MesQcIndicatorDO indicator = indicatorMapper.selectByCode(code); + if (indicator == null) { + return; + } + if (ObjUtil.notEqual(indicator.getId(), id)) { + throw exception(QC_INDICATOR_CODE_DUPLICATE); + } + } + + private void validateIndicatorNameUnique(Long id, String name) { + MesQcIndicatorDO indicator = indicatorMapper.selectByName(name); + if (indicator == null) { + return; + } + if (ObjUtil.notEqual(indicator.getId(), id)) { + throw exception(QC_INDICATOR_NAME_DUPLICATE); + } + } + + @Override + public MesQcIndicatorDO getIndicator(Long id) { + return indicatorMapper.selectById(id); + } + + @Override + public PageResult getIndicatorPage(MesQcIndicatorPageReqVO pageReqVO) { + return indicatorMapper.selectPage(pageReqVO); + } + + @Override + public List getIndicatorList() { + return indicatorMapper.selectList(); + } + + @Override + public List getIndicatorList(Collection ids) { + if (CollUtil.isEmpty(ids)) { + return Collections.emptyList(); + } + return indicatorMapper.selectByIds(ids); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/lqc/MesQcIqcService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/lqc/MesQcIqcService.java new file mode 100644 index 0000000..57e9ce1 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/lqc/MesQcIqcService.java @@ -0,0 +1,118 @@ +package cn.iocoder.yudao.module.mes.service.qc.lqc; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.*; +import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.defect.MesQcIqcDefectPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.defect.MesQcIqcDefectSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.line.MesQcIqcLinePageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc.MesQcIqcDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc.MesQcIqcDefectDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc.MesQcIqcLineDO; +import jakarta.validation.Valid; + +// TODO @AI:和别的模块一样,拆分成多个 service +/** + * MES 来料检验单(IQC) Service 接口 + * + * @author 芋道源码 + */ +public interface MesQcIqcService { + + // ========== 来料检验主表 ========== + + /** + * 创建来料检验单 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createIqc(@Valid MesQcIqcSaveReqVO createReqVO); + + /** + * 更新来料检验单 + * + * @param updateReqVO 更新信息 + */ + void updateIqc(@Valid MesQcIqcSaveReqVO updateReqVO); + + /** + * 完成来料检验单 + * + * @param id 编号 + */ + void completeIqc(Long id); + + /** + * 删除来料检验单 + * + * @param id 编号 + */ + void deleteIqc(Long id); + + /** + * 获得来料检验单 + * + * @param id 编号 + * @return 来料检验单 + */ + MesQcIqcDO getIqc(Long id); + + /** + * 获得来料检验单分页 + * + * @param pageReqVO 分页查询 + * @return 来料检验单分页 + */ + PageResult getIqcPage(MesQcIqcPageReqVO pageReqVO); + + // ========== 来料检验行(只读) ========== + + /** + * 获得来料检验行 + * + * @param id 编号 + * @return 来料检验行 + */ + MesQcIqcLineDO getIqcLine(Long id); + + /** + * 获得来料检验行分页 + * + * @param pageReqVO 分页查询 + * @return 来料检验行分页 + */ + PageResult getIqcLinePage(MesQcIqcLinePageReqVO pageReqVO); + + // ========== 来料检验缺陷记录 ========== + + /** + * 创建来料检验缺陷记录 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createIqcDefect(@Valid MesQcIqcDefectSaveReqVO createReqVO); + + /** + * 更新来料检验缺陷记录 + * + * @param updateReqVO 更新信息 + */ + void updateIqcDefect(@Valid MesQcIqcDefectSaveReqVO updateReqVO); + + /** + * 删除来料检验缺陷记录 + * + * @param id 编号 + */ + void deleteIqcDefect(Long id); + + /** + * 获得来料检验缺陷记录分页 + * + * @param pageReqVO 分页查询 + * @return 来料检验缺陷记录分页 + */ + PageResult getIqcDefectPage(MesQcIqcDefectPageReqVO pageReqVO); + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/lqc/MesQcIqcServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/lqc/MesQcIqcServiceImpl.java new file mode 100644 index 0000000..1fe6d1c --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/lqc/MesQcIqcServiceImpl.java @@ -0,0 +1,343 @@ +package cn.iocoder.yudao.module.mes.service.qc.lqc; + +import cn.hutool.core.util.ObjUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.*; +import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.defect.MesQcIqcDefectPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.defect.MesQcIqcDefectSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.iqc.vo.line.MesQcIqcLinePageReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc.MesQcIqcDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc.MesQcIqcDefectDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.lqc.MesQcIqcLineDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateIndicatorDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateItemDO; +import cn.iocoder.yudao.module.mes.dal.mysql.qc.lqc.MesQcIqcDefectMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.qc.lqc.MesQcIqcLineMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.qc.lqc.MesQcIqcMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.qc.template.MesQcTemplateIndicatorMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.qc.template.MesQcTemplateItemMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.qc.template.MesQcTemplateMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.List; +import java.util.Objects; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; + +// TODO @AI:和别的模块一样,拆分成多个 service +/** + * MES 来料检验单(IQC) Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class MesQcIqcServiceImpl implements MesQcIqcService { + + // TODO @AI:搞个枚举类; + /** + * IQC 检测种类值(对应 mes_qc_type 字典 value=1) + */ + private static final int QC_TYPE_IQC = 1; + + @Resource + private MesQcIqcMapper iqcMapper; + @Resource + private MesQcIqcLineMapper iqcLineMapper; + @Resource + private MesQcIqcDefectMapper iqcDefectMapper; + @Resource + private MesQcTemplateMapper templateMapper; + @Resource + private MesQcTemplateIndicatorMapper templateIndicatorMapper; + @Resource + private MesQcTemplateItemMapper templateItemMapper; + + // ========== 来料检验主表 ========== + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createIqc(MesQcIqcSaveReqVO createReqVO) { + // 1. 校验编号唯一 + validateIqcCodeUnique(null, createReqVO.getCode()); + + // 2. 查找物料关联的 IQC 检测模板 + Long templateId = createReqVO.getTemplateId(); + MesQcTemplateDO template = templateMapper.selectById(templateId); + if (template == null || template.getTypes() == null || !template.getTypes().contains(QC_TYPE_IQC)) { + throw exception(QC_IQC_NO_TEMPLATE); + } + + // 3. 从模板的产品关联中获取检测参数(min_check_quantity、max_unqualified_quantity) + MesQcTemplateItemDO templateItem = templateItemMapper.selectByTemplateIdAndItemId( + templateId, createReqVO.getItemId()); + if (templateItem != null) { + if (createReqVO.getMinCheckQuantity() == null) { + createReqVO.setMinCheckQuantity(templateItem.getQuantityCheck()); + } + if (createReqVO.getMaxUnqualifiedQuantity() == null) { + createReqVO.setMaxUnqualifiedQuantity(templateItem.getQuantityUnqualified()); + } + } + + // 4. 插入主表 + MesQcIqcDO iqc = BeanUtils.toBean(createReqVO, MesQcIqcDO.class); + iqc.setStatus(0); // 草稿 + iqcMapper.insert(iqc); + + // 5. 从模板指标自动生成检验行 + List indicators = templateIndicatorMapper.selectListByTemplateId(templateId); + for (MesQcTemplateIndicatorDO indicator : indicators) { + MesQcIqcLineDO line = new MesQcIqcLineDO(); + line.setIqcId(iqc.getId()); + line.setIndicatorId(indicator.getIndicatorId()); + line.setToolId(null); // TODO @芋艿:模板指标暂无 toolId,后续可扩展 + line.setCheckMethod(indicator.getCheckMethod()); + line.setStandardValue(indicator.getStandardValue()); + line.setUnitMeasureId(indicator.getUnitMeasureId()); + line.setMaxThreshold(indicator.getThresholdMax()); + line.setMinThreshold(indicator.getThresholdMin()); + line.setCriticalQuantity(0); + line.setMajorQuantity(0); + line.setMinorQuantity(0); + iqcLineMapper.insert(line); + } + + return iqc.getId(); + } + + @Override + public void updateIqc(MesQcIqcSaveReqVO updateReqVO) { + // 1. 校验存在 + MesQcIqcDO iqc = validateIqcExists(updateReqVO.getId()); + // 2. 校验状态为草稿 + if (!Objects.equals(iqc.getStatus(), 0)) { + throw exception(QC_IQC_ONLY_PREPARE_CAN_COMPLETE); + } + // 3. 校验编号唯一 + validateIqcCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); + // 4. 更新 + MesQcIqcDO updateObj = BeanUtils.toBean(updateReqVO, MesQcIqcDO.class); + iqcMapper.updateById(updateObj); + } + + @Override + public void completeIqc(Long id) { + // 1. 校验存在 + MesQcIqcDO iqc = validateIqcExists(id); + // 2. 校验状态为草稿 + if (!Objects.equals(iqc.getStatus(), 0)) { + throw exception(QC_IQC_ONLY_PREPARE_CAN_COMPLETE); + } + // 3. 校验合格品 + 不合格品 = 检测数量 + if (iqc.getCheckQuantity() != null && iqc.getCheckQuantity() > 0) { + int total = (iqc.getQualifiedQuantity() != null ? iqc.getQualifiedQuantity() : 0) + + (iqc.getUnqualifiedQuantity() != null ? iqc.getUnqualifiedQuantity() : 0); + if (total != iqc.getCheckQuantity()) { + throw exception(QC_IQC_QUANTITY_MISMATCH); + } + } + // 4. 更新状态为已完成 + MesQcIqcDO updateObj = new MesQcIqcDO(); + updateObj.setId(id); + updateObj.setStatus(1); + iqcMapper.updateById(updateObj); + // TODO @芋艿:WM 模块迁移后,更新到货通知单行/外协入库单行的检验结果 + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteIqc(Long id) { + // 1. 校验存在 + MesQcIqcDO iqc = validateIqcExists(id); + // 2. 仅草稿可删 + if (!Objects.equals(iqc.getStatus(), 0)) { + throw exception(QC_IQC_ONLY_PREPARE_CAN_DELETE); + } + // 3. 删除主表 + iqcMapper.deleteById(id); + // 4. 级联删除行 + iqcLineMapper.deleteByIqcId(id); + // 5. 级联删除缺陷记录 + iqcDefectMapper.deleteByIqcId(id); + } + + private MesQcIqcDO validateIqcExists(Long id) { + MesQcIqcDO iqc = iqcMapper.selectById(id); + if (iqc == null) { + throw exception(QC_IQC_NOT_EXISTS); + } + return iqc; + } + + private void validateIqcCodeUnique(Long id, String code) { + MesQcIqcDO iqc = iqcMapper.selectByCode(code); + if (iqc == null) { + return; + } + if (ObjUtil.notEqual(iqc.getId(), id)) { + throw exception(QC_IQC_CODE_DUPLICATE); + } + } + + @Override + public MesQcIqcDO getIqc(Long id) { + return iqcMapper.selectById(id); + } + + @Override + public PageResult getIqcPage(MesQcIqcPageReqVO pageReqVO) { + return iqcMapper.selectPage(pageReqVO); + } + + // ========== 来料检验行(只读) ========== + + @Override + public MesQcIqcLineDO getIqcLine(Long id) { + return iqcLineMapper.selectById(id); + } + + @Override + public PageResult getIqcLinePage(MesQcIqcLinePageReqVO pageReqVO) { + return iqcLineMapper.selectPage(pageReqVO); + } + + // ========== 来料检验缺陷记录 ========== + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createIqcDefect(MesQcIqcDefectSaveReqVO createReqVO) { + // 1. 校验 IQC 存在 + validateIqcExists(createReqVO.getIqcId()); + // 2. 校验行存在 + validateIqcLineExists(createReqVO.getLineId()); + // 3. 插入 + MesQcIqcDefectDO defect = BeanUtils.toBean(createReqVO, MesQcIqcDefectDO.class); + iqcDefectMapper.insert(defect); + // 4. 重新计算缺陷统计 + recalculateDefectStats(createReqVO.getIqcId()); + return defect.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateIqcDefect(MesQcIqcDefectSaveReqVO updateReqVO) { + // 1. 校验存在 + validateIqcDefectExists(updateReqVO.getId()); + // 2. 更新 + MesQcIqcDefectDO updateObj = BeanUtils.toBean(updateReqVO, MesQcIqcDefectDO.class); + iqcDefectMapper.updateById(updateObj); + // 3. 重新计算缺陷统计 + recalculateDefectStats(updateReqVO.getIqcId()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteIqcDefect(Long id) { + // 1. 校验存在 + MesQcIqcDefectDO defect = validateIqcDefectExists(id); + // 2. 删除 + iqcDefectMapper.deleteById(id); + // 3. 重新计算缺陷统计 + recalculateDefectStats(defect.getIqcId()); + } + + private void validateIqcLineExists(Long id) { + if (iqcLineMapper.selectById(id) == null) { + throw exception(QC_IQC_LINE_NOT_EXISTS); + } + } + + private MesQcIqcDefectDO validateIqcDefectExists(Long id) { + MesQcIqcDefectDO defect = iqcDefectMapper.selectById(id); + if (defect == null) { + throw exception(QC_IQC_DEFECT_NOT_EXISTS); + } + return defect; + } + + @Override + public PageResult getIqcDefectPage(MesQcIqcDefectPageReqVO pageReqVO) { + return iqcDefectMapper.selectPage(pageReqVO); + } + + // ========== 内部方法 ========== + + /** + * 重新计算缺陷统计(行级 + 主表级) + * + * @param iqcId 来料检验单 ID + */ + private void recalculateDefectStats(Long iqcId) { + // 1. 查询所有缺陷记录 + List defects = iqcDefectMapper.selectListByIqcId(iqcId); + + // 2. 更新每行的缺陷数量 + List lines = iqcLineMapper.selectListByIqcId(iqcId); + for (MesQcIqcLineDO line : lines) { + int critical = 0, major = 0, minor = 0; + for (MesQcIqcDefectDO defect : defects) { + if (Objects.equals(defect.getLineId(), line.getId())) { + int qty = defect.getDefectQuantity() != null ? defect.getDefectQuantity() : 1; + switch (defect.getDefectLevel()) { + case "CRITICAL": critical += qty; break; + case "MAJOR": major += qty; break; + case "MINOR": minor += qty; break; + } + } + } + MesQcIqcLineDO updateLine = new MesQcIqcLineDO(); + updateLine.setId(line.getId()); + updateLine.setCriticalQuantity(critical); + updateLine.setMajorQuantity(major); + updateLine.setMinorQuantity(minor); + iqcLineMapper.updateById(updateLine); + } + + // 3. 汇总主表的缺陷数量 + int totalCritical = 0, totalMajor = 0, totalMinor = 0; + for (MesQcIqcDefectDO defect : defects) { + int qty = defect.getDefectQuantity() != null ? defect.getDefectQuantity() : 1; + switch (defect.getDefectLevel()) { + case "CRITICAL": totalCritical += qty; break; + case "MAJOR": totalMajor += qty; break; + case "MINOR": totalMinor += qty; break; + } + } + + // 4. 计算缺陷率 + MesQcIqcDO iqc = iqcMapper.selectById(iqcId); + BigDecimal criticalRate = BigDecimal.ZERO; + BigDecimal majorRate = BigDecimal.ZERO; + BigDecimal minorRate = BigDecimal.ZERO; + if (iqc != null && iqc.getCheckQuantity() != null && iqc.getCheckQuantity() > 0) { + BigDecimal checkQty = BigDecimal.valueOf(iqc.getCheckQuantity()); + criticalRate = BigDecimal.valueOf(totalCritical).multiply(BigDecimal.valueOf(100)) + .divide(checkQty, 2, RoundingMode.HALF_UP); + majorRate = BigDecimal.valueOf(totalMajor).multiply(BigDecimal.valueOf(100)) + .divide(checkQty, 2, RoundingMode.HALF_UP); + minorRate = BigDecimal.valueOf(totalMinor).multiply(BigDecimal.valueOf(100)) + .divide(checkQty, 2, RoundingMode.HALF_UP); + } + + // 5. 更新主表 + MesQcIqcDO updateIqc = new MesQcIqcDO(); + updateIqc.setId(iqcId); + updateIqc.setCriticalQuantity(totalCritical); + updateIqc.setMajorQuantity(totalMajor); + updateIqc.setMinorQuantity(totalMinor); + updateIqc.setCriticalRate(criticalRate); + updateIqc.setMajorRate(majorRate); + updateIqc.setMinorRate(minorRate); + iqcMapper.updateById(updateIqc); + } + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateService.java new file mode 100644 index 0000000..55af914 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateService.java @@ -0,0 +1,173 @@ +package cn.iocoder.yudao.module.mes.service.qc.template; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.MesQcTemplatePageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.MesQcTemplateSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.MesQcTemplateIndicatorPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.MesQcTemplateIndicatorSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.item.MesQcTemplateItemPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.item.MesQcTemplateItemSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateIndicatorDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateItemDO; +import jakarta.validation.Valid; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; + +/** + * MES 质检方案 Service 接口 + * + * @author 芋道源码 + */ +public interface MesQcTemplateService { + + // ========== 质检方案主表 ========== + + /** + * 创建质检方案 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createTemplate(@Valid MesQcTemplateSaveReqVO createReqVO); + + /** + * 更新质检方案 + * + * @param updateReqVO 更新信息 + */ + void updateTemplate(@Valid MesQcTemplateSaveReqVO updateReqVO); + + /** + * 删除质检方案(级联删除检测指标项和产品关联) + * + * @param id 编号 + */ + void deleteTemplate(Long id); + + /** + * 获得质检方案 + * + * @param id 编号 + * @return 质检方案 + */ + MesQcTemplateDO getTemplate(Long id); + + /** + * 获得质检方案分页 + * + * @param pageReqVO 分页查询 + * @return 质检方案分页 + */ + PageResult getTemplatePage(MesQcTemplatePageReqVO pageReqVO); + + /** + * 获得质检方案列表(用于下拉选择) + * + * @return 质检方案列表 + */ + List getTemplateList(); + + /** + * 获得质检方案列表 + * + * @param ids 编号数组 + * @return 质检方案列表 + */ + List getTemplateList(Collection ids); + + /** + * 获得质检方案 Map + * + * @param ids 编号数组 + * @return 质检方案 Map + */ + default Map getTemplateMap(Collection ids) { + return convertMap(getTemplateList(ids), MesQcTemplateDO::getId); + } + + // ========== 质检方案-检测指标项 ========== + + /** + * 创建检测指标项 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createTemplateIndicator(@Valid MesQcTemplateIndicatorSaveReqVO createReqVO); + + /** + * 更新检测指标项 + * + * @param updateReqVO 更新信息 + */ + void updateTemplateIndicator(@Valid MesQcTemplateIndicatorSaveReqVO updateReqVO); + + /** + * 删除检测指标项 + * + * @param id 编号 + */ + void deleteTemplateIndicator(Long id); + + /** + * 获得检测指标项 + * + * @param id 编号 + * @return 检测指标项 + */ + MesQcTemplateIndicatorDO getTemplateIndicator(Long id); + + /** + * 获得检测指标项分页 + * + * @param pageReqVO 分页查询 + * @return 检测指标项分页 + */ + PageResult getTemplateIndicatorPage(MesQcTemplateIndicatorPageReqVO pageReqVO); + + // ========== 质检方案-产品关联 ========== + + /** + * 创建产品关联 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createTemplateItem(@Valid MesQcTemplateItemSaveReqVO createReqVO); + + /** + * 更新产品关联 + * + * @param updateReqVO 更新信息 + */ + void updateTemplateItem(@Valid MesQcTemplateItemSaveReqVO updateReqVO); + + /** + * 删除产品关联 + * + * @param id 编号 + */ + void deleteTemplateItem(Long id); + + /** + * 获得产品关联 + * + * @param id 编号 + * @return 产品关联 + */ + MesQcTemplateItemDO getTemplateItem(Long id); + + /** + * 获得产品关联分页 + * + * @param pageReqVO 分页查询 + * @return 产品关联分页 + */ + PageResult getTemplateItemPage(MesQcTemplateItemPageReqVO pageReqVO); + +} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateServiceImpl.java new file mode 100644 index 0000000..1cf8486 --- /dev/null +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateServiceImpl.java @@ -0,0 +1,230 @@ +package cn.iocoder.yudao.module.mes.service.qc.template; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjUtil; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.MesQcTemplatePageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.MesQcTemplateSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.MesQcTemplateIndicatorPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.indicator.MesQcTemplateIndicatorSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.item.MesQcTemplateItemPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.qc.template.vo.item.MesQcTemplateItemSaveReqVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateIndicatorDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.qc.template.MesQcTemplateItemDO; +import cn.iocoder.yudao.module.mes.dal.mysql.qc.indicator.MesQcIndicatorMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.qc.template.MesQcTemplateIndicatorMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.qc.template.MesQcTemplateItemMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.qc.template.MesQcTemplateMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; + +/** + * MES 质检方案 Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class MesQcTemplateServiceImpl implements MesQcTemplateService { + + @Resource + private MesQcTemplateMapper templateMapper; + @Resource + private MesQcTemplateIndicatorMapper templateIndicatorMapper; + @Resource + private MesQcTemplateItemMapper templateItemMapper; + @Resource + private MesQcIndicatorMapper indicatorMapper; + + // ========== 质检方案主表 ========== + + @Override + public Long createTemplate(MesQcTemplateSaveReqVO createReqVO) { + // 校验编码唯一 + validateTemplateCodeUnique(null, createReqVO.getCode()); + + // 插入 + MesQcTemplateDO template = BeanUtils.toBean(createReqVO, MesQcTemplateDO.class); + templateMapper.insert(template); + return template.getId(); + } + + @Override + public void updateTemplate(MesQcTemplateSaveReqVO updateReqVO) { + // 校验存在 + validateTemplateExists(updateReqVO.getId()); + // 校验编码唯一 + validateTemplateCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); + // 更新 + MesQcTemplateDO updateObj = BeanUtils.toBean(updateReqVO, MesQcTemplateDO.class); + templateMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteTemplate(Long id) { + // 校验存在 + validateTemplateExists(id); + // 删除主表 + templateMapper.deleteById(id); + // 级联删除检测指标项 + templateIndicatorMapper.deleteByTemplateId(id); + // 级联删除产品关联 + templateItemMapper.deleteByTemplateId(id); + } + + private void validateTemplateExists(Long id) { + if (templateMapper.selectById(id) == null) { + throw exception(QC_TEMPLATE_NOT_EXISTS); + } + } + + private void validateTemplateCodeUnique(Long id, String code) { + MesQcTemplateDO template = templateMapper.selectByCode(code); + if (template == null) { + return; + } + if (ObjUtil.notEqual(template.getId(), id)) { + throw exception(QC_TEMPLATE_CODE_DUPLICATE); + } + } + + @Override + public MesQcTemplateDO getTemplate(Long id) { + return templateMapper.selectById(id); + } + + @Override + public PageResult getTemplatePage(MesQcTemplatePageReqVO pageReqVO) { + return templateMapper.selectPage(pageReqVO); + } + + @Override + public List getTemplateList() { + return templateMapper.selectList(); + } + + @Override + public List getTemplateList(Collection ids) { + if (CollUtil.isEmpty(ids)) { + return Collections.emptyList(); + } + return templateMapper.selectByIds(ids); + } + + // ========== 质检方案-检测指标项 ========== + + @Override + public Long createTemplateIndicator(MesQcTemplateIndicatorSaveReqVO createReqVO) { + // 校验方案存在 + validateTemplateExists(createReqVO.getTemplateId()); + // 插入 + MesQcTemplateIndicatorDO indicator = BeanUtils.toBean(createReqVO, MesQcTemplateIndicatorDO.class); + templateIndicatorMapper.insert(indicator); + return indicator.getId(); + } + + @Override + public void updateTemplateIndicator(MesQcTemplateIndicatorSaveReqVO updateReqVO) { + // 校验存在 + validateTemplateIndicatorExists(updateReqVO.getId()); + // 更新 + MesQcTemplateIndicatorDO updateObj = BeanUtils.toBean(updateReqVO, MesQcTemplateIndicatorDO.class); + templateIndicatorMapper.updateById(updateObj); + } + + @Override + public void deleteTemplateIndicator(Long id) { + // 校验存在 + validateTemplateIndicatorExists(id); + // 删除 + templateIndicatorMapper.deleteById(id); + } + + private void validateTemplateIndicatorExists(Long id) { + if (templateIndicatorMapper.selectById(id) == null) { + throw exception(QC_TEMPLATE_INDICATOR_NOT_EXISTS); + } + } + + @Override + public MesQcTemplateIndicatorDO getTemplateIndicator(Long id) { + return templateIndicatorMapper.selectById(id); + } + + @Override + public PageResult getTemplateIndicatorPage(MesQcTemplateIndicatorPageReqVO pageReqVO) { + return templateIndicatorMapper.selectPage(pageReqVO); + } + + // ========== 质检方案-产品关联 ========== + + @Override + public Long createTemplateItem(MesQcTemplateItemSaveReqVO createReqVO) { + // 校验方案存在 + validateTemplateExists(createReqVO.getTemplateId()); + // 校验产品在此方案中唯一 + validateTemplateItemNotDuplicate(null, createReqVO.getTemplateId(), createReqVO.getItemId()); + // 插入 + MesQcTemplateItemDO item = BeanUtils.toBean(createReqVO, MesQcTemplateItemDO.class); + templateItemMapper.insert(item); + return item.getId(); + } + + @Override + public void updateTemplateItem(MesQcTemplateItemSaveReqVO updateReqVO) { + // 校验存在 + validateTemplateItemExists(updateReqVO.getId()); + // 校验产品在此方案中唯一 + validateTemplateItemNotDuplicate(updateReqVO.getId(), updateReqVO.getTemplateId(), updateReqVO.getItemId()); + // 更新 + MesQcTemplateItemDO updateObj = BeanUtils.toBean(updateReqVO, MesQcTemplateItemDO.class); + templateItemMapper.updateById(updateObj); + } + + @Override + public void deleteTemplateItem(Long id) { + // 校验存在 + validateTemplateItemExists(id); + // 删除 + templateItemMapper.deleteById(id); + } + + private void validateTemplateItemExists(Long id) { + if (templateItemMapper.selectById(id) == null) { + throw exception(QC_TEMPLATE_ITEM_NOT_EXISTS); + } + } + + private void validateTemplateItemNotDuplicate(Long id, Long templateId, Long itemId) { + MesQcTemplateItemDO existing = templateItemMapper.selectByTemplateIdAndItemId(templateId, itemId); + if (existing == null) { + return; + } + if (ObjUtil.notEqual(existing.getId(), id)) { + throw exception(QC_TEMPLATE_ITEM_DUPLICATE); + } + } + + @Override + public MesQcTemplateItemDO getTemplateItem(Long id) { + return templateItemMapper.selectById(id); + } + + @Override + public PageResult getTemplateItemPage(MesQcTemplateItemPageReqVO pageReqVO) { + return templateItemMapper.selectPage(pageReqVO); + } + +} -- libgit2 0.21.4