From b68e4489fd7d6101ebdd8242dff98eb18ffc6912 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=9B=84?= Date: Sun, 27 Apr 2025 17:31:57 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=BC=BA=E9=99=B7=E7=9A=84=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E4=BF=A1=E6=81=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dite/znpt/domain/entity/DefectEntity.java | 53 +++++++++++++++---- .../java/com/dite/znpt/enums/DefectLevel.java | 9 ---- .../com/dite/znpt/enums/DefectLevelEnum.java | 50 +++++++++++++++++ .../com/dite/znpt/enums/DefectTypeEnum.java | 49 +++++++++++++++++ web/src/main/resources/application-dev.yml | 16 +++--- 5 files changed, 151 insertions(+), 26 deletions(-) delete mode 100644 core/src/main/java/com/dite/znpt/enums/DefectLevel.java create mode 100644 core/src/main/java/com/dite/znpt/enums/DefectLevelEnum.java diff --git a/core/src/main/java/com/dite/znpt/domain/entity/DefectEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/DefectEntity.java index 1c154af..134baf1 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/DefectEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/DefectEntity.java @@ -2,6 +2,7 @@ package com.dite.znpt.domain.entity; import java.math.BigDecimal; import java.io.Serializable; +import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import com.dite.znpt.domain.AuditableEntity; @@ -29,16 +30,26 @@ public class DefectEntity extends AuditableEntity implements Serializable { @TableId(value = "defect_id", type = IdType.ASSIGN_UUID) private String defectId; - @ExcelProperty("机组id") - @ApiModelProperty("机组id") - @TableField("turbine_code") - private String turbineId; - @ExcelProperty("部件id") @ApiModelProperty("部件id") @TableField("part_id") private String partId; + @ExcelProperty("缺陷编码") + @ApiModelProperty("缺陷编码") + @TableField("defect_code") + private String defectCode; + + @ExcelProperty("缺陷名称") + @ApiModelProperty("缺陷名称") + @TableField("defect_name") + private String defectName; + + @ExcelProperty("缺陷部位") + @ApiModelProperty("缺陷部位") + @TableField("defect_position") + private String defectPosition; + @ExcelProperty("缺陷类型,枚举DefectTypeEnum") @ApiModelProperty("缺陷类型,枚举DefectTypeEnum") @TableField("defect_type") @@ -49,11 +60,35 @@ public class DefectEntity extends AuditableEntity implements Serializable { @TableField("defect_level") private String defectLevel; + @ExcelProperty("维修状态,枚举RepairStatusEnum") + @ApiModelProperty("维修状态,枚举RepairStatusEnum") + @TableField("repair_status") + private String repairStatus; - @ExcelProperty("图片路径") - @ApiModelProperty("图片路径") - @TableField("defect_image_path") - private String defectImagePath; + @ExcelProperty("检测时间") + @ApiModelProperty("检测时间") + @TableField("detection_time") + private LocalDateTime detectionTime; + + @ExcelProperty("来源") + @ApiModelProperty("来源") + @TableField("source") + private String source; + + @ExcelProperty("弦向") + @ApiModelProperty("弦向") + @TableField("chordwise") + private Integer chordwise; + + @ExcelProperty("轴向") + @ApiModelProperty("轴向") + @TableField("axial") + private Integer axial; + + @ExcelProperty("标注信息") + @ApiModelProperty("标注信息") + @TableField("label_info") + private String labelInfo; @ExcelProperty("说明") @ApiModelProperty("说明") diff --git a/core/src/main/java/com/dite/znpt/enums/DefectLevel.java b/core/src/main/java/com/dite/znpt/enums/DefectLevel.java deleted file mode 100644 index 8c74c6d..0000000 --- a/core/src/main/java/com/dite/znpt/enums/DefectLevel.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.dite.znpt.enums; - -/** - * @Author: gaoxiong - * @Date: 2025/4/24 21:44 - * @Description: - */ -public enum DefectLevel { -} diff --git a/core/src/main/java/com/dite/znpt/enums/DefectLevelEnum.java b/core/src/main/java/com/dite/znpt/enums/DefectLevelEnum.java new file mode 100644 index 0000000..3866d85 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/enums/DefectLevelEnum.java @@ -0,0 +1,50 @@ +package com.dite.znpt.enums; + +import cn.hutool.json.JSONObject; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author: gaoxiong + * @Date: 2025/4/24 21:44 + * @Description: + */ +public enum DefectLevelEnum { + SLIGHT("SLIGHT", "轻微缺陷"), + GENERAL("GENERAL", "一般缺陷"), + SERIOUS("SERIOUS", "比较严重"), + CRITICAL("CRITICAL", "非常严重"); + + private final String code; + private final String desc; + + DefectLevelEnum(String code, String desc){ + this.code = code; + this.desc = desc; + } + + public static DefectLevelEnum getByCode(String code){ + for (DefectLevelEnum e : DefectLevelEnum.values() ) { + if(e.code.equals(code)){ + return e; + } + } + return null; + } + + public static String getDescByCode(String code){ + DefectLevelEnum e = getByCode(code); + return null == e ? null : e.desc; + } + + public static List listAll(){ + List list = new ArrayList<>(DefectLevelEnum.values().length); + for (DefectLevelEnum e : DefectLevelEnum.values() ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.set(e.code, e.desc); + list.add(jsonObject); + } + return list; + } +} diff --git a/core/src/main/java/com/dite/znpt/enums/DefectTypeEnum.java b/core/src/main/java/com/dite/znpt/enums/DefectTypeEnum.java index 4aac3db..e3de0f6 100644 --- a/core/src/main/java/com/dite/znpt/enums/DefectTypeEnum.java +++ b/core/src/main/java/com/dite/znpt/enums/DefectTypeEnum.java @@ -1,9 +1,58 @@ package com.dite.znpt.enums; +import cn.hutool.json.JSONObject; + +import java.util.ArrayList; +import java.util.List; + /** * @Author: gaoxiong * @Date: 2025/4/24 21:43 * @Description: */ public enum DefectTypeEnum { + CRAZE("CRAZE", "合缝开裂"), + ABRASION("ABRASION", "合缝磨损"), + LEATHER_BREAKAGE("LEATHER_BREAKAGE", "蒙皮破损"), + FABRIC_BREAKAGE("FABRIC_BREAKAGE", "布层破损"), + PART_BREAKAGE(" PART_BREAKAGE", "局部破损"), + TOTAL_DAMAGE("TOTAL_DAMAGE", "累计损伤"), + LAYER_SHED("LAYER_SHED", "涂层脱落"), + PAINT_SHEDDING("PAINT_SHEDDING", "风损掉漆"), + SURFACE_CRACK("SURFACE_CRACK", "表面裂纹"), + CHORDWISE_CRACK("CHORDWISE_CRACK", "弦向裂纹"), + AXIAL_CRACK("AXIAL_CRACK", "轴向裂纹"), + WRINKLE("WRINKLE", "褶皱"); + + private final String code; + private final String desc; + + DefectTypeEnum(String code, String desc){ + this.code = code; + this.desc = desc; + } + + public static DefectTypeEnum getByCode(String code){ + for (DefectTypeEnum e : DefectTypeEnum.values() ) { + if(e.code.equals(code)){ + return e; + } + } + return null; + } + + public static String getDescByCode(String code){ + DefectTypeEnum e = getByCode(code); + return null == e ? null : e.desc; + } + + public static List listAll(){ + List list = new ArrayList<>(DefectTypeEnum.values().length); + for (DefectTypeEnum e : DefectTypeEnum.values() ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.set(e.code, e.desc); + list.add(jsonObject); + } + return list; + } } diff --git a/web/src/main/resources/application-dev.yml b/web/src/main/resources/application-dev.yml index f819151..f4933c6 100644 --- a/web/src/main/resources/application-dev.yml +++ b/web/src/main/resources/application-dev.yml @@ -84,7 +84,7 @@ spring: sip-config: name: 信令服务 - ip: 127.0.0.1 + ip: 192.168.0.207 port: 1074 charset: gb2312 domain: 3402000000 @@ -100,23 +100,23 @@ zlm-config: # 公网ip publicHost: # 接口ip - apiHost: 127.0.0.1 + apiHost: 192.168.0.207 # 接口端口 - apiPort: 30186 + apiPort: 8080 # 密钥 - secretKey: JvVotkdN01y4qZHlrJsdq4gD7n9rK6wV + secretKey: 6Q76ivvVOQDsnnfOSKbtVzcYpbgy4n1G # 流id前缀 streamPrefix: # rtp ip - rtpHost: 127.0.0.1 + rtpHost: 192.168.0.207 # rtp 端口 - rtpPort: 30186 + rtpPort: 8080 # 动态端口起始值 dynamicPortStart: 30150 # 动态端口结束值 dynamicPortEnd: 30185 upload: - temp-path: D:\Upload\Temp - perm-path: D:\Upload\Perm + temp-path: F:\Upload\Temp + perm-path: F:\Upload\Perm From 44e0f6748dd32c641facf6c2040efc476cf2b914 Mon Sep 17 00:00:00 2001 From: gaoxiong Date: Sun, 27 Apr 2025 22:40:40 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=BC=BA=E9=99=B7?= =?UTF-8?q?=EF=BC=8C=E7=BC=96=E8=BE=91=E7=BC=BA=E9=99=B7=EF=BC=8C=E7=BC=BA?= =?UTF-8?q?=E9=99=B7=E5=88=97=E8=A1=A8=EF=BC=8C=E7=BC=BA=E9=99=B7=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=92=8C=E5=88=A0=E9=99=A4=E7=BC=BA=E9=99=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dite/znpt/constant/Message.java | 1 + .../java/com/dite/znpt/converts/Converts.java | 7 ++ .../dite/znpt/domain/entity/DefectEntity.java | 14 ++-- .../dite/znpt/domain/vo/DefectListReq.java | 3 - .../dite/znpt/domain/vo/DefectListResp.java | 35 ++++++++++ .../com/dite/znpt/domain/vo/DefectReq.java | 59 ++++++++++++++++ .../com/dite/znpt/domain/vo/DefectResp.java | 33 +++++++-- .../com/dite/znpt/domain/vo/ImageListReq.java | 3 + .../com/dite/znpt/enums/DefectLevelEnum.java | 2 + .../com/dite/znpt/enums/DefectSourceEnum.java | 50 ++++++++++++++ .../com/dite/znpt/enums/DefectTypeEnum.java | 2 + .../com/dite/znpt/enums/ImageTypeEnum.java | 2 + .../com/dite/znpt/enums/RepairStatusEnum.java | 51 ++++++++++++++ .../com/dite/znpt/mapper/DefectMapper.java | 1 + .../com/dite/znpt/service/DefectService.java | 19 ++++-- .../znpt/service/impl/DefectServiceImpl.java | 68 +++++++++++++------ .../main/resources/mapper/DefectMapper.xml | 32 +++++---- .../resources/mapper/ImageCollectMapper.xml | 10 --- .../src/main/resources/mapper/ImageMapper.xml | 3 + .../znpt/web/controller/DefectController.java | 39 ++++++----- 20 files changed, 356 insertions(+), 78 deletions(-) create mode 100644 core/src/main/java/com/dite/znpt/domain/vo/DefectListResp.java create mode 100644 core/src/main/java/com/dite/znpt/domain/vo/DefectReq.java create mode 100644 core/src/main/java/com/dite/znpt/enums/DefectSourceEnum.java create mode 100644 core/src/main/java/com/dite/znpt/enums/RepairStatusEnum.java diff --git a/core/src/main/java/com/dite/znpt/constant/Message.java b/core/src/main/java/com/dite/znpt/constant/Message.java index 2e87a9f..7529768 100644 --- a/core/src/main/java/com/dite/znpt/constant/Message.java +++ b/core/src/main/java/com/dite/znpt/constant/Message.java @@ -15,4 +15,5 @@ public class Message implements Serializable { public static final String IMAGE_IS_EMPTY = "图像信息为空"; public static final String IMAGE_PATH_IS_NOT_EXIST = "图像地址不存在"; public static final String IMAGE_ID_IS_NOT_EXIST = "图像id不存在"; + public static final String DEFECT_ID_IS_NOT_EXIST = "缺陷id不存在"; } diff --git a/core/src/main/java/com/dite/znpt/converts/Converts.java b/core/src/main/java/com/dite/znpt/converts/Converts.java index 971f8b8..55a918b 100644 --- a/core/src/main/java/com/dite/znpt/converts/Converts.java +++ b/core/src/main/java/com/dite/znpt/converts/Converts.java @@ -1,7 +1,10 @@ package com.dite.znpt.converts; +import com.dite.znpt.domain.entity.DefectEntity; import com.dite.znpt.domain.entity.ImageCollectEntity; import com.dite.znpt.domain.entity.ImageEntity; +import com.dite.znpt.domain.vo.DefectReq; +import com.dite.znpt.domain.vo.DefectResp; import com.dite.znpt.domain.vo.ImageCollectReq; import com.dite.znpt.domain.vo.ImageReq; import org.mapstruct.Mapper; @@ -22,4 +25,8 @@ public interface Converts { List toImageEntity(List list); ImageCollectEntity toImageCollectEntity(ImageCollectReq req); + + DefectEntity toDefectEntity(DefectReq req); + + DefectResp toDefectResp(DefectEntity entity); } diff --git a/core/src/main/java/com/dite/znpt/domain/entity/DefectEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/DefectEntity.java index 134baf1..e412486 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/DefectEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/DefectEntity.java @@ -30,10 +30,10 @@ public class DefectEntity extends AuditableEntity implements Serializable { @TableId(value = "defect_id", type = IdType.ASSIGN_UUID) private String defectId; - @ExcelProperty("部件id") - @ApiModelProperty("部件id") - @TableField("part_id") - private String partId; + @ExcelProperty("图像id") + @ApiModelProperty("图像id") + @TableField("image_id") + private String imageId; @ExcelProperty("缺陷编码") @ApiModelProperty("缺陷编码") @@ -94,5 +94,11 @@ public class DefectEntity extends AuditableEntity implements Serializable { @ApiModelProperty("说明") @TableField("description") private String description; + + @ExcelProperty("维修建议") + @ApiModelProperty("维修建议") + @TableField("repair_idea") + private String repairIdea; + } diff --git a/core/src/main/java/com/dite/znpt/domain/vo/DefectListReq.java b/core/src/main/java/com/dite/znpt/domain/vo/DefectListReq.java index 311dd40..7d06d01 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/DefectListReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/DefectListReq.java @@ -27,9 +27,6 @@ public class DefectListReq implements Serializable { @ApiModelProperty("机组id") private String turbineId; - @ApiModelProperty("部件id") - private String partId; - @ApiModelProperty("缺陷类型,枚举:DefectTypeEnum") private String defectType; diff --git a/core/src/main/java/com/dite/znpt/domain/vo/DefectListResp.java b/core/src/main/java/com/dite/znpt/domain/vo/DefectListResp.java new file mode 100644 index 0000000..cabef9b --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/DefectListResp.java @@ -0,0 +1,35 @@ +package com.dite.znpt.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author: gaoxiong + * @Date: 2025/4/27 21:23 + * @Description: + */ +@Data +@ApiModel("缺陷记录列表响应实体") +public class DefectListResp implements Serializable { + + @ApiModelProperty("缺陷id") + private String defectId; + + @ApiModelProperty("缺陷名称") + private String defectName; + + @ApiModelProperty("缺陷编码") + private String defectCode; + + @ApiModelProperty("部件名称") + private String partName; + + @ApiModelProperty("缺陷未知") + private String defectPosition; + + @ApiModelProperty("说明") + private String description; +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/DefectReq.java b/core/src/main/java/com/dite/znpt/domain/vo/DefectReq.java new file mode 100644 index 0000000..f34d318 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/DefectReq.java @@ -0,0 +1,59 @@ +package com.dite.znpt.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDate; + +/** + * @Author: gaoxiong + * @Date: 2025/4/27 21:16 + * @Description: + */ +@Data +@ApiModel("缺陷记录请求实体") +public class DefectReq implements Serializable { + + @ApiModelProperty("缺陷编码") + private String defectCode; + + @ApiModelProperty("缺陷名称") + private String defectName; + + @ApiModelProperty("缺陷部位") + private String defectPosition; + + @ApiModelProperty("缺陷类型,枚举DefectTypeEnum") + private String defectType; + + @ApiModelProperty("危重等级,枚举DefectLevelEnum") + private String defectLevel; + + @ApiModelProperty("维修状态,枚举RepairStatusEnum") + private String repairStatus; + + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty("检测时间") + private LocalDate detectionDate; + + @ApiModelProperty("来源,枚举:DefectSourceEnum") + private String source; + + @ApiModelProperty("弦向") + private Integer chordwise; + + @ApiModelProperty("轴向") + private Integer axial; + + @ApiModelProperty("标注信息") + private String labelInfo; + + @ApiModelProperty("说明") + private String description; + + @ApiModelProperty("维修建议") + private String repairIdea; +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/DefectResp.java b/core/src/main/java/com/dite/znpt/domain/vo/DefectResp.java index 0a4ffac..73f6444 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/DefectResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/DefectResp.java @@ -1,9 +1,16 @@ package com.dite.znpt.domain.vo; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; -import com.dite.znpt.domain.entity.DefectEntity; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDate; /** * @author huise23 @@ -11,8 +18,26 @@ import com.dite.znpt.domain.entity.DefectEntity; * @Description: 缺陷记录响应实体 */ @Data -@EqualsAndHashCode(callSuper = true) @ApiModel("缺陷记录响应实体") -public class DefectResp extends DefectEntity { +public class DefectResp extends DefectReq implements Serializable { + + @Serial + private static final long serialVersionUID = 7723957970600470768L; + + @ApiModelProperty("缺陷id") + private String defectId; + + @ApiModelProperty("缺陷类型描述") + private String defectTypeLabel; + + @ApiModelProperty("危重等级描述") + private String defectLevelLabel; + + @ApiModelProperty("维修状态描述") + private String repairStatusLabel; + + @ApiModelProperty("来源描述") + private String sourceLabel; + } diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ImageListReq.java b/core/src/main/java/com/dite/znpt/domain/vo/ImageListReq.java index e51f90c..c507576 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/ImageListReq.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/ImageListReq.java @@ -21,6 +21,9 @@ public class ImageListReq implements Serializable { @ApiModelProperty("关键字") private String keyword; + @ApiModelProperty("机组id") + private String turbineId; + @ApiModelProperty("图像类型") private String[] imageTypes; diff --git a/core/src/main/java/com/dite/znpt/enums/DefectLevelEnum.java b/core/src/main/java/com/dite/znpt/enums/DefectLevelEnum.java index 3866d85..713e90f 100644 --- a/core/src/main/java/com/dite/znpt/enums/DefectLevelEnum.java +++ b/core/src/main/java/com/dite/znpt/enums/DefectLevelEnum.java @@ -1,6 +1,7 @@ package com.dite.znpt.enums; import cn.hutool.json.JSONObject; +import lombok.Getter; import java.util.ArrayList; import java.util.List; @@ -10,6 +11,7 @@ import java.util.List; * @Date: 2025/4/24 21:44 * @Description: */ +@Getter public enum DefectLevelEnum { SLIGHT("SLIGHT", "轻微缺陷"), GENERAL("GENERAL", "一般缺陷"), diff --git a/core/src/main/java/com/dite/znpt/enums/DefectSourceEnum.java b/core/src/main/java/com/dite/znpt/enums/DefectSourceEnum.java new file mode 100644 index 0000000..e05bcdd --- /dev/null +++ b/core/src/main/java/com/dite/znpt/enums/DefectSourceEnum.java @@ -0,0 +1,50 @@ +package com.dite.znpt.enums; + +import cn.hutool.json.JSONObject; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author: gaoxiong + * @Date: 2025/4/27 20:55 + * @Description: + */ +@Getter +public enum DefectSourceEnum { + AI("AI", "智能识别"), + MANUAL("MANUAL", "人工标注"); + + private final String code; + private final String desc; + + DefectSourceEnum(String code, String desc){ + this.code = code; + this.desc = desc; + } + + public static DefectSourceEnum getByCode(String code){ + for (DefectSourceEnum e : DefectSourceEnum.values() ) { + if(e.code.equals(code)){ + return e; + } + } + return null; + } + + public static String getDescByCode(String code){ + DefectSourceEnum e = getByCode(code); + return null == e ? null : e.desc; + } + + public static List listAll(){ + List list = new ArrayList<>(DefectSourceEnum.values().length); + for (DefectSourceEnum e : DefectSourceEnum.values() ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.set(e.code, e.desc); + list.add(jsonObject); + } + return list; + } +} diff --git a/core/src/main/java/com/dite/znpt/enums/DefectTypeEnum.java b/core/src/main/java/com/dite/znpt/enums/DefectTypeEnum.java index e3de0f6..4d44f20 100644 --- a/core/src/main/java/com/dite/znpt/enums/DefectTypeEnum.java +++ b/core/src/main/java/com/dite/znpt/enums/DefectTypeEnum.java @@ -1,6 +1,7 @@ package com.dite.znpt.enums; import cn.hutool.json.JSONObject; +import lombok.Getter; import java.util.ArrayList; import java.util.List; @@ -10,6 +11,7 @@ import java.util.List; * @Date: 2025/4/24 21:43 * @Description: */ +@Getter public enum DefectTypeEnum { CRAZE("CRAZE", "合缝开裂"), ABRASION("ABRASION", "合缝磨损"), diff --git a/core/src/main/java/com/dite/znpt/enums/ImageTypeEnum.java b/core/src/main/java/com/dite/znpt/enums/ImageTypeEnum.java index 9141afd..6f629b0 100644 --- a/core/src/main/java/com/dite/znpt/enums/ImageTypeEnum.java +++ b/core/src/main/java/com/dite/znpt/enums/ImageTypeEnum.java @@ -1,6 +1,7 @@ package com.dite.znpt.enums; import cn.hutool.json.JSONObject; +import lombok.Getter; import java.util.ArrayList; import java.util.List; @@ -10,6 +11,7 @@ import java.util.List; * @Date: 2025/4/24 21:25 * @Description: */ +@Getter public enum ImageTypeEnum { DEFECT("DEFECT", "缺陷影像"), TYPICAL("TYPICAL", "典型影像"), diff --git a/core/src/main/java/com/dite/znpt/enums/RepairStatusEnum.java b/core/src/main/java/com/dite/znpt/enums/RepairStatusEnum.java new file mode 100644 index 0000000..2be9c6b --- /dev/null +++ b/core/src/main/java/com/dite/znpt/enums/RepairStatusEnum.java @@ -0,0 +1,51 @@ +package com.dite.znpt.enums; + +import cn.hutool.json.JSONObject; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author: gaoxiong + * @Date: 2025/4/27 20:55 + * @Description: + */ +@Getter +public enum RepairStatusEnum { + INCOMPLETE("INCOMPLETE","未维修"), + COMPLETED("COMPLETED","已维修"), + UNKNOWN("UNKNOWN","未知"); + + private final String code; + private final String desc; + + RepairStatusEnum(String code, String desc){ + this.code = code; + this.desc = desc; + } + + public static RepairStatusEnum getByCode(String code){ + for (RepairStatusEnum e : RepairStatusEnum.values() ) { + if(e.code.equals(code)){ + return e; + } + } + return null; + } + + public static String getDescByCode(String code){ + RepairStatusEnum e = getByCode(code); + return null == e ? null : e.desc; + } + + public static List listAll(){ + List list = new ArrayList<>(RepairStatusEnum.values().length); + for (RepairStatusEnum e : RepairStatusEnum.values() ) { + JSONObject jsonObject = new JSONObject(); + jsonObject.set(e.code, e.desc); + list.add(jsonObject); + } + return list; + } +} diff --git a/core/src/main/java/com/dite/znpt/mapper/DefectMapper.java b/core/src/main/java/com/dite/znpt/mapper/DefectMapper.java index bce5487..4a9e2c9 100644 --- a/core/src/main/java/com/dite/znpt/mapper/DefectMapper.java +++ b/core/src/main/java/com/dite/znpt/mapper/DefectMapper.java @@ -15,5 +15,6 @@ import java.util.List; */ public interface DefectMapper extends BaseMapper { List queryBySelective(DefectListReq defectReq); + DefectResp detail(String defectId); } diff --git a/core/src/main/java/com/dite/znpt/service/DefectService.java b/core/src/main/java/com/dite/znpt/service/DefectService.java index e850720..b29c40d 100644 --- a/core/src/main/java/com/dite/znpt/service/DefectService.java +++ b/core/src/main/java/com/dite/znpt/service/DefectService.java @@ -3,6 +3,7 @@ package com.dite.znpt.service; import com.baomidou.mybatisplus.extension.service.IService; import com.dite.znpt.domain.entity.DefectEntity; import com.dite.znpt.domain.vo.DefectListReq; +import com.dite.znpt.domain.vo.DefectReq; import com.dite.znpt.domain.vo.DefectResp; import java.util.List; @@ -17,12 +18,14 @@ public interface DefectService extends IService { /** * 功能描述:查询缺陷记录列表 * - * @param defectReq 缺陷记录 + * @param req 缺陷记录 * @return {@link List }<{@link DefectEntity }> * @author huise23 * @date 2025/04/11 23:17 **/ - List selectList(DefectListReq defectReq); + List page(DefectListReq req); + + List list(DefectListReq req); /** * 功能描述:查询单条缺陷记录 @@ -32,25 +35,27 @@ public interface DefectService extends IService { * @author huise23 * @date 2025/04/11 23:17 **/ - DefectResp selectById(String defectId); + DefectResp detail(String defectId); /** * 功能描述:新增缺陷记录 * - * @param defect 缺陷记录 + * @param imageId 缺陷记录 + * @param req 缺陷记录 * @author huise23 * @date 2025/04/11 23:17 **/ - void saveData(DefectEntity defect); + void save(String imageId, DefectReq req); /** * 功能描述:更新缺陷记录 * - * @param defect 缺陷记录 + * @param defectId 缺陷记录 + * @param req 缺陷记录 * @author huise23 * @date 2025/04/11 23:17 **/ - void updateData(DefectEntity defect); + void update(String defectId, DefectReq req); /** * 功能描述:删除缺陷记录 diff --git a/core/src/main/java/com/dite/znpt/service/impl/DefectServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/DefectServiceImpl.java index e807ac8..ac08810 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/DefectServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/DefectServiceImpl.java @@ -1,16 +1,26 @@ package com.dite.znpt.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dite.znpt.constant.Message; +import com.dite.znpt.converts.Converts; import com.dite.znpt.domain.entity.DefectEntity; import com.dite.znpt.domain.vo.DefectListReq; +import com.dite.znpt.domain.vo.DefectReq; import com.dite.znpt.domain.vo.DefectResp; +import com.dite.znpt.enums.DefectSourceEnum; +import com.dite.znpt.enums.DefectTypeEnum; +import com.dite.znpt.enums.RepairStatusEnum; +import com.dite.znpt.exception.ServiceException; import com.dite.znpt.service.DefectService; import com.dite.znpt.mapper.DefectMapper; +import com.dite.znpt.service.ImageService; import org.springframework.stereotype.Service; import cn.hutool.core.collection.CollUtil; import lombok.RequiredArgsConstructor; import com.dite.znpt.util.PageUtil; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.List; /** @@ -21,22 +31,26 @@ import java.util.List; @Service @RequiredArgsConstructor public class DefectServiceImpl extends ServiceImpl implements DefectService { + @Resource + private ImageService imageService; /** * 功能描述:查询缺陷记录列表 * - * @param defectReq 缺陷记录信息 + * @param req 缺陷记录信息 * @return {@link List }<{@link DefectResp }> * @author huise23 * @date 2025/04/11 23:17 **/ @Override - public List selectList(DefectListReq defectReq) { + public List page(DefectListReq req) { PageUtil.startPage(); - List defectList= this.baseMapper.queryBySelective(defectReq); - defectList.forEach(resp -> { - - }); + return this.list(req); + } + + @Override + public List list(DefectListReq req) { + List defectList= this.baseMapper.queryBySelective(req); return defectList; } @@ -49,37 +63,49 @@ public class DefectServiceImpl extends ServiceImpl i * @date 2025/04/11 23:17 **/ @Override - public DefectResp selectById(String defectId) { - DefectListReq defectReq = new DefectListReq(); - defectReq.setDefectId(defectId); - List list = selectList(defectReq); - return list.isEmpty() ? CollUtil.getFirst(list) : new DefectResp(); + public DefectResp detail(String defectId) { + DefectResp defectResp = this.baseMapper.detail(defectId); + defectResp.setDefectTypeLabel(DefectTypeEnum.getDescByCode(defectResp.getDefectType())); + defectResp.setDefectLevel(DefectTypeEnum.getDescByCode(defectResp.getDefectLevel())); + defectResp.setRepairStatusLabel(RepairStatusEnum.getDescByCode(defectResp.getRepairStatus())); + defectResp.setSourceLabel(DefectSourceEnum.getDescByCode(defectResp.getSourceLabel())); + return defectResp; } /** * 功能描述:新增缺陷记录 * - * @param defect 缺陷记录 + * @param imageId + * @param req * @author huise23 * @date 2025/04/11 23:17 **/ + @Transactional(rollbackFor = Exception.class) @Override - public void saveData(DefectEntity defect) { -// todo 校验 - save(defect); + public void save(String imageId, DefectReq req) { + if(null == imageService.getById(imageId)){ + throw new ServiceException(Message.IMAGE_ID_IS_NOT_EXIST); + } + DefectEntity defectEntity = Converts.INSTANCE.toDefectEntity(req); + this.save(defectEntity); } /** * 功能描述:更新缺陷记录 * - * @param defect 缺陷记录 + * @param defectId + * @param req * @author huise23 * @date 2025/04/11 23:17 **/ + @Transactional(rollbackFor = Exception.class) @Override - public void updateData(DefectEntity defect) { -// todo 校验 - updateById(defect); + public void update(String defectId, DefectReq req) { + if(null == this.getById(defectId)){ + throw new ServiceException(Message.DEFECT_ID_IS_NOT_EXIST); + } + DefectEntity defectEntity = Converts.INSTANCE.toDefectEntity(req); + this.updateById(defectEntity); } /** @@ -89,10 +115,10 @@ public class DefectServiceImpl extends ServiceImpl i * @author huise23 * @date 2025/04/11 23:17 **/ + @Transactional(rollbackFor = Exception.class) @Override public void deleteById(String defectId) { -// todo 校验 - removeById(defectId); + this.removeById(defectId); } } diff --git a/core/src/main/resources/mapper/DefectMapper.xml b/core/src/main/resources/mapper/DefectMapper.xml index ac4f67a..525b015 100644 --- a/core/src/main/resources/mapper/DefectMapper.xml +++ b/core/src/main/resources/mapper/DefectMapper.xml @@ -2,29 +2,35 @@ - - a.defect_id, a.turbine_id, a.part_id, a.defect_code, a.defect_name, a.defect_type, a.defect_level, a.defect_image_path, a.description - - + SELECT + d.defect_id, d.defect_name, d.defect_code, p.part_name, d.defect_position, d.description + FROM defect d + LEFT JOIN image i ON d.image_id = i.image_id + LEFT JOIN image_collect ic ON ic.collect_id = i.collect_id + LEFT JOIN part p ON ic.part_id = p.part_id -# and (a.defect_name like concat('%', #{keyword,jdbcType=VARCHAR}, '%') or a.defect_code like concat('%', #{keyword,jdbcType=VARCHAR}, '%')) +# AND (d.defect_name LIKE concat('%', #{keyword,jdbcType=VARCHAR}, '%') OR d.defect_code LIKE concat('%', #{keyword,jdbcType=VARCHAR}, '%')) - - and a.part_id = #{turbineCode} + + AND p.turbine_id = #{turbineId} - - and a.defect_type = #{defectType} + AND d.defect_type = #{defectType} - and a.defect_level = #{defectLevel} + AND d.defect_level = #{defectLevel} + diff --git a/core/src/main/resources/mapper/ImageCollectMapper.xml b/core/src/main/resources/mapper/ImageCollectMapper.xml index 5d3e173..8cc0c0d 100644 --- a/core/src/main/resources/mapper/ImageCollectMapper.xml +++ b/core/src/main/resources/mapper/ImageCollectMapper.xml @@ -2,15 +2,5 @@ - - a.collect_id, a.shooting_time_begin, a.shooting_time_end, a.weather, a.humidness, a.temperature_min, a.temperature_max, a.wind_level, a.shooting_method, - a.shooting_distance, a.collector_name, - - - diff --git a/core/src/main/resources/mapper/ImageMapper.xml b/core/src/main/resources/mapper/ImageMapper.xml index 022d42d..231499c 100644 --- a/core/src/main/resources/mapper/ImageMapper.xml +++ b/core/src/main/resources/mapper/ImageMapper.xml @@ -13,6 +13,9 @@ AND i.image_name LIKE concat('%', #{keyword}, '%') + + AND p.turbine_id = #{turbineId} + AND i.image_type in #{imageType} diff --git a/web/src/main/java/com/dite/znpt/web/controller/DefectController.java b/web/src/main/java/com/dite/znpt/web/controller/DefectController.java index 57c4ee5..6e15b6c 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/DefectController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/DefectController.java @@ -3,6 +3,7 @@ package com.dite.znpt.web.controller; import com.dite.znpt.domain.Constants; import com.dite.znpt.domain.vo.DefectListReq; +import com.dite.znpt.domain.vo.DefectReq; import com.dite.znpt.domain.vo.DefectResp; import com.dite.znpt.domain.entity.DefectEntity; import com.dite.znpt.service.DefectService; @@ -30,35 +31,41 @@ public class DefectController { @Resource private DefectService defectService; - @ApiOperation(value = "获取缺陷记录列表", httpMethod = "GET") - @GetMapping("/list") - public PageResult list(DefectListReq defectReq) { - return PageResult.ok(defectService.selectList(defectReq)); + @ApiOperation(value = "分页查询缺陷记录列表", httpMethod = "GET") + @GetMapping("/page") + public PageResult page(@RequestBody DefectListReq req) { + return PageResult.ok(defectService.page(req)); } - @ApiOperation(value = "根据缺陷记录Id获取详细信息", httpMethod = "GET") - @GetMapping("/{defectId}") - public Result getInfo(@PathVariable String defectId) { - return Result.ok(defectService.selectById(defectId)); + @ApiOperation(value = "查询缺陷记录列表", httpMethod = "GET") + @GetMapping("/page") + public Result> list(@RequestBody DefectListReq req) { + return Result.ok(defectService.list(req)); + } + + @ApiOperation(value = "查询缺详细", httpMethod = "GET") + @GetMapping("/detail/{defectId}") + public Result detail(@PathVariable String defectId) { + return Result.ok(defectService.detail(defectId)); } @ApiOperation(value = "新增缺陷记录", httpMethod = "POST") - @PostMapping - public Result add(@RequestBody DefectEntity defect) { - defectService.saveData(defect); + @PostMapping("/{imageId}") + public Result save(@PathVariable String imageId, @RequestBody DefectReq req) { + defectService.save(imageId, req); return Result.ok(); } @ApiOperation(value = "修改缺陷记录", httpMethod = "PUT") - @PutMapping - public Result edit(@RequestBody DefectEntity defect) { - defectService.updateData(defect); + @PutMapping("/{defectId}") + public Result edit(@PathVariable String defectId, @RequestBody DefectReq req) { + defectService.update(defectId, req); return Result.ok(); } @ApiOperation(value = "删除缺陷记录", httpMethod = "DELETE") @DeleteMapping("/{defectId}") - public Result remove(@PathVariable String defectId) { + public Result remove(@PathVariable String defectId) { defectService.deleteById(defectId); return Result.ok(); } @@ -67,7 +74,7 @@ public class DefectController { @GetMapping("/export") @ResponseExcel(name = "缺陷记录") public List export(DefectListReq defectReq) { - return defectService.selectList(defectReq); + return defectService.page(defectReq); } @ApiOperation(value = "导入缺陷记录", httpMethod = "POST")