From 069c1664ca2c60c810e326146fe710cc2a5a33e5 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Wed, 24 Sep 2025 13:29:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=AE=BE=E5=A4=87=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gear-common/pom.xml | 4 + .../com/gear/common/annotation/Excel.java | 177 +++ .../com/gear/common/annotation/Excels.java | 18 + .../com/gear/common/config/RuoYiConfig.java | 15 + .../com/gear/common/constant/Constants.java | 9 + .../gear/common/constant/UserConstants.java | 21 + .../core/controller/BaseController.java | 20 + .../gear/common/core/domain/AjaxResult.java | 163 ++ .../com/gear/common/core/page/PageDomain.java | 101 ++ .../gear/common/core/page/TableSupport.java | 55 + .../com/gear/common/core/text/CharsetKit.java | 87 ++ .../com/gear/common/core/text/Convert.java | 1006 ++++++++++++ .../java/com/gear/common/excel/ExcelUtil.java | 1368 +++++++++++++++++ .../java/com/gear/common/utils/DictUtils.java | 183 +++ .../java/com/gear/common/utils/PageUtils.java | 38 + .../com/gear/common/utils/StringUtils.java | 17 + .../gear/common/utils/file/FileTypeUtils.java | 77 + .../gear/common/utils/file/ImageUtils.java | 99 ++ .../common/utils/poi/ExcelHandlerAdapter.java | 19 + gear-mes/pom.xml | 39 + .../DvCheckMachineryController.java | 103 ++ .../dv/controller/DvCheckPlanController.java | 155 ++ .../controller/DvCheckRecordController.java | 168 ++ .../DvCheckRecordLineController.java | 100 ++ .../controller/DvCheckSubjectController.java | 105 ++ .../dv/controller/DvMachineryController.java | 128 ++ .../controller/DvMachineryTypeController.java | 114 ++ .../controller/DvMaintenRecordController.java | 98 ++ .../DvMaintenRecordLineController.java | 98 ++ .../mes/dv/controller/DvRepairController.java | 115 ++ .../dv/controller/DvRepairLineController.java | 98 ++ .../DvSpecialEquipmentController.java | 100 ++ .../dv/controller/DvSubjectController.java | 104 ++ .../DvCheckRecordLineMobController.java | 59 + .../mobile/DvCheckRecordMobController.java | 184 +++ .../mobile/DvMachineryMobController.java | 62 + .../DvMaintenRecordLineMobController.java | 59 + .../mobile/DvMaintenRecordMobController.java | 83 + .../mobile/DvRepairLineMobController.java | 81 + .../mobile/DvRepairMobController.java | 103 ++ .../gear/mes/dv/domain/DvCheckMachinery.java | 61 + .../com/gear/mes/dv/domain/DvCheckPlan.java | 70 + .../com/gear/mes/dv/domain/DvCheckRecord.java | 90 ++ .../gear/mes/dv/domain/DvCheckRecordLine.java | 70 + .../gear/mes/dv/domain/DvCheckSubject.java | 63 + .../com/gear/mes/dv/domain/DvMachinery.java | 91 ++ .../gear/mes/dv/domain/DvMachineryType.java | 55 + .../gear/mes/dv/domain/DvMaintenRecord.java | 96 ++ .../mes/dv/domain/DvMaintenRecordLine.java | 69 + .../java/com/gear/mes/dv/domain/DvRepair.java | 116 ++ .../com/gear/mes/dv/domain/DvRepairLine.java | 76 + .../mes/dv/domain/DvSpecialEquipment.java | 93 ++ .../com/gear/mes/dv/domain/DvSubject.java | 59 + .../dv/domain/bo/DvSpecialEquipmentBo.java | 113 ++ .../mes/dv/domain/dto/DvCheckPlanDTO.java | 12 + .../gear/mes/dv/domain/dto/DvRepairDTO.java | 10 + .../dv/domain/vo/DvSpecialEquipmentVo.java | 131 ++ .../mes/dv/mapper/DvCheckMachineryMapper.java | 79 + .../gear/mes/dv/mapper/DvCheckPlanMapper.java | 69 + .../dv/mapper/DvCheckRecordLineMapper.java | 70 + .../mes/dv/mapper/DvCheckRecordMapper.java | 62 + .../mes/dv/mapper/DvCheckSubjectMapper.java | 72 + .../gear/mes/dv/mapper/DvMachineryMapper.java | 72 + .../mes/dv/mapper/DvMachineryTypeMapper.java | 62 + .../dv/mapper/DvMaintenRecordLineMapper.java | 62 + .../mes/dv/mapper/DvMaintenRecordMapper.java | 62 + .../mes/dv/mapper/DvRepairLineMapper.java | 64 + .../gear/mes/dv/mapper/DvRepairMapper.java | 74 + .../dv/mapper/DvSpecialEquipmentMapper.java | 15 + .../gear/mes/dv/mapper/DvSubjectMapper.java | 65 + .../dv/service/IDvCheckMachineryService.java | 78 + .../mes/dv/service/IDvCheckPlanService.java | 80 + .../dv/service/IDvCheckRecordLineService.java | 70 + .../mes/dv/service/IDvCheckRecordService.java | 62 + .../dv/service/IDvCheckSubjectService.java | 77 + .../mes/dv/service/IDvMachineryService.java | 80 + .../dv/service/IDvMachineryTypeService.java | 62 + .../service/IDvMaintenRecordLineService.java | 62 + .../dv/service/IDvMaintenRecordService.java | 62 + .../mes/dv/service/IDvRepairLineService.java | 69 + .../gear/mes/dv/service/IDvRepairService.java | 78 + .../service/IDvSpecialEquipmentService.java | 48 + .../mes/dv/service/IDvSubjectService.java | 69 + .../impl/DvCheckMachineryServiceImpl.java | 119 ++ .../service/impl/DvCheckPlanServiceImpl.java | 138 ++ .../impl/DvCheckRecordLineServiceImpl.java | 102 ++ .../impl/DvCheckRecordServiceImpl.java | 97 ++ .../impl/DvCheckSubjectServiceImpl.java | 115 ++ .../service/impl/DvMachineryServiceImpl.java | 177 +++ .../impl/DvMachineryTypeServiceImpl.java | 104 ++ .../impl/DvMaintenRecordLineServiceImpl.java | 97 ++ .../impl/DvMaintenRecordServiceImpl.java | 97 ++ .../service/impl/DvRepairLineServiceImpl.java | 102 ++ .../dv/service/impl/DvRepairServiceImpl.java | 122 ++ .../impl/DvSpecialEquipmentServiceImpl.java | 122 ++ .../dv/service/impl/DvSubjectServiceImpl.java | 109 ++ .../mapper/dv/DvCheckMachineryMapper.xml | 138 ++ .../resources/mapper/dv/DvCheckPlanMapper.xml | 150 ++ .../mapper/dv/DvCheckRecordLineMapper.xml | 134 ++ .../mapper/dv/DvCheckRecordMapper.xml | 158 ++ .../mapper/dv/DvCheckSubjectMapper.xml | 132 ++ .../resources/mapper/dv/DvMachineryMapper.xml | 158 ++ .../mapper/dv/DvMachineryTypeMapper.xml | 112 ++ .../mapper/dv/DvMaintenRecordLineMapper.xml | 128 ++ .../mapper/dv/DvMaintenRecordMapper.xml | 157 ++ .../mapper/dv/DvRepairLineMapper.xml | 141 ++ .../resources/mapper/dv/DvRepairMapper.xml | 206 +++ .../mapper/dv/DvSpecialEquipmentMapper.xml | 32 + .../resources/mapper/dv/DvSubjectMapper.xml | 122 ++ gear-mes/src/main/resources/mapper/is | 0 pom.xml | 15 +- 111 files changed, 11916 insertions(+), 1 deletion(-) create mode 100644 gear-common/src/main/java/com/gear/common/annotation/Excel.java create mode 100644 gear-common/src/main/java/com/gear/common/annotation/Excels.java create mode 100644 gear-common/src/main/java/com/gear/common/core/domain/AjaxResult.java create mode 100644 gear-common/src/main/java/com/gear/common/core/page/PageDomain.java create mode 100644 gear-common/src/main/java/com/gear/common/core/page/TableSupport.java create mode 100644 gear-common/src/main/java/com/gear/common/core/text/CharsetKit.java create mode 100644 gear-common/src/main/java/com/gear/common/core/text/Convert.java create mode 100644 gear-common/src/main/java/com/gear/common/excel/ExcelUtil.java create mode 100644 gear-common/src/main/java/com/gear/common/utils/DictUtils.java create mode 100644 gear-common/src/main/java/com/gear/common/utils/PageUtils.java create mode 100644 gear-common/src/main/java/com/gear/common/utils/file/FileTypeUtils.java create mode 100644 gear-common/src/main/java/com/gear/common/utils/file/ImageUtils.java create mode 100644 gear-common/src/main/java/com/gear/common/utils/poi/ExcelHandlerAdapter.java create mode 100644 gear-mes/pom.xml create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckMachineryController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckPlanController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckRecordController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckRecordLineController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckSubjectController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/DvMachineryController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/DvMachineryTypeController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/DvMaintenRecordController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/DvMaintenRecordLineController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/DvRepairController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/DvRepairLineController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/DvSpecialEquipmentController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/DvSubjectController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvCheckRecordLineMobController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvCheckRecordMobController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvMachineryMobController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvMaintenRecordLineMobController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvMaintenRecordMobController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvRepairLineMobController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvRepairMobController.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckMachinery.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckPlan.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckRecord.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckRecordLine.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckSubject.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/DvMachinery.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/DvMachineryType.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/DvMaintenRecord.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/DvMaintenRecordLine.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/DvRepair.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/DvRepairLine.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/DvSpecialEquipment.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/DvSubject.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/bo/DvSpecialEquipmentBo.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/dto/DvCheckPlanDTO.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/dto/DvRepairDTO.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/domain/vo/DvSpecialEquipmentVo.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckMachineryMapper.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckPlanMapper.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckRecordLineMapper.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckRecordMapper.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckSubjectMapper.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMachineryMapper.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMachineryTypeMapper.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMaintenRecordLineMapper.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMaintenRecordMapper.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/mapper/DvRepairLineMapper.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/mapper/DvRepairMapper.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/mapper/DvSpecialEquipmentMapper.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/mapper/DvSubjectMapper.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckMachineryService.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckPlanService.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckRecordLineService.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckRecordService.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckSubjectService.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/IDvMachineryService.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/IDvMachineryTypeService.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/IDvMaintenRecordLineService.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/IDvMaintenRecordService.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/IDvRepairLineService.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/IDvRepairService.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/IDvSpecialEquipmentService.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/IDvSubjectService.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckMachineryServiceImpl.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckPlanServiceImpl.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckRecordLineServiceImpl.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckRecordServiceImpl.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckSubjectServiceImpl.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMachineryServiceImpl.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMachineryTypeServiceImpl.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMaintenRecordLineServiceImpl.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMaintenRecordServiceImpl.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvRepairLineServiceImpl.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvRepairServiceImpl.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvSpecialEquipmentServiceImpl.java create mode 100644 gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvSubjectServiceImpl.java create mode 100644 gear-mes/src/main/resources/mapper/dv/DvCheckMachineryMapper.xml create mode 100644 gear-mes/src/main/resources/mapper/dv/DvCheckPlanMapper.xml create mode 100644 gear-mes/src/main/resources/mapper/dv/DvCheckRecordLineMapper.xml create mode 100644 gear-mes/src/main/resources/mapper/dv/DvCheckRecordMapper.xml create mode 100644 gear-mes/src/main/resources/mapper/dv/DvCheckSubjectMapper.xml create mode 100644 gear-mes/src/main/resources/mapper/dv/DvMachineryMapper.xml create mode 100644 gear-mes/src/main/resources/mapper/dv/DvMachineryTypeMapper.xml create mode 100644 gear-mes/src/main/resources/mapper/dv/DvMaintenRecordLineMapper.xml create mode 100644 gear-mes/src/main/resources/mapper/dv/DvMaintenRecordMapper.xml create mode 100644 gear-mes/src/main/resources/mapper/dv/DvRepairLineMapper.xml create mode 100644 gear-mes/src/main/resources/mapper/dv/DvRepairMapper.xml create mode 100644 gear-mes/src/main/resources/mapper/dv/DvSpecialEquipmentMapper.xml create mode 100644 gear-mes/src/main/resources/mapper/dv/DvSubjectMapper.xml create mode 100644 gear-mes/src/main/resources/mapper/is diff --git a/gear-common/pom.xml b/gear-common/pom.xml index 756e56c..3caec08 100644 --- a/gear-common/pom.xml +++ b/gear-common/pom.xml @@ -17,6 +17,10 @@ + + com.github.pagehelper + pagehelper-spring-boot-starter + org.springframework diff --git a/gear-common/src/main/java/com/gear/common/annotation/Excel.java b/gear-common/src/main/java/com/gear/common/annotation/Excel.java new file mode 100644 index 0000000..f098f8c --- /dev/null +++ b/gear-common/src/main/java/com/gear/common/annotation/Excel.java @@ -0,0 +1,177 @@ +package com.gear.common.annotation; + +import com.gear.common.utils.poi.ExcelHandlerAdapter; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.math.BigDecimal; + +/** + * 自定义导出Excel数据注解 + * + * @author ruoyi + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface Excel +{ + /** + * 导出时在excel中排序 + */ + public int sort() default Integer.MAX_VALUE; + + /** + * 导出到Excel中的名字. + */ + public String name() default ""; + + /** + * 日期格式, 如: yyyy-MM-dd + */ + public String dateFormat() default ""; + + /** + * 如果是字典类型,请设置字典的type值 (如: sys_user_sex) + */ + public String dictType() default ""; + + /** + * 读取内容转表达式 (如: 0=男,1=女,2=未知) + */ + public String readConverterExp() default ""; + + /** + * 分隔符,读取字符串组内容 + */ + public String separator() default ","; + + /** + * BigDecimal 精度 默认:-1(默认不开启BigDecimal格式化) + */ + public int scale() default -1; + + /** + * BigDecimal 舍入规则 默认:BigDecimal.ROUND_HALF_EVEN + */ + public int roundingMode() default BigDecimal.ROUND_HALF_EVEN; + + /** + * 导出类型(0数字 1字符串) + */ + public ColumnType cellType() default ColumnType.STRING; + + /** + * 导出时在excel中每个列的高度 单位为字符 + */ + public double height() default 14; + + /** + * 导出时在excel中每个列的宽 单位为字符 + */ + public double width() default 16; + + /** + * 文字后缀,如% 90 变成90% + */ + public String suffix() default ""; + + /** + * 当值为空时,字段的默认值 + */ + public String defaultValue() default ""; + + /** + * 提示信息 + */ + public String prompt() default ""; + + /** + * 设置只能选择不能输入的列内容. + */ + public String[] combo() default {}; + + /** + * 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写. + */ + public boolean isExport() default true; + + /** + * 另一个类中的属性名称,支持多级获取,以小数点隔开 + */ + public String targetAttr() default ""; + + /** + * 是否自动统计数据,在最后追加一行统计数据总和 + */ + public boolean isStatistics() default false; + + /** + * 导出字段对齐方式(0:默认;1:靠左;2:居中;3:靠右) + */ + public Align align() default Align.AUTO; + + /** + * 自定义数据处理器 + */ + public Class handler() default ExcelHandlerAdapter.class; + + /** + * 自定义数据处理器参数 + */ + public String[] args() default {}; + + public enum Align + { + AUTO(0), LEFT(1), CENTER(2), RIGHT(3); + private final int value; + + Align(int value) + { + this.value = value; + } + + public int value() + { + return this.value; + } + } + + /** + * 字段类型(0:导出导入;1:仅导出;2:仅导入) + */ + Type type() default Type.ALL; + + public enum Type + { + ALL(0), EXPORT(1), IMPORT(2); + private final int value; + + Type(int value) + { + this.value = value; + } + + public int value() + { + return this.value; + } + } + + public enum ColumnType + { + NUMERIC(0), STRING(1), IMAGE(2); + private final int value; + + ColumnType(int value) + { + this.value = value; + } + + public int value() + { + return this.value; + } + } +} diff --git a/gear-common/src/main/java/com/gear/common/annotation/Excels.java b/gear-common/src/main/java/com/gear/common/annotation/Excels.java new file mode 100644 index 0000000..ce146d9 --- /dev/null +++ b/gear-common/src/main/java/com/gear/common/annotation/Excels.java @@ -0,0 +1,18 @@ +package com.gear.common.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Excel注解集 + * + * @author ruoyi + */ +@Target(ElementType.FIELD) +@Retention(RetentionPolicy.RUNTIME) +public @interface Excels +{ + public Excel[] value(); +} diff --git a/gear-common/src/main/java/com/gear/common/config/RuoYiConfig.java b/gear-common/src/main/java/com/gear/common/config/RuoYiConfig.java index 78c8ac6..473afa1 100644 --- a/gear-common/src/main/java/com/gear/common/config/RuoYiConfig.java +++ b/gear-common/src/main/java/com/gear/common/config/RuoYiConfig.java @@ -46,6 +46,21 @@ public class RuoYiConfig { */ @Getter private static boolean addressEnabled; + /** 上传路径 */ + private static String profile; + + public static String getProfile() + { + return profile; + } + + /** + * 获取下载路径 + */ + public static String getDownloadPath() + { + return getProfile() + "/download/"; + } public void setAddressEnabled(boolean addressEnabled) { RuoYiConfig.addressEnabled = addressEnabled; diff --git a/gear-common/src/main/java/com/gear/common/constant/Constants.java b/gear-common/src/main/java/com/gear/common/constant/Constants.java index adf3862..90aaab3 100644 --- a/gear-common/src/main/java/com/gear/common/constant/Constants.java +++ b/gear-common/src/main/java/com/gear/common/constant/Constants.java @@ -72,5 +72,14 @@ public interface Constants { */ String TOKEN = "token"; + /** + * 字典管理缓存键前缀 + */ + String SYS_DICT_KEY = "sys_dict:"; + /** + * 资源映射路径 前缀 + */ + String RESOURCE_PREFIX = "/profile"; + } diff --git a/gear-common/src/main/java/com/gear/common/constant/UserConstants.java b/gear-common/src/main/java/com/gear/common/constant/UserConstants.java index 5cf9dde..f6130ec 100644 --- a/gear-common/src/main/java/com/gear/common/constant/UserConstants.java +++ b/gear-common/src/main/java/com/gear/common/constant/UserConstants.java @@ -128,5 +128,26 @@ public interface UserConstants { * 管理员ID */ Long ADMIN_ID = 1L; + String DV_CHECK_STATUS_NOTCHECK = "O"; //未检验 + /** + * 单据的状态类型 + */ + String ORDER_STATUS_PREPARE = "PREPARE"; + String ORDER_STATUS_CONFIRMED = "CONFIRMED"; + String ORDER_STATUS_APPROVING = "APPROVING"; + String ORDER_STATUS_APPROVED = "APPROVED"; + String ORDER_STATUS_FINISHED = "FINISHED"; + String ORDER_STATUS_CANCELED = "CANCELED"; + String DV_PLAN_TYPE_CHECK = "CHECK"; //点检方案 + /** + * 排班日历的查询方式 + */ + String CAL_QUERY_BY_TYPE = "TYPE"; + String CAL_QUERY_BY_TEAM = "TEAM"; + String CAL_QUERY_BY_USER = "USER"; + String NOT_UNIQUE = "1"; + String UNIQUE = "0"; + String DV_REPAIR_CODE = "DV_REPAIR_CODE"; //维修单 + String MACHINERY_TYPE_CODE = "MACHINERY_TYPE_CODE"; } diff --git a/gear-common/src/main/java/com/gear/common/core/controller/BaseController.java b/gear-common/src/main/java/com/gear/common/core/controller/BaseController.java index 0ebf9a7..959af3f 100644 --- a/gear-common/src/main/java/com/gear/common/core/controller/BaseController.java +++ b/gear-common/src/main/java/com/gear/common/core/controller/BaseController.java @@ -1,9 +1,15 @@ package com.gear.common.core.controller; +import com.gear.common.constant.HttpStatus; import com.gear.common.core.domain.R; import com.gear.common.core.domain.model.LoginUser; +import com.gear.common.core.page.TableDataInfo; import com.gear.common.helper.LoginHelper; +import com.gear.common.utils.PageUtils; import com.gear.common.utils.StringUtils; +import com.github.pagehelper.PageInfo; + +import java.util.List; /** * web层通用数据处理 @@ -66,4 +72,18 @@ public class BaseController { public String getUsername() { return LoginHelper.getUsername(); } + + protected void startPage() + { + PageUtils.startPage(); + } + protected TableDataInfo getDataTable(List list) + { + TableDataInfo rspData = new TableDataInfo(); + rspData.setCode(HttpStatus.SUCCESS); + rspData.setMsg("查询成功"); + rspData.setRows(list); + rspData.setTotal(new PageInfo(list).getTotal()); + return rspData; + } } diff --git a/gear-common/src/main/java/com/gear/common/core/domain/AjaxResult.java b/gear-common/src/main/java/com/gear/common/core/domain/AjaxResult.java new file mode 100644 index 0000000..a2faae5 --- /dev/null +++ b/gear-common/src/main/java/com/gear/common/core/domain/AjaxResult.java @@ -0,0 +1,163 @@ +package com.gear.common.core.domain; + +import com.gear.common.constant.HttpStatus; +import com.gear.common.utils.StringUtils; + +import java.util.HashMap; + +/** + * 操作消息提醒 + * + * @author ruoyi + */ +public class AjaxResult extends HashMap +{ + private static final long serialVersionUID = 1L; + + /** 状态码 */ + public static final String CODE_TAG = "code"; + + /** 返回内容 */ + public static final String MSG_TAG = "msg"; + + /** 数据对象 */ + public static final String DATA_TAG = "data"; + + /** + * 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。 + */ + public AjaxResult() + { + } + + /** + * 初始化一个新创建的 AjaxResult 对象 + * + * @param code 状态码 + * @param msg 返回内容 + */ + public AjaxResult(int code, String msg) + { + super.put(CODE_TAG, code); + super.put(MSG_TAG, msg); + } + + /** + * 初始化一个新创建的 AjaxResult 对象 + * + * @param code 状态码 + * @param msg 返回内容 + * @param data 数据对象 + */ + public AjaxResult(int code, String msg, Object data) + { + super.put(CODE_TAG, code); + super.put(MSG_TAG, msg); + if (StringUtils.isNotNull(data)) + { + super.put(DATA_TAG, data); + } + } + + /** + * 返回成功消息 + * + * @return 成功消息 + */ + public static AjaxResult success() + { + return AjaxResult.success("操作成功"); + } + + /** + * 返回成功数据 + * + * @return 成功消息 + */ + public static AjaxResult success(Object data) + { + return AjaxResult.success("操作成功", data); + } + + /** + * 返回成功消息 + * + * @param msg 返回内容 + * @return 成功消息 + */ + public static AjaxResult success(String msg) + { + return AjaxResult.success(msg, null); + } + + /** + * 返回成功消息 + * + * @param msg 返回内容 + * @param data 数据对象 + * @return 成功消息 + */ + public static AjaxResult success(String msg, Object data) + { + return new AjaxResult(HttpStatus.SUCCESS, msg, data); + } + + /** + * 返回错误消息 + * + * @return + */ + public static AjaxResult error() + { + return AjaxResult.error("操作失败"); + } + + /** + * 返回错误消息 + * + * @param msg 返回内容 + * @return 警告消息 + */ + public static AjaxResult error(String msg) + { + return AjaxResult.error(msg, null); + } + + /** + * 返回错误消息 + * + * @param msg 返回内容 + * @param data 数据对象 + * @return 警告消息 + */ + public static AjaxResult error(String msg, Object data) + { + return new AjaxResult(HttpStatus.ERROR, msg, data); + } + + /** + * 返回错误消息 + * + * @param code 状态码 + * @param msg 返回内容 + * @return 警告消息 + */ + public static AjaxResult error(int code, String msg) + { + return new AjaxResult(code, msg, null); + } + + /** + * 方便链式调用 + * + * @param key 键 + * @param value 值 + * @return 数据对象 + */ + @Override + public AjaxResult put(String key, Object value) + { + super.put(key, value); + return this; + } +} diff --git a/gear-common/src/main/java/com/gear/common/core/page/PageDomain.java b/gear-common/src/main/java/com/gear/common/core/page/PageDomain.java new file mode 100644 index 0000000..9201e41 --- /dev/null +++ b/gear-common/src/main/java/com/gear/common/core/page/PageDomain.java @@ -0,0 +1,101 @@ +package com.gear.common.core.page; + +import com.gear.common.utils.StringUtils; + +/** + * 分页数据 + * + * @author ruoyi + */ +public class PageDomain +{ + /** 当前记录起始索引 */ + private Integer pageNum; + + /** 每页显示记录数 */ + private Integer pageSize; + + /** 排序列 */ + private String orderByColumn; + + /** 排序的方向desc或者asc */ + private String isAsc = "asc"; + + /** 分页参数合理化 */ + private Boolean reasonable = true; + + public String getOrderBy() + { + if (StringUtils.isEmpty(orderByColumn)) + { + return ""; + } + return StringUtils.toUnderScoreCase(orderByColumn) + " " + isAsc; + } + + public Integer getPageNum() + { + return pageNum; + } + + public void setPageNum(Integer pageNum) + { + this.pageNum = pageNum; + } + + public Integer getPageSize() + { + return pageSize; + } + + public void setPageSize(Integer pageSize) + { + this.pageSize = pageSize; + } + + public String getOrderByColumn() + { + return orderByColumn; + } + + public void setOrderByColumn(String orderByColumn) + { + this.orderByColumn = orderByColumn; + } + + public String getIsAsc() + { + return isAsc; + } + + public void setIsAsc(String isAsc) + { + if (StringUtils.isNotEmpty(isAsc)) + { + // 兼容前端排序类型 + if ("ascending".equals(isAsc)) + { + isAsc = "asc"; + } + else if ("descending".equals(isAsc)) + { + isAsc = "desc"; + } + this.isAsc = isAsc; + } + } + + public Boolean getReasonable() + { + if (StringUtils.isNull(reasonable)) + { + return Boolean.TRUE; + } + return reasonable; + } + + public void setReasonable(Boolean reasonable) + { + this.reasonable = reasonable; + } +} diff --git a/gear-common/src/main/java/com/gear/common/core/page/TableSupport.java b/gear-common/src/main/java/com/gear/common/core/page/TableSupport.java new file mode 100644 index 0000000..bb09a2a --- /dev/null +++ b/gear-common/src/main/java/com/gear/common/core/page/TableSupport.java @@ -0,0 +1,55 @@ +package com.gear.common.core.page; + +import com.gear.common.utils.ServletUtils; + +/** + * 表格数据处理 + * + * @author ruoyi + */ +public class TableSupport +{ + /** + * 当前记录起始索引 + */ + public static final String PAGE_NUM = "pageNum"; + + /** + * 每页显示记录数 + */ + public static final String PAGE_SIZE = "pageSize"; + + /** + * 排序列 + */ + public static final String ORDER_BY_COLUMN = "orderByColumn"; + + /** + * 排序的方向 "desc" 或者 "asc". + */ + public static final String IS_ASC = "isAsc"; + + /** + * 分页参数合理化 + */ + public static final String REASONABLE = "reasonable"; + + /** + * 封装分页对象 + */ + public static PageDomain getPageDomain() + { + PageDomain pageDomain = new PageDomain(); + pageDomain.setPageNum(ServletUtils.getParameterToInt(PAGE_NUM)); + pageDomain.setPageSize(ServletUtils.getParameterToInt(PAGE_SIZE)); + pageDomain.setOrderByColumn(ServletUtils.getParameter(ORDER_BY_COLUMN)); + pageDomain.setIsAsc(ServletUtils.getParameter(IS_ASC)); + pageDomain.setReasonable(ServletUtils.getParameterToBool(REASONABLE)); + return pageDomain; + } + + public static PageDomain buildPageRequest() + { + return getPageDomain(); + } +} diff --git a/gear-common/src/main/java/com/gear/common/core/text/CharsetKit.java b/gear-common/src/main/java/com/gear/common/core/text/CharsetKit.java new file mode 100644 index 0000000..925cb05 --- /dev/null +++ b/gear-common/src/main/java/com/gear/common/core/text/CharsetKit.java @@ -0,0 +1,87 @@ +package com.gear.common.core.text; + +import com.gear.common.utils.StringUtils; + +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; + +/** + * 字符集工具类 + * + * @author ruoyi + */ +public class CharsetKit +{ + /** ISO-8859-1 */ + public static final String ISO_8859_1 = "ISO-8859-1"; + /** UTF-8 */ + public static final String UTF_8 = "UTF-8"; + /** GBK */ + public static final String GBK = "GBK"; + + /** ISO-8859-1 */ + public static final Charset CHARSET_ISO_8859_1 = Charset.forName(ISO_8859_1); + /** UTF-8 */ + public static final Charset CHARSET_UTF_8 = Charset.forName(UTF_8); + /** GBK */ + public static final Charset CHARSET_GBK = Charset.forName(GBK); + + /** + * 转换为Charset对象 + * + * @param charset 字符集,为空则返回默认字符集 + * @return Charset + */ + public static Charset charset(String charset) + { + return StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset); + } + + /** + * 转换字符串的字符集编码 + * + * @param source 字符串 + * @param srcCharset 源字符集,默认ISO-8859-1 + * @param destCharset 目标字符集,默认UTF-8 + * @return 转换后的字符集 + */ + public static String convert(String source, String srcCharset, String destCharset) + { + return convert(source, Charset.forName(srcCharset), Charset.forName(destCharset)); + } + + /** + * 转换字符串的字符集编码 + * + * @param source 字符串 + * @param srcCharset 源字符集,默认ISO-8859-1 + * @param destCharset 目标字符集,默认UTF-8 + * @return 转换后的字符集 + */ + public static String convert(String source, Charset srcCharset, Charset destCharset) + { + if (null == srcCharset) + { + srcCharset = StandardCharsets.ISO_8859_1; + } + + if (null == destCharset) + { + destCharset = StandardCharsets.UTF_8; + } + + if (StringUtils.isEmpty(source) || srcCharset.equals(destCharset)) + { + return source; + } + return new String(source.getBytes(srcCharset), destCharset); + } + + /** + * @return 系统字符集编码 + */ + public static String systemCharset() + { + return Charset.defaultCharset().name(); + } +} diff --git a/gear-common/src/main/java/com/gear/common/core/text/Convert.java b/gear-common/src/main/java/com/gear/common/core/text/Convert.java new file mode 100644 index 0000000..15210b9 --- /dev/null +++ b/gear-common/src/main/java/com/gear/common/core/text/Convert.java @@ -0,0 +1,1006 @@ +package com.gear.common.core.text; + +import com.gear.common.utils.StringUtils; +import org.apache.commons.lang3.ArrayUtils; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.ByteBuffer; +import java.nio.charset.Charset; +import java.text.NumberFormat; +import java.util.Set; + +/** + * 类型转换器 + * + * @author ruoyi + */ +public class Convert +{ + /** + * 转换为字符串
+ * 如果给定的值为null,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static String toStr(Object value, String defaultValue) + { + if (null == value) + { + return defaultValue; + } + if (value instanceof String) + { + return (String) value; + } + return value.toString(); + } + + /** + * 转换为字符串
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static String toStr(Object value) + { + return toStr(value, null); + } + + /** + * 转换为字符
+ * 如果给定的值为null,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Character toChar(Object value, Character defaultValue) + { + if (null == value) + { + return defaultValue; + } + if (value instanceof Character) + { + return (Character) value; + } + + final String valueStr = toStr(value, null); + return StringUtils.isEmpty(valueStr) ? defaultValue : valueStr.charAt(0); + } + + /** + * 转换为字符
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Character toChar(Object value) + { + return toChar(value, null); + } + + /** + * 转换为byte
+ * 如果给定的值为null,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Byte toByte(Object value, Byte defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Byte) + { + return (Byte) value; + } + if (value instanceof Number) + { + return ((Number) value).byteValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Byte.parseByte(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为byte
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Byte toByte(Object value) + { + return toByte(value, null); + } + + /** + * 转换为Short
+ * 如果给定的值为null,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Short toShort(Object value, Short defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Short) + { + return (Short) value; + } + if (value instanceof Number) + { + return ((Number) value).shortValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Short.parseShort(valueStr.trim()); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Short
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Short toShort(Object value) + { + return toShort(value, null); + } + + /** + * 转换为Number
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Number toNumber(Object value, Number defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Number) + { + return (Number) value; + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return NumberFormat.getInstance().parse(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Number
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Number toNumber(Object value) + { + return toNumber(value, null); + } + + /** + * 转换为int
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Integer toInt(Object value, Integer defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Integer) + { + return (Integer) value; + } + if (value instanceof Number) + { + return ((Number) value).intValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Integer.parseInt(valueStr.trim()); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为int
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Integer toInt(Object value) + { + return toInt(value, null); + } + + /** + * 转换为Integer数组
+ * + * @param str 被转换的值 + * @return 结果 + */ + public static Integer[] toIntArray(String str) + { + return toIntArray(",", str); + } + + /** + * 转换为Long数组
+ * + * @param str 被转换的值 + * @return 结果 + */ + public static Long[] toLongArray(String str) + { + return toLongArray(",", str); + } + + /** + * 转换为Integer数组
+ * + * @param split 分隔符 + * @param split 被转换的值 + * @return 结果 + */ + public static Integer[] toIntArray(String split, String str) + { + if (StringUtils.isEmpty(str)) + { + return new Integer[] {}; + } + String[] arr = str.split(split); + final Integer[] ints = new Integer[arr.length]; + for (int i = 0; i < arr.length; i++) + { + final Integer v = toInt(arr[i], 0); + ints[i] = v; + } + return ints; + } + + /** + * 转换为Long数组
+ * + * @param split 分隔符 + * @param str 被转换的值 + * @return 结果 + */ + public static Long[] toLongArray(String split, String str) + { + if (StringUtils.isEmpty(str)) + { + return new Long[] {}; + } + String[] arr = str.split(split); + final Long[] longs = new Long[arr.length]; + for (int i = 0; i < arr.length; i++) + { + final Long v = toLong(arr[i], null); + longs[i] = v; + } + return longs; + } + + /** + * 转换为String数组
+ * + * @param str 被转换的值 + * @return 结果 + */ + public static String[] toStrArray(String str) + { + return toStrArray(",", str); + } + + /** + * 转换为String数组
+ * + * @param split 分隔符 + * @param split 被转换的值 + * @return 结果 + */ + public static String[] toStrArray(String split, String str) + { + return str.split(split); + } + + /** + * 转换为long
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Long toLong(Object value, Long defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Long) + { + return (Long) value; + } + if (value instanceof Number) + { + return ((Number) value).longValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + // 支持科学计数法 + return new BigDecimal(valueStr.trim()).longValue(); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为long
+ * 如果给定的值为null,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Long toLong(Object value) + { + return toLong(value, null); + } + + /** + * 转换为double
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Double toDouble(Object value, Double defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Double) + { + return (Double) value; + } + if (value instanceof Number) + { + return ((Number) value).doubleValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + // 支持科学计数法 + return new BigDecimal(valueStr.trim()).doubleValue(); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为double
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Double toDouble(Object value) + { + return toDouble(value, null); + } + + /** + * 转换为Float
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Float toFloat(Object value, Float defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Float) + { + return (Float) value; + } + if (value instanceof Number) + { + return ((Number) value).floatValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Float.parseFloat(valueStr.trim()); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Float
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Float toFloat(Object value) + { + return toFloat(value, null); + } + + /** + * 转换为boolean
+ * String支持的值为:true、false、yes、ok、no,1,0 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Boolean toBool(Object value, Boolean defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Boolean) + { + return (Boolean) value; + } + String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + valueStr = valueStr.trim().toLowerCase(); + switch (valueStr) + { + case "true": + return true; + case "false": + return false; + case "yes": + return true; + case "ok": + return true; + case "no": + return false; + case "1": + return true; + case "0": + return false; + default: + return defaultValue; + } + } + + /** + * 转换为boolean
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Boolean toBool(Object value) + { + return toBool(value, null); + } + + /** + * 转换为Enum对象
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * + * @param clazz Enum的Class + * @param value 值 + * @param defaultValue 默认值 + * @return Enum + */ + public static > E toEnum(Class clazz, Object value, E defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (clazz.isAssignableFrom(value.getClass())) + { + @SuppressWarnings("unchecked") + E myE = (E) value; + return myE; + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Enum.valueOf(clazz, valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Enum对象
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * + * @param clazz Enum的Class + * @param value 值 + * @return Enum + */ + public static > E toEnum(Class clazz, Object value) + { + return toEnum(clazz, value, null); + } + + /** + * 转换为BigInteger
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static BigInteger toBigInteger(Object value, BigInteger defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof BigInteger) + { + return (BigInteger) value; + } + if (value instanceof Long) + { + return BigInteger.valueOf((Long) value); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return new BigInteger(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为BigInteger
+ * 如果给定的值为空,或者转换失败,返回默认值null
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static BigInteger toBigInteger(Object value) + { + return toBigInteger(value, null); + } + + /** + * 转换为BigDecimal
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static BigDecimal toBigDecimal(Object value, BigDecimal defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof BigDecimal) + { + return (BigDecimal) value; + } + if (value instanceof Long) + { + return new BigDecimal((Long) value); + } + if (value instanceof Double) + { + return new BigDecimal((Double) value); + } + if (value instanceof Integer) + { + return new BigDecimal((Integer) value); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return new BigDecimal(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为BigDecimal
+ * 如果给定的值为空,或者转换失败,返回默认值
+ * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static BigDecimal toBigDecimal(Object value) + { + return toBigDecimal(value, null); + } + + /** + * 将对象转为字符串
+ * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 + * + * @param obj 对象 + * @return 字符串 + */ + public static String utf8Str(Object obj) + { + return str(obj, CharsetKit.CHARSET_UTF_8); + } + + /** + * 将对象转为字符串
+ * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 + * + * @param obj 对象 + * @param charsetName 字符集 + * @return 字符串 + */ + public static String str(Object obj, String charsetName) + { + return str(obj, Charset.forName(charsetName)); + } + + /** + * 将对象转为字符串
+ * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 + * + * @param obj 对象 + * @param charset 字符集 + * @return 字符串 + */ + public static String str(Object obj, Charset charset) + { + if (null == obj) + { + return null; + } + + if (obj instanceof String) + { + return (String) obj; + } + else if (obj instanceof byte[]) + { + return str((byte[]) obj, charset); + } + else if (obj instanceof Byte[]) + { + byte[] bytes = ArrayUtils.toPrimitive((Byte[]) obj); + return str(bytes, charset); + } + else if (obj instanceof ByteBuffer) + { + return str((ByteBuffer) obj, charset); + } + return obj.toString(); + } + + /** + * 将byte数组转为字符串 + * + * @param bytes byte数组 + * @param charset 字符集 + * @return 字符串 + */ + public static String str(byte[] bytes, String charset) + { + return str(bytes, StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset)); + } + + /** + * 解码字节码 + * + * @param data 字符串 + * @param charset 字符集,如果此字段为空,则解码的结果取决于平台 + * @return 解码后的字符串 + */ + public static String str(byte[] data, Charset charset) + { + if (data == null) + { + return null; + } + + if (null == charset) + { + return new String(data); + } + return new String(data, charset); + } + + /** + * 将编码的byteBuffer数据转换为字符串 + * + * @param data 数据 + * @param charset 字符集,如果为空使用当前系统字符集 + * @return 字符串 + */ + public static String str(ByteBuffer data, String charset) + { + if (data == null) + { + return null; + } + + return str(data, Charset.forName(charset)); + } + + /** + * 将编码的byteBuffer数据转换为字符串 + * + * @param data 数据 + * @param charset 字符集,如果为空使用当前系统字符集 + * @return 字符串 + */ + public static String str(ByteBuffer data, Charset charset) + { + if (null == charset) + { + charset = Charset.defaultCharset(); + } + return charset.decode(data).toString(); + } + + // ----------------------------------------------------------------------- 全角半角转换 + /** + * 半角转全角 + * + * @param input String. + * @return 全角字符串. + */ + public static String toSBC(String input) + { + return toSBC(input, null); + } + + /** + * 半角转全角 + * + * @param input String + * @param notConvertSet 不替换的字符集合 + * @return 全角字符串. + */ + public static String toSBC(String input, Set notConvertSet) + { + char c[] = input.toCharArray(); + for (int i = 0; i < c.length; i++) + { + if (null != notConvertSet && notConvertSet.contains(c[i])) + { + // 跳过不替换的字符 + continue; + } + + if (c[i] == ' ') + { + c[i] = '\u3000'; + } + else if (c[i] < '\177') + { + c[i] = (char) (c[i] + 65248); + + } + } + return new String(c); + } + + /** + * 全角转半角 + * + * @param input String. + * @return 半角字符串 + */ + public static String toDBC(String input) + { + return toDBC(input, null); + } + + /** + * 替换全角为半角 + * + * @param text 文本 + * @param notConvertSet 不替换的字符集合 + * @return 替换后的字符 + */ + public static String toDBC(String text, Set notConvertSet) + { + char c[] = text.toCharArray(); + for (int i = 0; i < c.length; i++) + { + if (null != notConvertSet && notConvertSet.contains(c[i])) + { + // 跳过不替换的字符 + continue; + } + + if (c[i] == '\u3000') + { + c[i] = ' '; + } + else if (c[i] > '\uFF00' && c[i] < '\uFF5F') + { + c[i] = (char) (c[i] - 65248); + } + } + String returnString = new String(c); + + return returnString; + } + + /** + * 数字金额大写转换 先写个完整的然后将如零拾替换成零 + * + * @param n 数字 + * @return 中文大写数字 + */ + public static String digitUppercase(double n) + { + String[] fraction = { "角", "分" }; + String[] digit = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; + String[][] unit = { { "元", "万", "亿" }, { "", "拾", "佰", "仟" } }; + + String head = n < 0 ? "负" : ""; + n = Math.abs(n); + + String s = ""; + for (int i = 0; i < fraction.length; i++) + { + s += (digit[(int) (Math.floor(n * 10 * Math.pow(10, i)) % 10)] + fraction[i]).replaceAll("(零.)+", ""); + } + if (s.length() < 1) + { + s = "整"; + } + int integerPart = (int) Math.floor(n); + + for (int i = 0; i < unit[0].length && integerPart > 0; i++) + { + String p = ""; + for (int j = 0; j < unit[1].length && n > 0; j++) + { + p = digit[integerPart % 10] + unit[1][j] + p; + integerPart = integerPart / 10; + } + s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i] + s; + } + return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整"); + } +} diff --git a/gear-common/src/main/java/com/gear/common/excel/ExcelUtil.java b/gear-common/src/main/java/com/gear/common/excel/ExcelUtil.java new file mode 100644 index 0000000..3e145fc --- /dev/null +++ b/gear-common/src/main/java/com/gear/common/excel/ExcelUtil.java @@ -0,0 +1,1368 @@ +package com.gear.common.excel; + +import com.gear.common.annotation.Excel; +import com.gear.common.annotation.Excel.ColumnType; +import com.gear.common.annotation.Excel.Type; +import com.gear.common.annotation.Excels; +import com.gear.common.config.RuoYiConfig; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.text.Convert; +import com.gear.common.exception.UtilException; +import com.gear.common.utils.DateUtils; +import com.gear.common.utils.DictUtils; +import com.gear.common.utils.StringUtils; +import com.gear.common.utils.file.FileTypeUtils; +import com.gear.common.utils.file.ImageUtils; +import com.gear.common.utils.poi.ExcelHandlerAdapter; +import org.apache.commons.lang3.RegExUtils; +import org.apache.poi.hssf.usermodel.*; +import org.apache.poi.ooxml.POIXMLDocumentPart; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.ss.util.CellRangeAddressList; +import org.apache.poi.util.IOUtils; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.apache.poi.xssf.usermodel.*; +import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileOutputStream; +import java.io.OutputStream; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Excel相关处理 + * + * @author ruoyi + */ +public class ExcelUtil +{ + private static final Logger log = LoggerFactory.getLogger(ExcelUtil.class); + + public static final String FORMULA_REGEX_STR = "=|-|\\+|@"; + + public static final String[] FORMULA_STR = { "=", "-", "+", "@" }; + + /** + * Excel sheet最大行数,默认65536 + */ + public static final int sheetSize = 65536; + + /** + * 工作表名称 + */ + private String sheetName; + + /** + * 导出类型(EXPORT:导出数据;IMPORT:导入模板) + */ + private Type type; + + /** + * 工作薄对象 + */ + private Workbook wb; + + /** + * 工作表对象 + */ + private Sheet sheet; + + /** + * 样式列表 + */ + private Map styles; + + /** + * 导入导出数据列表 + */ + private List list; + + /** + * 注解列表 + */ + private List fields; + + /** + * 当前行号 + */ + private int rownum; + + /** + * 标题 + */ + private String title; + + /** + * 最大高度 + */ + private short maxHeight; + + /** + * 统计列表 + */ + private Map statistics = new HashMap(); + + /** + * 数字格式 + */ + private static final DecimalFormat DOUBLE_FORMAT = new DecimalFormat("######0.00"); + + /** + * 实体对象 + */ + public Class clazz; + + public ExcelUtil(Class clazz) + { + this.clazz = clazz; + } + + public void init(List list, String sheetName, String title, Type type) + { + if (list == null) + { + list = new ArrayList(); + } + this.list = list; + this.sheetName = sheetName; + this.type = type; + this.title = title; + createExcelField(); + createWorkbook(); + createTitle(); + } + + /** + * 创建excel第一行标题 + */ + public void createTitle() + { + if (StringUtils.isNotEmpty(title)) + { + Row titleRow = sheet.createRow(rownum == 0 ? rownum++ : 0); + titleRow.setHeightInPoints(30); + Cell titleCell = titleRow.createCell(0); + titleCell.setCellStyle(styles.get("title")); + titleCell.setCellValue(title); + sheet.addMergedRegion(new CellRangeAddress(titleRow.getRowNum(), titleRow.getRowNum(), titleRow.getRowNum(), + this.fields.size() - 1)); + } + } + +// /** +// * 对excel表单默认第一个索引名转换成list +// * +// * @param is 输入流 +// * @return 转换后集合 +// */ +// public List importExcel(InputStream is) throws Exception +// { +// return importExcel(is, 0); +// } +// +// /** +// * 对excel表单默认第一个索引名转换成list +// * +// * @param is 输入流 +// * @param titleNum 标题占用行数 +// * @return 转换后集合 +// */ +// public List importExcel(InputStream is, int titleNum) throws Exception +// { +// return importExcel(StringUtils.EMPTY, is, titleNum); +// } +// +// /** +// * 对excel表单指定表格索引名转换成list +// * +// * @param sheetName 表格索引名 +// * @param titleNum 标题占用行数 +// * @param is 输入流 +// * @return 转换后集合 +// */ +// public List importExcel(String sheetName, InputStream is, int titleNum) throws Exception +// { +// this.type = Type.IMPORT; +// this.wb = WorkbookFactory.create(is); +// List list = new ArrayList(); +// // 如果指定sheet名,则取指定sheet中的内容 否则默认指向第1个sheet +// Sheet sheet = StringUtils.isNotEmpty(sheetName) ? wb.getSheet(sheetName) : wb.getSheetAt(0); +// if (sheet == null) +// { +// throw new IOException("文件sheet不存在"); +// } +// boolean isXSSFWorkbook = !(wb instanceof HSSFWorkbook); +// Map pictures; +// if (isXSSFWorkbook) +// { +// pictures = getSheetPictures07((XSSFSheet) sheet, (XSSFWorkbook) wb); +// } +// else +// { +// pictures = getSheetPictures03((HSSFSheet) sheet, (HSSFWorkbook) wb); +// } +// // 获取最后一个非空行的行下标,比如总行数为n,则返回的为n-1 +// int rows = sheet.getLastRowNum(); +// +// if (rows > 0) +// { +// // 定义一个map用于存放excel列的序号和field. +// Map cellMap = new HashMap(); +// // 获取表头 +// Row heard = sheet.getRow(titleNum); +// for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++) +// { +// Cell cell = heard.getCell(i); +// if (StringUtils.isNotNull(cell)) +// { +// String value = this.getCellValue(heard, i).toString(); +// cellMap.put(value, i); +// } +// else +// { +// cellMap.put(null, i); +// } +// } +// // 有数据时才处理 得到类的所有field. +// List fields = this.getFields(); +// Map fieldsMap = new HashMap(); +// for (Object[] objects : fields) +// { +// Excel attr = (Excel) objects[1]; +// Integer column = cellMap.get(attr.name()); +// if (column != null) +// { +// fieldsMap.put(column, objects); +// } +// } +// for (int i = titleNum + 1; i <= rows; i++) +// { +// // 从第2行开始取数据,默认第一行是表头. +// Row row = sheet.getRow(i); +// // 判断当前行是否是空行 +// if (isRowEmpty(row)) +// { +// continue; +// } +// T entity = null; +// for (Map.Entry entry : fieldsMap.entrySet()) +// { +// Object val = this.getCellValue(row, entry.getKey()); +// +// // 如果不存在实例则新建. +// entity = (entity == null ? clazz.newInstance() : entity); +// // 从map中得到对应列的field. +// Field field = (Field) entry.getValue()[0]; +// Excel attr = (Excel) entry.getValue()[1]; +// // 取得类型,并根据对象类型设置值. +// Class fieldType = field.getType(); +// if (String.class == fieldType) +// { +// String s = Convert.toStr(val); +// if (StringUtils.endsWith(s, ".0")) +// { +// val = StringUtils.substringBefore(s, ".0"); +// } +// else +// { +// String dateFormat = field.getAnnotation(Excel.class).dateFormat(); +// if (StringUtils.isNotEmpty(dateFormat)) +// { +// val = parseDateToStr(dateFormat, val); +// } +// else +// { +// val = Convert.toStr(val); +// } +// } +// } +// else if ((Integer.TYPE == fieldType || Integer.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val))) +// { +// val = Convert.toInt(val); +// } +// else if ((Long.TYPE == fieldType || Long.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val))) +// { +// val = Convert.toLong(val); +// } +// else if (Double.TYPE == fieldType || Double.class == fieldType) +// { +// val = Convert.toDouble(val); +// } +// else if (Float.TYPE == fieldType || Float.class == fieldType) +// { +// val = Convert.toFloat(val); +// } +// else if (BigDecimal.class == fieldType) +// { +// val = Convert.toBigDecimal(val); +// } +// else if (Date.class == fieldType) +// { +// if (val instanceof String) +// { +// val = DateUtils.parseDate(val); +// } +// else if (val instanceof Double) +// { +// val = DateUtil.getJavaDate((Double) val); +// } +// } +// else if (Boolean.TYPE == fieldType || Boolean.class == fieldType) +// { +// val = Convert.toBool(val, false); +// } +// if (StringUtils.isNotNull(fieldType)) +// { +// String propertyName = field.getName(); +// if (StringUtils.isNotEmpty(attr.targetAttr())) +// { +// propertyName = field.getName() + "." + attr.targetAttr(); +// } +// else if (StringUtils.isNotEmpty(attr.readConverterExp())) +// { +// val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator()); +// } +// else if (StringUtils.isNotEmpty(attr.dictType())) +// { +// val = reverseDictByExp(Convert.toStr(val), attr.dictType(), attr.separator()); +// } +// else if (!attr.handler().equals(ExcelHandlerAdapter.class)) +// { +// val = dataFormatHandlerAdapter(val, attr); +// } +// else if (ColumnType.IMAGE == attr.cellType() && StringUtils.isNotEmpty((CharSequence) pictures)) +// { +// PictureData image = pictures.get(row.getRowNum() + "_" + entry.getKey()); +// if (image == null) +// { +// val = ""; +// } +// else +// { +// byte[] data = image.getData(); +// val = FileUtils.writeImportBytes(data); +// } +// } +// ReflectUtils.invokeSetter(entity, propertyName, val); +// } +// } +// list.add(entity); +// } +// } +// return list; +// } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param list 导出数据集合 + * @param sheetName 工作表的名称 + * @return 结果 + */ + public AjaxResult exportExcel(List list, String sheetName) + { + return exportExcel(list, sheetName, StringUtils.EMPTY); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param list 导出数据集合 + * @param sheetName 工作表的名称 + * @param title 标题 + * @return 结果 + */ + public AjaxResult exportExcel(List list, String sheetName, String title) + { + this.init(list, sheetName, title, Type.EXPORT); + return exportExcel(); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param response 返回数据 + * @param list 导出数据集合 + * @param sheetName 工作表的名称 + * @return 结果 + */ + public void exportExcel(HttpServletResponse response, List list, String sheetName) + { + exportExcel(response, list, sheetName, StringUtils.EMPTY); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param response 返回数据 + * @param list 导出数据集合 + * @param sheetName 工作表的名称 + * @param title 标题 + * @return 结果 + */ + public void exportExcel(HttpServletResponse response, List list, String sheetName, String title) + { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + this.init(list, sheetName, title, Type.EXPORT); + exportExcel(response); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param sheetName 工作表的名称 + * @return 结果 + */ + public AjaxResult importTemplateExcel(String sheetName) + { + return importTemplateExcel(sheetName, StringUtils.EMPTY); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param sheetName 工作表的名称 + * @param title 标题 + * @return 结果 + */ + public AjaxResult importTemplateExcel(String sheetName, String title) + { + this.init(null, sheetName, title, Type.IMPORT); + return exportExcel(); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param sheetName 工作表的名称 + * @return 结果 + */ + public void importTemplateExcel(HttpServletResponse response, String sheetName) + { + importTemplateExcel(response, sheetName, StringUtils.EMPTY); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @param sheetName 工作表的名称 + * @param title 标题 + * @return 结果 + */ + public void importTemplateExcel(HttpServletResponse response, String sheetName, String title) + { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + this.init(null, sheetName, title, Type.IMPORT); + exportExcel(response); + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @return 结果 + */ + public void exportExcel(HttpServletResponse response) + { + try + { + writeSheet(); + wb.write(response.getOutputStream()); + } + catch (Exception e) + { + log.error("导出Excel异常{}", e.getMessage()); + } + finally + { + IOUtils.closeQuietly(wb); + } + } + + /** + * 对list数据源将其里面的数据导入到excel表单 + * + * @return 结果 + */ + public AjaxResult exportExcel() + { + OutputStream out = null; + try + { + writeSheet(); + String filename = encodingFilename(sheetName); + out = new FileOutputStream(getAbsoluteFile(filename)); + wb.write(out); + return AjaxResult.success(filename); + } + catch (Exception e) + { + log.error("导出Excel异常{}", e.getMessage()); + throw new UtilException("导出Excel失败,请联系网站管理员!"); + } + finally + { + IOUtils.closeQuietly(wb); + IOUtils.closeQuietly(out); + } + } + + /** + * 创建写入数据到Sheet + */ + public void writeSheet() + { + // 取出一共有多少个sheet. + int sheetNo = Math.max(1, (int) Math.ceil(list.size() * 1.0 / sheetSize)); + for (int index = 0; index < sheetNo; index++) + { + createSheet(sheetNo, index); + + // 产生一行 + Row row = sheet.createRow(rownum); + int column = 0; + // 写入各个字段的列头名称 + for (Object[] os : fields) + { + Excel excel = (Excel) os[1]; + this.createCell(excel, row, column++); + } + if (Type.EXPORT.equals(type)) + { + fillExcelData(index, row); + addStatisticsRow(); + } + } + } + + /** + * 填充excel数据 + * + * @param index 序号 + * @param row 单元格行 + */ + public void fillExcelData(int index, Row row) + { + int startNo = index * sheetSize; + int endNo = Math.min(startNo + sheetSize, list.size()); + for (int i = startNo; i < endNo; i++) + { + row = sheet.createRow(i + 1 + rownum - startNo); + // 得到导出对象. + T vo = (T) list.get(i); + int column = 0; + for (Object[] os : fields) + { + Field field = (Field) os[0]; + Excel excel = (Excel) os[1]; + this.addCell(excel, row, vo, field, column++); + } + } + } + + /** + * 创建表格样式 + * + * @param wb 工作薄对象 + * @return 样式列表 + */ + private Map createStyles(Workbook wb) + { + // 写入各条记录,每条记录对应excel表中的一行 + Map styles = new HashMap(); + CellStyle style = wb.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + Font titleFont = wb.createFont(); + titleFont.setFontName("Arial"); + titleFont.setFontHeightInPoints((short) 16); + titleFont.setBold(true); + style.setFont(titleFont); + styles.put("title", style); + + style = wb.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setBorderRight(BorderStyle.THIN); + style.setRightBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderLeft(BorderStyle.THIN); + style.setLeftBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderTop(BorderStyle.THIN); + style.setTopBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setBorderBottom(BorderStyle.THIN); + style.setBottomBorderColor(IndexedColors.GREY_50_PERCENT.getIndex()); + Font dataFont = wb.createFont(); + dataFont.setFontName("Arial"); + dataFont.setFontHeightInPoints((short) 10); + style.setFont(dataFont); + styles.put("data", style); + + style = wb.createCellStyle(); + style.cloneStyleFrom(styles.get("data")); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setFillForegroundColor(IndexedColors.GREY_50_PERCENT.getIndex()); + style.setFillPattern(FillPatternType.SOLID_FOREGROUND); + Font headerFont = wb.createFont(); + headerFont.setFontName("Arial"); + headerFont.setFontHeightInPoints((short) 10); + headerFont.setBold(true); + headerFont.setColor(IndexedColors.WHITE.getIndex()); + style.setFont(headerFont); + styles.put("header", style); + + style = wb.createCellStyle(); + style.setAlignment(HorizontalAlignment.CENTER); + style.setVerticalAlignment(VerticalAlignment.CENTER); + Font totalFont = wb.createFont(); + totalFont.setFontName("Arial"); + totalFont.setFontHeightInPoints((short) 10); + style.setFont(totalFont); + styles.put("total", style); + + style = wb.createCellStyle(); + style.cloneStyleFrom(styles.get("data")); + style.setAlignment(HorizontalAlignment.LEFT); + styles.put("data1", style); + + style = wb.createCellStyle(); + style.cloneStyleFrom(styles.get("data")); + style.setAlignment(HorizontalAlignment.CENTER); + styles.put("data2", style); + + style = wb.createCellStyle(); + style.cloneStyleFrom(styles.get("data")); + style.setAlignment(HorizontalAlignment.RIGHT); + styles.put("data3", style); + + return styles; + } + + /** + * 创建单元格 + */ + public Cell createCell(Excel attr, Row row, int column) + { + // 创建列 + Cell cell = row.createCell(column); + // 写入列信息 + cell.setCellValue(attr.name()); + setDataValidation(attr, row, column); + cell.setCellStyle(styles.get("header")); + return cell; + } + + /** + * 设置单元格信息 + * + * @param value 单元格值 + * @param attr 注解相关 + * @param cell 单元格信息 + */ + public void setCellVo(Object value, Excel attr, Cell cell) + { + if (ColumnType.STRING == attr.cellType()) + { + String cellValue = Convert.toStr(value); + // 对于任何以表达式触发字符 =-+@开头的单元格,直接使用tab字符作为前缀,防止CSV注入。 + if (StringUtils.startsWithAny(cellValue, FORMULA_STR)) + { + cellValue = RegExUtils.replaceFirst(cellValue, FORMULA_REGEX_STR, "\t$0"); + } + cell.setCellValue(StringUtils.isNull(cellValue) ? attr.defaultValue() : cellValue + attr.suffix()); + } + else if (ColumnType.NUMERIC == attr.cellType()) + { + if (StringUtils.isNotNull(value)) + { + cell.setCellValue(StringUtils.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value)); + } + } + else if (ColumnType.IMAGE == attr.cellType()) + { + ClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, (short) cell.getColumnIndex(), cell.getRow().getRowNum(), (short) (cell.getColumnIndex() + 1), cell.getRow().getRowNum() + 1); + String imagePath = Convert.toStr(value); + if (StringUtils.isNotEmpty(imagePath)) + { + byte[] data = ImageUtils.getImage(imagePath); + getDrawingPatriarch(cell.getSheet()).createPicture(anchor, + cell.getSheet().getWorkbook().addPicture(data, getImageType(data))); + } + } + } + + /** + * 获取画布 + */ + public static Drawing getDrawingPatriarch(Sheet sheet) + { + if (sheet.getDrawingPatriarch() == null) + { + sheet.createDrawingPatriarch(); + } + return sheet.getDrawingPatriarch(); + } + + /** + * 获取图片类型,设置图片插入类型 + */ + public int getImageType(byte[] value) + { + String type = FileTypeUtils.getFileExtendName(value); + if ("JPG".equalsIgnoreCase(type)) + { + return Workbook.PICTURE_TYPE_JPEG; + } + else if ("PNG".equalsIgnoreCase(type)) + { + return Workbook.PICTURE_TYPE_PNG; + } + return Workbook.PICTURE_TYPE_JPEG; + } + + /** + * 创建表格样式 + */ + public void setDataValidation(Excel attr, Row row, int column) + { + if (attr.name().indexOf("注:") >= 0) + { + sheet.setColumnWidth(column, 6000); + } + else + { + // 设置列宽 + sheet.setColumnWidth(column, (int) ((attr.width() + 0.72) * 256)); + } + if (StringUtils.isNotEmpty(attr.prompt()) || attr.combo().length > 0) + { + // 提示信息或只能选择不能输入的列内容. + setPromptOrValidation(sheet, attr.combo(), attr.prompt(), 1, 100, column, column); + } + } + + /** + * 添加单元格 + */ + public Cell addCell(Excel attr, Row row, T vo, Field field, int column) + { + Cell cell = null; + try + { + // 设置行高 + row.setHeight(maxHeight); + // 根据Excel中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列. + if (attr.isExport()) + { + // 创建cell + cell = row.createCell(column); + int align = attr.align().value(); + cell.setCellStyle(styles.get("data" + (align >= 1 && align <= 3 ? align : ""))); + + // 用于读取对象中的属性 + Object value = getTargetValue(vo, field, attr); + String dateFormat = attr.dateFormat(); + String readConverterExp = attr.readConverterExp(); + String separator = attr.separator(); + String dictType = attr.dictType(); + if (StringUtils.isNotEmpty(dateFormat) && StringUtils.isNotNull(value)) + { + cell.setCellValue(parseDateToStr(dateFormat, value)); + } + else if (StringUtils.isNotEmpty(readConverterExp) && StringUtils.isNotNull(value)) + { + cell.setCellValue(convertByExp(Convert.toStr(value), readConverterExp, separator)); + } + else if (StringUtils.isNotEmpty(dictType) && StringUtils.isNotNull(value)) + { + cell.setCellValue(convertDictByExp(Convert.toStr(value), dictType, separator)); + } + else if (value instanceof BigDecimal && -1 != attr.scale()) + { + cell.setCellValue((((BigDecimal) value).setScale(attr.scale(), attr.roundingMode())).toString()); + } + else if (!attr.handler().equals(ExcelHandlerAdapter.class)) + { + cell.setCellValue(dataFormatHandlerAdapter(value, attr)); + } + else + { + // 设置列类型 + setCellVo(value, attr, cell); + } + addStatisticsData(column, Convert.toStr(value), attr); + } + } + catch (Exception e) + { + log.error("导出Excel失败{}", e); + } + return cell; + } + + /** + * 设置 POI XSSFSheet 单元格提示或选择框 + * + * @param sheet 表单 + * @param textlist 下拉框显示的内容 + * @param promptContent 提示内容 + * @param firstRow 开始行 + * @param endRow 结束行 + * @param firstCol 开始列 + * @param endCol 结束列 + */ + public void setPromptOrValidation(Sheet sheet, String[] textlist, String promptContent, int firstRow, int endRow, + int firstCol, int endCol) + { + DataValidationHelper helper = sheet.getDataValidationHelper(); + DataValidationConstraint constraint = textlist.length > 0 ? helper.createExplicitListConstraint(textlist) : helper.createCustomConstraint("DD1"); + CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol); + DataValidation dataValidation = helper.createValidation(constraint, regions); + if (StringUtils.isNotEmpty(promptContent)) + { + // 如果设置了提示信息则鼠标放上去提示 + dataValidation.createPromptBox("", promptContent); + dataValidation.setShowPromptBox(true); + } + // 处理Excel兼容性问题 + if (dataValidation instanceof XSSFDataValidation) + { + dataValidation.setSuppressDropDownArrow(true); + dataValidation.setShowErrorBox(true); + } + else + { + dataValidation.setSuppressDropDownArrow(false); + } + sheet.addValidationData(dataValidation); + } + + /** + * 解析导出值 0=男,1=女,2=未知 + * + * @param propertyValue 参数值 + * @param converterExp 翻译注解 + * @param separator 分隔符 + * @return 解析后值 + */ + public static String convertByExp(String propertyValue, String converterExp, String separator) + { + StringBuilder propertyString = new StringBuilder(); + String[] convertSource = converterExp.split(","); + for (String item : convertSource) + { + String[] itemArray = item.split("="); + if (StringUtils.containsAny(separator, propertyValue)) + { + for (String value : propertyValue.split(separator)) + { + if (itemArray[0].equals(value)) + { + propertyString.append(itemArray[1] + separator); + break; + } + } + } + else + { + if (itemArray[0].equals(propertyValue)) + { + return itemArray[1]; + } + } + } + return StringUtils.stripEnd(propertyString.toString(), separator); + } + + /** + * 反向解析值 男=0,女=1,未知=2 + * + * @param propertyValue 参数值 + * @param converterExp 翻译注解 + * @param separator 分隔符 + * @return 解析后值 + */ + public static String reverseByExp(String propertyValue, String converterExp, String separator) + { + StringBuilder propertyString = new StringBuilder(); + String[] convertSource = converterExp.split(","); + for (String item : convertSource) + { + String[] itemArray = item.split("="); + if (StringUtils.containsAny(separator, propertyValue)) + { + for (String value : propertyValue.split(separator)) + { + if (itemArray[1].equals(value)) + { + propertyString.append(itemArray[0] + separator); + break; + } + } + } + else + { + if (itemArray[1].equals(propertyValue)) + { + return itemArray[0]; + } + } + } + return StringUtils.stripEnd(propertyString.toString(), separator); + } + + /** + * 解析字典值 + * + * @param dictValue 字典值 + * @param dictType 字典类型 + * @param separator 分隔符 + * @return 字典标签 + */ + public static String convertDictByExp(String dictValue, String dictType, String separator) + { + return DictUtils.getDictLabel(dictType, dictValue, separator); + } + + /** + * 反向解析值字典值 + * + * @param dictLabel 字典标签 + * @param dictType 字典类型 + * @param separator 分隔符 + * @return 字典值 + */ + public static String reverseDictByExp(String dictLabel, String dictType, String separator) + { + return DictUtils.getDictValue(dictType, dictLabel, separator); + } + + /** + * 数据处理器 + * + * @param value 数据值 + * @param excel 数据注解 + * @return + */ + public String dataFormatHandlerAdapter(Object value, Excel excel) + { + try + { + Object instance = excel.handler().newInstance(); + Method formatMethod = excel.handler().getMethod("format", new Class[] { Object.class, String[].class }); + value = formatMethod.invoke(instance, value, excel.args()); + } + catch (Exception e) + { + log.error("不能格式化数据 " + excel.handler(), e.getMessage()); + } + return Convert.toStr(value); + } + + /** + * 合计统计信息 + */ + private void addStatisticsData(Integer index, String text, Excel entity) + { + if (entity != null && entity.isStatistics()) + { + Double temp = 0D; + if (!statistics.containsKey(index)) + { + statistics.put(index, temp); + } + try + { + temp = Double.valueOf(text); + } + catch (NumberFormatException e) + { + } + statistics.put(index, statistics.get(index) + temp); + } + } + + /** + * 创建统计行 + */ + public void addStatisticsRow() + { + if (statistics.size() > 0) + { + Row row = sheet.createRow(sheet.getLastRowNum() + 1); + Set keys = statistics.keySet(); + Cell cell = row.createCell(0); + cell.setCellStyle(styles.get("total")); + cell.setCellValue("合计"); + + for (Integer key : keys) + { + cell = row.createCell(key); + cell.setCellStyle(styles.get("total")); + cell.setCellValue(DOUBLE_FORMAT.format(statistics.get(key))); + } + statistics.clear(); + } + } + + /** + * 编码文件名 + */ + public String encodingFilename(String filename) + { + filename = UUID.randomUUID().toString() + "_" + filename + ".xlsx"; + return filename; + } + + /** + * 获取下载路径 + * + * @param filename 文件名称 + */ + public String getAbsoluteFile(String filename) + { + String downloadPath = RuoYiConfig.getDownloadPath() + filename; + File desc = new File(downloadPath); + if (!desc.getParentFile().exists()) + { + desc.getParentFile().mkdirs(); + } + return downloadPath; + } + + /** + * 获取bean中的属性值 + * + * @param vo 实体对象 + * @param field 字段 + * @param excel 注解 + * @return 最终的属性值 + * @throws Exception + */ + private Object getTargetValue(T vo, Field field, Excel excel) throws Exception + { + Object o = field.get(vo); + if (StringUtils.isNotEmpty(excel.targetAttr())) + { + String target = excel.targetAttr(); + if (target.contains(".")) + { + String[] targets = target.split("[.]"); + for (String name : targets) + { + o = getValue(o, name); + } + } + else + { + o = getValue(o, target); + } + } + return o; + } + + /** + * 以类的属性的get方法方法形式获取值 + * + * @param o + * @param name + * @return value + * @throws Exception + */ + private Object getValue(Object o, String name) throws Exception + { + if (StringUtils.isNotNull(o) && StringUtils.isNotEmpty(name)) + { + Class clazz = o.getClass(); + Field field = clazz.getDeclaredField(name); + field.setAccessible(true); + o = field.get(o); + } + return o; + } + + /** + * 得到所有定义字段 + */ + private void createExcelField() + { + this.fields = getFields(); + this.fields = this.fields.stream().sorted(Comparator.comparing(objects -> ((Excel) objects[1]).sort())).collect(Collectors.toList()); + this.maxHeight = getRowHeight(); + } + + /** + * 获取字段注解信息 + */ + public List getFields() + { + List fields = new ArrayList(); + List tempFields = new ArrayList<>(); + tempFields.addAll(Arrays.asList(clazz.getSuperclass().getDeclaredFields())); + tempFields.addAll(Arrays.asList(clazz.getDeclaredFields())); + for (Field field : tempFields) + { + // 单注解 + if (field.isAnnotationPresent(Excel.class)) + { + Excel attr = field.getAnnotation(Excel.class); + if (attr != null && (attr.type() == Type.ALL || attr.type() == type)) + { + field.setAccessible(true); + fields.add(new Object[] { field, attr }); + } + } + + // 多注解 + if (field.isAnnotationPresent(Excels.class)) + { + Excels attrs = field.getAnnotation(Excels.class); + Excel[] excels = attrs.value(); + for (Excel attr : excels) + { + if (attr != null && (attr.type() == Type.ALL || attr.type() == type)) + { + field.setAccessible(true); + fields.add(new Object[] { field, attr }); + } + } + } + } + return fields; + } + + /** + * 根据注解获取最大行高 + */ + public short getRowHeight() + { + double maxHeight = 0; + for (Object[] os : this.fields) + { + Excel excel = (Excel) os[1]; + maxHeight = Math.max(maxHeight, excel.height()); + } + return (short) (maxHeight * 20); + } + + /** + * 创建一个工作簿 + */ + public void createWorkbook() + { + this.wb = new SXSSFWorkbook(500); + this.sheet = wb.createSheet(); + wb.setSheetName(0, sheetName); + this.styles = createStyles(wb); + } + + /** + * 创建工作表 + * + * @param sheetNo sheet数量 + * @param index 序号 + */ + public void createSheet(int sheetNo, int index) + { + // 设置工作表的名称. + if (sheetNo > 1 && index > 0) + { + this.sheet = wb.createSheet(); + this.createTitle(); + wb.setSheetName(index, sheetName + index); + } + } + + /** + * 获取单元格值 + * + * @param row 获取的行 + * @param column 获取单元格列号 + * @return 单元格值 + */ + public Object getCellValue(Row row, int column) + { + if (row == null) + { + return row; + } + Object val = ""; + try + { + Cell cell = row.getCell(column); + if (StringUtils.isNotNull(cell)) + { + if (cell.getCellType() == CellType.NUMERIC || cell.getCellType() == CellType.FORMULA) + { + val = cell.getNumericCellValue(); + if (DateUtil.isCellDateFormatted(cell)) + { + val = DateUtil.getJavaDate((Double) val); // POI Excel 日期格式转换 + } + else + { + if ((Double) val % 1 != 0) + { + val = new BigDecimal(val.toString()); + } + else + { + val = new DecimalFormat("0").format(val); + } + } + } + else if (cell.getCellType() == CellType.STRING) + { + val = cell.getStringCellValue(); + } + else if (cell.getCellType() == CellType.BOOLEAN) + { + val = cell.getBooleanCellValue(); + } + else if (cell.getCellType() == CellType.ERROR) + { + val = cell.getErrorCellValue(); + } + + } + } + catch (Exception e) + { + return val; + } + return val; + } + + /** + * 判断是否是空行 + * + * @param row 判断的行 + * @return + */ + private boolean isRowEmpty(Row row) + { + if (row == null) + { + return true; + } + for (int i = row.getFirstCellNum(); i < row.getLastCellNum(); i++) + { + Cell cell = row.getCell(i); + if (cell != null && cell.getCellType() != CellType.BLANK) + { + return false; + } + } + return true; + } + + /** + * 获取Excel2003图片 + * + * @param sheet 当前sheet对象 + * @param workbook 工作簿对象 + * @return Map key:图片单元格索引(1_1)String,value:图片流PictureData + */ + public static Map getSheetPictures03(HSSFSheet sheet, HSSFWorkbook workbook) + { + Map sheetIndexPicMap = new HashMap(); + List pictures = workbook.getAllPictures(); + if (!pictures.isEmpty()) + { + for (HSSFShape shape : sheet.getDrawingPatriarch().getChildren()) + { + HSSFClientAnchor anchor = (HSSFClientAnchor) shape.getAnchor(); + if (shape instanceof HSSFPicture) + { + HSSFPicture pic = (HSSFPicture) shape; + int pictureIndex = pic.getPictureIndex() - 1; + HSSFPictureData picData = pictures.get(pictureIndex); + String picIndex = String.valueOf(anchor.getRow1()) + "_" + String.valueOf(anchor.getCol1()); + sheetIndexPicMap.put(picIndex, picData); + } + } + return sheetIndexPicMap; + } + else + { + return sheetIndexPicMap; + } + } + + /** + * 获取Excel2007图片 + * + * @param sheet 当前sheet对象 + * @param workbook 工作簿对象 + * @return Map key:图片单元格索引(1_1)String,value:图片流PictureData + */ + public static Map getSheetPictures07(XSSFSheet sheet, XSSFWorkbook workbook) + { + Map sheetIndexPicMap = new HashMap(); + for (POIXMLDocumentPart dr : sheet.getRelations()) + { + if (dr instanceof XSSFDrawing) + { + XSSFDrawing drawing = (XSSFDrawing) dr; + List shapes = drawing.getShapes(); + for (XSSFShape shape : shapes) + { + if (shape instanceof XSSFPicture) + { + XSSFPicture pic = (XSSFPicture) shape; + XSSFClientAnchor anchor = pic.getPreferredSize(); + CTMarker ctMarker = anchor.getFrom(); + String picIndex = ctMarker.getRow() + "_" + ctMarker.getCol(); + sheetIndexPicMap.put(picIndex, pic.getPictureData()); + } + } + } + } + return sheetIndexPicMap; + } + + /** + * 格式化不同类型的日期对象 + * + * @param dateFormat 日期格式 + * @param val 被格式化的日期对象 + * @return 格式化后的日期字符 + */ + public String parseDateToStr(String dateFormat, Object val) + { + if (val == null) + { + return ""; + } + String str; + if (val instanceof Date) + { + str = DateUtils.parseDateToStr(dateFormat, (Date) val); + } + else if (val instanceof LocalDateTime) + { + str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDateTime) val)); + } + else if (val instanceof LocalDate) + { + str = DateUtils.parseDateToStr(dateFormat, DateUtils.toDate((LocalDate) val)); + } + else + { + str = val.toString(); + } + return str; + } +} diff --git a/gear-common/src/main/java/com/gear/common/utils/DictUtils.java b/gear-common/src/main/java/com/gear/common/utils/DictUtils.java new file mode 100644 index 0000000..f1a56e3 --- /dev/null +++ b/gear-common/src/main/java/com/gear/common/utils/DictUtils.java @@ -0,0 +1,183 @@ +package com.gear.common.utils; + +import com.gear.common.constant.Constants; +import com.gear.common.core.domain.entity.SysDictData; +import com.gear.common.utils.redis.RedisUtils; + +import java.util.Collection; +import java.util.List; + +/** + * 字典工具类 + * + * @author ruoyi + */ +public class DictUtils +{ + /** + * 分隔符 + */ + public static final String SEPARATOR = ","; + + + /** + * 设置字典缓存 + * + * @param key 参数键 + * @param dictDatas 字典数据列表 + */ + public static void setDictCache(String key, List dictDatas) + { + RedisUtils.setCacheObject(getCacheKey(key), dictDatas); + } + + /** + * 获取字典缓存 + * + * @param key 参数键 + * @return dictDatas 字典数据列表 + */ + public static List getDictCache(String key) + { + Object cacheObj = RedisUtils.getCacheObject(getCacheKey(key)); + if (StringUtils.isNotNull(cacheObj)) + { + return StringUtils.cast(cacheObj); + } + return null; + } + + /** + * 根据字典类型和字典值获取字典标签 + * + * @param dictType 字典类型 + * @param dictValue 字典值 + * @return 字典标签 + */ + public static String getDictLabel(String dictType, String dictValue) + { + return getDictLabel(dictType, dictValue, SEPARATOR); + } + + /** + * 根据字典类型和字典标签获取字典值 + * + * @param dictType 字典类型 + * @param dictLabel 字典标签 + * @return 字典值 + */ + public static String getDictValue(String dictType, String dictLabel) + { + return getDictValue(dictType, dictLabel, SEPARATOR); + } + + /** + * 根据字典类型和字典值获取字典标签 + * + * @param dictType 字典类型 + * @param dictValue 字典值 + * @param separator 分隔符 + * @return 字典标签 + */ + public static String getDictLabel(String dictType, String dictValue, String separator) + { + StringBuilder propertyString = new StringBuilder(); + List datas = getDictCache(dictType); + + if (StringUtils.containsAny(separator, dictValue) && StringUtils.isNotEmpty((CharSequence) datas)) + { + for (SysDictData dict : datas) + { + for (String value : dictValue.split(separator)) + { + if (value.equals(dict.getDictValue())) + { + propertyString.append(dict.getDictLabel()).append(separator); + break; + } + } + } + } + else + { + for (SysDictData dict : datas) + { + if (dictValue.equals(dict.getDictValue())) + { + return dict.getDictLabel(); + } + } + } + return StringUtils.stripEnd(propertyString.toString(), separator); + } + + /** + * 根据字典类型和字典标签获取字典值 + * + * @param dictType 字典类型 + * @param dictLabel 字典标签 + * @param separator 分隔符 + * @return 字典值 + */ + public static String getDictValue(String dictType, String dictLabel, String separator) + { + StringBuilder propertyString = new StringBuilder(); + List datas = getDictCache(dictType); + + if (StringUtils.containsAny(separator, dictLabel) && StringUtils.isNotEmpty((CharSequence) datas)) + { + for (SysDictData dict : datas) + { + for (String label : dictLabel.split(separator)) + { + if (label.equals(dict.getDictLabel())) + { + propertyString.append(dict.getDictValue()).append(separator); + break; + } + } + } + } + else + { + for (SysDictData dict : datas) + { + if (dictLabel.equals(dict.getDictLabel())) + { + return dict.getDictValue(); + } + } + } + return StringUtils.stripEnd(propertyString.toString(), separator); + } + + /** + * 删除指定字典缓存 + * + * @param key 字典键 + */ + public static void removeDictCache(String key) + { + RedisUtils.deleteObject(getCacheKey(key)); + } + + /** + * 清空字典缓存 + */ + public static void clearDictCache() + { + Collection keys = RedisUtils.keys(Constants.SYS_DICT_KEY + "*"); + RedisUtils.deleteObject(keys); + } + + /** + * 设置cache key + * + * @param configKey 参数键 + * @return 缓存键key + */ + public static String getCacheKey(String configKey) + { + return Constants.SYS_DICT_KEY + configKey; + } +} diff --git a/gear-common/src/main/java/com/gear/common/utils/PageUtils.java b/gear-common/src/main/java/com/gear/common/utils/PageUtils.java new file mode 100644 index 0000000..9a2c713 --- /dev/null +++ b/gear-common/src/main/java/com/gear/common/utils/PageUtils.java @@ -0,0 +1,38 @@ +package com.gear.common.utils; + +import com.github.pagehelper.PageHelper; +import com.gear.common.core.page.PageDomain; +import com.gear.common.core.page.TableSupport; +import com.gear.common.utils.sql.SqlUtil; + +/** + * 分页工具类 + * + * @author ruoyi + */ +public class PageUtils extends PageHelper +{ + /** + * 设置请求分页数据 + */ + public static void startPage() + { + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) + { + String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); + Boolean reasonable = pageDomain.getReasonable(); + PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable); + } + } + + /** + * 清理分页的线程变量 + */ + public static void clearPage() + { + PageHelper.clearPage(); + } +} diff --git a/gear-common/src/main/java/com/gear/common/utils/StringUtils.java b/gear-common/src/main/java/com/gear/common/utils/StringUtils.java index f754a64..53e6cbc 100644 --- a/gear-common/src/main/java/com/gear/common/utils/StringUtils.java +++ b/gear-common/src/main/java/com/gear/common/utils/StringUtils.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.Validator; import cn.hutool.core.util.StrUtil; +import com.gear.common.core.domain.entity.SysDictData; import lombok.AccessLevel; import lombok.NoArgsConstructor; import org.springframework.util.AntPathMatcher; @@ -12,6 +13,8 @@ import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; +import static java.util.Objects.isNull; + /** * 字符串工具类 * @@ -322,4 +325,18 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils { .collect(Collectors.toList()); } + public static boolean isNotNull(Object object) + { + return !isNull(object); + } + + public static boolean isNull(Object object) + { + return object == null; + } + + public static T cast(Object obj) + { + return (T) obj; + } } diff --git a/gear-common/src/main/java/com/gear/common/utils/file/FileTypeUtils.java b/gear-common/src/main/java/com/gear/common/utils/file/FileTypeUtils.java new file mode 100644 index 0000000..dd9528b --- /dev/null +++ b/gear-common/src/main/java/com/gear/common/utils/file/FileTypeUtils.java @@ -0,0 +1,77 @@ +package com.gear.common.utils.file; + +import org.apache.commons.lang3.StringUtils; + +import java.io.File; + +/** + * 文件类型工具类 + * + * @author ruoyi + */ +public class FileTypeUtils +{ + /** + * 获取文件类型 + *

+ * 例如: ruoyi.txt, 返回: txt + * + * @param file 文件名 + * @return 后缀(不含".") + */ + public static String getFileType(File file) + { + if (null == file) + { + return StringUtils.EMPTY; + } + return getFileType(file.getName()); + } + + /** + * 获取文件类型 + *

+ * 例如: ruoyi.txt, 返回: txt + * + * @param fileName 文件名 + * @return 后缀(不含".") + */ + public static String getFileType(String fileName) + { + int separatorIndex = fileName.lastIndexOf("."); + if (separatorIndex < 0) + { + return ""; + } + return fileName.substring(separatorIndex + 1).toLowerCase(); + } + + /** + * 获取文件类型 + * + * @param photoByte 文件字节码 + * @return 后缀(不含".") + */ + public static String getFileExtendName(byte[] photoByte) + { + String strFileExtendName = "JPG"; + if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56) + && ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97)) + { + strFileExtendName = "GIF"; + } + else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70)) + { + strFileExtendName = "JPG"; + } + else if ((photoByte[0] == 66) && (photoByte[1] == 77)) + { + strFileExtendName = "BMP"; + } + else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71)) + { + strFileExtendName = "PNG"; + } + return strFileExtendName; + } +} diff --git a/gear-common/src/main/java/com/gear/common/utils/file/ImageUtils.java b/gear-common/src/main/java/com/gear/common/utils/file/ImageUtils.java new file mode 100644 index 0000000..49ec1ba --- /dev/null +++ b/gear-common/src/main/java/com/gear/common/utils/file/ImageUtils.java @@ -0,0 +1,99 @@ +package com.gear.common.utils.file; + +import com.gear.common.config.RuoYiConfig; +import com.gear.common.constant.Constants; +import com.gear.common.utils.StringUtils; +import org.apache.poi.util.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.ByteArrayInputStream; +import java.io.FileInputStream; +import java.io.InputStream; +import java.net.URL; +import java.net.URLConnection; +import java.util.Arrays; + +/** + * 图片处理工具类 + * + * @author ruoyi + */ +public class ImageUtils +{ + private static final Logger log = LoggerFactory.getLogger(ImageUtils.class); + + public static byte[] getImage(String imagePath) + { + InputStream is = getFile(imagePath); + try + { + return IOUtils.toByteArray(is); + } + catch (Exception e) + { + log.error("图片加载异常 {}", e); + return null; + } + finally + { + IOUtils.closeQuietly(is); + } + } + + public static InputStream getFile(String imagePath) + { + try + { + byte[] result = readFile(imagePath); + result = Arrays.copyOf(result, result.length); + return new ByteArrayInputStream(result); + } + catch (Exception e) + { + log.error("获取图片异常 {}", e); + } + return null; + } + + /** + * 读取文件为字节数据 + * + * @param url 地址 + * @return 字节数据 + */ + public static byte[] readFile(String url) + { + InputStream in = null; + try + { + if (url.startsWith("http")) + { + // 网络地址 + URL urlObj = new URL(url); + URLConnection urlConnection = urlObj.openConnection(); + urlConnection.setConnectTimeout(30 * 1000); + urlConnection.setReadTimeout(60 * 1000); + urlConnection.setDoInput(true); + in = urlConnection.getInputStream(); + } + else + { + // 本机地址 + String localPath = RuoYiConfig.getProfile(); + String downloadPath = localPath + StringUtils.substringAfter(url, Constants.RESOURCE_PREFIX); + in = new FileInputStream(downloadPath); + } + return IOUtils.toByteArray(in); + } + catch (Exception e) + { + log.error("获取文件路径异常 {}", e); + return null; + } + finally + { + IOUtils.closeQuietly(in); + } + } +} diff --git a/gear-common/src/main/java/com/gear/common/utils/poi/ExcelHandlerAdapter.java b/gear-common/src/main/java/com/gear/common/utils/poi/ExcelHandlerAdapter.java new file mode 100644 index 0000000..f910bee --- /dev/null +++ b/gear-common/src/main/java/com/gear/common/utils/poi/ExcelHandlerAdapter.java @@ -0,0 +1,19 @@ +package com.gear.common.utils.poi; + +/** + * Excel数据格式处理适配器 + * + * @author ruoyi + */ +public interface ExcelHandlerAdapter +{ + /** + * 格式化 + * + * @param value 单元格数据值 + * @param args excel注解args参数组 + * + * @return 处理后的值 + */ + Object format(Object value, String[] args); +} diff --git a/gear-mes/pom.xml b/gear-mes/pom.xml new file mode 100644 index 0000000..3e9e23d --- /dev/null +++ b/gear-mes/pom.xml @@ -0,0 +1,39 @@ + + + 4.0.0 + + com.gear + FURNITURE-OA + 0.8.3 + + + com.gear.mes + gear-mes + + + 8 + 8 + UTF-8 + + + + cn.hutool + hutool-core + + + com.gear + gear-common + + + com.gear + gear-system + + + commons-collections + commons-collections + + + + diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckMachineryController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckMachineryController.java new file mode 100644 index 0000000..ceff9be --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckMachineryController.java @@ -0,0 +1,103 @@ +package com.gear.mes.dv.controller; + +import com.gear.common.annotation.Log; +import com.gear.common.constant.UserConstants; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.common.utils.poi.ExcelUtil; +import com.gear.mes.dv.domain.DvCheckMachinery; +import com.gear.mes.dv.service.IDvCheckMachineryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 点检设备Controller + * + * @author yinjinlu + * @date 2022-06-17 + */ +@RestController +@RequestMapping("/mes/dv/checkmachinery") +public class DvCheckMachineryController extends BaseController +{ + @Autowired + private IDvCheckMachineryService dvCheckMachineryService; + + /** + * 查询点检设备列表 + */ + @GetMapping("/list") + public TableDataInfo list(DvCheckMachinery dvCheckMachinery) + { + startPage(); + List list = dvCheckMachineryService.selectDvCheckMachineryList(dvCheckMachinery); + return getDataTable(list); + } + + /** + * 导出点检设备列表 + */ + + @Log(title = "点检设备", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, DvCheckMachinery dvCheckMachinery) + { + List list = dvCheckMachineryService.selectDvCheckMachineryList(dvCheckMachinery); + ExcelUtil.exportExcel(list, "点检设备数据", DvCheckMachinery.class, response); + } + + /** + * 获取点检设备详细信息 + */ + + @GetMapping(value = "/{recordId}") + public AjaxResult getInfo(@PathVariable("recordId") Long recordId) + { + return AjaxResult.success(dvCheckMachineryService.selectDvCheckMachineryByRecordId(recordId)); + } + + /** + * 新增点检设备 + */ + + @Log(title = "点检设备", businessType = BusinessType.INSERT) + @PostMapping + public R add(@RequestBody DvCheckMachinery dvCheckMachinery) + { + if(UserConstants.NOT_UNIQUE.equals(dvCheckMachineryService.checkMachineryUnique(dvCheckMachinery))){ + return R.fail("设备已设置过点检计划!"); + } + return toAjax(dvCheckMachineryService.insertDvCheckMachinery(dvCheckMachinery)); + } + + /** + * 修改点检设备 + */ + + @Log(title = "点检设备", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvCheckMachinery dvCheckMachinery) + { + if(UserConstants.NOT_UNIQUE.equals(dvCheckMachineryService.checkMachineryUnique(dvCheckMachinery))){ + return R.fail("设备已设置过点检计划!"); + } + return toAjax(dvCheckMachineryService.updateDvCheckMachinery(dvCheckMachinery)); + } + + /** + * 删除点检设备 + */ + + @Log(title = "点检设备", businessType = BusinessType.DELETE) + @DeleteMapping("/{recordIds}") + public R remove(@PathVariable Long[] recordIds) + { + return toAjax(dvCheckMachineryService.deleteDvCheckMachineryByRecordIds(recordIds)); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckPlanController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckPlanController.java new file mode 100644 index 0000000..8ebb3ee --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckPlanController.java @@ -0,0 +1,155 @@ +package com.gear.mes.dv.controller; + +import cn.hutool.core.collection.CollUtil; +import com.gear.common.annotation.Log; +import com.gear.common.constant.UserConstants; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.common.utils.poi.ExcelUtil; +import com.gear.mes.dv.domain.DvCheckMachinery; +import com.gear.mes.dv.domain.DvCheckPlan; +import com.gear.mes.dv.domain.DvCheckSubject; +import com.gear.mes.dv.domain.dto.DvCheckPlanDTO; +import com.gear.mes.dv.service.IDvCheckMachineryService; +import com.gear.mes.dv.service.IDvCheckPlanService; +import com.gear.mes.dv.service.IDvCheckSubjectService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 设备点检计划头Controller + * + * @author yinjinlu + * @date 2022-06-16 + */ +@RestController +@RequestMapping("/mes/dv/checkplan") +public class DvCheckPlanController extends BaseController +{ + @Autowired + private IDvCheckPlanService dvCheckPlanService; + + @Autowired + IDvCheckMachineryService dvCheckMachineryService; + + @Autowired + IDvCheckSubjectService dvCheckSubjectService; + + /** + * 查询设备点检计划头列表 + */ + @GetMapping("/list") + public TableDataInfo list(DvCheckPlan dvCheckPlan) + { + startPage(); + List list = dvCheckPlanService.selectDvCheckPlanList(dvCheckPlan); + return getDataTable(list); + } + + /** + * 导出设备点检计划头列表 + */ + + @Log(title = "设备点检计划头", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, DvCheckPlan dvCheckPlan) + { + List list = dvCheckPlanService.selectDvCheckPlanList(dvCheckPlan); + ExcelUtil.exportExcel(list, "设备点检计划头数据", DvCheckPlan.class, response); + } + + /** + * 获取设备点检计划头详细信息 + */ + + @GetMapping(value = "/{planId}") + public AjaxResult getInfo(@PathVariable("planId") Long planId) + { + return AjaxResult.success(dvCheckPlanService.selectDvCheckPlanByPlanId(planId)); + } + + /** + * 新增设备点检计划头 + */ + + @Log(title = "设备点检计划头", businessType = BusinessType.INSERT) + @PostMapping + public R add(@RequestBody DvCheckPlan dvCheckPlan) + { + if(UserConstants.NOT_UNIQUE.equals(dvCheckPlanService.checkPlanCodeUnique(dvCheckPlan))){ + return R.fail("编号已存在!"); + } + return toAjax(dvCheckPlanService.insertDvCheckPlan(dvCheckPlan)); + } + + /** + * 修改设备点检计划头 + */ + + @Log(title = "设备点检计划头", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvCheckPlan dvCheckPlan) + { + if(UserConstants.NOT_UNIQUE.equals(dvCheckPlanService.checkPlanCodeUnique(dvCheckPlan))){ + return R.fail("编号已存在!"); + } + if(UserConstants.ORDER_STATUS_FINISHED.equals(dvCheckPlan.getStatus())){ + DvCheckMachinery para1 = new DvCheckMachinery(); + para1.setPlanId(dvCheckPlan.getPlanId()); + List machinerys = dvCheckMachineryService.selectDvCheckMachineryList(para1); + if(!CollUtil.isNotEmpty(machinerys)){ + return R.fail("请指定设备!"); + } + + DvCheckSubject para2 = new DvCheckSubject(); + para2.setPlanId(dvCheckPlan.getPlanId()); + List subjects = dvCheckSubjectService.selectDvCheckSubjectList(para2); + if(!CollUtil.isNotEmpty(subjects)){ + return R.fail("请指定项目!"); + } + } + return toAjax(dvCheckPlanService.updateDvCheckPlan(dvCheckPlan)); + } + + /** + * 删除设备点检计划头 + */ + + @Log(title = "设备点检计划头", businessType = BusinessType.DELETE) + @Transactional + @DeleteMapping("/{planIds}") + public R remove(@PathVariable Long[] planIds) + { + for (Long planId:planIds + ) { + DvCheckPlan plan = dvCheckPlanService.selectDvCheckPlanByPlanId(planId); + if(!UserConstants.ORDER_STATUS_PREPARE.equals(plan.getStatus())){ + return R.fail("只能删除草稿状态单据!"); + } + + dvCheckMachineryService.deleteByPlanId(planId); + dvCheckSubjectService.deleteByPlanId(planId); + } + + + + return toAjax(dvCheckPlanService.deleteDvCheckPlanByPlanIds(planIds)); + } + + /** + * 根据设备编码和计划类型查询设备点检计划头列表 + * @return + */ + + @GetMapping("/getCheckPlan") + public AjaxResult getCheckPlan(DvCheckPlanDTO checkPlanDTO) { + return dvCheckPlanService.getCheckPlan(checkPlanDTO); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckRecordController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckRecordController.java new file mode 100644 index 0000000..7daa299 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckRecordController.java @@ -0,0 +1,168 @@ +package com.gear.mes.dv.controller; + +import com.gear.common.annotation.Log; +import com.gear.common.constant.UserConstants; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.common.utils.poi.ExcelUtil; +import com.gear.mes.dv.domain.DvCheckRecord; +import com.gear.mes.dv.domain.DvCheckRecordLine; +import com.gear.mes.dv.domain.DvCheckSubject; +import com.gear.mes.dv.service.IDvCheckRecordLineService; +import com.gear.mes.dv.service.IDvCheckRecordService; +import com.gear.mes.dv.service.IDvCheckSubjectService; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 设备点检记录Controller + * + * @author yinjinlu + * @date 2024-12-26 + */ +@RestController +@RequestMapping("/mes/dv/checkrecord") +public class DvCheckRecordController extends BaseController +{ + @Autowired + private IDvCheckRecordService dvCheckRecordService; + + @Autowired + private IDvCheckSubjectService dvCheckSubjectService; + + @Autowired + private IDvCheckRecordLineService dvCheckRecordLineService; + + /** + * 查询设备点检记录列表 + */ + + @GetMapping("/list") + public TableDataInfo list(DvCheckRecord dvCheckRecord) + { + startPage(); + List list = dvCheckRecordService.selectDvCheckRecordList(dvCheckRecord); + return getDataTable(list); + } + + /** + * 导出设备点检记录列表 + */ + + @Log(title = "设备点检记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, DvCheckRecord dvCheckRecord) + { + List list = dvCheckRecordService.selectDvCheckRecordList(dvCheckRecord); + ExcelUtil.exportExcel(list, "设备点检记录数据", DvCheckRecord.class, response); + } + + /** + * 获取设备点检记录详细信息 + */ + + @GetMapping(value = "/{recordId}") + public AjaxResult getInfo(@PathVariable("recordId") Long recordId) + { + return AjaxResult.success(dvCheckRecordService.selectDvCheckRecordByRecordId(recordId)); + } + + /** + * 新增设备点检记录 + */ + + @Log(title = "设备点检记录", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody DvCheckRecord dvCheckRecord) + { + dvCheckRecordService.insertDvCheckRecord(dvCheckRecord); + + if(dvCheckRecord.getPlanId()!= null){ + //根据选择的点检计划自动生成对应的行信息 + DvCheckSubject param = new DvCheckSubject(); + param.setPlanId(dvCheckRecord.getPlanId()); + List subjectList = dvCheckSubjectService.selectDvCheckSubjectList(param); + if(!CollectionUtils.isEmpty(subjectList)){ + for(DvCheckSubject subject : subjectList){ + DvCheckRecordLine line = new DvCheckRecordLine(); + line.setRecordId(dvCheckRecord.getRecordId()); + line.setSubjectId(subject.getSubjectId()); + line.setSubjectName(subject.getSubjectName()); + line.setSubjectType(subject.getSubjectType()); + line.setSubjectContent(subject.getSubjectContent()); + line.setSubjectStandard(subject.getSubjectStandard()); + line.setCheckStatus(UserConstants.YES); + } + } + } + + return AjaxResult.success(dvCheckRecord.getRecordId()); + } + + /** + * 修改设备点检记录 + */ + + @Log(title = "设备点检记录", businessType = BusinessType.UPDATE) + @Transactional + @PutMapping + public R edit(@RequestBody DvCheckRecord dvCheckRecord) + { + if(UserConstants.ORDER_STATUS_FINISHED.equals(dvCheckRecord.getStatus())){ + DvCheckRecordLine param = new DvCheckRecordLine(); + param.setRecordId(dvCheckRecord.getRecordId()); + List lineList = dvCheckRecordLineService.selectDvCheckRecordLineList(param); + if(CollectionUtils.isEmpty(lineList)){ + return R.fail("请添加设备点检项目结果信息"); + } + } + + DvCheckRecord oldRecord = dvCheckRecordService.selectDvCheckRecordByRecordId(dvCheckRecord.getRecordId()); + if(oldRecord.getPlanId() != null && dvCheckRecord.getPlanId() != null && !dvCheckRecord.getPlanId().equals(oldRecord.getPlanId())){ + dvCheckRecordLineService.deleteDvCheckRecordLineByRecordId(dvCheckRecord.getRecordId()); + //根据选择的点检计划自动生成对应的行信息 + DvCheckSubject param = new DvCheckSubject(); + param.setPlanId(dvCheckRecord.getPlanId()); + List subjectList = dvCheckSubjectService.selectDvCheckSubjectList(param); + if(!CollectionUtils.isEmpty(subjectList)){ + for(DvCheckSubject subject : subjectList){ + DvCheckRecordLine line = new DvCheckRecordLine(); + line.setRecordId(dvCheckRecord.getRecordId()); + line.setSubjectId(subject.getSubjectId()); + line.setSubjectName(subject.getSubjectName()); + line.setSubjectType(subject.getSubjectType()); + line.setSubjectContent(subject.getSubjectContent()); + line.setSubjectStandard(subject.getSubjectStandard()); + line.setCheckStatus(UserConstants.YES); + } + } + } + + return toAjax(dvCheckRecordService.updateDvCheckRecord(dvCheckRecord)); + } + + /** + * 删除设备点检记录 + */ + + @Log(title = "设备点检记录", businessType = BusinessType.DELETE) + @Transactional + @DeleteMapping("/{recordIds}") + public R remove(@PathVariable Long[] recordIds) + { + + for(Long recordId : recordIds){ + dvCheckRecordLineService.deleteDvCheckRecordLineByRecordId(recordId); + } + + return toAjax(dvCheckRecordService.deleteDvCheckRecordByRecordIds(recordIds)); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckRecordLineController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckRecordLineController.java new file mode 100644 index 0000000..8387c8b --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckRecordLineController.java @@ -0,0 +1,100 @@ +package com.gear.mes.dv.controller; + +import com.gear.common.annotation.Log; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.common.utils.poi.ExcelUtil; +import com.gear.mes.dv.domain.DvCheckRecordLine; +import com.gear.mes.dv.service.IDvCheckRecordLineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 设备点检记录行Controller + * + * @author yinjinlu + * @date 2024-12-26 + */ +@RestController +@RequestMapping("/mes/dv/checkrecordline") +public class DvCheckRecordLineController extends BaseController +{ + @Autowired + private IDvCheckRecordLineService dvCheckRecordLineService; + + /** + * 查询设备点检记录行列表 + */ + + @GetMapping("/list") + public TableDataInfo list(DvCheckRecordLine dvCheckRecordLine) + { + startPage(); + List list = dvCheckRecordLineService.selectDvCheckRecordLineList(dvCheckRecordLine); + return getDataTable(list); + } + + /** + * 导出设备点检记录行列表 + */ + + @Log(title = "设备点检记录行", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, DvCheckRecordLine dvCheckRecordLine) + { + List list = dvCheckRecordLineService.selectDvCheckRecordLineList(dvCheckRecordLine); + ExcelUtil.exportExcel(list, "设备点检记录行数据", DvCheckRecordLine.class, response); + } + + /** + * 获取设备点检记录行详细信息 + */ + + @GetMapping(value = "/{lineId}") + public AjaxResult getInfo(@PathVariable("lineId") Long lineId) + { + return AjaxResult.success(dvCheckRecordLineService.selectDvCheckRecordLineByLineId(lineId)); + } + + /** + * 新增设备点检记录行 + */ + + @Log(title = "设备点检记录行", businessType = BusinessType.INSERT) + @PostMapping + public R add(@RequestBody DvCheckRecordLine dvCheckRecordLine) + { + return toAjax(dvCheckRecordLineService.insertDvCheckRecordLine(dvCheckRecordLine)); + } + + /** + * 修改设备点检记录行 + */ + + @Log(title = "设备点检记录行", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvCheckRecordLine dvCheckRecordLine) + { + return toAjax(dvCheckRecordLineService.updateDvCheckRecordLine(dvCheckRecordLine)); + } + + /** + * 删除设备点检记录行 + */ + + @Log(title = "设备点检记录行", businessType = BusinessType.DELETE) + @DeleteMapping("/{lineIds}") + public R remove(@PathVariable Long[] lineIds) + { + return toAjax(dvCheckRecordLineService.deleteDvCheckRecordLineByLineIds(lineIds)); + } + + + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckSubjectController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckSubjectController.java new file mode 100644 index 0000000..06e5277 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvCheckSubjectController.java @@ -0,0 +1,105 @@ +package com.gear.mes.dv.controller; + +import com.gear.common.annotation.Log; +import com.gear.common.constant.UserConstants; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.common.utils.poi.ExcelUtil; +import com.gear.mes.dv.domain.DvCheckSubject; +import com.gear.mes.dv.service.IDvCheckSubjectService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 点检项目Controller + * + * @author yinjinlu + * @date 2022-06-18 + */ +@RestController +@RequestMapping("/mes/dv/checksubject") +public class DvCheckSubjectController extends BaseController +{ + @Autowired + private IDvCheckSubjectService dvCheckSubjectService; + + /** + * 查询点检项目列表 + */ + @GetMapping("/list") + public TableDataInfo list(DvCheckSubject dvCheckSubject) + { + startPage(); + List list = dvCheckSubjectService.selectDvCheckSubjectList(dvCheckSubject); + return getDataTable(list); + } + + /** + * 导出点检项目列表 + */ + + @Log(title = "点检项目", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, DvCheckSubject dvCheckSubject) + { + List list = dvCheckSubjectService.selectDvCheckSubjectList(dvCheckSubject); + ExcelUtil.exportExcel(list, "点检项目数据", DvCheckSubject.class, response); + + } + + /** + * 获取点检项目详细信息 + */ + + @GetMapping(value = "/{recordId}") + public AjaxResult getInfo(@PathVariable("recordId") Long recordId) + { + return AjaxResult.success(dvCheckSubjectService.selectDvCheckSubjectByRecordId(recordId)); + } + + /** + * 新增点检项目 + */ + + @Log(title = "点检项目", businessType = BusinessType.INSERT) + @PostMapping + public R add(@RequestBody DvCheckSubject dvCheckSubject) + { + if(UserConstants.NOT_UNIQUE.equals(dvCheckSubjectService.checkSubjectUnique(dvCheckSubject))){ + return R.fail("点检项目已经添加过!"); + } + + return toAjax(dvCheckSubjectService.insertDvCheckSubject(dvCheckSubject)); + } + + /** + * 修改点检项目 + */ + + @Log(title = "点检项目", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvCheckSubject dvCheckSubject) + { + if(UserConstants.NOT_UNIQUE.equals(dvCheckSubjectService.checkSubjectUnique(dvCheckSubject))){ + return R.fail("点检项目已经添加过!"); + } + return toAjax(dvCheckSubjectService.updateDvCheckSubject(dvCheckSubject)); + } + + /** + * 删除点检项目 + */ + + @Log(title = "点检项目", businessType = BusinessType.DELETE) + @DeleteMapping("/{recordIds}") + public R remove(@PathVariable Long[] recordIds) + { + return toAjax(dvCheckSubjectService.deleteDvCheckSubjectByRecordIds(recordIds)); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/DvMachineryController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvMachineryController.java new file mode 100644 index 0000000..9d933fb --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvMachineryController.java @@ -0,0 +1,128 @@ +package com.gear.mes.dv.controller; + +import com.gear.common.annotation.Log; +import com.gear.common.constant.UserConstants; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.common.excel.ExcelUtil; +import com.gear.mes.dv.domain.DvMachinery; +import com.gear.mes.dv.service.IDvMachineryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 设备Controller + * + * @author yinjinlu + * @date 2022-05-08 + */ +@RestController +@RequestMapping("/mes/dv/machinery") +public class DvMachineryController extends BaseController +{ + @Autowired + private IDvMachineryService dvMachineryService; + + + /** + * 查询设备列表 + */ + @GetMapping("/list") + public TableDataInfo list(DvMachinery dvMachinery) + { + startPage(); + List list = dvMachineryService.selectDvMachineryList(dvMachinery); + return getDataTable(list); + } + + /** + * 导出设备列表 + */ + + @Log(title = "设备", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, DvMachinery dvMachinery) + { + List list = dvMachineryService.selectDvMachineryList(dvMachinery); + ExcelUtil util = new ExcelUtil(DvMachinery.class); + util.exportExcel(response, list, "设备数据"); + } + + /** + * 获取设备详细信息 + */ + + @GetMapping(value = "/{machineryId}") + public AjaxResult getInfo(@PathVariable("machineryId") Long machineryId) + { + return AjaxResult.success(dvMachineryService.selectDvMachineryByMachineryId(machineryId)); + } + + /** + * 新增设备 + */ + + @Log(title = "设备", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody DvMachinery dvMachinery) + { + if(UserConstants.NOT_UNIQUE.equals(dvMachineryService.checkRecptCodeUnique(dvMachinery))){ + return AjaxResult.error("编号已存在!"); + } + return dvMachineryService.insertDvMachinery(dvMachinery); + } + + /** + * 修改设备 + */ + + @Log(title = "设备", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody DvMachinery dvMachinery) + { + if(UserConstants.NOT_UNIQUE.equals(dvMachineryService.checkRecptCodeUnique(dvMachinery))){ + return AjaxResult.error("编号已存在!"); + } + return dvMachineryService.updateDvMachinery(dvMachinery); + } + + /** + * 删除设备 + */ + + @Log(title = "设备", businessType = BusinessType.DELETE) + @DeleteMapping("/{machineryIds}") + public R remove(@PathVariable Long[] machineryIds) + { + return toAjax(dvMachineryService.deleteDvMachineryByMachineryIds(machineryIds)); + } + +// /** +// * 依据上传的文件批量更新或新增设备 +// */ +// +// @Log(title = "设备", businessType = BusinessType.IMPORT) +// @PostMapping("/importData") +// public AjaxResult importData(MultipartFile file, +// @RequestParam(name = "updateSupport", defaultValue = "false") boolean updateSupport) throws Exception { +// ExcelUtil util = new ExcelUtil<>(DvMachinery.class); +// List dvMachineryList = util.importExcel(file.getInputStream()); +// String operName = LoginHelper.getUsername(); +// String message = dvMachineryService.importMachinery(dvMachineryList, updateSupport, operName); +// return AjaxResult.success(message); +// } + + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) + { + ExcelUtil util = new ExcelUtil(DvMachinery.class); + util.importTemplateExcel(response, "设备台账"); + } + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/DvMachineryTypeController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvMachineryTypeController.java new file mode 100644 index 0000000..cee6ff6 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvMachineryTypeController.java @@ -0,0 +1,114 @@ +package com.gear.mes.dv.controller; + +import cn.hutool.core.collection.CollUtil; +import com.gear.common.annotation.Log; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.enums.BusinessType; +import com.gear.common.excel.ExcelUtil; +import com.gear.mes.dv.domain.DvMachinery; +import com.gear.mes.dv.domain.DvMachineryType; +import com.gear.mes.dv.service.IDvMachineryService; +import com.gear.mes.dv.service.IDvMachineryTypeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.UUID; + +/** + * 设备类型Controller + * + * @author yinjinlu + * @date 2022-05-08 + */ +@RestController +@RequestMapping("/mes/dv/machinerytype") +public class DvMachineryTypeController extends BaseController +{ + @Autowired + private IDvMachineryTypeService dvMachineryTypeService; + + @Autowired + private IDvMachineryService dvMachineryService; + /** + * 查询设备类型列表 + */ + @GetMapping("/list") + public AjaxResult list(DvMachineryType dvMachineryType) + { + List list = dvMachineryTypeService.selectDvMachineryTypeList(dvMachineryType); + return AjaxResult.success(list); + } + + /** + * 导出设备类型列表 + */ + + @Log(title = "设备类型", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, DvMachineryType dvMachineryType) + { + List list = dvMachineryTypeService.selectDvMachineryTypeList(dvMachineryType); + ExcelUtil util = new ExcelUtil(DvMachineryType.class); + util.exportExcel(response, list, "设备类型数据"); + } + + /** + * 获取设备类型详细信息 + */ + + @GetMapping(value = "/{machineryTypeId}") + public AjaxResult getInfo(@PathVariable("machineryTypeId") Long machineryTypeId) + { + return AjaxResult.success(dvMachineryTypeService.selectDvMachineryTypeByMachineryTypeId(machineryTypeId)); + } + + /** + * 新增设备类型 + */ + + @Log(title = "设备类型", businessType = BusinessType.INSERT) + @PostMapping + public R add(@RequestBody DvMachineryType dvMachineryType) + { + // 使用UUID生成设备类型编号 + String machineryTypeCode = "MT-" + UUID.randomUUID().toString().replace("-", "").substring(0, 12).toUpperCase(); + dvMachineryType.setMachineryTypeCode(machineryTypeCode); + return toAjax(dvMachineryTypeService.insertDvMachineryType(dvMachineryType)); + } + + /** + * 修改设备类型 + */ + + @Log(title = "设备类型", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvMachineryType dvMachineryType) + { + return toAjax(dvMachineryTypeService.updateDvMachineryType(dvMachineryType)); + } + + /** + * 删除设备类型 + */ + + @Log(title = "设备类型", businessType = BusinessType.DELETE) + @DeleteMapping("/{machineryTypeIds}") + public R remove(@PathVariable Long[] machineryTypeIds) + { + for (Long typeId:machineryTypeIds + ) { + DvMachinery param = new DvMachinery(); + param.setMachineryId(typeId); + List machinerys = dvMachineryService.selectDvMachineryList(param); + if(CollUtil.isNotEmpty(machinerys)){ + return R.fail("设备类型下已配置了设备,不能删除!"); + } + } + + return toAjax(dvMachineryTypeService.deleteDvMachineryTypeByMachineryTypeIds(machineryTypeIds)); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/DvMaintenRecordController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvMaintenRecordController.java new file mode 100644 index 0000000..5606192 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvMaintenRecordController.java @@ -0,0 +1,98 @@ +package com.gear.mes.dv.controller; + +import com.gear.common.annotation.Log; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.common.excel.ExcelUtil; +import com.gear.mes.dv.domain.DvMaintenRecord; +import com.gear.mes.dv.service.IDvMaintenRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 设备保养记录Controller + * + * @author yinjinlu + * @date 2024-12-26 + */ +@RestController +@RequestMapping("/mes/dv/maintenrecord") +public class DvMaintenRecordController extends BaseController +{ + @Autowired + private IDvMaintenRecordService dvMaintenRecordService; + + /** + * 查询设备保养记录列表 + */ + + @GetMapping("/list") + public TableDataInfo list(DvMaintenRecord dvMaintenRecord) + { + startPage(); + List list = dvMaintenRecordService.selectDvMaintenRecordList(dvMaintenRecord); + return getDataTable(list); + } + + /** + * 导出设备保养记录列表 + */ + + @Log(title = "设备保养记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, DvMaintenRecord dvMaintenRecord) + { + List list = dvMaintenRecordService.selectDvMaintenRecordList(dvMaintenRecord); + ExcelUtil util = new ExcelUtil(DvMaintenRecord.class); + util.exportExcel(response, list, "设备保养记录数据"); + } + + /** + * 获取设备保养记录详细信息 + */ + + @GetMapping(value = "/{recordId}") + public AjaxResult getInfo(@PathVariable("recordId") Long recordId) + { + return AjaxResult.success(dvMaintenRecordService.selectDvMaintenRecordByRecordId(recordId)); + } + + /** + * 新增设备保养记录 + */ + + @Log(title = "设备保养记录", businessType = BusinessType.INSERT) + @PostMapping + public R add(@RequestBody DvMaintenRecord dvMaintenRecord) + { + return toAjax(dvMaintenRecordService.insertDvMaintenRecord(dvMaintenRecord)); + } + + /** + * 修改设备保养记录 + */ + + @Log(title = "设备保养记录", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvMaintenRecord dvMaintenRecord) + { + return toAjax(dvMaintenRecordService.updateDvMaintenRecord(dvMaintenRecord)); + } + + /** + * 删除设备保养记录 + */ + + @Log(title = "设备保养记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{recordIds}") + public R remove(@PathVariable Long[] recordIds) + { + return toAjax(dvMaintenRecordService.deleteDvMaintenRecordByRecordIds(recordIds)); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/DvMaintenRecordLineController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvMaintenRecordLineController.java new file mode 100644 index 0000000..42259e5 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvMaintenRecordLineController.java @@ -0,0 +1,98 @@ +package com.gear.mes.dv.controller; + +import com.gear.common.annotation.Log; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.common.excel.ExcelUtil; +import com.gear.mes.dv.domain.DvMaintenRecordLine; +import com.gear.mes.dv.service.IDvMaintenRecordLineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 设备保养记录行Controller + * + * @author yinjinlu + * @date 2024-12-26 + */ +@RestController +@RequestMapping("/mes/dv/maintenrecordline") +public class DvMaintenRecordLineController extends BaseController +{ + @Autowired + private IDvMaintenRecordLineService dvMaintenRecordLineService; + + /** + * 查询设备保养记录行列表 + */ + + @GetMapping("/list") + public TableDataInfo list(DvMaintenRecordLine dvMaintenRecordLine) + { + startPage(); + List list = dvMaintenRecordLineService.selectDvMaintenRecordLineList(dvMaintenRecordLine); + return getDataTable(list); + } + + /** + * 导出设备保养记录行列表 + */ + + @Log(title = "设备保养记录行", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, DvMaintenRecordLine dvMaintenRecordLine) + { + List list = dvMaintenRecordLineService.selectDvMaintenRecordLineList(dvMaintenRecordLine); + ExcelUtil util = new ExcelUtil(DvMaintenRecordLine.class); + util.exportExcel(response, list, "设备保养记录行数据"); + } + + /** + * 获取设备保养记录行详细信息 + */ + + @GetMapping(value = "/{lineId}") + public AjaxResult getInfo(@PathVariable("lineId") Long lineId) + { + return AjaxResult.success(dvMaintenRecordLineService.selectDvMaintenRecordLineByLineId(lineId)); + } + + /** + * 新增设备保养记录行 + */ + + @Log(title = "设备保养记录行", businessType = BusinessType.INSERT) + @PostMapping + public R add(@RequestBody DvMaintenRecordLine dvMaintenRecordLine) + { + return toAjax(dvMaintenRecordLineService.insertDvMaintenRecordLine(dvMaintenRecordLine)); + } + + /** + * 修改设备保养记录行 + */ + + @Log(title = "设备保养记录行", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvMaintenRecordLine dvMaintenRecordLine) + { + return toAjax(dvMaintenRecordLineService.updateDvMaintenRecordLine(dvMaintenRecordLine)); + } + + /** + * 删除设备保养记录行 + */ + + @Log(title = "设备保养记录行", businessType = BusinessType.DELETE) + @DeleteMapping("/{lineIds}") + public R remove(@PathVariable Long[] lineIds) + { + return toAjax(dvMaintenRecordLineService.deleteDvMaintenRecordLineByLineIds(lineIds)); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/DvRepairController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvRepairController.java new file mode 100644 index 0000000..245d6e3 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvRepairController.java @@ -0,0 +1,115 @@ +package com.gear.mes.dv.controller; + +import com.gear.common.annotation.Log; +import com.gear.common.constant.UserConstants; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.common.excel.ExcelUtil; +import com.gear.mes.dv.domain.DvRepair; +import com.gear.mes.dv.domain.dto.DvRepairDTO; +import com.gear.mes.dv.service.IDvRepairService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 设备维修单Controller + * + * @author yinjinlu + * @date 2022-08-06 + */ +@RestController +@RequestMapping("/mes/dv/repair") +public class DvRepairController extends BaseController +{ + @Autowired + private IDvRepairService dvRepairService; + + /** + * 查询设备维修单列表 + */ + + @GetMapping("/list") + public TableDataInfo list(DvRepair dvRepair) + { + startPage(); + List list = dvRepairService.selectDvRepairList(dvRepair); + return getDataTable(list); + } + + /** + * 导出设备维修单列表 + */ + + @Log(title = "设备维修单", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, DvRepair dvRepair) + { + List list = dvRepairService.selectDvRepairList(dvRepair); + ExcelUtil util = new ExcelUtil(DvRepair.class); + util.exportExcel(response, list, "设备维修单数据"); + } + + /** + * 获取设备维修单详细信息 + */ + + @GetMapping(value = "/{repairId}") + public AjaxResult getInfo(@PathVariable("repairId") Long repairId) + { + return AjaxResult.success(dvRepairService.selectDvRepairByRepairId(repairId)); + } + + /** + * 新增设备维修单 + */ + + @Log(title = "设备维修单", businessType = BusinessType.INSERT) + @PostMapping + public R add(@RequestBody DvRepair dvRepair) + { + if(UserConstants.NOT_UNIQUE.equals(dvRepairService.checkCodeUnique(dvRepair))){ + return R.fail("维修单编号已存!"); + } + return toAjax(dvRepairService.insertDvRepair(dvRepair)); + } + + /** + * 修改设备维修单 + */ + + @Log(title = "设备维修单", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvRepair dvRepair) + { + if(UserConstants.NOT_UNIQUE.equals(dvRepairService.checkCodeUnique(dvRepair))){ + return R.fail("维修单编号已存!"); + } + return toAjax(dvRepairService.updateDvRepair(dvRepair)); + } + + /** + * 删除设备维修单 + */ + + @Log(title = "设备维修单", businessType = BusinessType.DELETE) + @DeleteMapping("/{repairIds}") + public R remove(@PathVariable Long[] repairIds) + { + return toAjax(dvRepairService.deleteDvRepairByRepairIds(repairIds)); + } + + /** + * 根据设备编码查询设备维修单列表 + */ + + @GetMapping("/getRepairList") + public AjaxResult getRepairList(DvRepairDTO repairDTO) { + return dvRepairService.getRepairList(repairDTO); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/DvRepairLineController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvRepairLineController.java new file mode 100644 index 0000000..c162182 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvRepairLineController.java @@ -0,0 +1,98 @@ +package com.gear.mes.dv.controller; + +import com.gear.common.annotation.Log; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.common.excel.ExcelUtil; +import com.gear.mes.dv.domain.DvRepairLine; +import com.gear.mes.dv.service.IDvRepairLineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 设备维修单行Controller + * + * @author yinjinlu + * @date 2022-08-08 + */ +@RestController +@RequestMapping("/mes/dv/repairline") +public class DvRepairLineController extends BaseController +{ + @Autowired + private IDvRepairLineService dvRepairLineService; + + /** + * 查询设备维修单行列表 + */ + + @GetMapping("/list") + public TableDataInfo list(DvRepairLine dvRepairLine) + { + startPage(); + List list = dvRepairLineService.selectDvRepairLineList(dvRepairLine); + return getDataTable(list); + } + + /** + * 导出设备维修单行列表 + */ + + @Log(title = "设备维修单行", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, DvRepairLine dvRepairLine) + { + List list = dvRepairLineService.selectDvRepairLineList(dvRepairLine); + ExcelUtil util = new ExcelUtil(DvRepairLine.class); + util.exportExcel(response, list, "设备维修单行数据"); + } + + /** + * 获取设备维修单行详细信息 + */ + + @GetMapping(value = "/{lineId}") + public AjaxResult getInfo(@PathVariable("lineId") Long lineId) + { + return AjaxResult.success(dvRepairLineService.selectDvRepairLineByLineId(lineId)); + } + + /** + * 新增设备维修单行 + */ + + @Log(title = "设备维修单行", businessType = BusinessType.INSERT) + @PostMapping + public R add(@RequestBody DvRepairLine dvRepairLine) + { + return toAjax(dvRepairLineService.insertDvRepairLine(dvRepairLine)); + } + + /** + * 修改设备维修单行 + */ + + @Log(title = "设备维修单行", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvRepairLine dvRepairLine) + { + return toAjax(dvRepairLineService.updateDvRepairLine(dvRepairLine)); + } + + /** + * 删除设备维修单行 + */ + + @Log(title = "设备维修单行", businessType = BusinessType.DELETE) + @DeleteMapping("/{lineIds}") + public R remove(@PathVariable Long[] lineIds) + { + return toAjax(dvRepairLineService.deleteDvRepairLineByLineIds(lineIds)); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/DvSpecialEquipmentController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvSpecialEquipmentController.java new file mode 100644 index 0000000..f5f597c --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvSpecialEquipmentController.java @@ -0,0 +1,100 @@ +package com.gear.mes.dv.controller; + +import com.gear.common.annotation.Log; +import com.gear.common.annotation.RepeatSubmit; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.PageQuery; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.core.validate.AddGroup; +import com.gear.common.core.validate.EditGroup; +import com.gear.common.enums.BusinessType; +import com.gear.common.utils.poi.ExcelUtil; +import com.gear.mes.dv.domain.bo.DvSpecialEquipmentBo; +import com.gear.mes.dv.domain.vo.DvSpecialEquipmentVo; +import com.gear.mes.dv.service.IDvSpecialEquipmentService; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; + +/** + * 特种设备(包含锅炉、压力管道、电梯等特种设备信息) + * + * @author klp + * @date 2025-08-21 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/mes/specialEquipment") +public class DvSpecialEquipmentController extends BaseController { + + private final IDvSpecialEquipmentService iDvSpecialEquipmentService; + + /** + * 查询特种设备(包含锅炉、压力管道、电梯等特种设备信息)列表 + */ + @GetMapping("/list") + public TableDataInfo list(DvSpecialEquipmentBo bo, PageQuery pageQuery) { + return iDvSpecialEquipmentService.queryPageList(bo, pageQuery); + } + + /** + * 导出特种设备(包含锅炉、压力管道、电梯等特种设备信息)列表 + */ + @Log(title = "特种设备(包含锅炉、压力管道、电梯等特种设备信息)", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(DvSpecialEquipmentBo bo, HttpServletResponse response) { + List list = iDvSpecialEquipmentService.queryList(bo); + ExcelUtil.exportExcel(list, "特种设备(包含锅炉、压力管道、电梯等特种设备信息)", DvSpecialEquipmentVo.class, response); + } + + /** + * 获取特种设备(包含锅炉、压力管道、电梯等特种设备信息)详细信息 + * + * @param equipmentId 主键 + */ + @GetMapping("/{equipmentId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long equipmentId) { + return R.ok(iDvSpecialEquipmentService.queryById(equipmentId)); + } + + /** + * 新增特种设备(包含锅炉、压力管道、电梯等特种设备信息) + */ + @Log(title = "特种设备(包含锅炉、压力管道、电梯等特种设备信息)", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody DvSpecialEquipmentBo bo) { + return toAjax(iDvSpecialEquipmentService.insertByBo(bo)); + } + + /** + * 修改特种设备(包含锅炉、压力管道、电梯等特种设备信息) + */ + @Log(title = "特种设备(包含锅炉、压力管道、电梯等特种设备信息)", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody DvSpecialEquipmentBo bo) { + return toAjax(iDvSpecialEquipmentService.updateByBo(bo)); + } + + /** + * 删除特种设备(包含锅炉、压力管道、电梯等特种设备信息) + * + * @param equipmentIds 主键串 + */ + @Log(title = "特种设备(包含锅炉、压力管道、电梯等特种设备信息)", businessType = BusinessType.DELETE) + @DeleteMapping("/{equipmentIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] equipmentIds) { + return toAjax(iDvSpecialEquipmentService.deleteWithValidByIds(Arrays.asList(equipmentIds), true)); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/DvSubjectController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvSubjectController.java new file mode 100644 index 0000000..98a4863 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/DvSubjectController.java @@ -0,0 +1,104 @@ +package com.gear.mes.dv.controller; + +import com.gear.common.annotation.Log; +import com.gear.common.constant.UserConstants; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.common.excel.ExcelUtil; +import com.gear.mes.dv.domain.DvSubject; +import com.gear.mes.dv.service.IDvSubjectService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 设备点检保养项目Controller + * + * @author yinjinlu + * @date 2022-06-16 + */ +@RestController +@RequestMapping("/mes/dv/dvsubject") +public class DvSubjectController extends BaseController +{ + @Autowired + private IDvSubjectService dvSubjectService; + + /** + * 查询设备点检保养项目列表 + */ + @GetMapping("/list") + public TableDataInfo list(DvSubject dvSubject) + { + startPage(); + List list = dvSubjectService.selectDvSubjectList(dvSubject); + return getDataTable(list); + } + + /** + * 导出设备点检保养项目列表 + */ + + @Log(title = "设备点检保养项目", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, DvSubject dvSubject) + { + List list = dvSubjectService.selectDvSubjectList(dvSubject); + ExcelUtil util = new ExcelUtil(DvSubject.class); + util.exportExcel(response, list, "设备点检保养项目数据"); + } + + /** + * 获取设备点检保养项目详细信息 + */ + + @GetMapping(value = "/{subjectId}") + public AjaxResult getInfo(@PathVariable("subjectId") Long subjectId) + { + return AjaxResult.success(dvSubjectService.selectDvSubjectBySubjectId(subjectId)); + } + + /** + * 新增设备点检保养项目 + */ + + @Log(title = "设备点检保养项目", businessType = BusinessType.INSERT) + @PostMapping + public R add(@RequestBody DvSubject dvSubject) + { + if(UserConstants.NOT_UNIQUE.equals(dvSubjectService.checkSubjectCodeUnique(dvSubject))){ + return R.fail("项目编码已存在!"); + } + return toAjax(dvSubjectService.insertDvSubject(dvSubject)); + } + + /** + * 修改设备点检保养项目 + */ + + @Log(title = "设备点检保养项目", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvSubject dvSubject) + { + if(UserConstants.NOT_UNIQUE.equals(dvSubjectService.checkSubjectCodeUnique(dvSubject))){ + return R.fail("项目编码已存在!"); + } + return toAjax(dvSubjectService.updateDvSubject(dvSubject)); + } + + /** + * 删除设备点检保养项目 + */ + + @Log(title = "设备点检保养项目", businessType = BusinessType.DELETE) + @DeleteMapping("/{subjectIds}") + public R remove(@PathVariable Long[] subjectIds) + { + return toAjax(dvSubjectService.deleteDvSubjectBySubjectIds(subjectIds)); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvCheckRecordLineMobController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvCheckRecordLineMobController.java new file mode 100644 index 0000000..eb73591 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvCheckRecordLineMobController.java @@ -0,0 +1,59 @@ +package com.gear.mes.dv.controller.mobile; + +import com.gear.common.annotation.Log; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.enums.BusinessType; +import com.gear.mes.dv.domain.DvCheckRecordLine; +import com.gear.mes.dv.service.IDvCheckRecordLineService; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * @author yinjinlu + * @description + * @date 2025/4/30 + */ + +@RestController +@RequestMapping("/mobile/dv/checkrecordline") +public class DvCheckRecordLineMobController extends BaseController { + + @Autowired + private IDvCheckRecordLineService dvCheckRecordLineService; + + /** + * 查询设备点检记录行列表 + */ + + @GetMapping("/list") + public AjaxResult list(DvCheckRecordLine dvCheckRecordLine) + { + List list = dvCheckRecordLineService.selectDvCheckRecordLineList(dvCheckRecordLine); + return AjaxResult.success(list); + } + + /** + * 获取设备点检记录行详细信息 + */ + + @GetMapping(value = "/{lineId}") + public AjaxResult getInfo(@PathVariable("lineId") Long lineId) + { + return AjaxResult.success(dvCheckRecordLineService.selectDvCheckRecordLineByLineId(lineId)); + } + + /** + * 修改设备点检记录行 + */ + + @Log(title = "设备点检记录行", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvCheckRecordLine dvCheckRecordLine) + { + return toAjax(dvCheckRecordLineService.updateDvCheckRecordLine(dvCheckRecordLine)); + } + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvCheckRecordMobController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvCheckRecordMobController.java new file mode 100644 index 0000000..0173f4b --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvCheckRecordMobController.java @@ -0,0 +1,184 @@ +package com.gear.mes.dv.controller.mobile; + +import com.gear.common.annotation.Log; +import com.gear.common.constant.UserConstants; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.common.utils.StringUtils; +import com.gear.mes.dv.domain.DvCheckPlan; +import com.gear.mes.dv.domain.DvCheckRecord; +import com.gear.mes.dv.domain.DvCheckRecordLine; +import com.gear.mes.dv.domain.DvCheckSubject; +import com.gear.mes.dv.service.IDvCheckPlanService; +import com.gear.mes.dv.service.IDvCheckRecordLineService; +import com.gear.mes.dv.service.IDvCheckRecordService; +import com.gear.mes.dv.service.IDvCheckSubjectService; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * @author yinjinlu + * @description + * @date 2025/4/30 + */ +@RestController +@RequestMapping("/mobile/dv/checkrecord") +public class DvCheckRecordMobController extends BaseController { + + @Autowired + private IDvCheckRecordService dvCheckRecordService; + + @Autowired + private IDvCheckSubjectService dvCheckSubjectService; + + @Autowired + private IDvCheckRecordLineService dvCheckRecordLineService; + + @Autowired + private IDvCheckPlanService dvCheckPlanService; + + + /** + * 查询设备点检记录列表 + */ + + @GetMapping("/list") + public TableDataInfo list(DvCheckRecord dvCheckRecord) + { + startPage(); + List list = dvCheckRecordService.selectDvCheckRecordList(dvCheckRecord); + return getDataTable(list); + } + + /** + * 获取设备点检记录详细信息 + */ + + @GetMapping(value = "/{recordId}") + public AjaxResult getInfo(@PathVariable("recordId") Long recordId) + { + return AjaxResult.success(dvCheckRecordService.selectDvCheckRecordByRecordId(recordId)); + } + + /** + * 新增设备点检记录 + */ + + @Log(title = "设备点检记录", businessType = BusinessType.INSERT) + @Transactional + @PostMapping + public AjaxResult add(@RequestBody DvCheckRecord dvCheckRecord) + { + dvCheckRecordService.insertDvCheckRecord(dvCheckRecord); + //查找生效的点检方案,生成对应的行信息 + DvCheckPlan plan = dvCheckPlanService.selectDvCheckPlanByMachineryCodeAndType(dvCheckRecord.getMachineryCode(),UserConstants.DV_PLAN_TYPE_CHECK); + + if(StringUtils.isNotNull(plan)){ + dvCheckRecord.setPlanId(plan.getPlanId()); + dvCheckRecord.setPlanCode(plan.getPlanCode()); + dvCheckRecord.setPlanName(plan.getPlanName()); + dvCheckRecord.setPlanType(plan.getPlanType()); + dvCheckRecordService.updateDvCheckRecord(dvCheckRecord); + //根据选择的点检计划自动生成对应的行信息 + DvCheckSubject param = new DvCheckSubject(); + param.setPlanId(dvCheckRecord.getPlanId()); + List subjectList = dvCheckSubjectService.selectDvCheckSubjectList(param); + if(!CollectionUtils.isEmpty(subjectList)){ + for(DvCheckSubject subject : subjectList){ + DvCheckRecordLine line = new DvCheckRecordLine(); + line.setRecordId(dvCheckRecord.getRecordId()); + line.setSubjectId(subject.getSubjectId()); + line.setSubjectCode(subject.getSubjectCode()); + line.setSubjectName(subject.getSubjectName()); + line.setSubjectType(subject.getSubjectType()); + line.setSubjectContent(subject.getSubjectContent()); + line.setSubjectStandard(subject.getSubjectStandard()); + line.setCheckStatus(UserConstants.DV_CHECK_STATUS_NOTCHECK); + dvCheckRecordLineService.insertDvCheckRecordLine(line); + } + } + return AjaxResult.success(dvCheckRecord); + }else{ + return AjaxResult.error("当前设备未找到有效的点检方案,请先添加点检方案"); + } + } + + + /** + * 修改设备点检记录 + */ + + @Log(title = "设备点检记录", businessType = BusinessType.UPDATE) + @Transactional + @PutMapping + public R edit(@RequestBody DvCheckRecord dvCheckRecord) + { + if(UserConstants.ORDER_STATUS_FINISHED.equals(dvCheckRecord.getStatus())){ + DvCheckRecordLine param = new DvCheckRecordLine(); + param.setRecordId(dvCheckRecord.getRecordId()); + List lineList = dvCheckRecordLineService.selectDvCheckRecordLineList(param); + if(CollectionUtils.isEmpty(lineList)){ + return R.fail("请添加设备点检项目结果信息"); + } + } + //如果设备不同则重新生成对应的点检行信息 + DvCheckRecord oldRecord = dvCheckRecordService.selectDvCheckRecordByRecordId(dvCheckRecord.getRecordId()); + if(!oldRecord.getMachineryCode().equals(dvCheckRecord.getMachineryCode())){ + dvCheckRecordLineService.deleteDvCheckRecordLineByRecordId(dvCheckRecord.getRecordId()); + DvCheckPlan plan = dvCheckPlanService.selectDvCheckPlanByMachineryCodeAndType(dvCheckRecord.getMachineryCode(),UserConstants.DV_PLAN_TYPE_CHECK); + + if(StringUtils.isNotNull(plan)){ + dvCheckRecord.setPlanId(plan.getPlanId()); + dvCheckRecord.setPlanCode(plan.getPlanCode()); + dvCheckRecord.setPlanName(plan.getPlanName()); + dvCheckRecord.setPlanType(plan.getPlanType()); + dvCheckRecordService.updateDvCheckRecord(dvCheckRecord); + //根据选择的点检计划自动生成对应的行信息 + DvCheckSubject param = new DvCheckSubject(); + param.setPlanId(dvCheckRecord.getPlanId()); + List subjectList = dvCheckSubjectService.selectDvCheckSubjectList(param); + if(!CollectionUtils.isEmpty(subjectList)){ + for(DvCheckSubject subject : subjectList){ + DvCheckRecordLine line = new DvCheckRecordLine(); + line.setRecordId(dvCheckRecord.getRecordId()); + line.setSubjectId(subject.getSubjectId()); + line.setSubjectCode(subject.getSubjectCode()); + line.setSubjectName(subject.getSubjectName()); + line.setSubjectType(subject.getSubjectType()); + line.setSubjectContent(subject.getSubjectContent()); + line.setSubjectStandard(subject.getSubjectStandard()); + line.setCheckStatus(UserConstants.DV_CHECK_STATUS_NOTCHECK); + dvCheckRecordLineService.insertDvCheckRecordLine(line); + } + } + }else{ + return R.fail("当前设备未找到有效的点检方案,请先添加点检方案"); + } + } + return toAjax(dvCheckRecordService.updateDvCheckRecord(dvCheckRecord)); + } + + /** + * 删除设备点检记录 + */ + + @Log(title = "设备点检记录", businessType = BusinessType.DELETE) + @Transactional + @DeleteMapping("/{recordIds}") + public R remove(@PathVariable Long[] recordIds) + { + + for(Long recordId : recordIds){ + dvCheckRecordLineService.deleteDvCheckRecordLineByRecordId(recordId); + } + + return toAjax(dvCheckRecordService.deleteDvCheckRecordByRecordIds(recordIds)); + } + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvMachineryMobController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvMachineryMobController.java new file mode 100644 index 0000000..6d49487 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvMachineryMobController.java @@ -0,0 +1,62 @@ +package com.gear.mes.dv.controller.mobile; + +import com.gear.common.annotation.Log; +import com.gear.common.constant.UserConstants; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.mes.dv.domain.DvMachinery; +import com.gear.mes.dv.service.IDvMachineryService; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * @author yinjinlu + * @description + * @date 2025/4/30 + */ +@RestController +@RequestMapping("/mobile/dv/machinery") +public class DvMachineryMobController extends BaseController { + + @Autowired + private IDvMachineryService dvMachineryService; + + /** + * 查询设备列表 + */ + @GetMapping("/list") + public TableDataInfo list(DvMachinery dvMachinery) + { + startPage(); + List list = dvMachineryService.selectDvMachineryList(dvMachinery); + return getDataTable(list); + } + + /** + * 修改设备 + */ + + @Log(title = "设备", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody DvMachinery dvMachinery) + { + if(UserConstants.NOT_UNIQUE.equals(dvMachineryService.checkRecptCodeUnique(dvMachinery))){ + return AjaxResult.error("编号已存在!"); + } + return dvMachineryService.updateDvMachinery(dvMachinery); + } + + /** + * 获取设备详细信息 + */ + + @GetMapping(value = "/{machineryId}") + public AjaxResult getInfo(@PathVariable("machineryId") Long machineryId) + { + return AjaxResult.success(dvMachineryService.selectDvMachineryByMachineryId(machineryId)); + } + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvMaintenRecordLineMobController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvMaintenRecordLineMobController.java new file mode 100644 index 0000000..e975309 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvMaintenRecordLineMobController.java @@ -0,0 +1,59 @@ +package com.gear.mes.dv.controller.mobile; + +import com.gear.common.annotation.Log; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.enums.BusinessType; +import com.gear.mes.dv.domain.DvMaintenRecordLine; +import com.gear.mes.dv.service.IDvMaintenRecordLineService; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 设备保养记录行Controller + * + * @author yinjinlu + * @date 2024-12-26 + */ +@RestController +@RequestMapping("/mobile/dv/maintenrecordline") +public class DvMaintenRecordLineMobController extends BaseController { + + @Autowired + private IDvMaintenRecordLineService dvMaintenRecordLineService; + + /** + * 查询设备保养记录行列表 + */ + + @GetMapping("/list") + public AjaxResult list(DvMaintenRecordLine dvMaintenRecordLine) { + List list = dvMaintenRecordLineService.selectDvMaintenRecordLineList(dvMaintenRecordLine); + return AjaxResult.success(list); + } + + /** + * 获取设备保养记录行详细信息 + */ + + @GetMapping(value = "/{lineId}") + public AjaxResult getInfo(@PathVariable("lineId") Long lineId) + { + return AjaxResult.success(dvMaintenRecordLineService.selectDvMaintenRecordLineByLineId(lineId)); + } + + /** + * 修改设备保养记录行 + */ + + @Log(title = "设备保养记录行", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvMaintenRecordLine dvMaintenRecordLine) + { + return toAjax(dvMaintenRecordLineService.updateDvMaintenRecordLine(dvMaintenRecordLine)); + } + + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvMaintenRecordMobController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvMaintenRecordMobController.java new file mode 100644 index 0000000..95a8c6c --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvMaintenRecordMobController.java @@ -0,0 +1,83 @@ +package com.gear.mes.dv.controller.mobile; + +import com.gear.common.annotation.Log; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.mes.dv.domain.DvMaintenRecord; +import com.gear.mes.dv.service.IDvMaintenRecordService; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 设备保养记录Controller + * + * @author yinjinlu + * @date 2025-05-06 + */ +@RestController +@RequestMapping("/mobile/dv/maintenrecord") +public class DvMaintenRecordMobController extends BaseController { + + @Autowired + private IDvMaintenRecordService dvMaintenRecordService; + + /** + * 查询设备保养记录列表 + */ + + @GetMapping("/list") + public TableDataInfo list(DvMaintenRecord dvMaintenRecord) + { + startPage(); + List list = dvMaintenRecordService.selectDvMaintenRecordList(dvMaintenRecord); + return getDataTable(list); + } + + /** + * 获取设备保养记录详细信息 + */ + + @GetMapping(value = "/{recordId}") + public AjaxResult getInfo(@PathVariable("recordId") Long recordId) + { + return AjaxResult.success(dvMaintenRecordService.selectDvMaintenRecordByRecordId(recordId)); + } + + /** + * 新增设备保养记录 + */ + + @Log(title = "设备保养记录", businessType = BusinessType.INSERT) + @PostMapping + public R add(@RequestBody DvMaintenRecord dvMaintenRecord) + { + return toAjax(dvMaintenRecordService.insertDvMaintenRecord(dvMaintenRecord)); + } + + /** + * 修改设备保养记录 + */ + + @Log(title = "设备保养记录", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvMaintenRecord dvMaintenRecord) + { + return toAjax(dvMaintenRecordService.updateDvMaintenRecord(dvMaintenRecord)); + } + + /** + * 删除设备保养记录 + */ + + @Log(title = "设备保养记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{recordIds}") + public R remove(@PathVariable Long[] recordIds) + { + return toAjax(dvMaintenRecordService.deleteDvMaintenRecordByRecordIds(recordIds)); + } + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvRepairLineMobController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvRepairLineMobController.java new file mode 100644 index 0000000..3030bd2 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvRepairLineMobController.java @@ -0,0 +1,81 @@ +package com.gear.mes.dv.controller.mobile; + +import com.gear.common.annotation.Log; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.enums.BusinessType; +import com.gear.mes.dv.domain.DvRepairLine; +import com.gear.mes.dv.service.IDvRepairLineService; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * 设备维修单行Controller + * + * @author yinjinlu + * @date 2022-08-08 + */ +@RestController +@RequestMapping("/mobile/dv/repairline") +public class DvRepairLineMobController extends BaseController { + + @Autowired + private IDvRepairLineService dvRepairLineService; + + /** + * 查询设备维修单行列表 + */ + + @GetMapping("/list") + public AjaxResult list(DvRepairLine dvRepairLine) + { + List list = dvRepairLineService.selectDvRepairLineList(dvRepairLine); + return AjaxResult.success(list); + } + + /** + * 获取设备维修单行详细信息 + */ + + @GetMapping(value = "/{lineId}") + public AjaxResult getInfo(@PathVariable("lineId") Long lineId) + { + return AjaxResult.success(dvRepairLineService.selectDvRepairLineByLineId(lineId)); + } + + /** + * 新增设备维修单行 + */ + + @Log(title = "设备维修单行", businessType = BusinessType.INSERT) + @PostMapping + public R add(@RequestBody DvRepairLine dvRepairLine) + { + return toAjax(dvRepairLineService.insertDvRepairLine(dvRepairLine)); + } + + /** + * 修改设备维修单行 + */ + + @Log(title = "设备维修单行", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvRepairLine dvRepairLine) + { + return toAjax(dvRepairLineService.updateDvRepairLine(dvRepairLine)); + } + + /** + * 删除设备维修单行 + */ + + @Log(title = "设备维修单行", businessType = BusinessType.DELETE) + @DeleteMapping("/{lineIds}") + public R remove(@PathVariable Long[] lineIds) + { + return toAjax(dvRepairLineService.deleteDvRepairLineByLineIds(lineIds)); + } + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvRepairMobController.java b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvRepairMobController.java new file mode 100644 index 0000000..1625ff9 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/controller/mobile/DvRepairMobController.java @@ -0,0 +1,103 @@ +package com.gear.mes.dv.controller.mobile; + +import com.gear.common.annotation.Log; +import com.gear.common.constant.UserConstants; +import com.gear.common.core.controller.BaseController; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.core.domain.R; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.enums.BusinessType; +import com.gear.common.utils.StringUtils; +import com.gear.mes.dv.domain.DvRepair; +import com.gear.mes.dv.service.IDvRepairService; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; +import java.util.UUID; + +/** + * 设备维修单Controller + * + * @author yinjinlu + * @date 2025-05-06 + */ +@RestController +@RequestMapping("/mobile/dv/repair") +public class DvRepairMobController extends BaseController { + + @Autowired + private IDvRepairService dvRepairService; + + + /** + * 查询设备维修单列表 + */ + + @GetMapping("/list") + public TableDataInfo list(DvRepair dvRepair) + { + startPage(); + List list = dvRepairService.selectDvRepairList(dvRepair); + return getDataTable(list); + } + + + /** + * 获取设备维修单详细信息 + */ + + @GetMapping(value = "/{repairId}") + public AjaxResult getInfo(@PathVariable("repairId") Long repairId) + { + return AjaxResult.success(dvRepairService.selectDvRepairByRepairId(repairId)); + } + + /** + * 新增设备维修单 + */ + + @Log(title = "设备维修单", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody DvRepair dvRepair) + { + if(StringUtils.isNotNull(dvRepair.getRepairCode())){ + if(UserConstants.NOT_UNIQUE.equals(dvRepairService.checkCodeUnique(dvRepair))){ + return AjaxResult.error("维修单编号已存!"); + } + } else{ + dvRepair.setRepairCode("REPAIR-" + UUID.randomUUID().toString().replace("-", "").substring(0, 12).toUpperCase()); + } + + //根据sourceDocType和sourceDocId 生成对应的维修单项目 + + dvRepairService.insertDvRepair(dvRepair); + return AjaxResult.success(dvRepair); + } + + /** + * 修改设备维修单 + */ + + @Log(title = "设备维修单", businessType = BusinessType.UPDATE) + @PutMapping + public R edit(@RequestBody DvRepair dvRepair) + { + if(UserConstants.NOT_UNIQUE.equals(dvRepairService.checkCodeUnique(dvRepair))){ + return R.fail("维修单编号已存!"); + } + return toAjax(dvRepairService.updateDvRepair(dvRepair)); + } + + /** + * 删除设备维修单 + */ + + @Log(title = "设备维修单", businessType = BusinessType.DELETE) + @DeleteMapping("/{repairIds}") + public R remove(@PathVariable Long[] repairIds) + { + return toAjax(dvRepairService.deleteDvRepairByRepairIds(repairIds)); + } + + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckMachinery.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckMachinery.java new file mode 100644 index 0000000..5379a43 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckMachinery.java @@ -0,0 +1,61 @@ +package com.gear.mes.dv.domain; + +import com.gear.common.annotation.Excel; +import com.gear.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 点检设备对象 dv_check_machinery + * + * @author yinjinlu + * @date 2022-06-17 + */ +@Data +public class DvCheckMachinery extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 流水号 */ + private Long recordId; + + /** 计划ID */ + @Excel(name = "计划ID") + private Long planId; + + /** 设备ID */ + @Excel(name = "设备ID") + private Long machineryId; + + /** 设备编码 */ + @Excel(name = "设备编码") + private String machineryCode; + + /** 设备名称 */ + @Excel(name = "设备名称") + private String machineryName; + + /** 品牌 */ + @Excel(name = "品牌") + private String machineryBrand; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String machinerySpec; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + + /** 备注 */ + private String remark; + + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckPlan.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckPlan.java new file mode 100644 index 0000000..5515d4c --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckPlan.java @@ -0,0 +1,70 @@ +package com.gear.mes.dv.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gear.common.annotation.Excel; +import com.gear.common.core.domain.BaseEntity; +import lombok.Data; + +import java.util.Date; + +/** + * 设备点检计划头对象 dv_check_plan + * + * @author yinjinlu + * @date 2022-06-16 + */ +@Data +public class DvCheckPlan extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 计划ID */ + private Long planId; + + /** 计划编码 */ + @Excel(name = "计划编码") + private String planCode; + + /** 计划名称 */ + @Excel(name = "计划名称") + private String planName; + + private String planType; + + /** 开始日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date startDate; + + /** 结束日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date endDate; + + /** 频率 */ + @Excel(name = "频率") + private String cycleType; + + /** 次数 */ + @Excel(name = "次数") + private Long cycleCount; + + /** 状态 */ + @Excel(name = "状态") + private String status; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + /** 备注 */ + private String remark; + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckRecord.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckRecord.java new file mode 100644 index 0000000..17a30cc --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckRecord.java @@ -0,0 +1,90 @@ +package com.gear.mes.dv.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gear.common.annotation.Excel; +import com.gear.common.core.domain.BaseEntity; +import lombok.Data; + +import java.util.Date; + +/** + * 设备点检记录对象 dv_check_record + * + * @author yinjinlu + * @date 2024-12-26 + */ +@Data +public class DvCheckRecord extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 计划ID */ + private Long recordId; + + /** 计划ID */ + @Excel(name = "计划ID") + private Long planId; + + /** 计划编码 */ + @Excel(name = "计划编码") + private String planCode; + + /** 计划名称 */ + @Excel(name = "计划名称") + private String planName; + + /** 计划类型 */ + @Excel(name = "计划类型") + private String planType; + + /** 设备ID */ + @Excel(name = "设备ID") + private Long machineryId; + + /** 设备编码 */ + @Excel(name = "设备编码") + private String machineryCode; + + /** 设备名称 */ + @Excel(name = "设备名称") + private String machineryName; + + /** 品牌 */ + @Excel(name = "品牌") + private String machineryBrand; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String machinerySpec; + + /** 点检时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8") + @Excel(name = "点检时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date checkTime; + + private Long userId; + + private String userName; + + private String nickName; + + /** 状态 */ + @Excel(name = "状态") + private String status; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + /** 备注 */ + private String remark; + + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckRecordLine.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckRecordLine.java new file mode 100644 index 0000000..b0526e7 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckRecordLine.java @@ -0,0 +1,70 @@ +package com.gear.mes.dv.domain; + +import com.gear.common.annotation.Excel; +import com.gear.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 设备点检记录行对象 dv_check_record_line + * + * @author yinjinlu + * @date 2024-12-26 + */ +@Data +public class DvCheckRecordLine extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 计划ID */ + private Long lineId; + + /** 计划ID */ + @Excel(name = "计划ID") + private Long recordId; + + /** 项目ID */ + @Excel(name = "项目ID") + private Long subjectId; + + /** 项目编码 */ + @Excel(name = "项目编码") + private String subjectCode; + + /** 项目名称 */ + @Excel(name = "项目名称") + private String subjectName; + + /** 项目类型 */ + @Excel(name = "项目类型") + private String subjectType; + + /** 项目内容 */ + @Excel(name = "项目内容") + private String subjectContent; + + /** 标准 */ + @Excel(name = "标准") + private String subjectStandard; + + /** 点检结果 */ + @Excel(name = "点检结果") + private String checkStatus; + + /** 异常描述 */ + @Excel(name = "异常描述") + private String checkResult; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckSubject.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckSubject.java new file mode 100644 index 0000000..6784cc5 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvCheckSubject.java @@ -0,0 +1,63 @@ +package com.gear.mes.dv.domain; + +import com.gear.common.annotation.Excel; +import com.gear.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 点检项目对象 dv_check_subject + * + * @author yinjinlu + * @date 2022-06-18 + */ +@Data +public class DvCheckSubject extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 流水号 */ + private Long recordId; + + /** 计划ID */ + @Excel(name = "计划ID") + private Long planId; + + /** 设备ID */ + @Excel(name = "设备ID") + private Long subjectId; + + /** 项目编码 */ + @Excel(name = "项目编码") + private String subjectCode; + + /** 项目名称 */ + @Excel(name = "项目名称") + private String subjectName; + + /** 项目类型 */ + @Excel(name = "项目类型") + private String subjectType; + + /** 项目内容 */ + @Excel(name = "项目内容") + private String subjectContent; + + /** 标准 */ + @Excel(name = "标准") + private String subjectStandard; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + /** 备注 */ + private String remark; + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/DvMachinery.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvMachinery.java new file mode 100644 index 0000000..0f0450d --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvMachinery.java @@ -0,0 +1,91 @@ +package com.gear.mes.dv.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gear.common.annotation.Excel; +import com.gear.common.core.domain.BaseEntity; +import lombok.Data; + +import java.util.Date; + +/** + * 设备对象 dv_machinery + * + * @author yinjinlu + * @date 2022-05-08 + */ +@Data +public class DvMachinery extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 设备类型ID */ + private Long machineryId; + + /** 设备类型编码 */ + @Excel(name = "设备编码") + private String machineryCode; + + /** 设备类型名称 */ + @Excel(name = "设备名称") + private String machineryName; + + /** 品牌 */ + @Excel(name = "品牌") + private String machineryBrand; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String machinerySpec; + + /** 设备类型ID */ + @Excel(name = "设备类型ID") + private Long machineryTypeId; + + /** 设备类型编码 */ + @Excel(name = "设备类型编码") + private String machineryTypeCode; + + /** 设备类型名称 */ + @Excel(name = "设备类型名称") + private String machineryTypeName; + + /** 所属车间ID */ + @Excel(name = "所属车间ID") + private Long workshopId; + + /** 所属车间编码 */ + @Excel(name = "所属车间编码") + private String workshopCode; + + /** 所属车间名称 */ + @Excel(name = "所属车间名称") + private String workshopName; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8") + @Excel(name = "最近保养时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date lastMaintenTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8") + @Excel(name = "最近点检时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date lastCheckTime; + + /** 设备状态 */ + @Excel(name = "设备状态") + private String status; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + /** 备注 */ + private String remark; + + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/DvMachineryType.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvMachineryType.java new file mode 100644 index 0000000..ed83d27 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvMachineryType.java @@ -0,0 +1,55 @@ +package com.gear.mes.dv.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.gear.common.annotation.Excel; +import com.gear.common.core.domain.TreeEntity; +import lombok.Data; + +/** + * 设备类型对象 dv_machinery_type + * + * @author yinjinlu + * @date 2022-05-08 + */ +@Data +public class DvMachineryType extends TreeEntity +{ + private static final long serialVersionUID = 1L; + + /** 设备类型ID */ + private Long machineryTypeId; + + /** 设备类型编码 */ + @Excel(name = "设备类型编码") + private String machineryTypeCode; + + /** 设备类型名称 */ + @Excel(name = "设备类型名称") + private String machineryTypeName; + + /** 父类型ID */ + @Excel(name = "父类型ID") + private Long parentTypeId; + + /** 是否启用 */ + @Excel(name = "是否启用") + private String enableFlag; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + /** 备注 */ + private String remark; + /** 祖级列表 */ + @TableField(exist = false) + private String ancestors; + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/DvMaintenRecord.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvMaintenRecord.java new file mode 100644 index 0000000..0258b02 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvMaintenRecord.java @@ -0,0 +1,96 @@ +package com.gear.mes.dv.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gear.common.annotation.Excel; +import com.gear.common.core.domain.BaseEntity; +import lombok.Data; + +import java.util.Date; + +/** + * 设备保养记录对象 dv_mainten_record + * + * @author yinjinlu + * @date 2024-12-26 + */ +@Data +public class DvMaintenRecord extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 计划ID */ + private Long recordId; + + /** 计划ID */ + @Excel(name = "计划ID") + private Long planId; + + /** 计划编码 */ + @Excel(name = "计划编码") + private String planCode; + + /** 计划名称 */ + @Excel(name = "计划名称") + private String planName; + + /** 计划类型 */ + @Excel(name = "计划类型") + private String planType; + + /** 设备ID */ + @Excel(name = "设备ID") + private Long machineryId; + + /** 设备编码 */ + @Excel(name = "设备编码") + private String machineryCode; + + /** 设备名称 */ + @Excel(name = "设备名称") + private String machineryName; + + /** 品牌 */ + @Excel(name = "品牌") + private String machineryBrand; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String machinerySpec; + + /** 保养时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "保养时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date maintenTime; + + /** 用户ID */ + @Excel(name = "用户ID") + private Long userId; + + /** 用户名 */ + @Excel(name = "用户名") + private String userName; + + /** 昵称 */ + @Excel(name = "昵称") + private String nickName; + + /** 状态 */ + @Excel(name = "状态") + private String status; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + /** 备注 */ + private String remark; + + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/DvMaintenRecordLine.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvMaintenRecordLine.java new file mode 100644 index 0000000..5e6ee67 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvMaintenRecordLine.java @@ -0,0 +1,69 @@ +package com.gear.mes.dv.domain; + +import com.gear.common.annotation.Excel; +import com.gear.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 设备保养记录行对象 dv_mainten_record_line + * + * @author yinjinlu + * @date 2024-12-26 + */ +@Data +public class DvMaintenRecordLine extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 计划ID */ + private Long lineId; + + /** 计划ID */ + @Excel(name = "计划ID") + private Long recordId; + + /** 项目ID */ + @Excel(name = "项目ID") + private Long subjectId; + + /** 项目编码 */ + @Excel(name = "项目编码") + private String subjectCode; + + /** 项目名称 */ + @Excel(name = "项目名称") + private String subjectName; + + /** 项目类型 */ + @Excel(name = "项目类型") + private String subjectType; + + /** 项目内容 */ + @Excel(name = "项目内容") + private String subjectContent; + + /** 标准 */ + @Excel(name = "标准") + private String subjectStandard; + + /** 保养结果 */ + @Excel(name = "保养结果") + private String maintenStatus; + + /** 异常描述 */ + @Excel(name = "异常描述") + private String maintenResult; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/DvRepair.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvRepair.java new file mode 100644 index 0000000..a73d472 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvRepair.java @@ -0,0 +1,116 @@ +package com.gear.mes.dv.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gear.common.annotation.Excel; +import com.gear.common.core.domain.BaseEntity; +import lombok.Data; + +import java.util.Date; + +/** + * 设备维修单对象 dv_repair + * + * @author yinjinlu + * @date 2022-08-06 + */ +@Data +public class DvRepair extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 维修单ID */ + private Long repairId; + + /** 维修单编号 */ + @Excel(name = "维修单编号") + private String repairCode; + + /** 维修单名称 */ + @Excel(name = "维修单名称") + private String repairName; + + /** 设备ID */ + @Excel(name = "设备ID") + private Long machineryId; + + /** 设备编码 */ + @Excel(name = "设备编码") + private String machineryCode; + + /** 设备名称 */ + @Excel(name = "设备名称") + private String machineryName; + + /** 品牌 */ + @Excel(name = "品牌") + private String machineryBrand; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String machinerySpec; + + /** 设备类型ID */ + @Excel(name = "设备类型ID") + private Long machineryTypeId; + + /** 报修日期 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "报修日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date requireDate; + + /** 维修完成日期 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "维修完成日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date finishDate; + + /** 验收日期 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "验收日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date confirmDate; + + /** 维修结果 */ + @Excel(name = "维修结果") + private String repairResult; + + private Long acceptedId; + + private String acceptedName; + + /** 维修人员 */ + @Excel(name = "维修人员") + private String acceptedBy; + + private Long confirmId; + + private String confirmName; + /** 验收人员 */ + @Excel(name = "验收人员") + private String confirmBy; + + private String sourceDocType; + + private Long sourceDocId; + + private String sourceDocCode; + + + /** 单据状态 */ + @Excel(name = "单据状态") + private String status; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + /** 备注 */ + private String remark; + + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/DvRepairLine.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvRepairLine.java new file mode 100644 index 0000000..894cdd5 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvRepairLine.java @@ -0,0 +1,76 @@ +package com.gear.mes.dv.domain; + +import com.gear.common.annotation.Excel; +import com.gear.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 设备维修单行对象 dv_repair_line + * + * @author yinjinlu + * @date 2022-08-08 + */ +@Data +public class DvRepairLine extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 行ID */ + private Long lineId; + + /** 维修单ID */ + @Excel(name = "维修单ID") + private Long repairId; + + /** 项目ID */ + @Excel(name = "项目ID") + private Long subjectId; + + /** 项目编码 */ + @Excel(name = "项目编码") + private String subjectCode; + + /** 项目名称 */ + @Excel(name = "项目名称") + private String subjectName; + + /** 项目类型 */ + @Excel(name = "项目类型") + private String subjectType; + + /** 项目内容 */ + @Excel(name = "项目内容") + private String subjectContent; + + /** 标准 */ + @Excel(name = "标准") + private String subjectStandard; + + /** 故障描述 */ + @Excel(name = "故障描述") + private String malfunction; + + /** 故障描述资源 */ + @Excel(name = "故障描述资源") + private String malfunctionUrl; + + /** 维修情况 */ + @Excel(name = "维修情况") + private String repairDes; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + /** 备注 */ + private String remark; + + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/DvSpecialEquipment.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvSpecialEquipment.java new file mode 100644 index 0000000..e5ebf52 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvSpecialEquipment.java @@ -0,0 +1,93 @@ +package com.gear.mes.dv.domain; + +import com.gear.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 特种设备(包含锅炉、压力管道、电梯等特种设备信息)对象 dv_special_equipment + * + * @author klp + * @date 2025-08-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("dv_special_equipment") +public class DvSpecialEquipment extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 设备ID + */ + @TableId(value = "equipment_id") + private Long equipmentId; + /** + * 设备编码 + */ + private String equipmentCode; + /** + * 设备名称(如:锅炉、压力容器、压力管道、电梯、起重机械等) + */ + private String equipmentName; + /** + * 规格型号 + */ + private String specificationModel; + /** + * 制造单位 + */ + private String manufacturer; + /** + * 制造日期 + */ + private Date productionDate; + /** + * 安装日期 + */ + private Date installationDate; + /** + * 投入使用日期 + */ + private Date useStartDate; + /** + * 特种设备注册编号 + */ + private String registrationNo; + /** + * 安全负责人 + */ + private String safetyManager; + /** + * 附件路径(多个附件用逗号分隔) + */ + private String attachment; + /** + * 检验周期(月) + */ + private Long inspectionCycle; + /** + * 上次检验时间 + */ + private Date lastInspectionTime; + /** + * 下次检验时间 + */ + private Date nextInspectionTime; + /** + * 当前状态(在用、停用、报废等) + */ + private String currentStatus; + /** + * 备注 + */ + private String remark; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/DvSubject.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvSubject.java new file mode 100644 index 0000000..67e1b27 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/DvSubject.java @@ -0,0 +1,59 @@ +package com.gear.mes.dv.domain; + +import com.gear.common.annotation.Excel; +import com.gear.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * 设备点检保养项目对象 dv_subject + * + * @author yinjinlu + * @date 2022-06-16 + */ +@Data +public class DvSubject extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 项目ID */ + private Long subjectId; + + /** 项目编码 */ + @Excel(name = "项目编码") + private String subjectCode; + + /** 项目名称 */ + @Excel(name = "项目名称") + private String subjectName; + + /** 项目类型 */ + @Excel(name = "项目类型") + private String subjectType; + + /** 项目内容 */ + @Excel(name = "项目内容") + private String subjectContent; + + /** 标准 */ + @Excel(name = "标准") + private String subjectStandard; + + /** 是否启用 */ + @Excel(name = "是否启用") + private String enableFlag; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + /** 备注 */ + private String remark; + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/bo/DvSpecialEquipmentBo.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/bo/DvSpecialEquipmentBo.java new file mode 100644 index 0000000..4c41341 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/bo/DvSpecialEquipmentBo.java @@ -0,0 +1,113 @@ +package com.gear.mes.dv.domain.bo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gear.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * 特种设备(包含锅炉、压力管道、电梯等特种设备信息)业务对象 dv_special_equipment + * + * @author klp + * @date 2025-08-21 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class DvSpecialEquipmentBo extends BaseEntity { + + /** + * 设备ID + */ + private Long equipmentId; + + /** + * 设备编码 + */ + private String equipmentCode; + + /** + * 设备名称(如:锅炉、压力容器、压力管道、电梯、起重机械等) + */ + private String equipmentName; + + /** + * 规格型号 + */ + private String specificationModel; + + /** + * 制造单位 + */ + private String manufacturer; + + /** + * 制造日期 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date productionDate; + + /** + * 安装日期 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date installationDate; + + /** + * 投入使用日期 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date useStartDate; + + /** + * 特种设备注册编号 + */ + private String registrationNo; + + /** + * 安全负责人 + */ + private String safetyManager; + + /** + * 附件路径(多个附件用逗号分隔) + */ + private String attachment; + + /** + * 检验周期(月) + */ + private Long inspectionCycle; + + /** + * 上次检验时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date lastInspectionTime; + + /** + * 下次检验时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date nextInspectionTime; + + /** + * 当前状态(在用、停用、报废等) + */ + private String currentStatus; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/dto/DvCheckPlanDTO.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/dto/DvCheckPlanDTO.java new file mode 100644 index 0000000..22f0a28 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/dto/DvCheckPlanDTO.java @@ -0,0 +1,12 @@ +package com.gear.mes.dv.domain.dto; + +import lombok.Data; + +@Data +public class DvCheckPlanDTO { + + private String planType; + + private String machineryCode; + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/dto/DvRepairDTO.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/dto/DvRepairDTO.java new file mode 100644 index 0000000..25a5f9f --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/dto/DvRepairDTO.java @@ -0,0 +1,10 @@ +package com.gear.mes.dv.domain.dto; + +import lombok.Data; + +@Data +public class DvRepairDTO { + + private String machineryCode; + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/domain/vo/DvSpecialEquipmentVo.java b/gear-mes/src/main/java/com/gear/mes/dv/domain/vo/DvSpecialEquipmentVo.java new file mode 100644 index 0000000..667c4ba --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/domain/vo/DvSpecialEquipmentVo.java @@ -0,0 +1,131 @@ +package com.gear.mes.dv.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.gear.common.annotation.ExcelDictFormat; +import com.gear.common.convert.ExcelDictConvert; +import lombok.Data; + +import java.util.Date; + + +/** + * 特种设备(包含锅炉、压力管道、电梯等特种设备信息)视图对象 dv_special_equipment + * + * @author klp + * @date 2025-08-21 + */ +@Data +@ExcelIgnoreUnannotated +public class DvSpecialEquipmentVo { + + private static final long serialVersionUID = 1L; + + /** + * 设备ID + */ + @ExcelProperty(value = "设备ID") + private Long equipmentId; + + /** + * 设备编码 + */ + @ExcelProperty(value = "设备编码") + private String equipmentCode; + + /** + * 设备名称(如:锅炉、压力容器、压力管道、电梯、起重机械等) + */ + @ExcelProperty(value = "设备名称", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "如=:锅炉、压力容器、压力管道、电梯、起重机械等") + private String equipmentName; + + /** + * 规格型号 + */ + @ExcelProperty(value = "规格型号") + private String specificationModel; + + /** + * 制造单位 + */ + @ExcelProperty(value = "制造单位") + private String manufacturer; + + /** + * 制造日期 + */ + @ExcelProperty(value = "制造日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date productionDate; + + /** + * 安装日期 + */ + @ExcelProperty(value = "安装日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date installationDate; + + /** + * 投入使用日期 + */ + @ExcelProperty(value = "投入使用日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date useStartDate; + + /** + * 特种设备注册编号 + */ + @ExcelProperty(value = "特种设备注册编号") + private String registrationNo; + + /** + * 安全负责人 + */ + @ExcelProperty(value = "安全负责人") + private String safetyManager; + + /** + * 附件路径(多个附件用逗号分隔) + */ + @ExcelProperty(value = "附件路径", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "多=个附件用逗号分隔") + private String attachment; + + /** + * 检验周期(月) + */ + @ExcelProperty(value = "检验周期", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "月=") + private Long inspectionCycle; + + /** + * 上次检验时间 + */ + @ExcelProperty(value = "上次检验时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date lastInspectionTime; + + /** + * 下次检验时间 + */ + @ExcelProperty(value = "下次检验时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date nextInspectionTime; + + /** + * 当前状态(在用、停用、报废等) + */ + @ExcelProperty(value = "当前状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "在=用、停用、报废等") + private String currentStatus; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckMachineryMapper.java b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckMachineryMapper.java new file mode 100644 index 0000000..0e1e072 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckMachineryMapper.java @@ -0,0 +1,79 @@ +package com.gear.mes.dv.mapper; + +import com.gear.mes.dv.domain.DvCheckMachinery; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 点检设备Mapper接口 + * + * @author yinjinlu + * @date 2022-06-17 + */ +public interface DvCheckMachineryMapper +{ + /** + * 查询点检设备 + * + * @param recordId 点检设备主键 + * @return 点检设备 + */ + public DvCheckMachinery selectDvCheckMachineryByRecordId(Long recordId); + + /** + * 查询点检设备列表 + * + * @param dvCheckMachinery 点检设备 + * @return 点检设备集合 + */ + public List selectDvCheckMachineryList(DvCheckMachinery dvCheckMachinery); + + public DvCheckMachinery checkMachineryUnique(DvCheckMachinery dvCheckMachinery); + + /** + * 新增点检设备 + * + * @param dvCheckMachinery 点检设备 + * @return 结果 + */ + public int insertDvCheckMachinery(DvCheckMachinery dvCheckMachinery); + + /** + * 修改点检设备 + * + * @param dvCheckMachinery 点检设备 + * @return 结果 + */ + public int updateDvCheckMachinery(DvCheckMachinery dvCheckMachinery); + + /** + * 删除点检设备 + * + * @param recordId 点检设备主键 + * @return 结果 + */ + public int deleteDvCheckMachineryByRecordId(Long recordId); + + /** + * 批量删除点检设备 + * + * @param recordIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDvCheckMachineryByRecordIds(Long[] recordIds); + + /** + * 根据计划头ID删除对应的设备列表 + * @param planId + * @return + */ + public int deleteByPlanId(Long planId); + + /** + * 根据设备编码获取相关计划id + * @param machineryCode + * @return + */ + List getPlanId(@Param("machineryCode") String machineryCode); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckPlanMapper.java b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckPlanMapper.java new file mode 100644 index 0000000..7cca663 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckPlanMapper.java @@ -0,0 +1,69 @@ +package com.gear.mes.dv.mapper; + +import com.gear.mes.dv.domain.DvCheckPlan; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备点检计划头Mapper接口 + * + * @author yinjinlu + * @date 2022-06-16 + */ +public interface DvCheckPlanMapper +{ + /** + * 查询设备点检计划头 + * + * @param planId 设备点检计划头主键 + * @return 设备点检计划头 + */ + public DvCheckPlan selectDvCheckPlanByPlanId(Long planId); + + /** + * 查询设备点检计划头列表 + * + * @param dvCheckPlan 设备点检计划头 + * @return 设备点检计划头集合 + */ + public List selectDvCheckPlanList(DvCheckPlan dvCheckPlan); + + public DvCheckPlan checkPlanCodeUnique(DvCheckPlan dvCheckPlan); + + /** + * 新增设备点检计划头 + * + * @param dvCheckPlan 设备点检计划头 + * @return 结果 + */ + public int insertDvCheckPlan(DvCheckPlan dvCheckPlan); + + /** + * 修改设备点检计划头 + * + * @param dvCheckPlan 设备点检计划头 + * @return 结果 + */ + public int updateDvCheckPlan(DvCheckPlan dvCheckPlan); + + /** + * 删除设备点检计划头 + * + * @param planId 设备点检计划头主键 + * @return 结果 + */ + public int deleteDvCheckPlanByPlanId(Long planId); + + /** + * 批量删除设备点检计划头 + * + * @param planIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDvCheckPlanByPlanIds(Long[] planIds); + + DvCheckPlan selectDvCheckPlanByMachineryCodeAndType(@Param("machineryCode") String machineryCode, @Param("planType") String planType); + + List getByIds(@Param("planIds") List planIds,@Param("planType") String planType); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckRecordLineMapper.java b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckRecordLineMapper.java new file mode 100644 index 0000000..0eb4665 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckRecordLineMapper.java @@ -0,0 +1,70 @@ +package com.gear.mes.dv.mapper; + +import com.gear.mes.dv.domain.DvCheckRecordLine; + +import java.util.List; + +/** + * 设备点检记录行Mapper接口 + * + * @author yinjinlu + * @date 2024-12-26 + */ +public interface DvCheckRecordLineMapper +{ + /** + * 查询设备点检记录行 + * + * @param lineId 设备点检记录行主键 + * @return 设备点检记录行 + */ + public DvCheckRecordLine selectDvCheckRecordLineByLineId(Long lineId); + + /** + * 查询设备点检记录行列表 + * + * @param dvCheckRecordLine 设备点检记录行 + * @return 设备点检记录行集合 + */ + public List selectDvCheckRecordLineList(DvCheckRecordLine dvCheckRecordLine); + + /** + * 新增设备点检记录行 + * + * @param dvCheckRecordLine 设备点检记录行 + * @return 结果 + */ + public int insertDvCheckRecordLine(DvCheckRecordLine dvCheckRecordLine); + + /** + * 修改设备点检记录行 + * + * @param dvCheckRecordLine 设备点检记录行 + * @return 结果 + */ + public int updateDvCheckRecordLine(DvCheckRecordLine dvCheckRecordLine); + + /** + * 删除设备点检记录行 + * + * @param lineId 设备点检记录行主键 + * @return 结果 + */ + public int deleteDvCheckRecordLineByLineId(Long lineId); + + /** + * 批量删除设备点检记录行 + * + * @param lineIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDvCheckRecordLineByLineIds(Long[] lineIds); + + /** + * 根据记录ID删除设备点检记录行信息 + * + * @param recordId 记录ID + * @return 结果 + */ + public int deleteDvCheckRecordLineByRecordId(Long recordId); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckRecordMapper.java b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckRecordMapper.java new file mode 100644 index 0000000..ffb3731 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckRecordMapper.java @@ -0,0 +1,62 @@ +package com.gear.mes.dv.mapper; + +import com.gear.mes.dv.domain.DvCheckRecord; + +import java.util.List; + +/** + * 设备点检记录Mapper接口 + * + * @author yinjinlu + * @date 2024-12-26 + */ +public interface DvCheckRecordMapper +{ + /** + * 查询设备点检记录 + * + * @param recordId 设备点检记录主键 + * @return 设备点检记录 + */ + public DvCheckRecord selectDvCheckRecordByRecordId(Long recordId); + + /** + * 查询设备点检记录列表 + * + * @param dvCheckRecord 设备点检记录 + * @return 设备点检记录集合 + */ + public List selectDvCheckRecordList(DvCheckRecord dvCheckRecord); + + /** + * 新增设备点检记录 + * + * @param dvCheckRecord 设备点检记录 + * @return 结果 + */ + public int insertDvCheckRecord(DvCheckRecord dvCheckRecord); + + /** + * 修改设备点检记录 + * + * @param dvCheckRecord 设备点检记录 + * @return 结果 + */ + public int updateDvCheckRecord(DvCheckRecord dvCheckRecord); + + /** + * 删除设备点检记录 + * + * @param recordId 设备点检记录主键 + * @return 结果 + */ + public int deleteDvCheckRecordByRecordId(Long recordId); + + /** + * 批量删除设备点检记录 + * + * @param recordIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDvCheckRecordByRecordIds(Long[] recordIds); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckSubjectMapper.java b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckSubjectMapper.java new file mode 100644 index 0000000..cfdcb2f --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvCheckSubjectMapper.java @@ -0,0 +1,72 @@ +package com.gear.mes.dv.mapper; + +import com.gear.mes.dv.domain.DvCheckSubject; + +import java.util.List; + +/** + * 点检项目Mapper接口 + * + * @author yinjinlu + * @date 2022-06-18 + */ +public interface DvCheckSubjectMapper +{ + /** + * 查询点检项目 + * + * @param recordId 点检项目主键 + * @return 点检项目 + */ + public DvCheckSubject selectDvCheckSubjectByRecordId(Long recordId); + + /** + * 查询点检项目列表 + * + * @param dvCheckSubject 点检项目 + * @return 点检项目集合 + */ + public List selectDvCheckSubjectList(DvCheckSubject dvCheckSubject); + + + public DvCheckSubject checkSubjectUnique(DvCheckSubject dvCheckSubject); + + /** + * 新增点检项目 + * + * @param dvCheckSubject 点检项目 + * @return 结果 + */ + public int insertDvCheckSubject(DvCheckSubject dvCheckSubject); + + /** + * 修改点检项目 + * + * @param dvCheckSubject 点检项目 + * @return 结果 + */ + public int updateDvCheckSubject(DvCheckSubject dvCheckSubject); + + /** + * 删除点检项目 + * + * @param recordId 点检项目主键 + * @return 结果 + */ + public int deleteDvCheckSubjectByRecordId(Long recordId); + + /** + * 批量删除点检项目 + * + * @param recordIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDvCheckSubjectByRecordIds(Long[] recordIds); + + /** + * 根据计划ID删除对应的计划项目 + * @param planId + * @return + */ + public int deleteByPlanId(Long planId); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMachineryMapper.java b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMachineryMapper.java new file mode 100644 index 0000000..6146997 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMachineryMapper.java @@ -0,0 +1,72 @@ +package com.gear.mes.dv.mapper; + +import com.gear.mes.dv.domain.DvMachinery; + +import java.util.List; + +/** + * 设备Mapper接口 + * + * @author yinjinlu + * @date 2022-05-08 + */ +public interface DvMachineryMapper +{ + /** + * 查询设备 + * + * @param machineryId 设备主键 + * @return 设备 + */ + public DvMachinery selectDvMachineryByMachineryId(Long machineryId); + + /** + * 依据设备编码查询设备 + * + * @param machineryCode 设备编码 + * @return 设备 + */ + public List selectByMachineryCode(String machineryCode); + + /** + * 查询设备列表 + * + * @param dvMachinery 设备 + * @return 设备集合 + */ + public List selectDvMachineryList(DvMachinery dvMachinery); + + /** + * 新增设备 + * + * @param dvMachinery 设备 + * @return 结果 + */ + public int insertDvMachinery(DvMachinery dvMachinery); + + /** + * 修改设备 + * + * @param dvMachinery 设备 + * @return 结果 + */ + public int updateDvMachinery(DvMachinery dvMachinery); + + /** + * 删除设备 + * + * @param machineryId 设备主键 + * @return 结果 + */ + public int deleteDvMachineryByMachineryId(Long machineryId); + + /** + * 批量删除设备 + * + * @param machineryIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDvMachineryByMachineryIds(Long[] machineryIds); + + DvMachinery checkRecptCodeUnique(DvMachinery dvMachinery); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMachineryTypeMapper.java b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMachineryTypeMapper.java new file mode 100644 index 0000000..4b1dd71 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMachineryTypeMapper.java @@ -0,0 +1,62 @@ +package com.gear.mes.dv.mapper; + +import com.gear.mes.dv.domain.DvMachineryType; + +import java.util.List; + +/** + * 设备类型Mapper接口 + * + * @author yinjinlu + * @date 2022-05-08 + */ +public interface DvMachineryTypeMapper +{ + /** + * 查询设备类型 + * + * @param machineryTypeId 设备类型主键 + * @return 设备类型 + */ + public DvMachineryType selectDvMachineryTypeByMachineryTypeId(Long machineryTypeId); + + /** + * 查询设备类型列表 + * + * @param dvMachineryType 设备类型 + * @return 设备类型集合 + */ + public List selectDvMachineryTypeList(DvMachineryType dvMachineryType); + + /** + * 新增设备类型 + * + * @param dvMachineryType 设备类型 + * @return 结果 + */ + public int insertDvMachineryType(DvMachineryType dvMachineryType); + + /** + * 修改设备类型 + * + * @param dvMachineryType 设备类型 + * @return 结果 + */ + public int updateDvMachineryType(DvMachineryType dvMachineryType); + + /** + * 删除设备类型 + * + * @param machineryTypeId 设备类型主键 + * @return 结果 + */ + public int deleteDvMachineryTypeByMachineryTypeId(Long machineryTypeId); + + /** + * 批量删除设备类型 + * + * @param machineryTypeIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDvMachineryTypeByMachineryTypeIds(Long[] machineryTypeIds); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMaintenRecordLineMapper.java b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMaintenRecordLineMapper.java new file mode 100644 index 0000000..1d300a9 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMaintenRecordLineMapper.java @@ -0,0 +1,62 @@ +package com.gear.mes.dv.mapper; + +import com.gear.mes.dv.domain.DvMaintenRecordLine; + +import java.util.List; + +/** + * 设备保养记录行Mapper接口 + * + * @author yinjinlu + * @date 2024-12-26 + */ +public interface DvMaintenRecordLineMapper +{ + /** + * 查询设备保养记录行 + * + * @param lineId 设备保养记录行主键 + * @return 设备保养记录行 + */ + public DvMaintenRecordLine selectDvMaintenRecordLineByLineId(Long lineId); + + /** + * 查询设备保养记录行列表 + * + * @param dvMaintenRecordLine 设备保养记录行 + * @return 设备保养记录行集合 + */ + public List selectDvMaintenRecordLineList(DvMaintenRecordLine dvMaintenRecordLine); + + /** + * 新增设备保养记录行 + * + * @param dvMaintenRecordLine 设备保养记录行 + * @return 结果 + */ + public int insertDvMaintenRecordLine(DvMaintenRecordLine dvMaintenRecordLine); + + /** + * 修改设备保养记录行 + * + * @param dvMaintenRecordLine 设备保养记录行 + * @return 结果 + */ + public int updateDvMaintenRecordLine(DvMaintenRecordLine dvMaintenRecordLine); + + /** + * 删除设备保养记录行 + * + * @param lineId 设备保养记录行主键 + * @return 结果 + */ + public int deleteDvMaintenRecordLineByLineId(Long lineId); + + /** + * 批量删除设备保养记录行 + * + * @param lineIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDvMaintenRecordLineByLineIds(Long[] lineIds); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMaintenRecordMapper.java b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMaintenRecordMapper.java new file mode 100644 index 0000000..95e8d1a --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvMaintenRecordMapper.java @@ -0,0 +1,62 @@ +package com.gear.mes.dv.mapper; + +import com.gear.mes.dv.domain.DvMaintenRecord; + +import java.util.List; + +/** + * 设备保养记录Mapper接口 + * + * @author yinjinlu + * @date 2024-12-26 + */ +public interface DvMaintenRecordMapper +{ + /** + * 查询设备保养记录 + * + * @param recordId 设备保养记录主键 + * @return 设备保养记录 + */ + public DvMaintenRecord selectDvMaintenRecordByRecordId(Long recordId); + + /** + * 查询设备保养记录列表 + * + * @param dvMaintenRecord 设备保养记录 + * @return 设备保养记录集合 + */ + public List selectDvMaintenRecordList(DvMaintenRecord dvMaintenRecord); + + /** + * 新增设备保养记录 + * + * @param dvMaintenRecord 设备保养记录 + * @return 结果 + */ + public int insertDvMaintenRecord(DvMaintenRecord dvMaintenRecord); + + /** + * 修改设备保养记录 + * + * @param dvMaintenRecord 设备保养记录 + * @return 结果 + */ + public int updateDvMaintenRecord(DvMaintenRecord dvMaintenRecord); + + /** + * 删除设备保养记录 + * + * @param recordId 设备保养记录主键 + * @return 结果 + */ + public int deleteDvMaintenRecordByRecordId(Long recordId); + + /** + * 批量删除设备保养记录 + * + * @param recordIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDvMaintenRecordByRecordIds(Long[] recordIds); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvRepairLineMapper.java b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvRepairLineMapper.java new file mode 100644 index 0000000..f2bc825 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvRepairLineMapper.java @@ -0,0 +1,64 @@ +package com.gear.mes.dv.mapper; + +import com.gear.mes.dv.domain.DvRepairLine; + +import java.util.List; + +/** + * 设备维修单行Mapper接口 + * + * @author yinjinlu + * @date 2022-08-08 + */ +public interface DvRepairLineMapper +{ + /** + * 查询设备维修单行 + * + * @param lineId 设备维修单行主键 + * @return 设备维修单行 + */ + public DvRepairLine selectDvRepairLineByLineId(Long lineId); + + /** + * 查询设备维修单行列表 + * + * @param dvRepairLine 设备维修单行 + * @return 设备维修单行集合 + */ + public List selectDvRepairLineList(DvRepairLine dvRepairLine); + + /** + * 新增设备维修单行 + * + * @param dvRepairLine 设备维修单行 + * @return 结果 + */ + public int insertDvRepairLine(DvRepairLine dvRepairLine); + + /** + * 修改设备维修单行 + * + * @param dvRepairLine 设备维修单行 + * @return 结果 + */ + public int updateDvRepairLine(DvRepairLine dvRepairLine); + + /** + * 删除设备维修单行 + * + * @param lineId 设备维修单行主键 + * @return 结果 + */ + public int deleteDvRepairLineByLineId(Long lineId); + + /** + * 批量删除设备维修单行 + * + * @param lineIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDvRepairLineByLineIds(Long[] lineIds); + + public int deleteByRepairId(Long repairId); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvRepairMapper.java b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvRepairMapper.java new file mode 100644 index 0000000..a4dbd76 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvRepairMapper.java @@ -0,0 +1,74 @@ +package com.gear.mes.dv.mapper; + +import com.gear.mes.dv.domain.DvRepair; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备维修单Mapper接口 + * + * @author yinjinlu + * @date 2022-08-06 + */ +public interface DvRepairMapper +{ + /** + * 查询设备维修单 + * + * @param repairId 设备维修单主键 + * @return 设备维修单 + */ + public DvRepair selectDvRepairByRepairId(Long repairId); + + /** + * 查询设备维修单列表 + * + * @param dvRepair 设备维修单 + * @return 设备维修单集合 + */ + public List selectDvRepairList(DvRepair dvRepair); + + public DvRepair checkCodeUnique(DvRepair dvRepair); + + + /** + * 新增设备维修单 + * + * @param dvRepair 设备维修单 + * @return 结果 + */ + public int insertDvRepair(DvRepair dvRepair); + + /** + * 修改设备维修单 + * + * @param dvRepair 设备维修单 + * @return 结果 + */ + public int updateDvRepair(DvRepair dvRepair); + + /** + * 删除设备维修单 + * + * @param repairId 设备维修单主键 + * @return 结果 + */ + public int deleteDvRepairByRepairId(Long repairId); + + /** + * 批量删除设备维修单 + * + * @param repairIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDvRepairByRepairIds(Long[] repairIds); + + /** + * 根据设备编码查询设备维修单列表 + * + * @param machineryCode + * @return + */ + List getRepairList(@Param("machineryCode") String machineryCode); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvSpecialEquipmentMapper.java b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvSpecialEquipmentMapper.java new file mode 100644 index 0000000..79126ac --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvSpecialEquipmentMapper.java @@ -0,0 +1,15 @@ +package com.gear.mes.dv.mapper; + +import com.gear.common.core.mapper.BaseMapperPlus; +import com.gear.mes.dv.domain.DvSpecialEquipment; +import com.gear.mes.dv.domain.vo.DvSpecialEquipmentVo; + +/** + * 特种设备(包含锅炉、压力管道、电梯等特种设备信息)Mapper接口 + * + * @author klp + * @date 2025-08-21 + */ +public interface DvSpecialEquipmentMapper extends BaseMapperPlus { + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvSubjectMapper.java b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvSubjectMapper.java new file mode 100644 index 0000000..9ddb1c4 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/mapper/DvSubjectMapper.java @@ -0,0 +1,65 @@ +package com.gear.mes.dv.mapper; + +import com.gear.mes.dv.domain.DvSubject; + +import java.util.List; + +/** + * 设备点检保养项目Mapper接口 + * + * @author yinjinlu + * @date 2022-06-16 + */ +public interface DvSubjectMapper +{ + /** + * 查询设备点检保养项目 + * + * @param subjectId 设备点检保养项目主键 + * @return 设备点检保养项目 + */ + public DvSubject selectDvSubjectBySubjectId(Long subjectId); + + /** + * 查询设备点检保养项目列表 + * + * @param dvSubject 设备点检保养项目 + * @return 设备点检保养项目集合 + */ + public List selectDvSubjectList(DvSubject dvSubject); + + + public DvSubject checkSubjectCodeUnique(DvSubject dvSubject); + + /** + * 新增设备点检保养项目 + * + * @param dvSubject 设备点检保养项目 + * @return 结果 + */ + public int insertDvSubject(DvSubject dvSubject); + + /** + * 修改设备点检保养项目 + * + * @param dvSubject 设备点检保养项目 + * @return 结果 + */ + public int updateDvSubject(DvSubject dvSubject); + + /** + * 删除设备点检保养项目 + * + * @param subjectId 设备点检保养项目主键 + * @return 结果 + */ + public int deleteDvSubjectBySubjectId(Long subjectId); + + /** + * 批量删除设备点检保养项目 + * + * @param subjectIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteDvSubjectBySubjectIds(Long[] subjectIds); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckMachineryService.java b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckMachineryService.java new file mode 100644 index 0000000..a4eddc3 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckMachineryService.java @@ -0,0 +1,78 @@ +package com.gear.mes.dv.service; + +import com.gear.mes.dv.domain.DvCheckMachinery; + +import java.util.List; + +/** + * 点检设备Service接口 + * + * @author yinjinlu + * @date 2022-06-17 + */ +public interface IDvCheckMachineryService +{ + /** + * 查询点检设备 + * + * @param recordId 点检设备主键 + * @return 点检设备 + */ + public DvCheckMachinery selectDvCheckMachineryByRecordId(Long recordId); + + /** + * 查询点检设备列表 + * + * @param dvCheckMachinery 点检设备 + * @return 点检设备集合 + */ + public List selectDvCheckMachineryList(DvCheckMachinery dvCheckMachinery); + + public String checkMachineryUnique(DvCheckMachinery dvCheckMachinery); + + /** + * 新增点检设备 + * + * @param dvCheckMachinery 点检设备 + * @return 结果 + */ + public int insertDvCheckMachinery(DvCheckMachinery dvCheckMachinery); + + /** + * 修改点检设备 + * + * @param dvCheckMachinery 点检设备 + * @return 结果 + */ + public int updateDvCheckMachinery(DvCheckMachinery dvCheckMachinery); + + /** + * 批量删除点检设备 + * + * @param recordIds 需要删除的点检设备主键集合 + * @return 结果 + */ + public int deleteDvCheckMachineryByRecordIds(Long[] recordIds); + + /** + * 删除点检设备信息 + * + * @param recordId 点检设备主键 + * @return 结果 + */ + public int deleteDvCheckMachineryByRecordId(Long recordId); + + /** + * 根据计划头ID删除对应的设备列表 + * @param planId + * @return + */ + public int deleteByPlanId(Long planId); + + /** + * 根据设备编码获取相关计划id + * @param machineryCode + * @return + */ + List getPlanId(String machineryCode); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckPlanService.java b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckPlanService.java new file mode 100644 index 0000000..5ad554e --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckPlanService.java @@ -0,0 +1,80 @@ +package com.gear.mes.dv.service; + +import com.gear.common.core.domain.AjaxResult; +import com.gear.mes.dv.domain.DvCheckPlan; +import com.gear.mes.dv.domain.dto.DvCheckPlanDTO; + +import java.util.List; + +/** + * 设备点检计划头Service接口 + * + * @author yinjinlu + * @date 2022-06-16 + */ +public interface IDvCheckPlanService +{ + /** + * 查询设备点检计划头 + * + * @param planId 设备点检计划头主键 + * @return 设备点检计划头 + */ + public DvCheckPlan selectDvCheckPlanByPlanId(Long planId); + + /** + * 查询设备点检计划头列表 + * + * @param dvCheckPlan 设备点检计划头 + * @return 设备点检计划头集合 + */ + public List selectDvCheckPlanList(DvCheckPlan dvCheckPlan); + + /** + * 检查计划编码是否唯一 + * @param dvCheckPlan + * @return + */ + public String checkPlanCodeUnique(DvCheckPlan dvCheckPlan); + + /** + * 新增设备点检计划头 + * + * @param dvCheckPlan 设备点检计划头 + * @return 结果 + */ + public int insertDvCheckPlan(DvCheckPlan dvCheckPlan); + + /** + * 修改设备点检计划头 + * + * @param dvCheckPlan 设备点检计划头 + * @return 结果 + */ + public int updateDvCheckPlan(DvCheckPlan dvCheckPlan); + + /** + * 批量删除设备点检计划头 + * + * @param planIds 需要删除的设备点检计划头主键集合 + * @return 结果 + */ + public int deleteDvCheckPlanByPlanIds(Long[] planIds); + + /** + * 删除设备点检计划头信息 + * + * @param planId 设备点检计划头主键 + * @return 结果 + */ + public int deleteDvCheckPlanByPlanId(Long planId); + + /** + * 根据设备编码和计划类型查询设备点检计划头列表 + * @return + */ + AjaxResult getCheckPlan(DvCheckPlanDTO checkPlanDTO); + + + public DvCheckPlan selectDvCheckPlanByMachineryCodeAndType(String machineryCode, String planType); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckRecordLineService.java b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckRecordLineService.java new file mode 100644 index 0000000..305f604 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckRecordLineService.java @@ -0,0 +1,70 @@ +package com.gear.mes.dv.service; + +import com.gear.mes.dv.domain.DvCheckRecordLine; + +import java.util.List; + +/** + * 设备点检记录行Service接口 + * + * @author yinjinlu + * @date 2024-12-26 + */ +public interface IDvCheckRecordLineService +{ + /** + * 查询设备点检记录行 + * + * @param lineId 设备点检记录行主键 + * @return 设备点检记录行 + */ + public DvCheckRecordLine selectDvCheckRecordLineByLineId(Long lineId); + + /** + * 查询设备点检记录行列表 + * + * @param dvCheckRecordLine 设备点检记录行 + * @return 设备点检记录行集合 + */ + public List selectDvCheckRecordLineList(DvCheckRecordLine dvCheckRecordLine); + + /** + * 新增设备点检记录行 + * + * @param dvCheckRecordLine 设备点检记录行 + * @return 结果 + */ + public int insertDvCheckRecordLine(DvCheckRecordLine dvCheckRecordLine); + + /** + * 修改设备点检记录行 + * + * @param dvCheckRecordLine 设备点检记录行 + * @return 结果 + */ + public int updateDvCheckRecordLine(DvCheckRecordLine dvCheckRecordLine); + + /** + * 批量删除设备点检记录行 + * + * @param lineIds 需要删除的设备点检记录行主键集合 + * @return 结果 + */ + public int deleteDvCheckRecordLineByLineIds(Long[] lineIds); + + /** + * 删除设备点检记录行信息 + * + * @param lineId 设备点检记录行主键 + * @return 结果 + */ + public int deleteDvCheckRecordLineByLineId(Long lineId); + + /** + * 根据记录ID删除设备点检记录行信息 + * + * @param recordId 记录ID + * @return 结果 + */ + public int deleteDvCheckRecordLineByRecordId(Long recordId); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckRecordService.java b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckRecordService.java new file mode 100644 index 0000000..e999890 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckRecordService.java @@ -0,0 +1,62 @@ +package com.gear.mes.dv.service; + +import com.gear.mes.dv.domain.DvCheckRecord; + +import java.util.List; + +/** + * 设备点检记录Service接口 + * + * @author yinjinlu + * @date 2024-12-26 + */ +public interface IDvCheckRecordService +{ + /** + * 查询设备点检记录 + * + * @param recordId 设备点检记录主键 + * @return 设备点检记录 + */ + public DvCheckRecord selectDvCheckRecordByRecordId(Long recordId); + + /** + * 查询设备点检记录列表 + * + * @param dvCheckRecord 设备点检记录 + * @return 设备点检记录集合 + */ + public List selectDvCheckRecordList(DvCheckRecord dvCheckRecord); + + /** + * 新增设备点检记录 + * + * @param dvCheckRecord 设备点检记录 + * @return 结果 + */ + public int insertDvCheckRecord(DvCheckRecord dvCheckRecord); + + /** + * 修改设备点检记录 + * + * @param dvCheckRecord 设备点检记录 + * @return 结果 + */ + public int updateDvCheckRecord(DvCheckRecord dvCheckRecord); + + /** + * 批量删除设备点检记录 + * + * @param recordIds 需要删除的设备点检记录主键集合 + * @return 结果 + */ + public int deleteDvCheckRecordByRecordIds(Long[] recordIds); + + /** + * 删除设备点检记录信息 + * + * @param recordId 设备点检记录主键 + * @return 结果 + */ + public int deleteDvCheckRecordByRecordId(Long recordId); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckSubjectService.java b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckSubjectService.java new file mode 100644 index 0000000..fabef0a --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvCheckSubjectService.java @@ -0,0 +1,77 @@ +package com.gear.mes.dv.service; + +import com.gear.mes.dv.domain.DvCheckSubject; + +import java.util.List; + +/** + * 点检项目Service接口 + * + * @author yinjinlu + * @date 2022-06-18 + */ +public interface IDvCheckSubjectService +{ + /** + * 查询点检项目 + * + * @param recordId 点检项目主键 + * @return 点检项目 + */ + public DvCheckSubject selectDvCheckSubjectByRecordId(Long recordId); + + /** + * 查询点检项目列表 + * + * @param dvCheckSubject 点检项目 + * @return 点检项目集合 + */ + public List selectDvCheckSubjectList(DvCheckSubject dvCheckSubject); + + + /** + * 检查当前计划下,点检项目是否唯一 + * @param dvCheckSubject + * @return + */ + public String checkSubjectUnique(DvCheckSubject dvCheckSubject); + + /** + * 新增点检项目 + * + * @param dvCheckSubject 点检项目 + * @return 结果 + */ + public int insertDvCheckSubject(DvCheckSubject dvCheckSubject); + + /** + * 修改点检项目 + * + * @param dvCheckSubject 点检项目 + * @return 结果 + */ + public int updateDvCheckSubject(DvCheckSubject dvCheckSubject); + + /** + * 批量删除点检项目 + * + * @param recordIds 需要删除的点检项目主键集合 + * @return 结果 + */ + public int deleteDvCheckSubjectByRecordIds(Long[] recordIds); + + /** + * 删除点检项目信息 + * + * @param recordId 点检项目主键 + * @return 结果 + */ + public int deleteDvCheckSubjectByRecordId(Long recordId); + + /** + * 根据计划ID删除对应的计划项目 + * @param planId + * @return + */ + public int deleteByPlanId(Long planId); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/IDvMachineryService.java b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvMachineryService.java new file mode 100644 index 0000000..e4fbf69 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvMachineryService.java @@ -0,0 +1,80 @@ +package com.gear.mes.dv.service; + +import com.gear.common.core.domain.AjaxResult; +import com.gear.mes.dv.domain.DvMachinery; + +import java.util.List; + +/** + * 设备Service接口 + * + * @author yinjinlu + * @date 2022-05-08 + */ +public interface IDvMachineryService +{ + /** + * 查询设备 + * + * @param machineryId 设备主键 + * @return 设备 + */ + public DvMachinery selectDvMachineryByMachineryId(Long machineryId); + + /** + * 查询设备列表 + * + * @param dvMachinery 设备 + * @return 设备集合 + */ + public List selectDvMachineryList(DvMachinery dvMachinery); + + /** + * 新增设备 + * + * @param dvMachinery 设备 + * @return 结果 + */ + public AjaxResult insertDvMachinery(DvMachinery dvMachinery); + + /** + * 修改设备 + * + * @param dvMachinery 设备 + * @return 结果 + */ + public AjaxResult updateDvMachinery(DvMachinery dvMachinery); + + /** + * 批量删除设备 + * + * @param machineryIds 需要删除的设备主键集合 + * @return 结果 + */ + public int deleteDvMachineryByMachineryIds(Long[] machineryIds); + + /** + * 删除设备信息 + * + * @param machineryId 设备主键 + * @return 结果 + */ + public int deleteDvMachineryByMachineryId(Long machineryId); + + /** + * 依据上传的文件,批量导入或更新设备信息 + * + * @param machineryList 设备信息列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @param operName 操作用户 + * @return 结果 + */ + public String importMachinery(List machineryList, Boolean isUpdateSupport, String operName); + + /** + * 查询编码是否唯一 + * @param dvMachinery + * @return + */ + String checkRecptCodeUnique(DvMachinery dvMachinery); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/IDvMachineryTypeService.java b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvMachineryTypeService.java new file mode 100644 index 0000000..5e4b437 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvMachineryTypeService.java @@ -0,0 +1,62 @@ +package com.gear.mes.dv.service; + +import com.gear.mes.dv.domain.DvMachineryType; + +import java.util.List; + +/** + * 设备类型Service接口 + * + * @author yinjinlu + * @date 2022-05-08 + */ +public interface IDvMachineryTypeService +{ + /** + * 查询设备类型 + * + * @param machineryTypeId 设备类型主键 + * @return 设备类型 + */ + public DvMachineryType selectDvMachineryTypeByMachineryTypeId(Long machineryTypeId); + + /** + * 查询设备类型列表 + * + * @param dvMachineryType 设备类型 + * @return 设备类型集合 + */ + public List selectDvMachineryTypeList(DvMachineryType dvMachineryType); + + /** + * 新增设备类型 + * + * @param dvMachineryType 设备类型 + * @return 结果 + */ + public int insertDvMachineryType(DvMachineryType dvMachineryType); + + /** + * 修改设备类型 + * + * @param dvMachineryType 设备类型 + * @return 结果 + */ + public int updateDvMachineryType(DvMachineryType dvMachineryType); + + /** + * 批量删除设备类型 + * + * @param machineryTypeIds 需要删除的设备类型主键集合 + * @return 结果 + */ + public int deleteDvMachineryTypeByMachineryTypeIds(Long[] machineryTypeIds); + + /** + * 删除设备类型信息 + * + * @param machineryTypeId 设备类型主键 + * @return 结果 + */ + public int deleteDvMachineryTypeByMachineryTypeId(Long machineryTypeId); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/IDvMaintenRecordLineService.java b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvMaintenRecordLineService.java new file mode 100644 index 0000000..e828526 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvMaintenRecordLineService.java @@ -0,0 +1,62 @@ +package com.gear.mes.dv.service; + +import com.gear.mes.dv.domain.DvMaintenRecordLine; + +import java.util.List; + +/** + * 设备保养记录行Service接口 + * + * @author yinjinlu + * @date 2024-12-26 + */ +public interface IDvMaintenRecordLineService +{ + /** + * 查询设备保养记录行 + * + * @param lineId 设备保养记录行主键 + * @return 设备保养记录行 + */ + public DvMaintenRecordLine selectDvMaintenRecordLineByLineId(Long lineId); + + /** + * 查询设备保养记录行列表 + * + * @param dvMaintenRecordLine 设备保养记录行 + * @return 设备保养记录行集合 + */ + public List selectDvMaintenRecordLineList(DvMaintenRecordLine dvMaintenRecordLine); + + /** + * 新增设备保养记录行 + * + * @param dvMaintenRecordLine 设备保养记录行 + * @return 结果 + */ + public int insertDvMaintenRecordLine(DvMaintenRecordLine dvMaintenRecordLine); + + /** + * 修改设备保养记录行 + * + * @param dvMaintenRecordLine 设备保养记录行 + * @return 结果 + */ + public int updateDvMaintenRecordLine(DvMaintenRecordLine dvMaintenRecordLine); + + /** + * 批量删除设备保养记录行 + * + * @param lineIds 需要删除的设备保养记录行主键集合 + * @return 结果 + */ + public int deleteDvMaintenRecordLineByLineIds(Long[] lineIds); + + /** + * 删除设备保养记录行信息 + * + * @param lineId 设备保养记录行主键 + * @return 结果 + */ + public int deleteDvMaintenRecordLineByLineId(Long lineId); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/IDvMaintenRecordService.java b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvMaintenRecordService.java new file mode 100644 index 0000000..16d294f --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvMaintenRecordService.java @@ -0,0 +1,62 @@ +package com.gear.mes.dv.service; + +import com.gear.mes.dv.domain.DvMaintenRecord; + +import java.util.List; + +/** + * 设备保养记录Service接口 + * + * @author yinjinlu + * @date 2024-12-26 + */ +public interface IDvMaintenRecordService +{ + /** + * 查询设备保养记录 + * + * @param recordId 设备保养记录主键 + * @return 设备保养记录 + */ + public DvMaintenRecord selectDvMaintenRecordByRecordId(Long recordId); + + /** + * 查询设备保养记录列表 + * + * @param dvMaintenRecord 设备保养记录 + * @return 设备保养记录集合 + */ + public List selectDvMaintenRecordList(DvMaintenRecord dvMaintenRecord); + + /** + * 新增设备保养记录 + * + * @param dvMaintenRecord 设备保养记录 + * @return 结果 + */ + public int insertDvMaintenRecord(DvMaintenRecord dvMaintenRecord); + + /** + * 修改设备保养记录 + * + * @param dvMaintenRecord 设备保养记录 + * @return 结果 + */ + public int updateDvMaintenRecord(DvMaintenRecord dvMaintenRecord); + + /** + * 批量删除设备保养记录 + * + * @param recordIds 需要删除的设备保养记录主键集合 + * @return 结果 + */ + public int deleteDvMaintenRecordByRecordIds(Long[] recordIds); + + /** + * 删除设备保养记录信息 + * + * @param recordId 设备保养记录主键 + * @return 结果 + */ + public int deleteDvMaintenRecordByRecordId(Long recordId); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/IDvRepairLineService.java b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvRepairLineService.java new file mode 100644 index 0000000..b1646e4 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvRepairLineService.java @@ -0,0 +1,69 @@ +package com.gear.mes.dv.service; + +import com.gear.mes.dv.domain.DvRepairLine; + +import java.util.List; + +/** + * 设备维修单行Service接口 + * + * @author yinjinlu + * @date 2022-08-08 + */ +public interface IDvRepairLineService +{ + /** + * 查询设备维修单行 + * + * @param lineId 设备维修单行主键 + * @return 设备维修单行 + */ + public DvRepairLine selectDvRepairLineByLineId(Long lineId); + + /** + * 查询设备维修单行列表 + * + * @param dvRepairLine 设备维修单行 + * @return 设备维修单行集合 + */ + public List selectDvRepairLineList(DvRepairLine dvRepairLine); + + /** + * 新增设备维修单行 + * + * @param dvRepairLine 设备维修单行 + * @return 结果 + */ + public int insertDvRepairLine(DvRepairLine dvRepairLine); + + /** + * 修改设备维修单行 + * + * @param dvRepairLine 设备维修单行 + * @return 结果 + */ + public int updateDvRepairLine(DvRepairLine dvRepairLine); + + /** + * 批量删除设备维修单行 + * + * @param lineIds 需要删除的设备维修单行主键集合 + * @return 结果 + */ + public int deleteDvRepairLineByLineIds(Long[] lineIds); + + /** + * 删除设备维修单行信息 + * + * @param lineId 设备维修单行主键 + * @return 结果 + */ + public int deleteDvRepairLineByLineId(Long lineId); + + /** + * 根据维修单头删除所有行信息 + * @param repairId + * @return + */ + public int deleteByRepairId(Long repairId); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/IDvRepairService.java b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvRepairService.java new file mode 100644 index 0000000..6af2220 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvRepairService.java @@ -0,0 +1,78 @@ +package com.gear.mes.dv.service; + +import com.gear.common.core.domain.AjaxResult; +import com.gear.mes.dv.domain.DvRepair; +import com.gear.mes.dv.domain.dto.DvRepairDTO; + +import java.util.List; + +/** + * 设备维修单Service接口 + * + * @author yinjinlu + * @date 2022-08-06 + */ +public interface IDvRepairService +{ + /** + * 查询设备维修单 + * + * @param repairId 设备维修单主键 + * @return 设备维修单 + */ + public DvRepair selectDvRepairByRepairId(Long repairId); + + /** + * 查询设备维修单列表 + * + * @param dvRepair 设备维修单 + * @return 设备维修单集合 + */ + public List selectDvRepairList(DvRepair dvRepair); + + /** + * 检测维修单编号是否唯一 + * @param dvRepair + * @return + */ + public String checkCodeUnique(DvRepair dvRepair); + + /** + * 新增设备维修单 + * + * @param dvRepair 设备维修单 + * @return 结果 + */ + public int insertDvRepair(DvRepair dvRepair); + + /** + * 修改设备维修单 + * + * @param dvRepair 设备维修单 + * @return 结果 + */ + public int updateDvRepair(DvRepair dvRepair); + + /** + * 批量删除设备维修单 + * + * @param repairIds 需要删除的设备维修单主键集合 + * @return 结果 + */ + public int deleteDvRepairByRepairIds(Long[] repairIds); + + /** + * 删除设备维修单信息 + * + * @param repairId 设备维修单主键 + * @return 结果 + */ + public int deleteDvRepairByRepairId(Long repairId); + + /** + * 根据设备编码查询设备维修单列表 + * @param repairDTO + * @return + */ + AjaxResult getRepairList(DvRepairDTO repairDTO); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/IDvSpecialEquipmentService.java b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvSpecialEquipmentService.java new file mode 100644 index 0000000..dbc84de --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvSpecialEquipmentService.java @@ -0,0 +1,48 @@ +package com.gear.mes.dv.service; + +import com.gear.common.core.domain.PageQuery; +import com.gear.common.core.page.TableDataInfo; +import com.gear.mes.dv.domain.bo.DvSpecialEquipmentBo; +import com.gear.mes.dv.domain.vo.DvSpecialEquipmentVo; + +import java.util.Collection; +import java.util.List; + +/** + * 特种设备(包含锅炉、压力管道、电梯等特种设备信息)Service接口 + * + * @author klp + * @date 2025-08-21 + */ +public interface IDvSpecialEquipmentService { + + /** + * 查询特种设备(包含锅炉、压力管道、电梯等特种设备信息) + */ + DvSpecialEquipmentVo queryById(Long equipmentId); + + /** + * 查询特种设备(包含锅炉、压力管道、电梯等特种设备信息)列表 + */ + TableDataInfo queryPageList(DvSpecialEquipmentBo bo, PageQuery pageQuery); + + /** + * 查询特种设备(包含锅炉、压力管道、电梯等特种设备信息)列表 + */ + List queryList(DvSpecialEquipmentBo bo); + + /** + * 新增特种设备(包含锅炉、压力管道、电梯等特种设备信息) + */ + Boolean insertByBo(DvSpecialEquipmentBo bo); + + /** + * 修改特种设备(包含锅炉、压力管道、电梯等特种设备信息) + */ + Boolean updateByBo(DvSpecialEquipmentBo bo); + + /** + * 校验并批量删除特种设备(包含锅炉、压力管道、电梯等特种设备信息)信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/IDvSubjectService.java b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvSubjectService.java new file mode 100644 index 0000000..c01b67c --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/IDvSubjectService.java @@ -0,0 +1,69 @@ +package com.gear.mes.dv.service; + +import com.gear.mes.dv.domain.DvSubject; + +import java.util.List; + +/** + * 设备点检保养项目Service接口 + * + * @author yinjinlu + * @date 2022-06-16 + */ +public interface IDvSubjectService +{ + /** + * 查询设备点检保养项目 + * + * @param subjectId 设备点检保养项目主键 + * @return 设备点检保养项目 + */ + public DvSubject selectDvSubjectBySubjectId(Long subjectId); + + /** + * 查询设备点检保养项目列表 + * + * @param dvSubject 设备点检保养项目 + * @return 设备点检保养项目集合 + */ + public List selectDvSubjectList(DvSubject dvSubject); + + /** + * 检查项目编码是否重复 + * @param dvSubject + * @return + */ + public String checkSubjectCodeUnique(DvSubject dvSubject); + + /** + * 新增设备点检保养项目 + * + * @param dvSubject 设备点检保养项目 + * @return 结果 + */ + public int insertDvSubject(DvSubject dvSubject); + + /** + * 修改设备点检保养项目 + * + * @param dvSubject 设备点检保养项目 + * @return 结果 + */ + public int updateDvSubject(DvSubject dvSubject); + + /** + * 批量删除设备点检保养项目 + * + * @param subjectIds 需要删除的设备点检保养项目主键集合 + * @return 结果 + */ + public int deleteDvSubjectBySubjectIds(Long[] subjectIds); + + /** + * 删除设备点检保养项目信息 + * + * @param subjectId 设备点检保养项目主键 + * @return 结果 + */ + public int deleteDvSubjectBySubjectId(Long subjectId); +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckMachineryServiceImpl.java b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckMachineryServiceImpl.java new file mode 100644 index 0000000..2893ac8 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckMachineryServiceImpl.java @@ -0,0 +1,119 @@ +package com.gear.mes.dv.service.impl; + +import com.gear.common.constant.UserConstants; +import com.gear.common.utils.DateUtils; +import com.gear.common.utils.StringUtils; +import com.gear.mes.dv.domain.DvCheckMachinery; +import com.gear.mes.dv.mapper.DvCheckMachineryMapper; +import com.gear.mes.dv.service.IDvCheckMachineryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 点检设备Service业务层处理 + * + * @author yinjinlu + * @date 2022-06-17 + */ +@Service +public class DvCheckMachineryServiceImpl implements IDvCheckMachineryService +{ + @Autowired + private DvCheckMachineryMapper dvCheckMachineryMapper; + + /** + * 查询点检设备 + * + * @param recordId 点检设备主键 + * @return 点检设备 + */ + @Override + public DvCheckMachinery selectDvCheckMachineryByRecordId(Long recordId) + { + return dvCheckMachineryMapper.selectDvCheckMachineryByRecordId(recordId); + } + + /** + * 查询点检设备列表 + * + * @param dvCheckMachinery 点检设备 + * @return 点检设备 + */ + @Override + public List selectDvCheckMachineryList(DvCheckMachinery dvCheckMachinery) + { + return dvCheckMachineryMapper.selectDvCheckMachineryList(dvCheckMachinery); + } + + @Override + public String checkMachineryUnique(DvCheckMachinery dvCheckMachinery) { + DvCheckMachinery machinery = dvCheckMachineryMapper.checkMachineryUnique(dvCheckMachinery); + Long recordId = dvCheckMachinery.getRecordId()==null?-1L:dvCheckMachinery.getRecordId(); + if(StringUtils.isNotNull(machinery) && machinery.getRecordId().longValue() != recordId.longValue()){ + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 新增点检设备 + * + * @param dvCheckMachinery 点检设备 + * @return 结果 + */ + @Override + public int insertDvCheckMachinery(DvCheckMachinery dvCheckMachinery) + { + dvCheckMachinery.setCreateTime(DateUtils.getNowDate()); + return dvCheckMachineryMapper.insertDvCheckMachinery(dvCheckMachinery); + } + + /** + * 修改点检设备 + * + * @param dvCheckMachinery 点检设备 + * @return 结果 + */ + @Override + public int updateDvCheckMachinery(DvCheckMachinery dvCheckMachinery) + { + dvCheckMachinery.setUpdateTime(DateUtils.getNowDate()); + return dvCheckMachineryMapper.updateDvCheckMachinery(dvCheckMachinery); + } + + /** + * 批量删除点检设备 + * + * @param recordIds 需要删除的点检设备主键 + * @return 结果 + */ + @Override + public int deleteDvCheckMachineryByRecordIds(Long[] recordIds) + { + return dvCheckMachineryMapper.deleteDvCheckMachineryByRecordIds(recordIds); + } + + /** + * 删除点检设备信息 + * + * @param recordId 点检设备主键 + * @return 结果 + */ + @Override + public int deleteDvCheckMachineryByRecordId(Long recordId) + { + return dvCheckMachineryMapper.deleteDvCheckMachineryByRecordId(recordId); + } + + @Override + public int deleteByPlanId(Long planId) { + return dvCheckMachineryMapper.deleteByPlanId(planId); + } + + @Override + public List getPlanId(String machineryCode) { + return dvCheckMachineryMapper.getPlanId(machineryCode); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckPlanServiceImpl.java b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckPlanServiceImpl.java new file mode 100644 index 0000000..7964816 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckPlanServiceImpl.java @@ -0,0 +1,138 @@ +package com.gear.mes.dv.service.impl; + +import com.gear.common.constant.UserConstants; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.utils.DateUtils; +import com.gear.common.utils.StringUtils; +import com.gear.mes.dv.domain.DvCheckPlan; +import com.gear.mes.dv.domain.dto.DvCheckPlanDTO; +import com.gear.mes.dv.mapper.DvCheckPlanMapper; +import com.gear.mes.dv.service.IDvCheckMachineryService; +import com.gear.mes.dv.service.IDvCheckPlanService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 设备点检计划头Service业务层处理 + * + * @author yinjinlu + * @date 2022-06-16 + */ +@Service +public class DvCheckPlanServiceImpl implements IDvCheckPlanService +{ + @Autowired + private DvCheckPlanMapper dvCheckPlanMapper; + + @Autowired + private IDvCheckMachineryService dvCheckMachineryService; + + /** + * 查询设备点检计划头 + * + * @param planId 设备点检计划头主键 + * @return 设备点检计划头 + */ + @Override + public DvCheckPlan selectDvCheckPlanByPlanId(Long planId) + { + return dvCheckPlanMapper.selectDvCheckPlanByPlanId(planId); + } + + /** + * 查询设备点检计划头列表 + * + * @param dvCheckPlan 设备点检计划头 + * @return 设备点检计划头 + */ + @Override + public List selectDvCheckPlanList(DvCheckPlan dvCheckPlan) + { + return dvCheckPlanMapper.selectDvCheckPlanList(dvCheckPlan); + } + + @Override + public String checkPlanCodeUnique(DvCheckPlan dvCheckPlan) { + DvCheckPlan plan = dvCheckPlanMapper.checkPlanCodeUnique(dvCheckPlan); + Long planId = dvCheckPlan.getPlanId()==null?-1L:dvCheckPlan.getPlanId(); + if(StringUtils.isNotNull(plan) && plan.getPlanId().longValue()!=planId.longValue()){ + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 新增设备点检计划头 + * + * @param dvCheckPlan 设备点检计划头 + * @return 结果 + */ + @Override + public int insertDvCheckPlan(DvCheckPlan dvCheckPlan) + { + dvCheckPlan.setCreateTime(DateUtils.getNowDate()); + return dvCheckPlanMapper.insertDvCheckPlan(dvCheckPlan); + } + + /** + * 修改设备点检计划头 + * + * @param dvCheckPlan 设备点检计划头 + * @return 结果 + */ + @Override + public int updateDvCheckPlan(DvCheckPlan dvCheckPlan) + { + dvCheckPlan.setUpdateTime(DateUtils.getNowDate()); + return dvCheckPlanMapper.updateDvCheckPlan(dvCheckPlan); + } + + /** + * 批量删除设备点检计划头 + * + * @param planIds 需要删除的设备点检计划头主键 + * @return 结果 + */ + @Override + public int deleteDvCheckPlanByPlanIds(Long[] planIds) + { + return dvCheckPlanMapper.deleteDvCheckPlanByPlanIds(planIds); + } + + /** + * 删除设备点检计划头信息 + * + * @param planId 设备点检计划头主键 + * @return 结果 + */ + @Override + public int deleteDvCheckPlanByPlanId(Long planId) + { + return dvCheckPlanMapper.deleteDvCheckPlanByPlanId(planId); + } + + /** + * 根据设备编码和计划类型查询设备点检计划头列表 + * @return + */ + @Override + public AjaxResult getCheckPlan(DvCheckPlanDTO checkPlanDTO) { + // 根据设备编码获取相关计划id + List planIds = dvCheckMachineryService.getPlanId(checkPlanDTO.getMachineryCode()); + if (planIds != null && planIds.size() > 0) { + // 根据设备编码和计划类型获取相关设备点检计划头列表 + List list = dvCheckPlanMapper.getByIds(planIds, checkPlanDTO.getPlanType()); + return AjaxResult.success(list); + } + return AjaxResult.success(); + } + + @Override + public DvCheckPlan selectDvCheckPlanByMachineryCodeAndType(String machineryCode, String planType) { + return dvCheckPlanMapper.selectDvCheckPlanByMachineryCodeAndType(machineryCode, planType); + } + + +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckRecordLineServiceImpl.java b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckRecordLineServiceImpl.java new file mode 100644 index 0000000..0a483ff --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckRecordLineServiceImpl.java @@ -0,0 +1,102 @@ +package com.gear.mes.dv.service.impl; + +import com.gear.common.utils.DateUtils; +import com.gear.mes.dv.domain.DvCheckRecordLine; +import com.gear.mes.dv.mapper.DvCheckRecordLineMapper; +import com.gear.mes.dv.service.IDvCheckRecordLineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 设备点检记录行Service业务层处理 + * + * @author yinjinlu + * @date 2024-12-26 + */ +@Service +public class DvCheckRecordLineServiceImpl implements IDvCheckRecordLineService +{ + @Autowired + private DvCheckRecordLineMapper dvCheckRecordLineMapper; + + /** + * 查询设备点检记录行 + * + * @param lineId 设备点检记录行主键 + * @return 设备点检记录行 + */ + @Override + public DvCheckRecordLine selectDvCheckRecordLineByLineId(Long lineId) + { + return dvCheckRecordLineMapper.selectDvCheckRecordLineByLineId(lineId); + } + + /** + * 查询设备点检记录行列表 + * + * @param dvCheckRecordLine 设备点检记录行 + * @return 设备点检记录行 + */ + @Override + public List selectDvCheckRecordLineList(DvCheckRecordLine dvCheckRecordLine) + { + return dvCheckRecordLineMapper.selectDvCheckRecordLineList(dvCheckRecordLine); + } + + /** + * 新增设备点检记录行 + * + * @param dvCheckRecordLine 设备点检记录行 + * @return 结果 + */ + @Override + public int insertDvCheckRecordLine(DvCheckRecordLine dvCheckRecordLine) + { + dvCheckRecordLine.setCreateTime(DateUtils.getNowDate()); + return dvCheckRecordLineMapper.insertDvCheckRecordLine(dvCheckRecordLine); + } + + /** + * 修改设备点检记录行 + * + * @param dvCheckRecordLine 设备点检记录行 + * @return 结果 + */ + @Override + public int updateDvCheckRecordLine(DvCheckRecordLine dvCheckRecordLine) + { + dvCheckRecordLine.setUpdateTime(DateUtils.getNowDate()); + return dvCheckRecordLineMapper.updateDvCheckRecordLine(dvCheckRecordLine); + } + + /** + * 批量删除设备点检记录行 + * + * @param lineIds 需要删除的设备点检记录行主键 + * @return 结果 + */ + @Override + public int deleteDvCheckRecordLineByLineIds(Long[] lineIds) + { + return dvCheckRecordLineMapper.deleteDvCheckRecordLineByLineIds(lineIds); + } + + /** + * 删除设备点检记录行信息 + * + * @param lineId 设备点检记录行主键 + * @return 结果 + */ + @Override + public int deleteDvCheckRecordLineByLineId(Long lineId) + { + return dvCheckRecordLineMapper.deleteDvCheckRecordLineByLineId(lineId); + } + + @Override + public int deleteDvCheckRecordLineByRecordId(Long recordId) { + return dvCheckRecordLineMapper.deleteDvCheckRecordLineByRecordId(recordId); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckRecordServiceImpl.java b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckRecordServiceImpl.java new file mode 100644 index 0000000..aa5d24b --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckRecordServiceImpl.java @@ -0,0 +1,97 @@ +package com.gear.mes.dv.service.impl; + +import com.gear.common.utils.DateUtils; +import com.gear.mes.dv.domain.DvCheckRecord; +import com.gear.mes.dv.mapper.DvCheckRecordMapper; +import com.gear.mes.dv.service.IDvCheckRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 设备点检记录Service业务层处理 + * + * @author yinjinlu + * @date 2024-12-26 + */ +@Service +public class DvCheckRecordServiceImpl implements IDvCheckRecordService +{ + @Autowired + private DvCheckRecordMapper dvCheckRecordMapper; + + /** + * 查询设备点检记录 + * + * @param recordId 设备点检记录主键 + * @return 设备点检记录 + */ + @Override + public DvCheckRecord selectDvCheckRecordByRecordId(Long recordId) + { + return dvCheckRecordMapper.selectDvCheckRecordByRecordId(recordId); + } + + /** + * 查询设备点检记录列表 + * + * @param dvCheckRecord 设备点检记录 + * @return 设备点检记录 + */ + @Override + public List selectDvCheckRecordList(DvCheckRecord dvCheckRecord) + { + return dvCheckRecordMapper.selectDvCheckRecordList(dvCheckRecord); + } + + /** + * 新增设备点检记录 + * + * @param dvCheckRecord 设备点检记录 + * @return 结果 + */ + @Override + public int insertDvCheckRecord(DvCheckRecord dvCheckRecord) + { + dvCheckRecord.setCreateTime(DateUtils.getNowDate()); + return dvCheckRecordMapper.insertDvCheckRecord(dvCheckRecord); + } + + /** + * 修改设备点检记录 + * + * @param dvCheckRecord 设备点检记录 + * @return 结果 + */ + @Override + public int updateDvCheckRecord(DvCheckRecord dvCheckRecord) + { + dvCheckRecord.setUpdateTime(DateUtils.getNowDate()); + return dvCheckRecordMapper.updateDvCheckRecord(dvCheckRecord); + } + + /** + * 批量删除设备点检记录 + * + * @param recordIds 需要删除的设备点检记录主键 + * @return 结果 + */ + @Override + public int deleteDvCheckRecordByRecordIds(Long[] recordIds) + { + return dvCheckRecordMapper.deleteDvCheckRecordByRecordIds(recordIds); + } + + /** + * 删除设备点检记录信息 + * + * @param recordId 设备点检记录主键 + * @return 结果 + */ + @Override + public int deleteDvCheckRecordByRecordId(Long recordId) + { + return dvCheckRecordMapper.deleteDvCheckRecordByRecordId(recordId); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckSubjectServiceImpl.java b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckSubjectServiceImpl.java new file mode 100644 index 0000000..ff593a9 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvCheckSubjectServiceImpl.java @@ -0,0 +1,115 @@ +package com.gear.mes.dv.service.impl; + +import com.gear.common.constant.UserConstants; +import com.gear.common.utils.DateUtils; +import com.gear.common.utils.StringUtils; +import com.gear.mes.dv.domain.DvCheckSubject; +import com.gear.mes.dv.mapper.DvCheckSubjectMapper; +import com.gear.mes.dv.service.IDvCheckSubjectService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 点检项目Service业务层处理 + * + * @author yinjinlu + * @date 2022-06-18 + */ +@Service +public class DvCheckSubjectServiceImpl implements IDvCheckSubjectService +{ + @Autowired + private DvCheckSubjectMapper dvCheckSubjectMapper; + + /** + * 查询点检项目 + * + * @param recordId 点检项目主键 + * @return 点检项目 + */ + @Override + public DvCheckSubject selectDvCheckSubjectByRecordId(Long recordId) + { + return dvCheckSubjectMapper.selectDvCheckSubjectByRecordId(recordId); + } + + /** + * 查询点检项目列表 + * + * @param dvCheckSubject 点检项目 + * @return 点检项目 + */ + @Override + public List selectDvCheckSubjectList(DvCheckSubject dvCheckSubject) + { + return dvCheckSubjectMapper.selectDvCheckSubjectList(dvCheckSubject); + } + + @Override + public String checkSubjectUnique(DvCheckSubject dvCheckSubject) { + DvCheckSubject subject = dvCheckSubjectMapper.checkSubjectUnique(dvCheckSubject); + Long recordId = dvCheckSubject.getRecordId()==null?-1L:dvCheckSubject.getRecordId(); + if(StringUtils.isNotNull(subject) && subject.getRecordId().longValue() != recordId.longValue()){ + return UserConstants.NOT_UNIQUE; + } + + return UserConstants.UNIQUE; + } + + /** + * 新增点检项目 + * + * @param dvCheckSubject 点检项目 + * @return 结果 + */ + @Override + public int insertDvCheckSubject(DvCheckSubject dvCheckSubject) + { + dvCheckSubject.setCreateTime(DateUtils.getNowDate()); + return dvCheckSubjectMapper.insertDvCheckSubject(dvCheckSubject); + } + + /** + * 修改点检项目 + * + * @param dvCheckSubject 点检项目 + * @return 结果 + */ + @Override + public int updateDvCheckSubject(DvCheckSubject dvCheckSubject) + { + dvCheckSubject.setUpdateTime(DateUtils.getNowDate()); + return dvCheckSubjectMapper.updateDvCheckSubject(dvCheckSubject); + } + + /** + * 批量删除点检项目 + * + * @param recordIds 需要删除的点检项目主键 + * @return 结果 + */ + @Override + public int deleteDvCheckSubjectByRecordIds(Long[] recordIds) + { + return dvCheckSubjectMapper.deleteDvCheckSubjectByRecordIds(recordIds); + } + + /** + * 删除点检项目信息 + * + * @param recordId 点检项目主键 + * @return 结果 + */ + @Override + public int deleteDvCheckSubjectByRecordId(Long recordId) + { + return dvCheckSubjectMapper.deleteDvCheckSubjectByRecordId(recordId); + } + + @Override + public int deleteByPlanId(Long planId) { + return dvCheckSubjectMapper.deleteByPlanId(planId); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMachineryServiceImpl.java b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMachineryServiceImpl.java new file mode 100644 index 0000000..2791c82 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMachineryServiceImpl.java @@ -0,0 +1,177 @@ +package com.gear.mes.dv.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import com.gear.common.constant.UserConstants; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.utils.DateUtils; +import com.gear.common.utils.StringUtils; +import com.gear.mes.dv.domain.DvMachinery; +import com.gear.mes.dv.mapper.DvMachineryMapper; +import com.gear.mes.dv.service.IDvMachineryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * 设备Service业务层处理 + * + * @author yinjinlu + * @date 2022-05-08 + */ +@Service +public class DvMachineryServiceImpl implements IDvMachineryService +{ + @Autowired + private DvMachineryMapper dvMachineryMapper; + + +// @Autowired +// private WmBarCodeUtil wmBarCodeUtil; + + /** + * 查询设备 + * + * @param machineryId 设备主键 + * @return 设备 + */ + @Override + public DvMachinery selectDvMachineryByMachineryId(Long machineryId) + { + return dvMachineryMapper.selectDvMachineryByMachineryId(machineryId); + } + + /** + * 查询设备列表 + * + * @param dvMachinery 设备 + * @return 设备 + */ + @Override + public List selectDvMachineryList(DvMachinery dvMachinery) + { + return dvMachineryMapper.selectDvMachineryList(dvMachinery); + } + + /** + * 新增设备 + * + * @param dvMachinery 设备 + * @return 结果 + */ + @Override + public AjaxResult insertDvMachinery(DvMachinery dvMachinery) + { + List existing = dvMachineryMapper.selectByMachineryCode(dvMachinery.getMachineryCode()); + if (existing != null && existing.size() > 0) { + return AjaxResult.error("设备编码重复"); + } + dvMachinery.setCreateTime(DateUtils.getNowDate()); + dvMachineryMapper.insertDvMachinery(dvMachinery); +// wmBarCodeUtil.generateBarCode(UserConstants.BARCODE_TYPE_MACHINERY,dvMachinery.getMachineryId(),dvMachinery.getMachineryCode(),dvMachinery.getMachineryName()); + return AjaxResult.success("操作成功"); + } + + /** + * 修改设备 + * + * @param dvMachinery 设备 + * @return 结果 + */ + @Override + public AjaxResult updateDvMachinery(DvMachinery dvMachinery) + { + dvMachinery.setUpdateTime(DateUtils.getNowDate()); + return AjaxResult.success(dvMachineryMapper.updateDvMachinery(dvMachinery)); + } + + /** + * 批量删除设备 + * + * @param machineryIds 需要删除的设备主键 + * @return 结果 + */ + @Override + public int deleteDvMachineryByMachineryIds(Long[] machineryIds) + { + return dvMachineryMapper.deleteDvMachineryByMachineryIds(machineryIds); + } + + /** + * 删除设备信息 + * + * @param machineryId 设备主键 + * @return 结果 + */ + @Override + public int deleteDvMachineryByMachineryId(Long machineryId) + { + return dvMachineryMapper.deleteDvMachineryByMachineryId(machineryId); + } + + /** + * 依据上传的文件更新或插入设备信息 + */ + @Override + public String importMachinery(List machineryList, Boolean isUpdateSupport, String operName) { + if (machineryList == null || machineryList.isEmpty()) { + return "导入数据为空"; + } + int successCount = 0; + int failureCount = 0; + for (DvMachinery machinery : machineryList) { + // 判断必填项是否为空 + if (ObjectUtil.isEmpty(machinery.getMachineryCode())) { + failureCount++; + continue; + } + if (ObjectUtil.isEmpty(machinery.getMachineryName())) { + failureCount++; + continue; + } + if (ObjectUtil.isEmpty(machinery.getMachineryTypeId())) { + failureCount++; + continue; + } + if (ObjectUtil.isEmpty(machinery.getWorkshopId())) { + failureCount++; + continue; + } + if (ObjectUtil.isEmpty(machinery.getStatus())) { + failureCount++; + continue; + } + // 去除空格 + String machineryCode = machinery.getMachineryCode().trim(); + machinery.setCreateTime(new Date()); + List existing = dvMachineryMapper.selectByMachineryCode(machineryCode); + if (existing != null && existing.size() > 0) { + if (isUpdateSupport) { + // 更新数据 + machinery.setMachineryId(existing.get(0).getMachineryId()); // 确保使用现有 ID 进行更新 + dvMachineryMapper.updateDvMachinery(machinery); + successCount++; + } else { + // 不更新数据 + failureCount++; + } + } else { + // 新增数据 + dvMachineryMapper.insertDvMachinery(machinery); + successCount++; + } + } + return String.format("操作用户:%s,导入完成,成功 %d 条,失败 %d 条。", operName, successCount, failureCount); + } + + @Override + public String checkRecptCodeUnique(DvMachinery dvMachinery) { + DvMachinery machinery = dvMachineryMapper.checkRecptCodeUnique(dvMachinery); + Long machineryId = dvMachinery.getMachineryId() == null ? -1L : dvMachinery.getMachineryId(); + if (StringUtils.isNotNull(machinery) && machinery.getMachineryId().longValue() != machineryId.longValue()) { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMachineryTypeServiceImpl.java b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMachineryTypeServiceImpl.java new file mode 100644 index 0000000..9373da0 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMachineryTypeServiceImpl.java @@ -0,0 +1,104 @@ +package com.gear.mes.dv.service.impl; + +import com.gear.common.utils.DateUtils; +import com.gear.common.utils.StringUtils; +import com.gear.mes.dv.domain.DvMachineryType; +import com.gear.mes.dv.mapper.DvMachineryTypeMapper; +import com.gear.mes.dv.service.IDvMachineryTypeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 设备类型Service业务层处理 + * + * @author yinjinlu + * @date 2022-05-08 + */ +@Service +public class DvMachineryTypeServiceImpl implements IDvMachineryTypeService +{ + @Autowired + private DvMachineryTypeMapper dvMachineryTypeMapper; + + /** + * 查询设备类型 + * + * @param machineryTypeId 设备类型主键 + * @return 设备类型 + */ + @Override + public DvMachineryType selectDvMachineryTypeByMachineryTypeId(Long machineryTypeId) + { + return dvMachineryTypeMapper.selectDvMachineryTypeByMachineryTypeId(machineryTypeId); + } + + /** + * 查询设备类型列表 + * + * @param dvMachineryType 设备类型 + * @return 设备类型 + */ + @Override + public List selectDvMachineryTypeList(DvMachineryType dvMachineryType) + { + return dvMachineryTypeMapper.selectDvMachineryTypeList(dvMachineryType); + } + + /** + * 新增设备类型 + * + * @param dvMachineryType 设备类型 + * @return 结果 + */ + @Override + public int insertDvMachineryType(DvMachineryType dvMachineryType) + { + if(dvMachineryType.getParentTypeId()!= null){ + DvMachineryType parent = dvMachineryTypeMapper.selectDvMachineryTypeByMachineryTypeId(dvMachineryType.getParentTypeId()); + if(StringUtils.isNotNull(parent)){ + dvMachineryType.setAncestors(parent.getAncestors()+","+parent.getMachineryTypeId()); + } + } + dvMachineryType.setCreateTime(DateUtils.getNowDate()); + return dvMachineryTypeMapper.insertDvMachineryType(dvMachineryType); + } + + /** + * 修改设备类型 + * + * @param dvMachineryType 设备类型 + * @return 结果 + */ + @Override + public int updateDvMachineryType(DvMachineryType dvMachineryType) + { + dvMachineryType.setUpdateTime(DateUtils.getNowDate()); + return dvMachineryTypeMapper.updateDvMachineryType(dvMachineryType); + } + + /** + * 批量删除设备类型 + * + * @param machineryTypeIds 需要删除的设备类型主键 + * @return 结果 + */ + @Override + public int deleteDvMachineryTypeByMachineryTypeIds(Long[] machineryTypeIds) + { + return dvMachineryTypeMapper.deleteDvMachineryTypeByMachineryTypeIds(machineryTypeIds); + } + + /** + * 删除设备类型信息 + * + * @param machineryTypeId 设备类型主键 + * @return 结果 + */ + @Override + public int deleteDvMachineryTypeByMachineryTypeId(Long machineryTypeId) + { + return dvMachineryTypeMapper.deleteDvMachineryTypeByMachineryTypeId(machineryTypeId); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMaintenRecordLineServiceImpl.java b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMaintenRecordLineServiceImpl.java new file mode 100644 index 0000000..c9d8126 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMaintenRecordLineServiceImpl.java @@ -0,0 +1,97 @@ +package com.gear.mes.dv.service.impl; + +import com.gear.common.utils.DateUtils; +import com.gear.mes.dv.domain.DvMaintenRecordLine; +import com.gear.mes.dv.mapper.DvMaintenRecordLineMapper; +import com.gear.mes.dv.service.IDvMaintenRecordLineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 设备保养记录行Service业务层处理 + * + * @author yinjinlu + * @date 2024-12-26 + */ +@Service +public class DvMaintenRecordLineServiceImpl implements IDvMaintenRecordLineService +{ + @Autowired + private DvMaintenRecordLineMapper dvMaintenRecordLineMapper; + + /** + * 查询设备保养记录行 + * + * @param lineId 设备保养记录行主键 + * @return 设备保养记录行 + */ + @Override + public DvMaintenRecordLine selectDvMaintenRecordLineByLineId(Long lineId) + { + return dvMaintenRecordLineMapper.selectDvMaintenRecordLineByLineId(lineId); + } + + /** + * 查询设备保养记录行列表 + * + * @param dvMaintenRecordLine 设备保养记录行 + * @return 设备保养记录行 + */ + @Override + public List selectDvMaintenRecordLineList(DvMaintenRecordLine dvMaintenRecordLine) + { + return dvMaintenRecordLineMapper.selectDvMaintenRecordLineList(dvMaintenRecordLine); + } + + /** + * 新增设备保养记录行 + * + * @param dvMaintenRecordLine 设备保养记录行 + * @return 结果 + */ + @Override + public int insertDvMaintenRecordLine(DvMaintenRecordLine dvMaintenRecordLine) + { + dvMaintenRecordLine.setCreateTime(DateUtils.getNowDate()); + return dvMaintenRecordLineMapper.insertDvMaintenRecordLine(dvMaintenRecordLine); + } + + /** + * 修改设备保养记录行 + * + * @param dvMaintenRecordLine 设备保养记录行 + * @return 结果 + */ + @Override + public int updateDvMaintenRecordLine(DvMaintenRecordLine dvMaintenRecordLine) + { + dvMaintenRecordLine.setUpdateTime(DateUtils.getNowDate()); + return dvMaintenRecordLineMapper.updateDvMaintenRecordLine(dvMaintenRecordLine); + } + + /** + * 批量删除设备保养记录行 + * + * @param lineIds 需要删除的设备保养记录行主键 + * @return 结果 + */ + @Override + public int deleteDvMaintenRecordLineByLineIds(Long[] lineIds) + { + return dvMaintenRecordLineMapper.deleteDvMaintenRecordLineByLineIds(lineIds); + } + + /** + * 删除设备保养记录行信息 + * + * @param lineId 设备保养记录行主键 + * @return 结果 + */ + @Override + public int deleteDvMaintenRecordLineByLineId(Long lineId) + { + return dvMaintenRecordLineMapper.deleteDvMaintenRecordLineByLineId(lineId); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMaintenRecordServiceImpl.java b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMaintenRecordServiceImpl.java new file mode 100644 index 0000000..cfedc5a --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvMaintenRecordServiceImpl.java @@ -0,0 +1,97 @@ +package com.gear.mes.dv.service.impl; + +import com.gear.common.utils.DateUtils; +import com.gear.mes.dv.domain.DvMaintenRecord; +import com.gear.mes.dv.mapper.DvMaintenRecordMapper; +import com.gear.mes.dv.service.IDvMaintenRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 设备保养记录Service业务层处理 + * + * @author yinjinlu + * @date 2024-12-26 + */ +@Service +public class DvMaintenRecordServiceImpl implements IDvMaintenRecordService +{ + @Autowired + private DvMaintenRecordMapper dvMaintenRecordMapper; + + /** + * 查询设备保养记录 + * + * @param recordId 设备保养记录主键 + * @return 设备保养记录 + */ + @Override + public DvMaintenRecord selectDvMaintenRecordByRecordId(Long recordId) + { + return dvMaintenRecordMapper.selectDvMaintenRecordByRecordId(recordId); + } + + /** + * 查询设备保养记录列表 + * + * @param dvMaintenRecord 设备保养记录 + * @return 设备保养记录 + */ + @Override + public List selectDvMaintenRecordList(DvMaintenRecord dvMaintenRecord) + { + return dvMaintenRecordMapper.selectDvMaintenRecordList(dvMaintenRecord); + } + + /** + * 新增设备保养记录 + * + * @param dvMaintenRecord 设备保养记录 + * @return 结果 + */ + @Override + public int insertDvMaintenRecord(DvMaintenRecord dvMaintenRecord) + { + dvMaintenRecord.setCreateTime(DateUtils.getNowDate()); + return dvMaintenRecordMapper.insertDvMaintenRecord(dvMaintenRecord); + } + + /** + * 修改设备保养记录 + * + * @param dvMaintenRecord 设备保养记录 + * @return 结果 + */ + @Override + public int updateDvMaintenRecord(DvMaintenRecord dvMaintenRecord) + { + dvMaintenRecord.setUpdateTime(DateUtils.getNowDate()); + return dvMaintenRecordMapper.updateDvMaintenRecord(dvMaintenRecord); + } + + /** + * 批量删除设备保养记录 + * + * @param recordIds 需要删除的设备保养记录主键 + * @return 结果 + */ + @Override + public int deleteDvMaintenRecordByRecordIds(Long[] recordIds) + { + return dvMaintenRecordMapper.deleteDvMaintenRecordByRecordIds(recordIds); + } + + /** + * 删除设备保养记录信息 + * + * @param recordId 设备保养记录主键 + * @return 结果 + */ + @Override + public int deleteDvMaintenRecordByRecordId(Long recordId) + { + return dvMaintenRecordMapper.deleteDvMaintenRecordByRecordId(recordId); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvRepairLineServiceImpl.java b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvRepairLineServiceImpl.java new file mode 100644 index 0000000..f95e600 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvRepairLineServiceImpl.java @@ -0,0 +1,102 @@ +package com.gear.mes.dv.service.impl; + +import com.gear.common.utils.DateUtils; +import com.gear.mes.dv.domain.DvRepairLine; +import com.gear.mes.dv.mapper.DvRepairLineMapper; +import com.gear.mes.dv.service.IDvRepairLineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 设备维修单行Service业务层处理 + * + * @author yinjinlu + * @date 2022-08-08 + */ +@Service +public class DvRepairLineServiceImpl implements IDvRepairLineService +{ + @Autowired + private DvRepairLineMapper dvRepairLineMapper; + + /** + * 查询设备维修单行 + * + * @param lineId 设备维修单行主键 + * @return 设备维修单行 + */ + @Override + public DvRepairLine selectDvRepairLineByLineId(Long lineId) + { + return dvRepairLineMapper.selectDvRepairLineByLineId(lineId); + } + + /** + * 查询设备维修单行列表 + * + * @param dvRepairLine 设备维修单行 + * @return 设备维修单行 + */ + @Override + public List selectDvRepairLineList(DvRepairLine dvRepairLine) + { + return dvRepairLineMapper.selectDvRepairLineList(dvRepairLine); + } + + /** + * 新增设备维修单行 + * + * @param dvRepairLine 设备维修单行 + * @return 结果 + */ + @Override + public int insertDvRepairLine(DvRepairLine dvRepairLine) + { + dvRepairLine.setCreateTime(DateUtils.getNowDate()); + return dvRepairLineMapper.insertDvRepairLine(dvRepairLine); + } + + /** + * 修改设备维修单行 + * + * @param dvRepairLine 设备维修单行 + * @return 结果 + */ + @Override + public int updateDvRepairLine(DvRepairLine dvRepairLine) + { + dvRepairLine.setUpdateTime(DateUtils.getNowDate()); + return dvRepairLineMapper.updateDvRepairLine(dvRepairLine); + } + + /** + * 批量删除设备维修单行 + * + * @param lineIds 需要删除的设备维修单行主键 + * @return 结果 + */ + @Override + public int deleteDvRepairLineByLineIds(Long[] lineIds) + { + return dvRepairLineMapper.deleteDvRepairLineByLineIds(lineIds); + } + + /** + * 删除设备维修单行信息 + * + * @param lineId 设备维修单行主键 + * @return 结果 + */ + @Override + public int deleteDvRepairLineByLineId(Long lineId) + { + return dvRepairLineMapper.deleteDvRepairLineByLineId(lineId); + } + + @Override + public int deleteByRepairId(Long repairId) { + return dvRepairLineMapper.deleteByRepairId(repairId); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvRepairServiceImpl.java b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvRepairServiceImpl.java new file mode 100644 index 0000000..9009aa6 --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvRepairServiceImpl.java @@ -0,0 +1,122 @@ +package com.gear.mes.dv.service.impl; + +import com.gear.common.constant.UserConstants; +import com.gear.common.core.domain.AjaxResult; +import com.gear.common.utils.DateUtils; +import com.gear.common.utils.StringUtils; +import com.gear.mes.dv.domain.DvRepair; +import com.gear.mes.dv.domain.dto.DvRepairDTO; +import com.gear.mes.dv.mapper.DvRepairMapper; +import com.gear.mes.dv.service.IDvRepairService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 设备维修单Service业务层处理 + * + * @author yinjinlu + * @date 2022-08-06 + */ +@Service +public class DvRepairServiceImpl implements IDvRepairService +{ + @Autowired + private DvRepairMapper dvRepairMapper; + + /** + * 查询设备维修单 + * + * @param repairId 设备维修单主键 + * @return 设备维修单 + */ + @Override + public DvRepair selectDvRepairByRepairId(Long repairId) + { + return dvRepairMapper.selectDvRepairByRepairId(repairId); + } + + /** + * 查询设备维修单列表 + * + * @param dvRepair 设备维修单 + * @return 设备维修单 + */ + @Override + public List selectDvRepairList(DvRepair dvRepair) + { + return dvRepairMapper.selectDvRepairList(dvRepair); + } + + @Override + public String checkCodeUnique(DvRepair dvRepair) { + DvRepair rp = dvRepairMapper.checkCodeUnique(dvRepair); + Long repairId = dvRepair.getRepairId() ==null?-1L: dvRepair.getRepairId(); + if(StringUtils.isNotNull(rp) && repairId.longValue() != rp.getRepairId().longValue()){ + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 新增设备维修单 + * + * @param dvRepair 设备维修单 + * @return 结果 + */ + @Override + public int insertDvRepair(DvRepair dvRepair) + { + dvRepair.setCreateTime(DateUtils.getNowDate()); + return dvRepairMapper.insertDvRepair(dvRepair); + } + + /** + * 修改设备维修单 + * + * @param dvRepair 设备维修单 + * @return 结果 + */ + @Override + public int updateDvRepair(DvRepair dvRepair) + { + dvRepair.setUpdateTime(DateUtils.getNowDate()); + return dvRepairMapper.updateDvRepair(dvRepair); + } + + /** + * 批量删除设备维修单 + * + * @param repairIds 需要删除的设备维修单主键 + * @return 结果 + */ + @Override + public int deleteDvRepairByRepairIds(Long[] repairIds) + { + return dvRepairMapper.deleteDvRepairByRepairIds(repairIds); + } + + /** + * 删除设备维修单信息 + * + * @param repairId 设备维修单主键 + * @return 结果 + */ + @Override + public int deleteDvRepairByRepairId(Long repairId) + { + return dvRepairMapper.deleteDvRepairByRepairId(repairId); + } + + /** + * 根据设备编码查询设备维修单列表 + * @param repairDTO + * @return + */ + @Override + public AjaxResult getRepairList(DvRepairDTO repairDTO) { + List list = dvRepairMapper.getRepairList(repairDTO.getMachineryCode()); + return AjaxResult.success(list); + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvSpecialEquipmentServiceImpl.java b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvSpecialEquipmentServiceImpl.java new file mode 100644 index 0000000..f6c773e --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvSpecialEquipmentServiceImpl.java @@ -0,0 +1,122 @@ +package com.gear.mes.dv.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gear.common.core.domain.PageQuery; +import com.gear.common.core.page.TableDataInfo; +import com.gear.common.utils.StringUtils; +import com.gear.mes.dv.domain.DvSpecialEquipment; +import com.gear.mes.dv.domain.bo.DvSpecialEquipmentBo; +import com.gear.mes.dv.domain.vo.DvSpecialEquipmentVo; +import com.gear.mes.dv.mapper.DvSpecialEquipmentMapper; +import com.gear.mes.dv.service.IDvSpecialEquipmentService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 特种设备(包含锅炉、压力管道、电梯等特种设备信息)Service业务层处理 + * + * @author klp + * @date 2025-08-21 + */ +@RequiredArgsConstructor +@Service +public class DvSpecialEquipmentServiceImpl implements IDvSpecialEquipmentService { + + private final DvSpecialEquipmentMapper baseMapper; + + /** + * 查询特种设备(包含锅炉、压力管道、电梯等特种设备信息) + */ + @Override + public DvSpecialEquipmentVo queryById(Long equipmentId){ + return baseMapper.selectVoById(equipmentId); + } + + /** + * 查询特种设备(包含锅炉、压力管道、电梯等特种设备信息)列表 + */ + @Override + public TableDataInfo queryPageList(DvSpecialEquipmentBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询特种设备(包含锅炉、压力管道、电梯等特种设备信息)列表 + */ + @Override + public List queryList(DvSpecialEquipmentBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(DvSpecialEquipmentBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getEquipmentCode()), DvSpecialEquipment::getEquipmentCode, bo.getEquipmentCode()); + lqw.like(StringUtils.isNotBlank(bo.getEquipmentName()), DvSpecialEquipment::getEquipmentName, bo.getEquipmentName()); + lqw.eq(StringUtils.isNotBlank(bo.getSpecificationModel()), DvSpecialEquipment::getSpecificationModel, bo.getSpecificationModel()); + lqw.eq(StringUtils.isNotBlank(bo.getManufacturer()), DvSpecialEquipment::getManufacturer, bo.getManufacturer()); + lqw.eq(bo.getProductionDate() != null, DvSpecialEquipment::getProductionDate, bo.getProductionDate()); + lqw.eq(bo.getInstallationDate() != null, DvSpecialEquipment::getInstallationDate, bo.getInstallationDate()); + lqw.eq(bo.getUseStartDate() != null, DvSpecialEquipment::getUseStartDate, bo.getUseStartDate()); + lqw.eq(StringUtils.isNotBlank(bo.getRegistrationNo()), DvSpecialEquipment::getRegistrationNo, bo.getRegistrationNo()); + lqw.eq(StringUtils.isNotBlank(bo.getSafetyManager()), DvSpecialEquipment::getSafetyManager, bo.getSafetyManager()); + lqw.eq(StringUtils.isNotBlank(bo.getAttachment()), DvSpecialEquipment::getAttachment, bo.getAttachment()); + lqw.eq(bo.getInspectionCycle() != null, DvSpecialEquipment::getInspectionCycle, bo.getInspectionCycle()); + lqw.eq(bo.getLastInspectionTime() != null, DvSpecialEquipment::getLastInspectionTime, bo.getLastInspectionTime()); + lqw.eq(bo.getNextInspectionTime() != null, DvSpecialEquipment::getNextInspectionTime, bo.getNextInspectionTime()); + lqw.eq(StringUtils.isNotBlank(bo.getCurrentStatus()), DvSpecialEquipment::getCurrentStatus, bo.getCurrentStatus()); + return lqw; + } + + /** + * 新增特种设备(包含锅炉、压力管道、电梯等特种设备信息) + */ + @Override + public Boolean insertByBo(DvSpecialEquipmentBo bo) { + DvSpecialEquipment add = BeanUtil.toBean(bo, DvSpecialEquipment.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setEquipmentId(add.getEquipmentId()); + } + return flag; + } + + /** + * 修改特种设备(包含锅炉、压力管道、电梯等特种设备信息) + */ + @Override + public Boolean updateByBo(DvSpecialEquipmentBo bo) { + DvSpecialEquipment update = BeanUtil.toBean(bo, DvSpecialEquipment.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(DvSpecialEquipment entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除特种设备(包含锅炉、压力管道、电梯等特种设备信息) + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvSubjectServiceImpl.java b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvSubjectServiceImpl.java new file mode 100644 index 0000000..c7b09dd --- /dev/null +++ b/gear-mes/src/main/java/com/gear/mes/dv/service/impl/DvSubjectServiceImpl.java @@ -0,0 +1,109 @@ +package com.gear.mes.dv.service.impl; + +import com.gear.common.constant.UserConstants; +import com.gear.common.utils.DateUtils; +import com.gear.common.utils.StringUtils; +import com.gear.mes.dv.domain.DvSubject; +import com.gear.mes.dv.mapper.DvSubjectMapper; +import com.gear.mes.dv.service.IDvSubjectService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 设备点检保养项目Service业务层处理 + * + * @author yinjinlu + * @date 2022-06-16 + */ +@Service +public class DvSubjectServiceImpl implements IDvSubjectService +{ + @Autowired + private DvSubjectMapper dvSubjectMapper; + + /** + * 查询设备点检保养项目 + * + * @param subjectId 设备点检保养项目主键 + * @return 设备点检保养项目 + */ + @Override + public DvSubject selectDvSubjectBySubjectId(Long subjectId) + { + return dvSubjectMapper.selectDvSubjectBySubjectId(subjectId); + } + + /** + * 查询设备点检保养项目列表 + * + * @param dvSubject 设备点检保养项目 + * @return 设备点检保养项目 + */ + @Override + public List selectDvSubjectList(DvSubject dvSubject) + { + return dvSubjectMapper.selectDvSubjectList(dvSubject); + } + + @Override + public String checkSubjectCodeUnique(DvSubject dvSubject) { + DvSubject subject = dvSubjectMapper.checkSubjectCodeUnique(dvSubject); + Long subjectId = dvSubject.getSubjectId()==null?-1L:dvSubject.getSubjectId(); + if(StringUtils.isNotNull(subject) && subject.getSubjectId().longValue() != subjectId.longValue()){ + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 新增设备点检保养项目 + * + * @param dvSubject 设备点检保养项目 + * @return 结果 + */ + @Override + public int insertDvSubject(DvSubject dvSubject) + { + dvSubject.setCreateTime(DateUtils.getNowDate()); + return dvSubjectMapper.insertDvSubject(dvSubject); + } + + /** + * 修改设备点检保养项目 + * + * @param dvSubject 设备点检保养项目 + * @return 结果 + */ + @Override + public int updateDvSubject(DvSubject dvSubject) + { + dvSubject.setUpdateTime(DateUtils.getNowDate()); + return dvSubjectMapper.updateDvSubject(dvSubject); + } + + /** + * 批量删除设备点检保养项目 + * + * @param subjectIds 需要删除的设备点检保养项目主键 + * @return 结果 + */ + @Override + public int deleteDvSubjectBySubjectIds(Long[] subjectIds) + { + return dvSubjectMapper.deleteDvSubjectBySubjectIds(subjectIds); + } + + /** + * 删除设备点检保养项目信息 + * + * @param subjectId 设备点检保养项目主键 + * @return 结果 + */ + @Override + public int deleteDvSubjectBySubjectId(Long subjectId) + { + return dvSubjectMapper.deleteDvSubjectBySubjectId(subjectId); + } +} diff --git a/gear-mes/src/main/resources/mapper/dv/DvCheckMachineryMapper.xml b/gear-mes/src/main/resources/mapper/dv/DvCheckMachineryMapper.xml new file mode 100644 index 0000000..aec9862 --- /dev/null +++ b/gear-mes/src/main/resources/mapper/dv/DvCheckMachineryMapper.xml @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + select record_id, plan_id, machinery_id, machinery_code, machinery_name, machinery_brand, machinery_spec, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_check_machinery + + + + + + + + + + + insert into dv_check_machinery + + plan_id, + machinery_id, + machinery_code, + machinery_name, + machinery_brand, + machinery_spec, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{planId}, + #{machineryId}, + #{machineryCode}, + #{machineryName}, + #{machineryBrand}, + #{machinerySpec}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update dv_check_machinery + + plan_id = #{planId}, + machinery_id = #{machineryId}, + machinery_code = #{machineryCode}, + machinery_name = #{machineryName}, + machinery_brand = #{machineryBrand}, + machinery_spec = #{machinerySpec}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where record_id = #{recordId} + + + + delete from dv_check_machinery where record_id = #{recordId} + + + + delete from dv_check_machinery where record_id in + + #{recordId} + + + + + delete from dv_check_machinery where plan_id = #{planId} + + + diff --git a/gear-mes/src/main/resources/mapper/dv/DvCheckPlanMapper.xml b/gear-mes/src/main/resources/mapper/dv/DvCheckPlanMapper.xml new file mode 100644 index 0000000..3dd11cd --- /dev/null +++ b/gear-mes/src/main/resources/mapper/dv/DvCheckPlanMapper.xml @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select plan_id, plan_code, plan_name,plan_type, start_date, end_date, cycle_type, cycle_count,status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_check_plan + + + + + + + + + + + + + insert into dv_check_plan + + plan_code, + plan_name, + plan_type, + start_date, + end_date, + cycle_type, + cycle_count, + status, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{planCode}, + #{planName}, + #{planType}, + #{startDate}, + #{endDate}, + #{cycleType}, + #{cycleCount}, + #{status}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update dv_check_plan + + plan_code = #{planCode}, + plan_name = #{planName}, + plan_type = #{planType}, + start_date = #{startDate}, + end_date = #{endDate}, + cycle_type = #{cycleType}, + cycle_count = #{cycleCount}, + status = #{status}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where plan_id = #{planId} + + + + delete from dv_check_plan where plan_id = #{planId} + + + + delete from dv_check_plan where plan_id in + + #{planId} + + + diff --git a/gear-mes/src/main/resources/mapper/dv/DvCheckRecordLineMapper.xml b/gear-mes/src/main/resources/mapper/dv/DvCheckRecordLineMapper.xml new file mode 100644 index 0000000..47940c1 --- /dev/null +++ b/gear-mes/src/main/resources/mapper/dv/DvCheckRecordLineMapper.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select line_id, record_id, subject_id, subject_code, subject_name, subject_type, subject_content, subject_standard, check_status, check_result, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_check_record_line + + + + + + + + insert into dv_check_record_line + + record_id, + subject_id, + subject_code, + subject_name, + subject_type, + subject_content, + subject_standard, + check_status, + check_result, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{recordId}, + #{subjectId}, + #{subjectCode}, + #{subjectName}, + #{subjectType}, + #{subjectContent}, + #{subjectStandard}, + #{checkStatus}, + #{checkResult}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update dv_check_record_line + + record_id = #{recordId}, + subject_id = #{subjectId}, + subject_code = #{subjectCode}, + subject_name = #{subjectName}, + subject_type = #{subjectType}, + subject_content = #{subjectContent}, + subject_standard = #{subjectStandard}, + check_status = #{checkStatus}, + check_result = #{checkResult}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where line_id = #{lineId} + + + + delete from dv_check_record_line where line_id = #{lineId} + + + + delete from dv_check_record_line where line_id in + + #{lineId} + + + + + delete from dv_check_record_line where record_id = #{recordId} + + + diff --git a/gear-mes/src/main/resources/mapper/dv/DvCheckRecordMapper.xml b/gear-mes/src/main/resources/mapper/dv/DvCheckRecordMapper.xml new file mode 100644 index 0000000..a2194c1 --- /dev/null +++ b/gear-mes/src/main/resources/mapper/dv/DvCheckRecordMapper.xml @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select record_id, plan_id, plan_code, plan_name, plan_type, machinery_id, machinery_code, machinery_name, machinery_brand, machinery_spec, check_time, user_id, user_name, nick_name, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_check_record + + + + + + + + insert into dv_check_record + + plan_id, + plan_code, + plan_name, + plan_type, + machinery_id, + machinery_code, + machinery_name, + machinery_brand, + machinery_spec, + check_time, + user_id, + user_name, + nick_name, + status, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{planId}, + #{planCode}, + #{planName}, + #{planType}, + #{machineryId}, + #{machineryCode}, + #{machineryName}, + #{machineryBrand}, + #{machinerySpec}, + #{checkTime}, + #{userId}, + #{userName}, + #{nickName}, + #{status}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update dv_check_record + + plan_id = #{planId}, + plan_code = #{planCode}, + plan_name = #{planName}, + plan_type = #{planType}, + machinery_id = #{machineryId}, + machinery_code = #{machineryCode}, + machinery_name = #{machineryName}, + machinery_brand = #{machineryBrand}, + machinery_spec = #{machinerySpec}, + check_time = #{checkTime}, + user_id = #{userId}, + user_name = #{userName}, + nick_name = #{nickName}, + status = #{status}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where record_id = #{recordId} + + + + delete from dv_check_record where record_id = #{recordId} + + + + delete from dv_check_record where record_id in + + #{recordId} + + + diff --git a/gear-mes/src/main/resources/mapper/dv/DvCheckSubjectMapper.xml b/gear-mes/src/main/resources/mapper/dv/DvCheckSubjectMapper.xml new file mode 100644 index 0000000..11ac6a7 --- /dev/null +++ b/gear-mes/src/main/resources/mapper/dv/DvCheckSubjectMapper.xml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select record_id, plan_id, subject_id, subject_code, subject_name, subject_type, subject_content, subject_standard, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_check_subject + + + + + + + + + + insert into dv_check_subject + + plan_id, + subject_id, + subject_code, + subject_name, + subject_type, + subject_content, + subject_standard, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{planId}, + #{subjectId}, + #{subjectCode}, + #{subjectName}, + #{subjectType}, + #{subjectContent}, + #{subjectStandard}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update dv_check_subject + + plan_id = #{planId}, + subject_id = #{subjectId}, + subject_code = #{subjectCode}, + subject_name = #{subjectName}, + subject_type = #{subjectType}, + subject_content = #{subjectContent}, + subject_standard = #{subjectStandard}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where record_id = #{recordId} + + + + delete from dv_check_subject where record_id = #{recordId} + + + + delete from dv_check_subject where record_id in + + #{recordId} + + + + + delete from dv_check_subject where plan_id = #{planId} + + + diff --git a/gear-mes/src/main/resources/mapper/dv/DvMachineryMapper.xml b/gear-mes/src/main/resources/mapper/dv/DvMachineryMapper.xml new file mode 100644 index 0000000..3b5eccc --- /dev/null +++ b/gear-mes/src/main/resources/mapper/dv/DvMachineryMapper.xml @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select machinery_id, machinery_code, machinery_name, machinery_brand, machinery_spec, machinery_type_id, machinery_type_code, machinery_type_name, workshop_id, workshop_code, workshop_name, last_mainten_time, last_check_time, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_machinery + + + + + + + + + + + insert into dv_machinery + + machinery_code, + machinery_name, + machinery_brand, + machinery_spec, + machinery_type_id, + machinery_type_code, + machinery_type_name, + workshop_id, + workshop_code, + workshop_name, + status, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{machineryCode}, + #{machineryName}, + #{machineryBrand}, + #{machinerySpec}, + #{machineryTypeId}, + #{machineryTypeCode}, + #{machineryTypeName}, + #{workshopId}, + #{workshopCode}, + #{workshopName}, + #{status}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update dv_machinery + + machinery_code = #{machineryCode}, + machinery_name = #{machineryName}, + machinery_brand = #{machineryBrand}, + machinery_spec = #{machinerySpec}, + machinery_type_id = #{machineryTypeId}, + machinery_type_code = #{machineryTypeCode}, + machinery_type_name = #{machineryTypeName}, + workshop_id = #{workshopId}, + workshop_code = #{workshopCode}, + workshop_name = #{workshopName}, + last_mainten_time = #{lastMaintenTime}, + last_check_time = #{lastCheckTime}, + status = #{status}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where machinery_id = #{machineryId} + + + + delete from dv_machinery where machinery_id = #{machineryId} + + + + delete from dv_machinery where machinery_id in + + #{machineryId} + + + diff --git a/gear-mes/src/main/resources/mapper/dv/DvMachineryTypeMapper.xml b/gear-mes/src/main/resources/mapper/dv/DvMachineryTypeMapper.xml new file mode 100644 index 0000000..e7831e5 --- /dev/null +++ b/gear-mes/src/main/resources/mapper/dv/DvMachineryTypeMapper.xml @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + select machinery_type_id, machinery_type_code, machinery_type_name, parent_type_id, ancestors, enable_flag, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_machinery_type + + + + + + + + insert into dv_machinery_type + + machinery_type_code, + machinery_type_name, + parent_type_id, + ancestors, + enable_flag, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{machineryTypeCode}, + #{machineryTypeName}, + #{parentTypeId}, + #{ancestors}, + #{enableFlag}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update dv_machinery_type + + machinery_type_code = #{machineryTypeCode}, + machinery_type_name = #{machineryTypeName}, + parent_type_id = #{parentTypeId}, + ancestors = #{ancestors}, + enable_flag = #{enableFlag}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where machinery_type_id = #{machineryTypeId} + + + + delete from dv_machinery_type where machinery_type_id = #{machineryTypeId} + + + + delete from dv_machinery_type where machinery_type_id in + + #{machineryTypeId} + + + diff --git a/gear-mes/src/main/resources/mapper/dv/DvMaintenRecordLineMapper.xml b/gear-mes/src/main/resources/mapper/dv/DvMaintenRecordLineMapper.xml new file mode 100644 index 0000000..bf894a3 --- /dev/null +++ b/gear-mes/src/main/resources/mapper/dv/DvMaintenRecordLineMapper.xml @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + select line_id, record_id, subject_id, subject_code, subject_name, subject_type, subject_content, subject_standard, mainten_status, mainten_result, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_mainten_record_line + + + + + + + + insert into dv_mainten_record_line + + record_id, + subject_id, + subject_code, + subject_name, + subject_type, + subject_content, + subject_standard, + mainten_status, + mainten_result, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{recordId}, + #{subjectId}, + #{subjectCode}, + #{subjectName}, + #{subjectType}, + #{subjectContent}, + #{subjectStandard}, + #{maintenStatus}, + #{maintenResult}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update dv_mainten_record_line + + record_id = #{recordId}, + subject_id = #{subjectId}, + subject_code = #{subjectCode}, + subject_name = #{subjectName}, + subject_type = #{subjectType}, + subject_content = #{subjectContent}, + subject_standard = #{subjectStandard}, + mainten_status = #{maintenStatus}, + mainten_result = #{maintenResult}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where line_id = #{lineId} + + + + delete from dv_mainten_record_line where line_id = #{lineId} + + + + delete from dv_mainten_record_line where line_id in + + #{lineId} + + + diff --git a/gear-mes/src/main/resources/mapper/dv/DvMaintenRecordMapper.xml b/gear-mes/src/main/resources/mapper/dv/DvMaintenRecordMapper.xml new file mode 100644 index 0000000..404a967 --- /dev/null +++ b/gear-mes/src/main/resources/mapper/dv/DvMaintenRecordMapper.xml @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select record_id, plan_id, plan_code, plan_name, plan_type, machinery_id, machinery_code, machinery_name, machinery_brand, machinery_spec, mainten_time, user_id, user_name, nick_name, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_mainten_record + + + + + + + + insert into dv_mainten_record + + plan_id, + plan_code, + plan_name, + plan_type, + machinery_id, + machinery_code, + machinery_name, + machinery_brand, + machinery_spec, + mainten_time, + user_id, + user_name, + nick_name, + status, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{planId}, + #{planCode}, + #{planName}, + #{planType}, + #{machineryId}, + #{machineryCode}, + #{machineryName}, + #{machineryBrand}, + #{machinerySpec}, + #{maintenTime}, + #{userId}, + #{userName}, + #{nickName}, + #{status}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update dv_mainten_record + + plan_id = #{planId}, + plan_code = #{planCode}, + plan_name = #{planName}, + plan_type = #{planType}, + machinery_id = #{machineryId}, + machinery_code = #{machineryCode}, + machinery_name = #{machineryName}, + machinery_brand = #{machineryBrand}, + machinery_spec = #{machinerySpec}, + mainten_time = #{maintenTime}, + user_id = #{userId}, + user_name = #{userName}, + nick_name = #{nickName}, + status = #{status}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where record_id = #{recordId} + + + + delete from dv_mainten_record where record_id = #{recordId} + + + + delete from dv_mainten_record where record_id in + + #{recordId} + + + diff --git a/gear-mes/src/main/resources/mapper/dv/DvRepairLineMapper.xml b/gear-mes/src/main/resources/mapper/dv/DvRepairLineMapper.xml new file mode 100644 index 0000000..10deb23 --- /dev/null +++ b/gear-mes/src/main/resources/mapper/dv/DvRepairLineMapper.xml @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select line_id, repair_id, subject_id, subject_code, subject_name, subject_type, subject_content, subject_standard, malfunction, malfunction_url, repair_des, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_repair_line + + + + + + + + insert into dv_repair_line + + repair_id, + subject_id, + subject_code, + subject_name, + subject_type, + subject_content, + subject_standard, + malfunction, + malfunction_url, + repair_des, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{repairId}, + #{subjectId}, + #{subjectCode}, + #{subjectName}, + #{subjectType}, + #{subjectContent}, + #{subjectStandard}, + #{malfunction}, + #{malfunctionUrl}, + #{repairDes}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update dv_repair_line + + repair_id = #{repairId}, + subject_id = #{subjectId}, + subject_code = #{subjectCode}, + subject_name = #{subjectName}, + subject_type = #{subjectType}, + subject_content = #{subjectContent}, + subject_standard = #{subjectStandard}, + malfunction = #{malfunction}, + malfunction_url = #{malfunctionUrl}, + repair_des = #{repairDes}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where line_id = #{lineId} + + + + delete from dv_repair_line where line_id = #{lineId} + + + + delete from dv_repair_line where line_id in + + #{lineId} + + + + + delete from dv_repair_line where repair_id = #{repairId} + + diff --git a/gear-mes/src/main/resources/mapper/dv/DvRepairMapper.xml b/gear-mes/src/main/resources/mapper/dv/DvRepairMapper.xml new file mode 100644 index 0000000..e3bd9e2 --- /dev/null +++ b/gear-mes/src/main/resources/mapper/dv/DvRepairMapper.xml @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select repair_id, repair_code, repair_name, machinery_id, machinery_code, machinery_name, machinery_brand, machinery_spec, machinery_type_id, require_date, finish_date, confirm_date, repair_result, accepted_id, accepted_name, accepted_by, confirm_id, confirm_name, confirm_by, source_doc_type, source_doc_id, source_doc_code, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_repair + + + + + + + + + + + insert into dv_repair + + repair_code, + repair_name, + machinery_id, + machinery_code, + machinery_name, + machinery_brand, + machinery_spec, + machinery_type_id, + require_date, + finish_date, + confirm_date, + repair_result, + accepted_id, + accepted_name, + accepted_by, + confirm_id, + confirm_name, + confirm_by, + source_doc_type, + source_doc_id, + source_doc_code, + status, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{repairCode}, + #{repairName}, + #{machineryId}, + #{machineryCode}, + #{machineryName}, + #{machineryBrand}, + #{machinerySpec}, + #{machineryTypeId}, + #{requireDate}, + #{finishDate}, + #{confirmDate}, + #{repairResult}, + #{acceptedId}, + #{acceptedName}, + #{acceptedBy}, + #{confirmId}, + #{confirmName}, + #{confirmBy}, + #{sourceDocType}, + #{sourceDocId}, + #{sourceDocCode}, + #{status}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update dv_repair + + repair_code = #{repairCode}, + repair_name = #{repairName}, + machinery_id = #{machineryId}, + machinery_code = #{machineryCode}, + machinery_name = #{machineryName}, + machinery_brand = #{machineryBrand}, + machinery_spec = #{machinerySpec}, + machinery_type_id = #{machineryTypeId}, + require_date = #{requireDate}, + finish_date = #{finishDate}, + confirm_date = #{confirmDate}, + repair_result = #{repairResult}, + accepted_id = #{acceptedId}, + accepted_name = #{acceptedName}, + accepted_by = #{acceptedBy}, + confirm_id = #{confirmId}, + confirm_name = #{confirmName}, + confirm_by = #{confirmBy}, + source_doc_type = #{sourceDocType}, + source_doc_id = #{sourceDocId}, + source_doc_code = #{sourceDocCode}, + status = #{status}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where repair_id = #{repairId} + + + + delete from dv_repair where repair_id = #{repairId} + + + + delete from dv_repair where repair_id in + + #{repairId} + + + diff --git a/gear-mes/src/main/resources/mapper/dv/DvSpecialEquipmentMapper.xml b/gear-mes/src/main/resources/mapper/dv/DvSpecialEquipmentMapper.xml new file mode 100644 index 0000000..10a05cb --- /dev/null +++ b/gear-mes/src/main/resources/mapper/dv/DvSpecialEquipmentMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gear-mes/src/main/resources/mapper/dv/DvSubjectMapper.xml b/gear-mes/src/main/resources/mapper/dv/DvSubjectMapper.xml new file mode 100644 index 0000000..fa54f96 --- /dev/null +++ b/gear-mes/src/main/resources/mapper/dv/DvSubjectMapper.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + select subject_id, subject_code, subject_name, subject_type, subject_content, subject_standard, enable_flag, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from dv_subject + + + + + + + + + + insert into dv_subject + + subject_code, + subject_name, + subject_type, + subject_content, + subject_standard, + enable_flag, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{subjectCode}, + #{subjectName}, + #{subjectType}, + #{subjectContent}, + #{subjectStandard}, + #{enableFlag}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update dv_subject + + subject_code = #{subjectCode}, + subject_name = #{subjectName}, + subject_type = #{subjectType}, + subject_content = #{subjectContent}, + subject_standard = #{subjectStandard}, + enable_flag = #{enableFlag}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where subject_id = #{subjectId} + + + + delete from dv_subject where subject_id = #{subjectId} + + + + delete from dv_subject where subject_id in + + #{subjectId} + + + diff --git a/gear-mes/src/main/resources/mapper/is b/gear-mes/src/main/resources/mapper/is new file mode 100644 index 0000000..e69de29 diff --git a/pom.xml b/pom.xml index bf4e6e2..0cdb0c4 100644 --- a/pom.xml +++ b/pom.xml @@ -49,6 +49,8 @@ 2.0.23 3.1.687 + 3.2.2 + 1.4.1 @@ -91,7 +93,12 @@ + + commons-collections + commons-collections + ${commons.collections.version} + org.springframework.boot @@ -100,7 +107,11 @@ pom import - + + com.github.pagehelper + pagehelper-spring-boot-starter + ${com.github.pagehelper.version} + cn.hutool @@ -382,6 +393,8 @@ gear-sms gear-system gear-oa + gear-mes + gear-mes pom