From 4724f89820070a6914fcf91945dd3016c7c86100 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 25 Jul 2025 11:27:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=B0=E6=A8=A1=E5=9D=97kl?= =?UTF-8?q?p-mes=E5=88=B6=E9=80=A0=E6=89=A7=E8=A1=8C=E4=B8=8B=E9=9D=A2?= =?UTF-8?q?=E7=9A=84=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E7=9A=84=E5=90=8E=E7=AB=AF=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- klp-common/pom.xml | 7 +- .../java/com/klp/common/annotation/Excel.java | 177 +++ .../com/klp/common/annotation/Excels.java | 18 + .../java/com/klp/common/config/KLPConfig.java | 22 +- .../com/klp/common/constant/Constants.java | 9 +- .../klp/common/constant/UserConstants.java | 22 +- .../core/controller/BaseController.java | 23 + .../klp/common/core/domain/AjaxResult.java | 163 ++ .../klp/common/core/domain/BaseEntity.java | 10 + .../com/klp/common/core/page/PageDomain.java | 101 ++ .../klp/common/core/page/TableDataInfo.java | 1 + .../klp/common/core/page/TableSupport.java | 55 + .../com/klp/common/core/text/CharsetKit.java | 87 ++ .../com/klp/common/core/text/Convert.java | 1006 ++++++++++++ .../com/klp/common/enums/PartTypeEnum.java | 42 + .../java/com/klp/common/excel/ExcelUtil.java | 1368 +++++++++++++++++ .../java/com/klp/common/utils/DictUtils.java | 183 +++ .../java/com/klp/common/utils/PageUtils.java | 38 + .../com/klp/common/utils/StringUtils.java | 25 + .../klp/common/utils/file/FileTypeUtils.java | 77 + .../com/klp/common/utils/file/FileUtils.java | 96 +- .../com/klp/common/utils/file/ImageUtils.java | 99 ++ .../common/utils/poi/ExcelHandlerAdapter.java | 19 + .../com/klp/common/utils/uuid/IdUtils.java | 51 + .../java/com/klp/common/utils/uuid/Seq.java | 87 ++ klp-mes/pom.xml | 28 + .../DvCheckMachineryController.java | 103 ++ .../dv/controller/DvCheckPlanController.java | 155 ++ .../controller/DvCheckRecordController.java | 168 ++ .../DvCheckRecordLineController.java | 100 ++ .../controller/DvCheckSubjectController.java | 105 ++ .../dv/controller/DvMachineryController.java | 130 ++ .../controller/DvMachineryTypeController.java | 115 ++ .../controller/DvMaintenRecordController.java | 98 ++ .../DvMaintenRecordLineController.java | 98 ++ .../mes/dv/controller/DvRepairController.java | 115 ++ .../dv/controller/DvRepairLineController.java | 98 ++ .../DvCheckRecordLineMobController.java | 60 + .../mobile/DvCheckRecordMobController.java | 185 +++ .../mobile/DvMachineryMobController.java | 63 + .../DvMaintenRecordLineMobController.java | 60 + .../mobile/DvMaintenRecordMobController.java | 84 + .../mobile/DvRepairLineMobController.java | 82 + .../mobile/DvRepairMobController.java | 105 ++ .../klp/mes/dv/domain/DvCheckMachinery.java | 178 +++ .../com/klp/mes/dv/domain/DvCheckPlan.java | 201 +++ .../com/klp/mes/dv/domain/DvCheckRecord.java | 283 ++++ .../klp/mes/dv/domain/DvCheckRecordLine.java | 219 +++ .../com/klp/mes/dv/domain/DvCheckSubject.java | 192 +++ .../com/klp/mes/dv/domain/DvMachinery.java | 276 ++++ .../klp/mes/dv/domain/DvMachineryType.java | 50 + .../klp/mes/dv/domain/DvMaintenRecord.java | 294 ++++ .../mes/dv/domain/DvMaintenRecordLine.java | 219 +++ .../java/com/klp/mes/dv/domain/DvRepair.java | 380 +++++ .../com/klp/mes/dv/domain/DvRepairLine.java | 234 +++ .../java/com/klp/mes/dv/domain/DvSubject.java | 178 +++ .../klp/mes/dv/domain/dto/DvCheckPlanDTO.java | 12 + .../klp/mes/dv/domain/dto/DvRepairDTO.java | 10 + .../mes/dv/mapper/DvCheckMachineryMapper.java | 79 + .../klp/mes/dv/mapper/DvCheckPlanMapper.java | 69 + .../dv/mapper/DvCheckRecordLineMapper.java | 70 + .../mes/dv/mapper/DvCheckRecordMapper.java | 62 + .../mes/dv/mapper/DvCheckSubjectMapper.java | 72 + .../klp/mes/dv/mapper/DvMachineryMapper.java | 72 + .../mes/dv/mapper/DvMachineryTypeMapper.java | 62 + .../dv/mapper/DvMaintenRecordLineMapper.java | 62 + .../mes/dv/mapper/DvMaintenRecordMapper.java | 62 + .../klp/mes/dv/mapper/DvRepairLineMapper.java | 64 + .../com/klp/mes/dv/mapper/DvRepairMapper.java | 74 + .../klp/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 + .../klp/mes/dv/service/IDvRepairService.java | 78 + .../klp/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 | 178 +++ .../impl/DvMachineryTypeServiceImpl.java | 104 ++ .../impl/DvMaintenRecordLineServiceImpl.java | 97 ++ .../impl/DvMaintenRecordServiceImpl.java | 97 ++ .../service/impl/DvRepairLineServiceImpl.java | 102 ++ .../dv/service/impl/DvRepairServiceImpl.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 +++ .../resources/mapper/dv/DvSubjectMapper.xml | 122 ++ pom.xml | 7 + 107 files changed, 13244 insertions(+), 5 deletions(-) create mode 100644 klp-common/src/main/java/com/klp/common/annotation/Excel.java create mode 100644 klp-common/src/main/java/com/klp/common/annotation/Excels.java create mode 100644 klp-common/src/main/java/com/klp/common/core/domain/AjaxResult.java create mode 100644 klp-common/src/main/java/com/klp/common/core/page/PageDomain.java create mode 100644 klp-common/src/main/java/com/klp/common/core/page/TableSupport.java create mode 100644 klp-common/src/main/java/com/klp/common/core/text/CharsetKit.java create mode 100644 klp-common/src/main/java/com/klp/common/core/text/Convert.java create mode 100644 klp-common/src/main/java/com/klp/common/enums/PartTypeEnum.java create mode 100644 klp-common/src/main/java/com/klp/common/excel/ExcelUtil.java create mode 100644 klp-common/src/main/java/com/klp/common/utils/DictUtils.java create mode 100644 klp-common/src/main/java/com/klp/common/utils/PageUtils.java create mode 100644 klp-common/src/main/java/com/klp/common/utils/file/FileTypeUtils.java create mode 100644 klp-common/src/main/java/com/klp/common/utils/file/ImageUtils.java create mode 100644 klp-common/src/main/java/com/klp/common/utils/poi/ExcelHandlerAdapter.java create mode 100644 klp-common/src/main/java/com/klp/common/utils/uuid/IdUtils.java create mode 100644 klp-common/src/main/java/com/klp/common/utils/uuid/Seq.java create mode 100644 klp-mes/pom.xml create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckMachineryController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckPlanController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckRecordController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckRecordLineController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckSubjectController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/DvMachineryController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/DvMachineryTypeController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/DvMaintenRecordController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/DvMaintenRecordLineController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/DvRepairController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/DvRepairLineController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvCheckRecordLineMobController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvCheckRecordMobController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvMachineryMobController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvMaintenRecordLineMobController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvMaintenRecordMobController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvRepairLineMobController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvRepairMobController.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckMachinery.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckPlan.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckRecord.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckRecordLine.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckSubject.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/DvMachinery.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/DvMachineryType.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/DvMaintenRecord.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/DvMaintenRecordLine.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/DvRepair.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/DvRepairLine.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/DvSubject.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/dto/DvCheckPlanDTO.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/domain/dto/DvRepairDTO.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckMachineryMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckPlanMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckRecordLineMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckRecordMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckSubjectMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMachineryMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMachineryTypeMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMaintenRecordLineMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMaintenRecordMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/mapper/DvRepairLineMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/mapper/DvRepairMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/mapper/DvSubjectMapper.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckMachineryService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckPlanService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckRecordLineService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckRecordService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckSubjectService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/IDvMachineryService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/IDvMachineryTypeService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/IDvMaintenRecordLineService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/IDvMaintenRecordService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/IDvRepairLineService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/IDvRepairService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/IDvSubjectService.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckMachineryServiceImpl.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckPlanServiceImpl.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckRecordLineServiceImpl.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckRecordServiceImpl.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckSubjectServiceImpl.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMachineryServiceImpl.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMachineryTypeServiceImpl.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMaintenRecordLineServiceImpl.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMaintenRecordServiceImpl.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvRepairLineServiceImpl.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvRepairServiceImpl.java create mode 100644 klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvSubjectServiceImpl.java create mode 100644 klp-mes/src/main/resources/mapper/dv/DvCheckMachineryMapper.xml create mode 100644 klp-mes/src/main/resources/mapper/dv/DvCheckPlanMapper.xml create mode 100644 klp-mes/src/main/resources/mapper/dv/DvCheckRecordLineMapper.xml create mode 100644 klp-mes/src/main/resources/mapper/dv/DvCheckRecordMapper.xml create mode 100644 klp-mes/src/main/resources/mapper/dv/DvCheckSubjectMapper.xml create mode 100644 klp-mes/src/main/resources/mapper/dv/DvMachineryMapper.xml create mode 100644 klp-mes/src/main/resources/mapper/dv/DvMachineryTypeMapper.xml create mode 100644 klp-mes/src/main/resources/mapper/dv/DvMaintenRecordLineMapper.xml create mode 100644 klp-mes/src/main/resources/mapper/dv/DvMaintenRecordMapper.xml create mode 100644 klp-mes/src/main/resources/mapper/dv/DvRepairLineMapper.xml create mode 100644 klp-mes/src/main/resources/mapper/dv/DvRepairMapper.xml create mode 100644 klp-mes/src/main/resources/mapper/dv/DvSubjectMapper.xml diff --git a/klp-common/pom.xml b/klp-common/pom.xml index a1161693..c8583240 100644 --- a/klp-common/pom.xml +++ b/klp-common/pom.xml @@ -16,7 +16,12 @@ - + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.1 + org.springframework diff --git a/klp-common/src/main/java/com/klp/common/annotation/Excel.java b/klp-common/src/main/java/com/klp/common/annotation/Excel.java new file mode 100644 index 00000000..4f1ea8f5 --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/annotation/Excel.java @@ -0,0 +1,177 @@ +package com.klp.common.annotation; + +import com.klp.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/klp-common/src/main/java/com/klp/common/annotation/Excels.java b/klp-common/src/main/java/com/klp/common/annotation/Excels.java new file mode 100644 index 00000000..30f1375d --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/annotation/Excels.java @@ -0,0 +1,18 @@ +package com.klp.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/klp-common/src/main/java/com/klp/common/config/KLPConfig.java b/klp-common/src/main/java/com/klp/common/config/KLPConfig.java index fbd48965..3c94b3a4 100644 --- a/klp-common/src/main/java/com/klp/common/config/KLPConfig.java +++ b/klp-common/src/main/java/com/klp/common/config/KLPConfig.java @@ -40,7 +40,14 @@ public class KLPConfig { * 缓存懒加载 */ private boolean cacheLazy; + /** 上传路径 */ + private static String profile; + + public static String getProfile() + { + return profile; + } /** * 获取地址开关 */ @@ -50,5 +57,18 @@ public class KLPConfig { public void setAddressEnabled(boolean addressEnabled) { KLPConfig.addressEnabled = addressEnabled; } - + /** + * 获取导入上传路径 + */ + public static String getImportPath() + { + return getProfile() + "/import"; + } + /** + * 获取下载路径 + */ + public static String getDownloadPath() + { + return getProfile() + "/download/"; + } } diff --git a/klp-common/src/main/java/com/klp/common/constant/Constants.java b/klp-common/src/main/java/com/klp/common/constant/Constants.java index 70e096f8..719c4d18 100644 --- a/klp-common/src/main/java/com/klp/common/constant/Constants.java +++ b/klp-common/src/main/java/com/klp/common/constant/Constants.java @@ -6,7 +6,10 @@ package com.klp.common.constant; * @author klp */ public interface Constants { - + /** + * 资源映射路径 前缀 + */ + String RESOURCE_PREFIX = "/profile"; /** * UTF-8 字符集 */ @@ -71,6 +74,10 @@ public interface Constants { * 令牌 */ String TOKEN = "token"; + /** + * 字典管理缓存键前缀 + */ + String SYS_DICT_KEY = "sys_dict:"; } diff --git a/klp-common/src/main/java/com/klp/common/constant/UserConstants.java b/klp-common/src/main/java/com/klp/common/constant/UserConstants.java index 215ed667..d9cacc11 100644 --- a/klp-common/src/main/java/com/klp/common/constant/UserConstants.java +++ b/klp-common/src/main/java/com/klp/common/constant/UserConstants.java @@ -128,5 +128,25 @@ 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/klp-common/src/main/java/com/klp/common/core/controller/BaseController.java b/klp-common/src/main/java/com/klp/common/core/controller/BaseController.java index 3380a9b4..c25fe5d3 100644 --- a/klp-common/src/main/java/com/klp/common/core/controller/BaseController.java +++ b/klp-common/src/main/java/com/klp/common/core/controller/BaseController.java @@ -1,17 +1,40 @@ package com.klp.common.core.controller; +import com.github.pagehelper.PageInfo; +import com.klp.common.constant.HttpStatus; import com.klp.common.core.domain.R; import com.klp.common.core.domain.model.LoginUser; +import com.klp.common.core.page.TableDataInfo; import com.klp.common.helper.LoginHelper; +import com.klp.common.utils.PageUtils; import com.klp.common.utils.StringUtils; +import java.util.List; + /** * web层通用数据处理 * * @author Lion Li */ public class BaseController { + /** + * 响应请求分页数据 + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + 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; + } + protected void startPage() + { + PageUtils.startPage(); + } /** * 响应返回结果 * diff --git a/klp-common/src/main/java/com/klp/common/core/domain/AjaxResult.java b/klp-common/src/main/java/com/klp/common/core/domain/AjaxResult.java new file mode 100644 index 00000000..cdcea002 --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/core/domain/AjaxResult.java @@ -0,0 +1,163 @@ +package com.klp.common.core.domain; + +import com.klp.common.constant.HttpStatus; +import com.klp.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/klp-common/src/main/java/com/klp/common/core/domain/BaseEntity.java b/klp-common/src/main/java/com/klp/common/core/domain/BaseEntity.java index 682f47db..a81c4370 100644 --- a/klp-common/src/main/java/com/klp/common/core/domain/BaseEntity.java +++ b/klp-common/src/main/java/com/klp/common/core/domain/BaseEntity.java @@ -22,6 +22,16 @@ public class BaseEntity implements Serializable { private static final long serialVersionUID = 1L; + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + /** 备注 */ + private String remark; /** * 搜索值 */ diff --git a/klp-common/src/main/java/com/klp/common/core/page/PageDomain.java b/klp-common/src/main/java/com/klp/common/core/page/PageDomain.java new file mode 100644 index 00000000..438b2782 --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/core/page/PageDomain.java @@ -0,0 +1,101 @@ +package com.klp.common.core.page; + +import com.klp.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/klp-common/src/main/java/com/klp/common/core/page/TableDataInfo.java b/klp-common/src/main/java/com/klp/common/core/page/TableDataInfo.java index 1bfed87c..0ce79aae 100644 --- a/klp-common/src/main/java/com/klp/common/core/page/TableDataInfo.java +++ b/klp-common/src/main/java/com/klp/common/core/page/TableDataInfo.java @@ -75,4 +75,5 @@ public class TableDataInfo implements Serializable { return rspData; } + } diff --git a/klp-common/src/main/java/com/klp/common/core/page/TableSupport.java b/klp-common/src/main/java/com/klp/common/core/page/TableSupport.java new file mode 100644 index 00000000..ae55519b --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/core/page/TableSupport.java @@ -0,0 +1,55 @@ +package com.klp.common.core.page; + +import com.klp.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/klp-common/src/main/java/com/klp/common/core/text/CharsetKit.java b/klp-common/src/main/java/com/klp/common/core/text/CharsetKit.java new file mode 100644 index 00000000..544b022f --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/core/text/CharsetKit.java @@ -0,0 +1,87 @@ +package com.klp.common.core.text; + +import com.klp.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/klp-common/src/main/java/com/klp/common/core/text/Convert.java b/klp-common/src/main/java/com/klp/common/core/text/Convert.java new file mode 100644 index 00000000..db6ba88f --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/core/text/Convert.java @@ -0,0 +1,1006 @@ +package com.klp.common.core.text; + +import com.klp.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/klp-common/src/main/java/com/klp/common/enums/PartTypeEnum.java b/klp-common/src/main/java/com/klp/common/enums/PartTypeEnum.java new file mode 100644 index 00000000..1f5b1a82 --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/enums/PartTypeEnum.java @@ -0,0 +1,42 @@ +package com.klp.common.enums; + +public enum PartTypeEnum { + + PART_TYPE_INPUTCHAR("INPUTCHAR","传入字符",0), + PART_TYPE_NOWDATE("NOWDATE","当前日期",1), + PART_TYPE_FIXCHAR("FIXCHAR","固定字符",2), + PART_TYPE_SERIALNO("SERIALNO","流水号",3), + PART_TYPE_OTHER("OTHER","其他",99); + + private final String code; + private final String name; + private final Integer beanIndex; + + PartTypeEnum(String code, String name, Integer beanIndex){ + this.code = code; + this.name = name; + this.beanIndex = beanIndex; + } + + public String getCode() { + return code; + } + + public String getName() { + return name; + } + + public Integer getBeanIndex() { + return beanIndex; + } + + public static PartTypeEnum getByCode(String code){ + for(PartTypeEnum value: PartTypeEnum.values()){ + if(value.getCode().equals(code)){ + return value; + } + } + return PART_TYPE_OTHER; + } + +} diff --git a/klp-common/src/main/java/com/klp/common/excel/ExcelUtil.java b/klp-common/src/main/java/com/klp/common/excel/ExcelUtil.java new file mode 100644 index 00000000..d7cf9438 --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/excel/ExcelUtil.java @@ -0,0 +1,1368 @@ +package com.klp.common.excel; + +import com.klp.common.annotation.Excel; +import com.klp.common.annotation.Excel.ColumnType; +import com.klp.common.annotation.Excel.Type; +import com.klp.common.annotation.Excels; +import com.klp.common.config.KLPConfig; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.text.Convert; +import com.klp.common.exception.UtilException; +import com.klp.common.utils.DateUtils; +import com.klp.common.utils.DictUtils; +import com.klp.common.utils.StringUtils; +import com.klp.common.utils.file.FileTypeUtils; +import com.klp.common.utils.file.FileUtils; +import com.klp.common.utils.file.ImageUtils; +import com.klp.common.utils.poi.ExcelHandlerAdapter; +import com.klp.common.utils.reflect.ReflectUtils; +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.*; +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 = KLPConfig.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/klp-common/src/main/java/com/klp/common/utils/DictUtils.java b/klp-common/src/main/java/com/klp/common/utils/DictUtils.java new file mode 100644 index 00000000..83c876c3 --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/utils/DictUtils.java @@ -0,0 +1,183 @@ +package com.klp.common.utils; + +import com.klp.common.constant.Constants; +import com.klp.common.core.domain.entity.SysDictData; +import com.klp.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/klp-common/src/main/java/com/klp/common/utils/PageUtils.java b/klp-common/src/main/java/com/klp/common/utils/PageUtils.java new file mode 100644 index 00000000..556f7db2 --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/utils/PageUtils.java @@ -0,0 +1,38 @@ +package com.klp.common.utils; + +import com.github.pagehelper.PageHelper; +import com.klp.common.core.page.PageDomain; +import com.klp.common.core.page.TableSupport; +import com.klp.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/klp-common/src/main/java/com/klp/common/utils/StringUtils.java b/klp-common/src/main/java/com/klp/common/utils/StringUtils.java index b521f9b2..410d555a 100644 --- a/klp-common/src/main/java/com/klp/common/utils/StringUtils.java +++ b/klp-common/src/main/java/com/klp/common/utils/StringUtils.java @@ -22,6 +22,31 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils { public static final String SEPARATOR = ","; + @SuppressWarnings("unchecked") + public static T cast(Object obj) + { + return (T) obj; + } + /** + * * 判断一个对象是否非空 + * + * @param object Object + * @return true:非空 false:空 + */ + public static boolean isNotNull(Object object) + { + return !isNull(object); + } + /** + * * 判断一个对象是否为空 + * + * @param object Object + * @return true:为空 false:非空 + */ + public static boolean isNull(Object object) + { + return object == null; + } /** * 获取参数不为空值 * diff --git a/klp-common/src/main/java/com/klp/common/utils/file/FileTypeUtils.java b/klp-common/src/main/java/com/klp/common/utils/file/FileTypeUtils.java new file mode 100644 index 00000000..974907dc --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/utils/file/FileTypeUtils.java @@ -0,0 +1,77 @@ +package com.klp.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/klp-common/src/main/java/com/klp/common/utils/file/FileUtils.java b/klp-common/src/main/java/com/klp/common/utils/file/FileUtils.java index e689e5b7..21ac8266 100644 --- a/klp-common/src/main/java/com/klp/common/utils/file/FileUtils.java +++ b/klp-common/src/main/java/com/klp/common/utils/file/FileUtils.java @@ -1,11 +1,20 @@ package com.klp.common.utils.file; import cn.hutool.core.io.FileUtil; +import com.klp.common.config.KLPConfig; +import com.klp.common.utils.DateUtils; +import com.klp.common.utils.uuid.IdUtils; import lombok.AccessLevel; import lombok.NoArgsConstructor; +import org.apache.commons.io.IOUtils; +import org.apache.tomcat.util.http.fileupload.FileItem; +import org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory; +import org.springframework.http.MediaType; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.UnsupportedEncodingException; +import java.io.*; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; @@ -49,4 +58,89 @@ public class FileUtils extends FileUtil { String encode = URLEncoder.encode(s, StandardCharsets.UTF_8.toString()); return encode.replaceAll("\\+", "%20"); } +// /** +// * 写数据到默认导入文件路径中 +// * +// * @param data 数据 +// * @return 目标文件路径 +// * @throws IOException IO异常 +// */ +// public static String writeImportBytes(byte[] data) throws IOException { +// return writeByte(data, KLPConfig.getImportPath()); +// } +// +// /** +// * 写数据到指定目录中 +// * +// * @param data 数据 +// * @param uploadDir 存储目录 +// * @return 文件路径 +// * @throws IOException IO异常 +// */ +// public static String writeByte(byte[] data, String uploadDir) throws IOException +// { +// FileOutputStream fos = null; +// String pathName = ""; +// try +// { +// String extension = getFileExtendName(data); +// pathName = DateUtils.datePath() + "/" + IdUtils.fastUUID() + "." + extension; +// File file = FileUploadUtils.getAbsoluteFile(uploadDir, pathName); +// fos = new FileOutputStream(file); +// fos.write(data); +// } +// finally +// { +// IOUtils.closeQuietly(fos); +// } +// return FileUploadUtils.getPathFileName(uploadDir, pathName); +// } + +// /** +// * 获取文件后缀名 +// * +// * @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; +// } +// public static MultipartFile getMultipartFile(File file) { +// FileItem item = new DiskFileItemFactory().createItem("file" +// , MediaType.MULTIPART_FORM_DATA_VALUE +// , true +// , file.getName()); +// try (InputStream input = new FileInputStream(file); +// OutputStream os = item.getOutputStream()) { +// // 流转移 +// IOUtils.copy(input, os); +// } catch (Exception e) { +// throw new IllegalArgumentException("Invalid file: " + e, e); +// } +// +// return new CommonsMultipartFile(item); +// } +// public static boolean deleteFile(String filePath) +// { +// boolean flag = false; +// File file = new File(filePath); +// // 路径为文件且不为空则进行删除 +// if (file.isFile() && file.exists()) +// { +// file.delete(); +// flag = true; +// } +// return flag; +// } } diff --git a/klp-common/src/main/java/com/klp/common/utils/file/ImageUtils.java b/klp-common/src/main/java/com/klp/common/utils/file/ImageUtils.java new file mode 100644 index 00000000..a77c7c3e --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/utils/file/ImageUtils.java @@ -0,0 +1,99 @@ +package com.klp.common.utils.file; + +import com.klp.common.config.KLPConfig; +import com.klp.common.constant.Constants; +import com.klp.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 = KLPConfig.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/klp-common/src/main/java/com/klp/common/utils/poi/ExcelHandlerAdapter.java b/klp-common/src/main/java/com/klp/common/utils/poi/ExcelHandlerAdapter.java new file mode 100644 index 00000000..108f2b6a --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/utils/poi/ExcelHandlerAdapter.java @@ -0,0 +1,19 @@ +package com.klp.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/klp-common/src/main/java/com/klp/common/utils/uuid/IdUtils.java b/klp-common/src/main/java/com/klp/common/utils/uuid/IdUtils.java new file mode 100644 index 00000000..888ac435 --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/utils/uuid/IdUtils.java @@ -0,0 +1,51 @@ +package com.klp.common.utils.uuid; + +import cn.hutool.core.lang.UUID; + +/** + * ID生成器工具类 + * + * @author ruoyi + */ +public class IdUtils +{ + /** + * 获取随机UUID + * + * @return 随机UUID + */ + public static String randomUUID() + { + return UUID.randomUUID().toString(); + } + + /** + * 简化的UUID,去掉了横线 + * + * @return 简化的UUID,去掉了横线 + */ + public static String simpleUUID() + { + return UUID.randomUUID().toString(true); + } + + /** + * 获取随机UUID,使用性能更好的ThreadLocalRandom生成UUID + * + * @return 随机UUID + */ + public static String fastUUID() + { + return UUID.fastUUID().toString(); + } + + /** + * 简化的UUID,去掉了横线,使用性能更好的ThreadLocalRandom生成UUID + * + * @return 简化的UUID,去掉了横线 + */ + public static String fastSimpleUUID() + { + return UUID.fastUUID().toString(true); + } +} diff --git a/klp-common/src/main/java/com/klp/common/utils/uuid/Seq.java b/klp-common/src/main/java/com/klp/common/utils/uuid/Seq.java new file mode 100644 index 00000000..a2794fa3 --- /dev/null +++ b/klp-common/src/main/java/com/klp/common/utils/uuid/Seq.java @@ -0,0 +1,87 @@ +package com.klp.common.utils.uuid; + +import com.klp.common.utils.DateUtils; +import com.klp.common.utils.StringUtils; + +import java.util.concurrent.atomic.AtomicInteger; + +/** + * @author ruoyi 序列生成类 + */ +public class Seq +{ + // 通用序列类型 + public static final String commSeqType = "COMMON"; + + // 上传序列类型 + public static final String uploadSeqType = "UPLOAD"; + + // 通用接口序列数 + private static AtomicInteger commSeq = new AtomicInteger(1); + + // 上传接口序列数 + private static AtomicInteger uploadSeq = new AtomicInteger(1); + + // 机器标识 + private static String machineCode = "A"; + + /** + * 获取通用序列号 + * + * @return 序列值 + */ + public static String getId() + { + return getId(commSeqType); + } + + /** + * 默认16位序列号 yyMMddHHmmss + 一位机器标识 + 3长度循环递增字符串 + * + * @return 序列值 + */ + public static String getId(String type) + { + AtomicInteger atomicInt = commSeq; + if (uploadSeqType.equals(type)) + { + atomicInt = uploadSeq; + } + return getId(atomicInt, 3); + } + + /** + * 通用接口序列号 yyMMddHHmmss + 一位机器标识 + length长度循环递增字符串 + * + * @param atomicInt 序列数 + * @param length 数值长度 + * @return 序列值 + */ + public static String getId(AtomicInteger atomicInt, int length) + { + String result = DateUtils.dateTimeNow(); + result += machineCode; + result += getSeq(atomicInt, length); + return result; + } + + /** + * 序列循环递增字符串[1, 10 的 (length)幂次方), 用0左补齐length位数 + * + * @return 序列值 + */ + private synchronized static String getSeq(AtomicInteger atomicInt, int length) + { + // 先取值再+1 + int value = atomicInt.getAndIncrement(); + + // 如果更新后值>=10 的 (length)幂次方则重置为1 + int maxSeq = (int) Math.pow(10, length); + if (atomicInt.get() >= maxSeq) + { + atomicInt.set(1); + } + // 转字符串,用0左补齐 + return StringUtils.padl(value, length); + } +} diff --git a/klp-mes/pom.xml b/klp-mes/pom.xml new file mode 100644 index 00000000..dd8f28ac --- /dev/null +++ b/klp-mes/pom.xml @@ -0,0 +1,28 @@ + + 4.0.0 + + com.klp + klp-oa + 0.8.3 + + klp-mes + klp-mes + http://maven.apache.org + + + com.klp + klp-common + 0.8.3 + + + commons-collections + commons-collections + + + com.klp + klp-system + 0.8.3 + + + diff --git a/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckMachineryController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckMachineryController.java new file mode 100644 index 00000000..bab41f91 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckMachineryController.java @@ -0,0 +1,103 @@ +package com.klp.mes.dv.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.constant.UserConstants; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.mes.dv.domain.DvCheckMachinery; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckPlanController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckPlanController.java new file mode 100644 index 00000000..c403cf20 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckPlanController.java @@ -0,0 +1,155 @@ +package com.klp.mes.dv.controller; + +import cn.hutool.core.collection.CollUtil; +import com.klp.common.annotation.Log; +import com.klp.common.constant.UserConstants; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.mes.dv.domain.DvCheckMachinery; +import com.klp.mes.dv.domain.DvCheckPlan; +import com.klp.mes.dv.domain.DvCheckSubject; +import com.klp.mes.dv.domain.dto.DvCheckPlanDTO; +import com.klp.mes.dv.service.IDvCheckMachineryService; +import com.klp.mes.dv.service.IDvCheckPlanService; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckRecordController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckRecordController.java new file mode 100644 index 00000000..c3da5e9d --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckRecordController.java @@ -0,0 +1,168 @@ +package com.klp.mes.dv.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.constant.UserConstants; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.mes.dv.domain.DvCheckRecord; +import com.klp.mes.dv.domain.DvCheckRecordLine; +import com.klp.mes.dv.domain.DvCheckSubject; +import com.klp.mes.dv.service.IDvCheckRecordLineService; +import com.klp.mes.dv.service.IDvCheckRecordService; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckRecordLineController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckRecordLineController.java new file mode 100644 index 00000000..6117221b --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckRecordLineController.java @@ -0,0 +1,100 @@ +package com.klp.mes.dv.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.mes.dv.domain.DvCheckRecordLine; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckSubjectController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckSubjectController.java new file mode 100644 index 00000000..588fe0d6 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvCheckSubjectController.java @@ -0,0 +1,105 @@ +package com.klp.mes.dv.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.constant.UserConstants; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.mes.dv.domain.DvCheckSubject; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/controller/DvMachineryController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvMachineryController.java new file mode 100644 index 00000000..c50f3a15 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvMachineryController.java @@ -0,0 +1,130 @@ +package com.klp.mes.dv.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.constant.UserConstants; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.common.helper.LoginHelper; +import com.klp.common.excel.ExcelUtil; +import com.klp.mes.dv.domain.DvMachinery; +import com.klp.mes.dv.service.IDvMachineryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +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/klp-mes/src/main/java/com/klp/mes/dv/controller/DvMachineryTypeController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvMachineryTypeController.java new file mode 100644 index 00000000..e2371f02 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvMachineryTypeController.java @@ -0,0 +1,115 @@ +package com.klp.mes.dv.controller; + +import cn.hutool.core.collection.CollUtil; +import com.klp.common.annotation.Log; +import com.klp.common.constant.UserConstants; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.enums.BusinessType; +import com.klp.common.excel.ExcelUtil; +import com.klp.mes.dv.domain.DvMachinery; +import com.klp.mes.dv.domain.DvMachineryType; +import com.klp.mes.dv.service.IDvMachineryService; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/controller/DvMaintenRecordController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvMaintenRecordController.java new file mode 100644 index 00000000..ae709fbb --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvMaintenRecordController.java @@ -0,0 +1,98 @@ +package com.klp.mes.dv.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.common.excel.ExcelUtil; +import com.klp.mes.dv.domain.DvMaintenRecord; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/controller/DvMaintenRecordLineController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvMaintenRecordLineController.java new file mode 100644 index 00000000..908d9724 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvMaintenRecordLineController.java @@ -0,0 +1,98 @@ +package com.klp.mes.dv.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.common.excel.ExcelUtil; +import com.klp.mes.dv.domain.DvMaintenRecordLine; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/controller/DvRepairController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvRepairController.java new file mode 100644 index 00000000..a2463be4 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvRepairController.java @@ -0,0 +1,115 @@ +package com.klp.mes.dv.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.constant.UserConstants; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.common.excel.ExcelUtil; +import com.klp.mes.dv.domain.DvRepair; +import com.klp.mes.dv.domain.dto.DvRepairDTO; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/controller/DvRepairLineController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvRepairLineController.java new file mode 100644 index 00000000..e2dd7221 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/DvRepairLineController.java @@ -0,0 +1,98 @@ +package com.klp.mes.dv.controller; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.common.excel.ExcelUtil; +import com.klp.mes.dv.domain.DvRepairLine; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvCheckRecordLineMobController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvCheckRecordLineMobController.java new file mode 100644 index 00000000..1c0d6c99 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvCheckRecordLineMobController.java @@ -0,0 +1,60 @@ +package com.klp.mes.dv.controller.mobile; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.enums.BusinessType; +import com.klp.mes.dv.domain.DvCheckRecordLine; +import com.klp.mes.dv.service.IDvCheckRecordLineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +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/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvCheckRecordMobController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvCheckRecordMobController.java new file mode 100644 index 00000000..bb650767 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvCheckRecordMobController.java @@ -0,0 +1,185 @@ +package com.klp.mes.dv.controller.mobile; + +import com.klp.common.annotation.Log; +import com.klp.common.constant.UserConstants; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.StringUtils; +import com.klp.mes.dv.domain.DvCheckPlan; +import com.klp.mes.dv.domain.DvCheckRecord; +import com.klp.mes.dv.domain.DvCheckRecordLine; +import com.klp.mes.dv.domain.DvCheckSubject; +import com.klp.mes.dv.service.IDvCheckPlanService; +import com.klp.mes.dv.service.IDvCheckRecordLineService; +import com.klp.mes.dv.service.IDvCheckRecordService; +import com.klp.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 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/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvMachineryMobController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvMachineryMobController.java new file mode 100644 index 00000000..c0c6a4a9 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvMachineryMobController.java @@ -0,0 +1,63 @@ +package com.klp.mes.dv.controller.mobile; + +import com.klp.common.annotation.Log; +import com.klp.common.constant.UserConstants; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.mes.dv.domain.DvMachinery; +import com.klp.mes.dv.service.IDvMachineryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +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/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvMaintenRecordLineMobController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvMaintenRecordLineMobController.java new file mode 100644 index 00000000..85856cfe --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvMaintenRecordLineMobController.java @@ -0,0 +1,60 @@ +package com.klp.mes.dv.controller.mobile; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.enums.BusinessType; +import com.klp.mes.dv.domain.DvMaintenRecordLine; +import com.klp.mes.dv.service.IDvMaintenRecordLineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +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/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvMaintenRecordMobController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvMaintenRecordMobController.java new file mode 100644 index 00000000..94bf3862 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvMaintenRecordMobController.java @@ -0,0 +1,84 @@ +package com.klp.mes.dv.controller.mobile; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.mes.dv.domain.DvMaintenRecord; +import com.klp.mes.dv.service.IDvMaintenRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +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/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvRepairLineMobController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvRepairLineMobController.java new file mode 100644 index 00000000..93292820 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvRepairLineMobController.java @@ -0,0 +1,82 @@ +package com.klp.mes.dv.controller.mobile; + +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.enums.BusinessType; +import com.klp.mes.dv.domain.DvRepairLine; +import com.klp.mes.dv.service.IDvRepairLineService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +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/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvRepairMobController.java b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvRepairMobController.java new file mode 100644 index 00000000..6a34ae54 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/controller/mobile/DvRepairMobController.java @@ -0,0 +1,105 @@ +package com.klp.mes.dv.controller.mobile; + +import com.klp.common.annotation.Log; +import com.klp.common.constant.UserConstants; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.core.domain.R; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.StringUtils; +import com.klp.mes.dv.domain.DvRepair; +import com.klp.mes.dv.service.IDvRepairService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +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/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckMachinery.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckMachinery.java new file mode 100644 index 00000000..1593a6bf --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckMachinery.java @@ -0,0 +1,178 @@ +package com.klp.mes.dv.domain; + +import com.klp.common.annotation.Excel; +import com.klp.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 点检设备对象 dv_check_machinery + * + * @author yinjinlu + * @date 2022-06-17 + */ +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; + + public void setRecordId(Long recordId) + { + this.recordId = recordId; + } + + public Long getRecordId() + { + return recordId; + } + public void setPlanId(Long planId) + { + this.planId = planId; + } + + public Long getPlanId() + { + return planId; + } + public void setMachineryId(Long machineryId) + { + this.machineryId = machineryId; + } + + public Long getMachineryId() + { + return machineryId; + } + public void setMachineryCode(String machineryCode) + { + this.machineryCode = machineryCode; + } + + public String getMachineryCode() + { + return machineryCode; + } + public void setMachineryName(String machineryName) + { + this.machineryName = machineryName; + } + + public String getMachineryName() + { + return machineryName; + } + public void setMachineryBrand(String machineryBrand) + { + this.machineryBrand = machineryBrand; + } + + public String getMachineryBrand() + { + return machineryBrand; + } + public void setMachinerySpec(String machinerySpec) + { + this.machinerySpec = machinerySpec; + } + + public String getMachinerySpec() + { + return machinerySpec; + } + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("recordId", getRecordId()) + .append("planId", getPlanId()) + .append("machineryId", getMachineryId()) + .append("machineryCode", getMachineryCode()) + .append("machineryName", getMachineryName()) + .append("machineryBrand", getMachineryBrand()) + .append("machinerySpec", getMachinerySpec()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckPlan.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckPlan.java new file mode 100644 index 00000000..97975e58 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckPlan.java @@ -0,0 +1,201 @@ +package com.klp.mes.dv.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.klp.common.annotation.Excel; +import com.klp.common.core.domain.BaseEntity; + +import java.util.Date; + +/** + * 设备点检计划头对象 dv_check_plan + * + * @author yinjinlu + * @date 2022-06-16 + */ +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; + + public void setPlanId(Long planId) + { + this.planId = planId; + } + + public Long getPlanId() + { + return planId; + } + public void setPlanCode(String planCode) + { + this.planCode = planCode; + } + + public String getPlanCode() + { + return planCode; + } + public void setPlanName(String planName) + { + this.planName = planName; + } + + public String getPlanName() + { + return planName; + } + public void setStartDate(Date startDate) + { + this.startDate = startDate; + } + + public String getPlanType() { + return planType; + } + + public void setPlanType(String planType) { + this.planType = planType; + } + + public Date getStartDate() + { + return startDate; + } + public void setEndDate(Date endDate) + { + this.endDate = endDate; + } + + public Date getEndDate() + { + return endDate; + } + public void setCycleType(String cycleType) + { + this.cycleType = cycleType; + } + + public String getCycleType() + { + return cycleType; + } + public void setCycleCount(Long cycleCount) + { + this.cycleCount = cycleCount; + } + + public Long getCycleCount() + { + return cycleCount; + } + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return "DvCheckPlan{" + + "planId=" + planId + + ", planCode='" + planCode + '\'' + + ", planName='" + planName + '\'' + + ", planType='" + planType + '\'' + + ", startDate=" + startDate + + ", endDate=" + endDate + + ", cycleType='" + cycleType + '\'' + + ", cycleCount=" + cycleCount + + ", status='" + status + '\'' + + ", attr1='" + attr1 + '\'' + + ", attr2='" + attr2 + '\'' + + ", attr3=" + attr3 + + ", attr4=" + attr4 + + '}'; + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckRecord.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckRecord.java new file mode 100644 index 00000000..b5faccce --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckRecord.java @@ -0,0 +1,283 @@ +package com.klp.mes.dv.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.klp.common.annotation.Excel; +import com.klp.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + +/** + * 设备点检记录对象 dv_check_record + * + * @author yinjinlu + * @date 2024-12-26 + */ +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; + + public void setRecordId(Long recordId) + { + this.recordId = recordId; + } + + public Long getRecordId() + { + return recordId; + } + public void setPlanId(Long planId) + { + this.planId = planId; + } + + public Long getPlanId() + { + return planId; + } + public void setPlanCode(String planCode) + { + this.planCode = planCode; + } + + public String getPlanCode() + { + return planCode; + } + public void setPlanName(String planName) + { + this.planName = planName; + } + + public String getPlanName() + { + return planName; + } + public void setPlanType(String planType) + { + this.planType = planType; + } + + public String getPlanType() + { + return planType; + } + public void setMachineryId(Long machineryId) + { + this.machineryId = machineryId; + } + + public Long getMachineryId() + { + return machineryId; + } + public void setMachineryCode(String machineryCode) + { + this.machineryCode = machineryCode; + } + + public String getMachineryCode() + { + return machineryCode; + } + public void setMachineryName(String machineryName) + { + this.machineryName = machineryName; + } + + public String getMachineryName() + { + return machineryName; + } + public void setMachineryBrand(String machineryBrand) + { + this.machineryBrand = machineryBrand; + } + + public String getMachineryBrand() + { + return machineryBrand; + } + public void setMachinerySpec(String machinerySpec) + { + this.machinerySpec = machinerySpec; + } + + public String getMachinerySpec() + { + return machinerySpec; + } + public void setCheckTime(Date checkTime) + { + this.checkTime = checkTime; + } + + public Date getCheckTime() + { + return checkTime; + } + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getNickName() { + return nickName; + } + + public void setNickName(String nickName) { + this.nickName = nickName; + } + + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("recordId", getRecordId()) + .append("planId", getPlanId()) + .append("planCode", getPlanCode()) + .append("planName", getPlanName()) + .append("planType", getPlanType()) + .append("machineryId", getMachineryId()) + .append("machineryCode", getMachineryCode()) + .append("machineryName", getMachineryName()) + .append("machineryBrand", getMachineryBrand()) + .append("machinerySpec", getMachinerySpec()) + .append("checkTime", getCheckTime()) + .append("status", getStatus()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckRecordLine.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckRecordLine.java new file mode 100644 index 00000000..2cff4cd7 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckRecordLine.java @@ -0,0 +1,219 @@ +package com.klp.mes.dv.domain; + +import com.klp.common.annotation.Excel; +import com.klp.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 设备点检记录行对象 dv_check_record_line + * + * @author yinjinlu + * @date 2024-12-26 + */ +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; + + public void setLineId(Long lineId) + { + this.lineId = lineId; + } + + public Long getLineId() + { + return lineId; + } + public void setRecordId(Long recordId) + { + this.recordId = recordId; + } + + public Long getRecordId() + { + return recordId; + } + public void setSubjectId(Long subjectId) + { + this.subjectId = subjectId; + } + + public Long getSubjectId() + { + return subjectId; + } + public void setSubjectCode(String subjectCode) + { + this.subjectCode = subjectCode; + } + + public String getSubjectCode() + { + return subjectCode; + } + public void setSubjectName(String subjectName) + { + this.subjectName = subjectName; + } + + public String getSubjectName() + { + return subjectName; + } + public void setSubjectType(String subjectType) + { + this.subjectType = subjectType; + } + + public String getSubjectType() + { + return subjectType; + } + public void setSubjectContent(String subjectContent) + { + this.subjectContent = subjectContent; + } + + public String getSubjectContent() + { + return subjectContent; + } + public void setSubjectStandard(String subjectStandard) + { + this.subjectStandard = subjectStandard; + } + + public String getSubjectStandard() + { + return subjectStandard; + } + public void setCheckStatus(String checkStatus) + { + this.checkStatus = checkStatus; + } + + public String getCheckStatus() + { + return checkStatus; + } + public void setCheckResult(String checkResult) + { + this.checkResult = checkResult; + } + + public String getCheckResult() + { + return checkResult; + } + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("lineId", getLineId()) + .append("recordId", getRecordId()) + .append("subjectId", getSubjectId()) + .append("subjectCode", getSubjectCode()) + .append("subjectName", getSubjectName()) + .append("subjectType", getSubjectType()) + .append("subjectContent", getSubjectContent()) + .append("subjectStandard", getSubjectStandard()) + .append("checkStatus", getCheckStatus()) + .append("checkResult", getCheckResult()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckSubject.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckSubject.java new file mode 100644 index 00000000..552b40eb --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvCheckSubject.java @@ -0,0 +1,192 @@ +package com.klp.mes.dv.domain; + +import com.klp.common.annotation.Excel; +import com.klp.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 点检项目对象 dv_check_subject + * + * @author yinjinlu + * @date 2022-06-18 + */ +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; + + public void setRecordId(Long recordId) + { + this.recordId = recordId; + } + + public Long getRecordId() + { + return recordId; + } + public void setPlanId(Long planId) + { + this.planId = planId; + } + + public Long getPlanId() + { + return planId; + } + public void setSubjectId(Long subjectId) + { + this.subjectId = subjectId; + } + + public Long getSubjectId() + { + return subjectId; + } + public void setSubjectCode(String subjectCode) + { + this.subjectCode = subjectCode; + } + + public String getSubjectCode() + { + return subjectCode; + } + public void setSubjectName(String subjectName) + { + this.subjectName = subjectName; + } + + public String getSubjectName() + { + return subjectName; + } + public void setSubjectType(String subjectType) + { + this.subjectType = subjectType; + } + + public String getSubjectType() + { + return subjectType; + } + public void setSubjectContent(String subjectContent) + { + this.subjectContent = subjectContent; + } + + public String getSubjectContent() + { + return subjectContent; + } + public void setSubjectStandard(String subjectStandard) + { + this.subjectStandard = subjectStandard; + } + + public String getSubjectStandard() + { + return subjectStandard; + } + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("recordId", getRecordId()) + .append("planId", getPlanId()) + .append("subjectId", getSubjectId()) + .append("subjectCode", getSubjectCode()) + .append("subjectName", getSubjectName()) + .append("subjectType", getSubjectType()) + .append("subjectContent", getSubjectContent()) + .append("subjectStandard", getSubjectStandard()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/domain/DvMachinery.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvMachinery.java new file mode 100644 index 00000000..95bca116 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvMachinery.java @@ -0,0 +1,276 @@ +package com.klp.mes.dv.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.klp.common.annotation.Excel; +import com.klp.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + +/** + * 设备对象 dv_machinery + * + * @author yinjinlu + * @date 2022-05-08 + */ +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; + + public void setMachineryId(Long machineryId) + { + this.machineryId = machineryId; + } + + public Long getMachineryId() + { + return machineryId; + } + public void setMachineryCode(String machineryCode) + { + this.machineryCode = machineryCode; + } + + public String getMachineryCode() + { + return machineryCode; + } + public void setMachineryName(String machineryName) + { + this.machineryName = machineryName; + } + + public String getMachineryName() + { + return machineryName; + } + public void setMachineryBrand(String machineryBrand) + { + this.machineryBrand = machineryBrand; + } + + public String getMachineryBrand() + { + return machineryBrand; + } + public void setMachinerySpec(String machinerySpec) + { + this.machinerySpec = machinerySpec; + } + + public String getMachinerySpec() + { + return machinerySpec; + } + public void setMachineryTypeId(Long machineryTypeId) + { + this.machineryTypeId = machineryTypeId; + } + + public Long getMachineryTypeId() + { + return machineryTypeId; + } + public void setMachineryTypeCode(String machineryTypeCode) + { + this.machineryTypeCode = machineryTypeCode; + } + + public String getMachineryTypeCode() + { + return machineryTypeCode; + } + public void setMachineryTypeName(String machineryTypeName) + { + this.machineryTypeName = machineryTypeName; + } + + public String getMachineryTypeName() + { + return machineryTypeName; + } + public void setWorkshopId(Long workshopId) + { + this.workshopId = workshopId; + } + + public Long getWorkshopId() + { + return workshopId; + } + public void setWorkshopCode(String workshopCode) + { + this.workshopCode = workshopCode; + } + + public String getWorkshopCode() + { + return workshopCode; + } + public void setWorkshopName(String workshopName) + { + this.workshopName = workshopName; + } + + public String getWorkshopName() + { + return workshopName; + } + + public Date getLastMaintenTime() { + return lastMaintenTime; + } + + public void setLastMaintenTime(Date lastMaintenTime) { + this.lastMaintenTime = lastMaintenTime; + } + + public Date getLastCheckTime() { + return lastCheckTime; + } + + public void setLastCheckTime(Date lastCheckTime) { + this.lastCheckTime = lastCheckTime; + } + + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("machineryId", getMachineryId()) + .append("machineryCode", getMachineryCode()) + .append("machineryName", getMachineryName()) + .append("machineryBrand", getMachineryBrand()) + .append("machinerySpec", getMachinerySpec()) + .append("machineryTypeId", getMachineryTypeId()) + .append("machineryTypeCode", getMachineryTypeCode()) + .append("machineryTypeName", getMachineryTypeName()) + .append("workshopId", getWorkshopId()) + .append("workshopCode", getWorkshopCode()) + .append("workshopName", getWorkshopName()) + .append("status", getStatus()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/domain/DvMachineryType.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvMachineryType.java new file mode 100644 index 00000000..2ab14c3c --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvMachineryType.java @@ -0,0 +1,50 @@ +package com.klp.mes.dv.domain; + +import com.klp.common.annotation.Excel; +import com.klp.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; + + +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/domain/DvMaintenRecord.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvMaintenRecord.java new file mode 100644 index 00000000..9ccaa3aa --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvMaintenRecord.java @@ -0,0 +1,294 @@ +package com.klp.mes.dv.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.klp.common.annotation.Excel; +import com.klp.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + +/** + * 设备保养记录对象 dv_mainten_record + * + * @author yinjinlu + * @date 2024-12-26 + */ +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; + + public void setRecordId(Long recordId) + { + this.recordId = recordId; + } + + public Long getRecordId() + { + return recordId; + } + public void setPlanId(Long planId) + { + this.planId = planId; + } + + public Long getPlanId() + { + return planId; + } + public void setPlanCode(String planCode) + { + this.planCode = planCode; + } + + public String getPlanCode() + { + return planCode; + } + public void setPlanName(String planName) + { + this.planName = planName; + } + + public String getPlanName() + { + return planName; + } + public void setPlanType(String planType) + { + this.planType = planType; + } + + public String getPlanType() + { + return planType; + } + public void setMachineryId(Long machineryId) + { + this.machineryId = machineryId; + } + + public Long getMachineryId() + { + return machineryId; + } + public void setMachineryCode(String machineryCode) + { + this.machineryCode = machineryCode; + } + + public String getMachineryCode() + { + return machineryCode; + } + public void setMachineryName(String machineryName) + { + this.machineryName = machineryName; + } + + public String getMachineryName() + { + return machineryName; + } + public void setMachineryBrand(String machineryBrand) + { + this.machineryBrand = machineryBrand; + } + + public String getMachineryBrand() + { + return machineryBrand; + } + public void setMachinerySpec(String machinerySpec) + { + this.machinerySpec = machinerySpec; + } + + public String getMachinerySpec() + { + return machinerySpec; + } + public void setMaintenTime(Date maintenTime) + { + this.maintenTime = maintenTime; + } + + public Date getMaintenTime() + { + return maintenTime; + } + public void setUserId(Long userId) + { + this.userId = userId; + } + + public Long getUserId() + { + return userId; + } + public void setUserName(String userName) + { + this.userName = userName; + } + + public String getUserName() + { + return userName; + } + public void setNickName(String nickName) + { + this.nickName = nickName; + } + + public String getNickName() + { + return nickName; + } + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("recordId", getRecordId()) + .append("planId", getPlanId()) + .append("planCode", getPlanCode()) + .append("planName", getPlanName()) + .append("planType", getPlanType()) + .append("machineryId", getMachineryId()) + .append("machineryCode", getMachineryCode()) + .append("machineryName", getMachineryName()) + .append("machineryBrand", getMachineryBrand()) + .append("machinerySpec", getMachinerySpec()) + .append("maintenTime", getMaintenTime()) + .append("userId", getUserId()) + .append("userName", getUserName()) + .append("nickName", getNickName()) + .append("status", getStatus()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/domain/DvMaintenRecordLine.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvMaintenRecordLine.java new file mode 100644 index 00000000..5804a7c2 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvMaintenRecordLine.java @@ -0,0 +1,219 @@ +package com.klp.mes.dv.domain; + +import com.klp.common.annotation.Excel; +import com.klp.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 设备保养记录行对象 dv_mainten_record_line + * + * @author yinjinlu + * @date 2024-12-26 + */ +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; + + public void setLineId(Long lineId) + { + this.lineId = lineId; + } + + public Long getLineId() + { + return lineId; + } + public void setRecordId(Long recordId) + { + this.recordId = recordId; + } + + public Long getRecordId() + { + return recordId; + } + public void setSubjectId(Long subjectId) + { + this.subjectId = subjectId; + } + + public Long getSubjectId() + { + return subjectId; + } + public void setSubjectCode(String subjectCode) + { + this.subjectCode = subjectCode; + } + + public String getSubjectCode() + { + return subjectCode; + } + public void setSubjectName(String subjectName) + { + this.subjectName = subjectName; + } + + public String getSubjectName() + { + return subjectName; + } + public void setSubjectType(String subjectType) + { + this.subjectType = subjectType; + } + + public String getSubjectType() + { + return subjectType; + } + public void setSubjectContent(String subjectContent) + { + this.subjectContent = subjectContent; + } + + public String getSubjectContent() + { + return subjectContent; + } + public void setSubjectStandard(String subjectStandard) + { + this.subjectStandard = subjectStandard; + } + + public String getSubjectStandard() + { + return subjectStandard; + } + public void setMaintenStatus(String maintenStatus) + { + this.maintenStatus = maintenStatus; + } + + public String getMaintenStatus() + { + return maintenStatus; + } + public void setMaintenResult(String maintenResult) + { + this.maintenResult = maintenResult; + } + + public String getMaintenResult() + { + return maintenResult; + } + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("lineId", getLineId()) + .append("recordId", getRecordId()) + .append("subjectId", getSubjectId()) + .append("subjectCode", getSubjectCode()) + .append("subjectName", getSubjectName()) + .append("subjectType", getSubjectType()) + .append("subjectContent", getSubjectContent()) + .append("subjectStandard", getSubjectStandard()) + .append("maintenStatus", getMaintenStatus()) + .append("maintenResult", getMaintenResult()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/domain/DvRepair.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvRepair.java new file mode 100644 index 00000000..2b6baecf --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvRepair.java @@ -0,0 +1,380 @@ +package com.klp.mes.dv.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.klp.common.annotation.Excel; +import com.klp.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + +/** + * 设备维修单对象 dv_repair + * + * @author yinjinlu + * @date 2022-08-06 + */ +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; + + public void setRepairId(Long repairId) + { + this.repairId = repairId; + } + + public Long getRepairId() + { + return repairId; + } + public void setRepairCode(String repairCode) + { + this.repairCode = repairCode; + } + + public String getRepairCode() + { + return repairCode; + } + public void setRepairName(String repairName) + { + this.repairName = repairName; + } + + public String getRepairName() + { + return repairName; + } + public void setMachineryId(Long machineryId) + { + this.machineryId = machineryId; + } + + public Long getMachineryId() + { + return machineryId; + } + public void setMachineryCode(String machineryCode) + { + this.machineryCode = machineryCode; + } + + public String getMachineryCode() + { + return machineryCode; + } + public void setMachineryName(String machineryName) + { + this.machineryName = machineryName; + } + + public String getMachineryName() + { + return machineryName; + } + public void setMachineryBrand(String machineryBrand) + { + this.machineryBrand = machineryBrand; + } + + public String getMachineryBrand() + { + return machineryBrand; + } + public void setMachinerySpec(String machinerySpec) + { + this.machinerySpec = machinerySpec; + } + + public String getMachinerySpec() + { + return machinerySpec; + } + public void setMachineryTypeId(Long machineryTypeId) + { + this.machineryTypeId = machineryTypeId; + } + + public Long getMachineryTypeId() + { + return machineryTypeId; + } + public void setRequireDate(Date requireDate) + { + this.requireDate = requireDate; + } + + public Date getRequireDate() + { + return requireDate; + } + public void setFinishDate(Date finishDate) + { + this.finishDate = finishDate; + } + + public Date getFinishDate() + { + return finishDate; + } + public void setConfirmDate(Date confirmDate) + { + this.confirmDate = confirmDate; + } + + public Date getConfirmDate() + { + return confirmDate; + } + public void setRepairResult(String repairResult) + { + this.repairResult = repairResult; + } + + public String getRepairResult() + { + return repairResult; + } + public void setAcceptedBy(String acceptedBy) + { + this.acceptedBy = acceptedBy; + } + + public String getAcceptedBy() + { + return acceptedBy; + } + public void setConfirmBy(String confirmBy) + { + this.confirmBy = confirmBy; + } + + public String getConfirmBy() + { + return confirmBy; + } + public void setStatus(String status) + { + this.status = status; + } + + public Long getAcceptedId() { + return acceptedId; + } + + public void setAcceptedId(Long acceptedId) { + this.acceptedId = acceptedId; + } + + public String getAcceptedName() { + return acceptedName; + } + + public void setAcceptedName(String acceptedName) { + this.acceptedName = acceptedName; + } + + public Long getConfirmId() { + return confirmId; + } + + public void setConfirmId(Long confirmId) { + this.confirmId = confirmId; + } + + public String getSourceDocType() { + return sourceDocType; + } + + public void setSourceDocType(String sourceDocType) { + this.sourceDocType = sourceDocType; + } + + public Long getSourceDocId() { + return sourceDocId; + } + + public void setSourceDocId(Long sourceDocId) { + this.sourceDocId = sourceDocId; + } + + public String getSourceDocCode() { + return sourceDocCode; + } + + public void setSourceDocCode(String sourceDocCode) { + this.sourceDocCode = sourceDocCode; + } + + public String getConfirmName() { + return confirmName; + } + + public void setConfirmName(String confirmName) { + this.confirmName = confirmName; + } + + public String getStatus() + { + return status; + } + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("repairId", getRepairId()) + .append("repairCode", getRepairCode()) + .append("repairName", getRepairName()) + .append("machineryId", getMachineryId()) + .append("machineryCode", getMachineryCode()) + .append("machineryName", getMachineryName()) + .append("machineryBrand", getMachineryBrand()) + .append("machinerySpec", getMachinerySpec()) + .append("machineryTypeId", getMachineryTypeId()) + .append("requireDate", getRequireDate()) + .append("finishDate", getFinishDate()) + .append("confirmDate", getConfirmDate()) + .append("repairResult", getRepairResult()) + .append("acceptedBy", getAcceptedBy()) + .append("confirmBy", getConfirmBy()) + .append("status", getStatus()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/domain/DvRepairLine.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvRepairLine.java new file mode 100644 index 00000000..f3ea7f79 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvRepairLine.java @@ -0,0 +1,234 @@ +package com.klp.mes.dv.domain; + +import com.klp.common.annotation.Excel; +import com.klp.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 设备维修单行对象 dv_repair_line + * + * @author yinjinlu + * @date 2022-08-08 + */ +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; + + public void setLineId(Long lineId) + { + this.lineId = lineId; + } + + public Long getLineId() + { + return lineId; + } + public void setRepairId(Long repairId) + { + this.repairId = repairId; + } + + public Long getRepairId() + { + return repairId; + } + public void setSubjectId(Long subjectId) + { + this.subjectId = subjectId; + } + + public Long getSubjectId() + { + return subjectId; + } + public void setSubjectCode(String subjectCode) + { + this.subjectCode = subjectCode; + } + + public String getSubjectCode() + { + return subjectCode; + } + public void setSubjectName(String subjectName) + { + this.subjectName = subjectName; + } + + public String getSubjectName() + { + return subjectName; + } + public void setSubjectType(String subjectType) + { + this.subjectType = subjectType; + } + + public String getSubjectType() + { + return subjectType; + } + public void setSubjectContent(String subjectContent) + { + this.subjectContent = subjectContent; + } + + public String getSubjectContent() + { + return subjectContent; + } + public void setSubjectStandard(String subjectStandard) + { + this.subjectStandard = subjectStandard; + } + + public String getSubjectStandard() + { + return subjectStandard; + } + public void setMalfunction(String malfunction) + { + this.malfunction = malfunction; + } + + public String getMalfunction() + { + return malfunction; + } + public void setMalfunctionUrl(String malfunctionUrl) + { + this.malfunctionUrl = malfunctionUrl; + } + + public String getMalfunctionUrl() + { + return malfunctionUrl; + } + public void setRepairDes(String repairDes) + { + this.repairDes = repairDes; + } + + public String getRepairDes() + { + return repairDes; + } + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("lineId", getLineId()) + .append("repairId", getRepairId()) + .append("subjectId", getSubjectId()) + .append("subjectCode", getSubjectCode()) + .append("subjectName", getSubjectName()) + .append("subjectType", getSubjectType()) + .append("subjectContent", getSubjectContent()) + .append("subjectStandard", getSubjectStandard()) + .append("malfunction", getMalfunction()) + .append("malfunctionUrl", getMalfunctionUrl()) + .append("repairDes", getRepairDes()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/domain/DvSubject.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvSubject.java new file mode 100644 index 00000000..648d2884 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/DvSubject.java @@ -0,0 +1,178 @@ +package com.klp.mes.dv.domain; + +import com.klp.common.annotation.Excel; +import com.klp.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 设备点检保养项目对象 dv_subject + * + * @author yinjinlu + * @date 2022-06-16 + */ +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; + + public void setSubjectId(Long subjectId) + { + this.subjectId = subjectId; + } + + public Long getSubjectId() + { + return subjectId; + } + public void setSubjectCode(String subjectCode) + { + this.subjectCode = subjectCode; + } + + public String getSubjectCode() + { + return subjectCode; + } + public void setSubjectName(String subjectName) + { + this.subjectName = subjectName; + } + + public String getSubjectName() + { + return subjectName; + } + public void setSubjectType(String subjectType) + { + this.subjectType = subjectType; + } + + public String getSubjectType() + { + return subjectType; + } + public void setSubjectContent(String subjectContent) + { + this.subjectContent = subjectContent; + } + + public String getSubjectContent() + { + return subjectContent; + } + public void setSubjectStandard(String subjectStandard) + { + this.subjectStandard = subjectStandard; + } + + public String getSubjectStandard() + { + return subjectStandard; + } + public void setEnableFlag(String enableFlag) + { + this.enableFlag = enableFlag; + } + + public String getEnableFlag() + { + return enableFlag; + } + public void setAttr1(String attr1) + { + this.attr1 = attr1; + } + + public String getAttr1() + { + return attr1; + } + public void setAttr2(String attr2) + { + this.attr2 = attr2; + } + + public String getAttr2() + { + return attr2; + } + public void setAttr3(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("subjectId", getSubjectId()) + .append("subjectCode", getSubjectCode()) + .append("subjectName", getSubjectName()) + .append("subjectType", getSubjectType()) + .append("subjectContent", getSubjectContent()) + .append("subjectStandard", getSubjectStandard()) + .append("enableFlag", getEnableFlag()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/domain/dto/DvCheckPlanDTO.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/dto/DvCheckPlanDTO.java new file mode 100644 index 00000000..f494d38f --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/dto/DvCheckPlanDTO.java @@ -0,0 +1,12 @@ +package com.klp.mes.dv.domain.dto; + +import lombok.Data; + +@Data +public class DvCheckPlanDTO { + + private String planType; + + private String machineryCode; + +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/domain/dto/DvRepairDTO.java b/klp-mes/src/main/java/com/klp/mes/dv/domain/dto/DvRepairDTO.java new file mode 100644 index 00000000..98d221bc --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/domain/dto/DvRepairDTO.java @@ -0,0 +1,10 @@ +package com.klp.mes.dv.domain.dto; + +import lombok.Data; + +@Data +public class DvRepairDTO { + + private String machineryCode; + +} diff --git a/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckMachineryMapper.java b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckMachineryMapper.java new file mode 100644 index 00000000..3bfef543 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckMachineryMapper.java @@ -0,0 +1,79 @@ +package com.klp.mes.dv.mapper; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckPlanMapper.java b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckPlanMapper.java new file mode 100644 index 00000000..137bb62c --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckPlanMapper.java @@ -0,0 +1,69 @@ +package com.klp.mes.dv.mapper; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckRecordLineMapper.java b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckRecordLineMapper.java new file mode 100644 index 00000000..aa824621 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckRecordLineMapper.java @@ -0,0 +1,70 @@ +package com.klp.mes.dv.mapper; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckRecordMapper.java b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckRecordMapper.java new file mode 100644 index 00000000..2e3e2f1a --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckRecordMapper.java @@ -0,0 +1,62 @@ +package com.klp.mes.dv.mapper; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckSubjectMapper.java b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckSubjectMapper.java new file mode 100644 index 00000000..96256d2c --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvCheckSubjectMapper.java @@ -0,0 +1,72 @@ +package com.klp.mes.dv.mapper; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMachineryMapper.java b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMachineryMapper.java new file mode 100644 index 00000000..4ea2a303 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMachineryMapper.java @@ -0,0 +1,72 @@ +package com.klp.mes.dv.mapper; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMachineryTypeMapper.java b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMachineryTypeMapper.java new file mode 100644 index 00000000..faa903e7 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMachineryTypeMapper.java @@ -0,0 +1,62 @@ +package com.klp.mes.dv.mapper; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMaintenRecordLineMapper.java b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMaintenRecordLineMapper.java new file mode 100644 index 00000000..cf54ede8 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMaintenRecordLineMapper.java @@ -0,0 +1,62 @@ +package com.klp.mes.dv.mapper; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMaintenRecordMapper.java b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMaintenRecordMapper.java new file mode 100644 index 00000000..db1595d8 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvMaintenRecordMapper.java @@ -0,0 +1,62 @@ +package com.klp.mes.dv.mapper; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvRepairLineMapper.java b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvRepairLineMapper.java new file mode 100644 index 00000000..a39d80f0 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvRepairLineMapper.java @@ -0,0 +1,64 @@ +package com.klp.mes.dv.mapper; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvRepairMapper.java b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvRepairMapper.java new file mode 100644 index 00000000..7417a309 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvRepairMapper.java @@ -0,0 +1,74 @@ +package com.klp.mes.dv.mapper; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvSubjectMapper.java b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvSubjectMapper.java new file mode 100644 index 00000000..a2a3c4bf --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/mapper/DvSubjectMapper.java @@ -0,0 +1,65 @@ +package com.klp.mes.dv.mapper; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckMachineryService.java b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckMachineryService.java new file mode 100644 index 00000000..c59a214b --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckMachineryService.java @@ -0,0 +1,78 @@ +package com.klp.mes.dv.service; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckPlanService.java b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckPlanService.java new file mode 100644 index 00000000..597c6ae6 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckPlanService.java @@ -0,0 +1,80 @@ +package com.klp.mes.dv.service; + +import com.klp.common.core.domain.AjaxResult; +import com.klp.mes.dv.domain.DvCheckPlan; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckRecordLineService.java b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckRecordLineService.java new file mode 100644 index 00000000..7dd3d576 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckRecordLineService.java @@ -0,0 +1,70 @@ +package com.klp.mes.dv.service; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckRecordService.java b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckRecordService.java new file mode 100644 index 00000000..e4118f5e --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckRecordService.java @@ -0,0 +1,62 @@ +package com.klp.mes.dv.service; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckSubjectService.java b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckSubjectService.java new file mode 100644 index 00000000..c6a578ca --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvCheckSubjectService.java @@ -0,0 +1,77 @@ +package com.klp.mes.dv.service; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/IDvMachineryService.java b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvMachineryService.java new file mode 100644 index 00000000..281e359f --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvMachineryService.java @@ -0,0 +1,80 @@ +package com.klp.mes.dv.service; + +import com.klp.common.core.domain.AjaxResult; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/IDvMachineryTypeService.java b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvMachineryTypeService.java new file mode 100644 index 00000000..732731ae --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvMachineryTypeService.java @@ -0,0 +1,62 @@ +package com.klp.mes.dv.service; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/IDvMaintenRecordLineService.java b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvMaintenRecordLineService.java new file mode 100644 index 00000000..d230c454 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvMaintenRecordLineService.java @@ -0,0 +1,62 @@ +package com.klp.mes.dv.service; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/IDvMaintenRecordService.java b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvMaintenRecordService.java new file mode 100644 index 00000000..c92559e5 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvMaintenRecordService.java @@ -0,0 +1,62 @@ +package com.klp.mes.dv.service; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/IDvRepairLineService.java b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvRepairLineService.java new file mode 100644 index 00000000..bc45ca30 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvRepairLineService.java @@ -0,0 +1,69 @@ +package com.klp.mes.dv.service; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/IDvRepairService.java b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvRepairService.java new file mode 100644 index 00000000..4322b323 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvRepairService.java @@ -0,0 +1,78 @@ +package com.klp.mes.dv.service; + +import com.klp.common.core.domain.AjaxResult; +import com.klp.mes.dv.domain.DvRepair; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/IDvSubjectService.java b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvSubjectService.java new file mode 100644 index 00000000..32faedf7 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/IDvSubjectService.java @@ -0,0 +1,69 @@ +package com.klp.mes.dv.service; + +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckMachineryServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckMachineryServiceImpl.java new file mode 100644 index 00000000..0e0c0f41 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckMachineryServiceImpl.java @@ -0,0 +1,119 @@ +package com.klp.mes.dv.service.impl; + +import com.klp.common.constant.UserConstants; +import com.klp.common.utils.DateUtils; +import com.klp.common.utils.StringUtils; +import com.klp.mes.dv.domain.DvCheckMachinery; +import com.klp.mes.dv.mapper.DvCheckMachineryMapper; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckPlanServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckPlanServiceImpl.java new file mode 100644 index 00000000..7af9dab5 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckPlanServiceImpl.java @@ -0,0 +1,138 @@ +package com.klp.mes.dv.service.impl; + +import com.klp.common.constant.UserConstants; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.utils.DateUtils; +import com.klp.common.utils.StringUtils; +import com.klp.mes.dv.domain.DvCheckPlan; +import com.klp.mes.dv.domain.dto.DvCheckPlanDTO; +import com.klp.mes.dv.mapper.DvCheckPlanMapper; +import com.klp.mes.dv.service.IDvCheckMachineryService; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckRecordLineServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckRecordLineServiceImpl.java new file mode 100644 index 00000000..c5f9ae86 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckRecordLineServiceImpl.java @@ -0,0 +1,102 @@ +package com.klp.mes.dv.service.impl; + +import com.klp.common.utils.DateUtils; +import com.klp.mes.dv.domain.DvCheckRecordLine; +import com.klp.mes.dv.mapper.DvCheckRecordLineMapper; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckRecordServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckRecordServiceImpl.java new file mode 100644 index 00000000..ba722846 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckRecordServiceImpl.java @@ -0,0 +1,97 @@ +package com.klp.mes.dv.service.impl; + +import com.klp.common.utils.DateUtils; +import com.klp.mes.dv.domain.DvCheckRecord; +import com.klp.mes.dv.mapper.DvCheckRecordMapper; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckSubjectServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckSubjectServiceImpl.java new file mode 100644 index 00000000..e86b37c1 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvCheckSubjectServiceImpl.java @@ -0,0 +1,115 @@ +package com.klp.mes.dv.service.impl; + +import com.klp.common.constant.UserConstants; +import com.klp.common.utils.DateUtils; +import com.klp.common.utils.StringUtils; +import com.klp.mes.dv.domain.DvCheckSubject; +import com.klp.mes.dv.mapper.DvCheckSubjectMapper; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMachineryServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMachineryServiceImpl.java new file mode 100644 index 00000000..6a1ed9d7 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMachineryServiceImpl.java @@ -0,0 +1,178 @@ +package com.klp.mes.dv.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import com.klp.common.constant.UserConstants; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.utils.DateUtils; +import com.klp.common.utils.StringUtils; +import com.klp.mes.dv.domain.DvMachinery; +import com.klp.mes.dv.mapper.DvMachineryMapper; +import com.klp.mes.dv.service.IDvMachineryService; +//import com.klp.mes.wm.utils.WmBarCodeUtil; +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/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMachineryTypeServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMachineryTypeServiceImpl.java new file mode 100644 index 00000000..9d330c75 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMachineryTypeServiceImpl.java @@ -0,0 +1,104 @@ +package com.klp.mes.dv.service.impl; + +import com.klp.common.utils.DateUtils; +import com.klp.common.utils.StringUtils; +import com.klp.mes.dv.domain.DvMachineryType; +import com.klp.mes.dv.mapper.DvMachineryTypeMapper; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMaintenRecordLineServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMaintenRecordLineServiceImpl.java new file mode 100644 index 00000000..73af6cfa --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMaintenRecordLineServiceImpl.java @@ -0,0 +1,97 @@ +package com.klp.mes.dv.service.impl; + +import com.klp.common.utils.DateUtils; +import com.klp.mes.dv.domain.DvMaintenRecordLine; +import com.klp.mes.dv.mapper.DvMaintenRecordLineMapper; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMaintenRecordServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMaintenRecordServiceImpl.java new file mode 100644 index 00000000..3e9316d5 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvMaintenRecordServiceImpl.java @@ -0,0 +1,97 @@ +package com.klp.mes.dv.service.impl; + +import com.klp.common.utils.DateUtils; +import com.klp.mes.dv.domain.DvMaintenRecord; +import com.klp.mes.dv.mapper.DvMaintenRecordMapper; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvRepairLineServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvRepairLineServiceImpl.java new file mode 100644 index 00000000..fb2a4faa --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvRepairLineServiceImpl.java @@ -0,0 +1,102 @@ +package com.klp.mes.dv.service.impl; + +import com.klp.common.utils.DateUtils; +import com.klp.mes.dv.domain.DvRepairLine; +import com.klp.mes.dv.mapper.DvRepairLineMapper; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvRepairServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvRepairServiceImpl.java new file mode 100644 index 00000000..413b3d0e --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvRepairServiceImpl.java @@ -0,0 +1,122 @@ +package com.klp.mes.dv.service.impl; + +import com.klp.common.constant.UserConstants; +import com.klp.common.core.domain.AjaxResult; +import com.klp.common.utils.DateUtils; +import com.klp.common.utils.StringUtils; +import com.klp.mes.dv.domain.DvRepair; +import com.klp.mes.dv.domain.dto.DvRepairDTO; +import com.klp.mes.dv.mapper.DvRepairMapper; +import com.klp.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/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvSubjectServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvSubjectServiceImpl.java new file mode 100644 index 00000000..284f5722 --- /dev/null +++ b/klp-mes/src/main/java/com/klp/mes/dv/service/impl/DvSubjectServiceImpl.java @@ -0,0 +1,109 @@ +package com.klp.mes.dv.service.impl; + +import com.klp.common.constant.UserConstants; +import com.klp.common.utils.DateUtils; +import com.klp.common.utils.StringUtils; +import com.klp.mes.dv.domain.DvSubject; +import com.klp.mes.dv.mapper.DvSubjectMapper; +import com.klp.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/klp-mes/src/main/resources/mapper/dv/DvCheckMachineryMapper.xml b/klp-mes/src/main/resources/mapper/dv/DvCheckMachineryMapper.xml new file mode 100644 index 00000000..8a94754d --- /dev/null +++ b/klp-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/klp-mes/src/main/resources/mapper/dv/DvCheckPlanMapper.xml b/klp-mes/src/main/resources/mapper/dv/DvCheckPlanMapper.xml new file mode 100644 index 00000000..b6826501 --- /dev/null +++ b/klp-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/klp-mes/src/main/resources/mapper/dv/DvCheckRecordLineMapper.xml b/klp-mes/src/main/resources/mapper/dv/DvCheckRecordLineMapper.xml new file mode 100644 index 00000000..7a55df8b --- /dev/null +++ b/klp-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/klp-mes/src/main/resources/mapper/dv/DvCheckRecordMapper.xml b/klp-mes/src/main/resources/mapper/dv/DvCheckRecordMapper.xml new file mode 100644 index 00000000..4b87a737 --- /dev/null +++ b/klp-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/klp-mes/src/main/resources/mapper/dv/DvCheckSubjectMapper.xml b/klp-mes/src/main/resources/mapper/dv/DvCheckSubjectMapper.xml new file mode 100644 index 00000000..158bc1b1 --- /dev/null +++ b/klp-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/klp-mes/src/main/resources/mapper/dv/DvMachineryMapper.xml b/klp-mes/src/main/resources/mapper/dv/DvMachineryMapper.xml new file mode 100644 index 00000000..98218fd2 --- /dev/null +++ b/klp-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/klp-mes/src/main/resources/mapper/dv/DvMachineryTypeMapper.xml b/klp-mes/src/main/resources/mapper/dv/DvMachineryTypeMapper.xml new file mode 100644 index 00000000..35674fe4 --- /dev/null +++ b/klp-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/klp-mes/src/main/resources/mapper/dv/DvMaintenRecordLineMapper.xml b/klp-mes/src/main/resources/mapper/dv/DvMaintenRecordLineMapper.xml new file mode 100644 index 00000000..014bec09 --- /dev/null +++ b/klp-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/klp-mes/src/main/resources/mapper/dv/DvMaintenRecordMapper.xml b/klp-mes/src/main/resources/mapper/dv/DvMaintenRecordMapper.xml new file mode 100644 index 00000000..c6a25b1a --- /dev/null +++ b/klp-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/klp-mes/src/main/resources/mapper/dv/DvRepairLineMapper.xml b/klp-mes/src/main/resources/mapper/dv/DvRepairLineMapper.xml new file mode 100644 index 00000000..f91ae997 --- /dev/null +++ b/klp-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/klp-mes/src/main/resources/mapper/dv/DvRepairMapper.xml b/klp-mes/src/main/resources/mapper/dv/DvRepairMapper.xml new file mode 100644 index 00000000..9b76f1eb --- /dev/null +++ b/klp-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/klp-mes/src/main/resources/mapper/dv/DvSubjectMapper.xml b/klp-mes/src/main/resources/mapper/dv/DvSubjectMapper.xml new file mode 100644 index 00000000..dc820116 --- /dev/null +++ b/klp-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/pom.xml b/pom.xml index ad3ade43..222b8bdf 100644 --- a/pom.xml +++ b/pom.xml @@ -48,6 +48,7 @@ 2.0.23 3.1.687 + 3.2.2 @@ -84,6 +85,11 @@ + + commons-collections + commons-collections + ${commons.collections.version} + org.springframework.boot @@ -381,6 +387,7 @@ klp-system klp-wms klp-reader + klp-mes pom