diff --git a/core/pom.xml b/core/pom.xml index cba752e..08bc1a5 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -140,6 +140,17 @@ metadata-extractor 2.15.0 + + + org.mapstruct + mapstruct + 1.4.1.Final + + + org.mapstruct + mapstruct-processor + 1.4.1.Final + diff --git a/core/src/main/java/com/dite/znpt/constant/Message.java b/core/src/main/java/com/dite/znpt/constant/Message.java new file mode 100644 index 0000000..7529768 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/constant/Message.java @@ -0,0 +1,19 @@ +package com.dite.znpt.constant; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @Author: gaoxiong + * @Date: 2025/4/26 23:19 + * @Description: + */ +public class Message implements Serializable { + @Serial + private static final long serialVersionUID = 4010434089386946123L; + + 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 new file mode 100644 index 0000000..55a918b --- /dev/null +++ b/core/src/main/java/com/dite/znpt/converts/Converts.java @@ -0,0 +1,32 @@ +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; +import org.mapstruct.NullValuePropertyMappingStrategy; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * @Author: gaoxiong + * @Date: 2025/4/26 1:32 + * @Description: + */ +@Mapper(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE) +public interface Converts { + Converts INSTANCE = Mappers.getMapper(Converts.class); + + 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/AuditableEntity.java b/core/src/main/java/com/dite/znpt/domain/AuditableEntity.java index a36c17e..befb37a 100644 --- a/core/src/main/java/com/dite/znpt/domain/AuditableEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/AuditableEntity.java @@ -20,7 +20,6 @@ import java.util.List; @AllArgsConstructor @NoArgsConstructor @Data -@SuperBuilder(toBuilder = true) public class AuditableEntity implements Serializable { private static final long serialVersionUID = 141481953116476081L; 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..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 @@ -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,15 +30,25 @@ 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("image_id") + private String imageId; - @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") @@ -49,15 +60,45 @@ 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("说明") @TableField("description") private String description; + + @ExcelProperty("维修建议") + @ApiModelProperty("维修建议") + @TableField("repair_idea") + private String repairIdea; + } diff --git a/core/src/main/java/com/dite/znpt/domain/entity/ImageCollectEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/ImageCollectEntity.java index 4980ae9..b87a04c 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/ImageCollectEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/ImageCollectEntity.java @@ -29,9 +29,13 @@ public class ImageCollectEntity extends AuditableEntity implements Serializable private static final long serialVersionUID = -2957687117182827156L; @ApiModelProperty("图像采集id") - @TableId(value = "collect", type = IdType.ASSIGN_UUID) + @TableId(value = "collect_id", type = IdType.ASSIGN_UUID) private String collectId; + @ApiModelProperty("部件id") + @TableField("part_id") + private String partId; + @ApiModelProperty("拍摄时间-起") @TableField("shooting_time_begin") private LocalDateTime shootingTimeBegin; @@ -40,8 +44,8 @@ public class ImageCollectEntity extends AuditableEntity implements Serializable @TableField("shooting_time_end") private LocalDateTime shootingTimeEnd; - @ApiModelProperty("天气") - @TableField("weather,枚举:WeatherEnum") + @ApiModelProperty("天气,枚举:WeatherEnum") + @TableField("weather") private String weather; @ApiModelProperty("湿度(百分比)") @@ -64,10 +68,14 @@ public class ImageCollectEntity extends AuditableEntity implements Serializable @TableField("shooting_method") private String shootingMethod; - @ApiModelProperty("拍摄方式,枚举ShootingDistanceEnum") + @ApiModelProperty("拍摄距离") @TableField("shooting_distance") private Integer shootingDistance; + @ApiModelProperty("采集员id") + @TableField("collector_id") + private String collectorId; + @ApiModelProperty("采集员姓名") @TableField("collector_name") private String collectorName; diff --git a/core/src/main/java/com/dite/znpt/domain/entity/ImageEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/ImageEntity.java index d4bab7a..8a87c8c 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/ImageEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/ImageEntity.java @@ -12,6 +12,7 @@ import lombok.EqualsAndHashCode; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.time.LocalDateTime; /** @@ -36,30 +37,46 @@ public class ImageEntity extends AuditableEntity implements Serializable { @TableField("collect_id") private String collectId; - @ApiModelProperty("部件id") - @TableField("part_id") - private String partId; - - @ApiModelProperty("项目id") - @TableField("project_id") - private String projectId; - - @ApiModelProperty("机组id") - @TableField("turbine_id") - private String turbineId; - @ApiModelProperty("图像名称") @TableField("image_name") private String imageName; - @ApiModelProperty("图像尺寸") + @ApiModelProperty("图像大小") @TableField("image_size") private String imageSize; + @ApiModelProperty("图像宽") + @TableField("image_width") + private String imageWidth; + + @ApiModelProperty("图像高") + @TableField("image_height") + private String imageHeight; + + @ApiModelProperty("图像分辨率") + @TableField("image_resolution") + private String imageResolution; + + @ApiModelProperty("焦平面X轴分辨率") + @TableField("x_resolution") + private String xResolution; + + @ApiModelProperty("焦平面Y轴分辨率") + @TableField("y_resolution") + private String YResolution; + + @ApiModelProperty("焦平面分辨率单位") + @TableField("resolution_units") + private String ResolutionUnits; + @ApiModelProperty("焦距") @TableField("focal_distance") private String focalDistance; + @ApiModelProperty("35毫米焦距") + @TableField("focal_distance35") + private String focalDistance35; + @ApiModelProperty("拍摄时间") @TableField("shooting_time") private LocalDateTime shootingTime; @@ -84,8 +101,12 @@ public class ImageEntity extends AuditableEntity implements Serializable { @TableField("altitude") private String altitude; + @ApiModelProperty("GPS") + @TableField("GPS") + private String GPS; + @ApiModelProperty("影像类型") - @TableField("image_type,枚举ImageTypeEnum") + @TableField("image_type") private String imageType; @ApiModelProperty("图片路径") diff --git a/core/src/main/java/com/dite/znpt/domain/entity/PersonnelEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/PersonnelEntity.java index 956a4ea..b1ac0d4 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/PersonnelEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/PersonnelEntity.java @@ -38,11 +38,6 @@ public class PersonnelEntity extends AuditableEntity implements Serializable { @TableField("role_type") private String roleType; - @ExcelProperty("公司id") - @ApiModelProperty("公司id") - @TableField("company_id") - private String companyId; - @ExcelProperty("密码") @ApiModelProperty("密码") @TableField("password") diff --git a/core/src/main/java/com/dite/znpt/domain/entity/ProjectCompanyEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/ProjectCompanyEntity.java deleted file mode 100644 index 6155e9e..0000000 --- a/core/src/main/java/com/dite/znpt/domain/entity/ProjectCompanyEntity.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.dite.znpt.domain.entity; - -import java.io.Serializable; - -import com.baomidou.mybatisplus.annotation.*; -import com.dite.znpt.domain.AuditableEntity; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - * @Description: 项目-公司关联信息表实体类 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@TableName("project_company") -@ApiModel(value="ProjectCompanyEntity对象", description="项目-公司关联信息表") -public class ProjectCompanyEntity extends AuditableEntity implements Serializable { - - private static final long serialVersionUID = -98876147355655939L; - - @ExcelProperty("项目id") - @ApiModelProperty("项目id") - @TableId(value = "project_id", type = IdType.ASSIGN_UUID) - private String projectId; - - @ExcelProperty("公司id") - @ApiModelProperty("公司id") - @TableField("company_id") - private String companyId; - - @ExcelProperty("单位类型(检查/委托)") - @ApiModelProperty("单位类型(检查/委托)") - @TableField("relation_type") - private String relationType; -} - diff --git a/core/src/main/java/com/dite/znpt/domain/entity/ProjectEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/ProjectEntity.java index 128da9a..fd346ad 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/ProjectEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/ProjectEntity.java @@ -4,6 +4,7 @@ import java.io.Serializable; import com.baomidou.mybatisplus.annotation.*; import com.dite.znpt.domain.AuditableEntity; +import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -33,6 +34,10 @@ public class ProjectEntity extends AuditableEntity implements Serializable { @TableField("project_name") private String projectName; + @ApiModelProperty("项目封面") + @TableField("cover_url") + private String coverUrl; + @ExcelProperty("风场名称") @ApiModelProperty("风场名称") @TableField("farm_name") @@ -43,10 +48,29 @@ public class ProjectEntity extends AuditableEntity implements Serializable { @TableField("farm_address") private String farmAddress; - @ExcelProperty("检查方式,字典method_id") - @ApiModelProperty("检查方式,字典method_id") - @TableField("method_id") - private String methodId; + @ApiModelProperty("委托单位") + @TableField("client") + private String client; + + @ApiModelProperty("委托单位联系人") + @TableField("client_contact") + private String clientContact; + + @ApiModelProperty("委托单位联系电话") + @TableField("client_phone") + private String clientPhone; + + @ApiModelProperty("检查单位") + @TableField("inspection_unit") + private String inspectionUnit; + + @ApiModelProperty("检查单位联系人") + @TableField("inspection_contact") + private String inspectionContact; + + @ApiModelProperty("检查单位联系电话") + @TableField("inspection_phone") + private String inspectionPhone; @ExcelProperty("项目规模") @ApiModelProperty("项目规模") @@ -58,16 +82,61 @@ public class ProjectEntity extends AuditableEntity implements Serializable { @TableField("turbine_model") private String turbineModel; - @ExcelProperty("项目状态,字典project_status") - @ApiModelProperty("项目状态,字典project_status") - @TableField("status") - private String status; + @ApiModelProperty("施工人员") + @TableField("construction_personnel") + private String constructionPersonnel; - @ApiModelProperty(value = "项目工作类型 可能有多项,逗号分隔", example = "1", notes = "项目工作类型 可能有多项,逗号分隔") + @ApiModelProperty("施工人员id") + @TableField("construction_personnel_id") + private String constructionPersonnelId; + + @ApiModelProperty("安全员id") + @TableField("auditor_id") + private String auditorId; + + @ApiModelProperty("质量员id") + @TableField("quality_officer_id") + private String qualityOfficerId; + + @ApiModelProperty("项目经理id") + @TableField("project_manager_id") + private String projectManagerId; + + @ApiModelProperty("施工组长id") + @TableField("construction_team_leader_id") + private String constructionTeamLeaderId; + + @ApiModelProperty("技术方案图片,多个用逗号隔开") + @JsonIgnore + @TableField("technical_image") + private String technicalImage; + + @ApiModelProperty("技术方案内容") + @TableField("technical_content") + private String technicalContent; + + @ApiModelProperty("安全措施图片,多个用逗号隔开") + @JsonIgnore + @TableField("safety_image") + private String safetyImage; + + @ApiModelProperty("安全措施内容") + @TableField("safety_content") + private String safetyContent; + + @ApiModelProperty("交底内容") + @TableField("disclose_content") + private String discloseContent; + + @ApiModelProperty("状态:0待施工,1施工中,2已完工,3已审核,4已验收") + @TableField("status") + private Integer status; + + @ApiModelProperty("项目工作类型 可能有多项,逗号分隔") @TableField("work_type") private String workType; - @ApiModelProperty(value = "项目工作岗位 可能有多项,逗号分隔", example = "1", notes = "项目工作岗位 可能有多项,逗号分隔") + @ApiModelProperty("项目工作岗位 可能有多项,json对象保存") @TableField("job") private String job; diff --git a/core/src/main/java/com/dite/znpt/domain/entity/TCompanyEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/TCompanyEntity.java deleted file mode 100644 index fac6d37..0000000 --- a/core/src/main/java/com/dite/znpt/domain/entity/TCompanyEntity.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.dite.znpt.domain.entity; - -import java.io.Serializable; - -import com.baomidou.mybatisplus.annotation.*; -import com.dite.znpt.domain.AuditableEntity; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; -import com.alibaba.excel.annotation.ExcelProperty; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - * @Description: 公司信息表实体类 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@TableName("t_company") -@ApiModel(value="TCompanyEntity对象", description="公司信息表") -public class TCompanyEntity extends AuditableEntity implements Serializable { - - private static final long serialVersionUID = 348031306551320799L; - - @ExcelProperty("公司id") - @ApiModelProperty("公司id") - @TableId(value = "company_id", type = IdType.ASSIGN_UUID) - private String companyId; - - @ExcelProperty("公司名称") - @ApiModelProperty("公司名称") - @TableField("company_name") - private String companyName; - - @ExcelProperty("公司地址") - @ApiModelProperty("公司地址") - @TableField("address") - private String address; - - @ExcelProperty("联系人") - @ApiModelProperty("联系人") - @TableField("contact") - private String contact; - - @ExcelProperty("电话") - @ApiModelProperty("电话") - @TableField("phone") - private String phone; -} - diff --git a/core/src/main/java/com/dite/znpt/domain/entity/TurbineEntity.java b/core/src/main/java/com/dite/znpt/domain/entity/TurbineEntity.java index a308925..2be3ef6 100644 --- a/core/src/main/java/com/dite/znpt/domain/entity/TurbineEntity.java +++ b/core/src/main/java/com/dite/znpt/domain/entity/TurbineEntity.java @@ -52,5 +52,13 @@ public class TurbineEntity extends AuditableEntity implements Serializable { @ApiModelProperty("机组型号") @TableField("model") private String model; + + @ApiModelProperty("封面图") + @TableField("cover_url") + private String coverUrl; + + @ApiModelProperty("状态:0待施工,1施工中,2已完工,3已审核,4已验收") + @TableField("status") + private Integer status; } 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/ImageCollectInfo.java b/core/src/main/java/com/dite/znpt/domain/vo/ImageCollectInfo.java new file mode 100644 index 0000000..1c7811f --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/ImageCollectInfo.java @@ -0,0 +1,50 @@ +package com.dite.znpt.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @Author: gaoxiong + * @Date: 2025/4/24 21:16 + * @Description: + */ +@Data +@ApiModel("图像拍摄信息") +public class ImageCollectInfo implements Serializable { + @Serial + private static final long serialVersionUID = 6594307991137605975L; + + @ApiModelProperty("图像采集信息id") + private String collectId; + + @ApiModelProperty("天气,枚举:WeatherEnum") + private String weather; + + @ApiModelProperty("天气描述") + private String weatherLabel; + + @ApiModelProperty("湿度(百分比)") + private Integer humidness; + + @ApiModelProperty("温度") + private String temperature; + + @ApiModelProperty("风力等级") + private Integer windLevel; + + @ApiModelProperty("拍摄方式,枚举ShootingMethodEnum") + private String shootingMethod; + + @ApiModelProperty("拍摄方式描述") + private String shootingMethodLabel; + + @ApiModelProperty("拍摄距离") + private Integer shootingDistance; + + @ApiModelProperty("采集员姓名") + private String collectorName; +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ImageCollectReq.java b/core/src/main/java/com/dite/znpt/domain/vo/ImageCollectReq.java new file mode 100644 index 0000000..0c6eba2 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/ImageCollectReq.java @@ -0,0 +1,63 @@ +package com.dite.znpt.domain.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; + +/** + * @Author: gaoxiong + * @Date: 2025/4/26 1:11 + * @Description: + */ +@Data +@ApiModel("图像采集信息请求实体") +public class ImageCollectReq implements Serializable { + + @Serial + private static final long serialVersionUID = 8937301872925896770L; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("拍摄时间-起") + private LocalDateTime shootingTimeBegin; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("拍摄时间-讫") + private LocalDateTime shootingTimeEnd; + + @ApiModelProperty("天气,枚举:WeatherEnum") + private String weather; + + @ApiModelProperty("湿度(百分比)") + private Integer humidness; + + @ApiModelProperty("温度-低") + private Double temperatureMin; + + @ApiModelProperty("温度-高") + private Double temperatureMax; + + @ApiModelProperty("风力等级") + private Integer windLevel; + + @ApiModelProperty("拍摄方式,枚举ShootingMethodEnum") + private String shootingMethod; + + @ApiModelProperty("拍摄距离") + private Integer shootingDistance; + + @ApiModelProperty("采集员id") + private String collectorId; + + @ApiModelProperty("采集员姓名") + private String collectorName; + + @ApiModelProperty("图像信息") + private List imageList; +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ImageCollectResp.java b/core/src/main/java/com/dite/znpt/domain/vo/ImageCollectResp.java deleted file mode 100644 index 6ce9002..0000000 --- a/core/src/main/java/com/dite/znpt/domain/vo/ImageCollectResp.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.dite.znpt.domain.vo; - -/** - * @Author: gaoxiong - * @Date: 2025/4/24 21:16 - * @Description: - */ -public class ImageCollectResp { -} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ImageExifInfo.java b/core/src/main/java/com/dite/znpt/domain/vo/ImageExifInfo.java new file mode 100644 index 0000000..1a0b8aa --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/ImageExifInfo.java @@ -0,0 +1,67 @@ +package com.dite.znpt.domain.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +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.LocalDateTime; + +/** + * @Author: gaoxiong + * @Date: 2025/4/26 23:35 + * @Description: + */ +@Data +@ApiModel("图像Exif信息") +public class ImageExifInfo implements Serializable { + + @ApiModelProperty("图像宽") + private String imageWidth; + + @ApiModelProperty("图像高") + private String imageHeight; + + @ApiModelProperty("图像分辨率") + private String imageResolution; + + @ApiModelProperty("焦距") + private String focalDistance; + + @ApiModelProperty("35毫米焦距") + private String focalDistance35; + + @ApiModelProperty("焦平面X轴分辨率") + @TableField("x_resolution") + private String xResolution; + + @ApiModelProperty("焦平面Y轴分辨率") + @TableField("y_resolution") + private String yResolution; + + @ApiModelProperty("焦平面分辨率单位") + @TableField("resolution_units") + private String resolutionUnits; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("拍摄时间") + private LocalDateTime shootingTime; + + @ApiModelProperty("相机制造商") + private String cameraManufacturer; + + @ApiModelProperty("相机型号") + private String cameraModel; + + @ApiModelProperty("经度") + private String longitude; + + @ApiModelProperty("纬度") + private String latitude; + + @ApiModelProperty("海拔") + private String altitude; + +} 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 c0b8473..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 @@ -1,6 +1,7 @@ package com.dite.znpt.domain.vo; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serial; @@ -12,8 +13,18 @@ import java.io.Serializable; * @description */ @Data -@ApiModel("图像信息列表查询实体") +@ApiModel("图像采集信息列表查询实体") public class ImageListReq implements Serializable { @Serial private static final long serialVersionUID = 671014582625089979L; + + @ApiModelProperty("关键字") + private String keyword; + + @ApiModelProperty("机组id") + private String turbineId; + + @ApiModelProperty("图像类型") + private String[] imageTypes; + } diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ImageListResp.java b/core/src/main/java/com/dite/znpt/domain/vo/ImageListResp.java new file mode 100644 index 0000000..e632fda --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/ImageListResp.java @@ -0,0 +1,86 @@ +package com.dite.znpt.domain.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * @Author: gaoxiong + * @Date: 2025/4/26 21:07 + * @Description: + */ +@Data +@ApiModel("图像列表信息响应实体") +public class ImageListResp implements Serializable { + + @Serial + private static final long serialVersionUID = 3168482118066685077L; + + @ApiModelProperty("图像id") + private String imageId; + + @ApiModelProperty("图像名称") + @TableField("image_name") + private String imageName; + + @ApiModelProperty("部件名称") + private String partName; + + @ApiModelProperty("图像分辨率") + private String imageResolution; + + @ApiModelProperty("焦距") + private String focalDistance; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("拍摄时间") + private LocalDateTime shootingTime; + + @ApiModelProperty("相机制造商") + private String cameraManufacturer; + + @ApiModelProperty("相机型号") + private String cameraModel; + + @ApiModelProperty("GPS") + private String GPS; + + @ApiModelProperty("天气,枚举:WeatherEnum") + private String weather; + + @ApiModelProperty("天气描述") + private String weatherLabel; + + @ApiModelProperty("湿度(百分比)") + private Integer humidness; + + @ApiModelProperty("温度") + private String temperature; + + @ApiModelProperty("风力等级") + private Integer windLevel; + + @ApiModelProperty("拍摄方式,枚举ShootingMethodEnum") + private String shootingMethod; + + @ApiModelProperty("拍摄方式描述") + private String shootingMethodLabel; + + @ApiModelProperty("拍摄距离") + private Integer shootingDistance; + + @ApiModelProperty("采集员姓名") + private String collectorName; + + @ApiModelProperty("影像类型,枚举ImageTypeEnum") + private String imageType; + + @ApiModelProperty("影像类型描述") + private String imageTypeLabel; +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ImageReq.java b/core/src/main/java/com/dite/znpt/domain/vo/ImageReq.java new file mode 100644 index 0000000..7a360d1 --- /dev/null +++ b/core/src/main/java/com/dite/znpt/domain/vo/ImageReq.java @@ -0,0 +1,44 @@ +package com.dite.znpt.domain.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * @Author: gaoxiong + * @Date: 2025/4/26 1:18 + * @Description: + */ +@Data +@ApiModel("图像信息请求实体") +public class ImageReq extends ImageExifInfo implements Serializable { + + @Serial + private static final long serialVersionUID = -1726859254176864573L; + + @ApiModelProperty("图像id") + private String imageId; + + @ApiModelProperty("图像名称") + @TableField("image_name") + private String imageName; + + @ApiModelProperty("图像大小") + private String imageSize; + + @ApiModelProperty("图像分辨率") + private String imageResolution; + + @ApiModelProperty("图片路径") + private String imagePath; + + @ApiModelProperty("GPS") + private String GPS; + +} diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ImageResp.java b/core/src/main/java/com/dite/znpt/domain/vo/ImageResp.java index cce541b..8784839 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/ImageResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/ImageResp.java @@ -1,10 +1,14 @@ package com.dite.znpt.domain.vo; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serial; import java.io.Serializable; +import java.time.LocalDateTime; /** * @author Bear.G @@ -16,4 +20,26 @@ import java.io.Serializable; public class ImageResp implements Serializable { @Serial private static final long serialVersionUID = -5215414858454232077L; + + @ApiModelProperty("图像id") + private String imageId; + + @ApiModelProperty("图像名称") + private String imageName; + + @ApiModelProperty("图像路径") + private String imagePath; + + @ApiModelProperty("图像大小") + private String imageSize; + + @ApiModelProperty("图像分辨率") + private String imageResolution; + + @ApiModelProperty("图像Exif信息") + private ImageExifInfo imageExifInfo; + + @ApiModelProperty("图像拍摄信息") + private ImageCollectInfo imageCollectInfo; + } diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ProjectCompanyListReq.java b/core/src/main/java/com/dite/znpt/domain/vo/ProjectCompanyListReq.java deleted file mode 100644 index 315760e..0000000 --- a/core/src/main/java/com/dite/znpt/domain/vo/ProjectCompanyListReq.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.dite.znpt.domain.vo; - -import java.io.Serializable; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - * @Description: 项目-公司关联信息请求实体 - */ -@Data -@ApiModel("项目-公司关联信息列表请求实体") -public class ProjectCompanyListReq implements Serializable { - - private static final long serialVersionUID = 598388421634125600L; - - @ApiModelProperty("查询关键字") - private String keyword; - - @ApiModelProperty("项目-公司关联信息Id") - private String projectId; - - @ApiModelProperty("公司id") - private String companyId; - - @ApiModelProperty("单位类型(检查/委托)") - private String relationType; - -} - diff --git a/core/src/main/java/com/dite/znpt/domain/vo/ProjectCompanyResp.java b/core/src/main/java/com/dite/znpt/domain/vo/ProjectCompanyResp.java deleted file mode 100644 index 5acb104..0000000 --- a/core/src/main/java/com/dite/znpt/domain/vo/ProjectCompanyResp.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.dite.znpt.domain.vo; - -import io.swagger.annotations.ApiModel; -import lombok.Data; -import lombok.EqualsAndHashCode; -import com.dite.znpt.domain.entity.ProjectCompanyEntity; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - * @Description: 项目-公司关联信息响应实体 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@ApiModel("项目-公司关联信息响应实体") -public class ProjectCompanyResp extends ProjectCompanyEntity { -} - diff --git a/core/src/main/java/com/dite/znpt/domain/vo/TCompanyListReq.java b/core/src/main/java/com/dite/znpt/domain/vo/TCompanyListReq.java deleted file mode 100644 index d8fbd73..0000000 --- a/core/src/main/java/com/dite/znpt/domain/vo/TCompanyListReq.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.dite.znpt.domain.vo; - -import java.io.Serializable; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - * @Description: 公司信息请求实体 - */ -@Data -@ApiModel("公司信息列表请求实体") -public class TCompanyListReq implements Serializable { - - private static final long serialVersionUID = 710069618133737043L; - - @ApiModelProperty("查询关键字") - private String keyword; - - @ApiModelProperty("公司信息Id") - private String companyId; - - @ApiModelProperty("公司名称") - private String companyName; - - @ApiModelProperty("公司地址") - private String address; - - @ApiModelProperty("联系人") - private String contact; - - @ApiModelProperty("电话") - private String phone; - -} - diff --git a/core/src/main/java/com/dite/znpt/domain/vo/TCompanyResp.java b/core/src/main/java/com/dite/znpt/domain/vo/TCompanyResp.java deleted file mode 100644 index 77735d0..0000000 --- a/core/src/main/java/com/dite/znpt/domain/vo/TCompanyResp.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.dite.znpt.domain.vo; - -import io.swagger.annotations.ApiModel; -import lombok.Data; -import lombok.EqualsAndHashCode; -import com.dite.znpt.domain.entity.TCompanyEntity; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - * @Description: 公司信息响应实体 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@ApiModel("公司信息响应实体") -public class TCompanyResp extends TCompanyEntity { -} - diff --git a/core/src/main/java/com/dite/znpt/domain/vo/TurbineResp.java b/core/src/main/java/com/dite/znpt/domain/vo/TurbineResp.java index 2d9e8d4..ebc5c48 100644 --- a/core/src/main/java/com/dite/znpt/domain/vo/TurbineResp.java +++ b/core/src/main/java/com/dite/znpt/domain/vo/TurbineResp.java @@ -1,10 +1,14 @@ package com.dite.znpt.domain.vo; +import com.dite.znpt.domain.entity.PartEntity; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import com.dite.znpt.domain.entity.TurbineEntity; +import java.util.List; + /** * @author huise23 * @date 2025/04/11 23:17 @@ -14,5 +18,44 @@ import com.dite.znpt.domain.entity.TurbineEntity; @EqualsAndHashCode(callSuper = true) @ApiModel("机组-项目关联响应实体") public class TurbineResp extends TurbineEntity { + + @ApiModelProperty("部件") + private List partsList; + + @ApiModelProperty("内部工作状态, -1不存在,0未开始、1开始施工、2已提交报告、3审核通过") + private String antiThunderWorkStatus; + + @ApiModelProperty("外部工作状态, -1不存在,0未开始、1开始施工、2已提交报告、3审核通过") + private String inWorkStatus; + + @ApiModelProperty("防雷工作状态, -1不存在,0未开始、1开始施工、2已提交报告、3审核通过") + private String outWorkStatus; + + @ApiModelProperty("数据报告工作状态, -1不存在,0未开始、1开始施工、2已提交报告、3审核通过") + private String summaryWorkStatus; + + @ApiModelProperty("内部工作安全员审核状态, -1不存在,0未审核、1审核通过") + private String antiThunderWorkSafetyStatus; + + @ApiModelProperty("外部工作安全员审核状态, -1不存在,0未审核、1审核通过") + private String inWorkSafetyStatus; + + @ApiModelProperty("防雷工作安全员审核状态, -1不存在,0未审核、1审核通过") + private String outWorkSafetyStatus; + + @ApiModelProperty("内部工作质量员审核状态, -1不存在,0未审核、1审核通过") + private String antiThunderWorkQualityStatus; + + @ApiModelProperty("外部工作质量员审核状态, -1不存在,0未审核、1审核通过") + private String inWorkQualityStatus; + + @ApiModelProperty("防雷工作质量员审核状态, -1不存在,0未审核、1审核通过") + private String outWorkQualityStatus; + + @ApiModelProperty("防雷是否不合格,1不合格,0合格") + private Boolean lightningUnqualified; + + @ApiModelProperty("来源, app,backend后台,不传参默认后台") + private String source; } 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..713e90f --- /dev/null +++ b/core/src/main/java/com/dite/znpt/enums/DefectLevelEnum.java @@ -0,0 +1,52 @@ +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/24 21:44 + * @Description: + */ +@Getter +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/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 4aac3db..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,9 +1,60 @@ 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/24 21:43 * @Description: */ +@Getter 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/core/src/main/java/com/dite/znpt/enums/ImageTypeEnum.java b/core/src/main/java/com/dite/znpt/enums/ImageTypeEnum.java index a8c432c..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", "典型影像"), @@ -31,6 +33,11 @@ public enum ImageTypeEnum { return null; } + public static String getDescByCode(String code){ + ImageTypeEnum e = getByCode(code); + return null == e ? null : e.desc; + } + public static List listAll(){ List list = new ArrayList<>(ImageTypeEnum.values().length); for (ImageTypeEnum e : ImageTypeEnum.values() ) { 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/enums/ShootingMethodEnum.java b/core/src/main/java/com/dite/znpt/enums/ShootingMethodEnum.java index 5fb58d2..7c74c03 100644 --- a/core/src/main/java/com/dite/znpt/enums/ShootingMethodEnum.java +++ b/core/src/main/java/com/dite/znpt/enums/ShootingMethodEnum.java @@ -24,7 +24,7 @@ public enum ShootingMethodEnum { this.desc = desc; } - private ShootingMethodEnum getByCode(String code){ + public static ShootingMethodEnum getByCode(String code){ for (ShootingMethodEnum e : ShootingMethodEnum.values() ) { if(e.code.equals(code)){ return e; @@ -33,6 +33,11 @@ public enum ShootingMethodEnum { return null; } + public static String getDescByCode(String code){ + ShootingMethodEnum e = getByCode(code); + return null == e ? null : e.desc; + } + public static List listAll(){ List list = new ArrayList<>(ShootingMethodEnum.values().length); for (ShootingMethodEnum e : ShootingMethodEnum.values() ) { diff --git a/core/src/main/java/com/dite/znpt/enums/WeatherEnum.java b/core/src/main/java/com/dite/znpt/enums/WeatherEnum.java index d75d026..9c2be8c 100644 --- a/core/src/main/java/com/dite/znpt/enums/WeatherEnum.java +++ b/core/src/main/java/com/dite/znpt/enums/WeatherEnum.java @@ -53,6 +53,11 @@ public enum WeatherEnum { return null; } + public static String getDescByCode(String code){ + WeatherEnum e = getByCode(code); + return null == e ? null : e.desc; + } + public static List listAll(){ List list = new ArrayList<>(WeatherEnum.values().length); for (WeatherEnum e : WeatherEnum.values() ) { 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/mapper/ImageMapper.java b/core/src/main/java/com/dite/znpt/mapper/ImageMapper.java index 14ec3d4..133691f 100644 --- a/core/src/main/java/com/dite/znpt/mapper/ImageMapper.java +++ b/core/src/main/java/com/dite/znpt/mapper/ImageMapper.java @@ -2,10 +2,7 @@ package com.dite.znpt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dite.znpt.domain.entity.ImageEntity; -import com.dite.znpt.domain.vo.ImageListReq; -import com.dite.znpt.domain.vo.ImageResp; -import com.dite.znpt.domain.vo.PartListReq; -import com.dite.znpt.domain.vo.PartResp; +import com.dite.znpt.domain.vo.*; import java.util.List; @@ -15,5 +12,7 @@ import java.util.List; * @description */ public interface ImageMapper extends BaseMapper { - List queryBySelective(ImageListReq req); + List queryImageList(ImageListReq req); + + ImageResp detail(String imageId); } diff --git a/core/src/main/java/com/dite/znpt/mapper/ProjectCompanyMapper.java b/core/src/main/java/com/dite/znpt/mapper/ProjectCompanyMapper.java deleted file mode 100644 index bbbab25..0000000 --- a/core/src/main/java/com/dite/znpt/mapper/ProjectCompanyMapper.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.dite.znpt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.dite.znpt.domain.entity.ProjectCompanyEntity; -import com.dite.znpt.domain.vo.ProjectCompanyListReq; -import com.dite.znpt.domain.vo.ProjectCompanyResp; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - * @Description: 项目-公司关联信息表数据库访问层 - */ -public interface ProjectCompanyMapper extends BaseMapper { - List queryBySelective(ProjectCompanyListReq projectCompanyReq); -} - diff --git a/core/src/main/java/com/dite/znpt/mapper/TCompanyMapper.java b/core/src/main/java/com/dite/znpt/mapper/TCompanyMapper.java deleted file mode 100644 index a1fd45f..0000000 --- a/core/src/main/java/com/dite/znpt/mapper/TCompanyMapper.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.dite.znpt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.dite.znpt.domain.entity.TCompanyEntity; -import com.dite.znpt.domain.vo.TCompanyListReq; -import com.dite.znpt.domain.vo.TCompanyResp; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - * @Description: 公司信息表数据库访问层 - */ -public interface TCompanyMapper extends BaseMapper { - List queryBySelective(TCompanyListReq tCompanyReq); -} - 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/ImageCollectService.java b/core/src/main/java/com/dite/znpt/service/ImageCollectService.java index c1c3754..9c6819c 100644 --- a/core/src/main/java/com/dite/znpt/service/ImageCollectService.java +++ b/core/src/main/java/com/dite/znpt/service/ImageCollectService.java @@ -2,6 +2,7 @@ package com.dite.znpt.service; import com.baomidou.mybatisplus.extension.service.IService; import com.dite.znpt.domain.entity.ImageCollectEntity; +import com.dite.znpt.domain.vo.ImageCollectReq; /** * @Author: gaoxiong @@ -9,4 +10,5 @@ import com.dite.znpt.domain.entity.ImageCollectEntity; * @Description: */ public interface ImageCollectService extends IService { + void save(String departId, ImageCollectReq req); } diff --git a/core/src/main/java/com/dite/znpt/service/ImageService.java b/core/src/main/java/com/dite/znpt/service/ImageService.java index b956e32..cd24553 100644 --- a/core/src/main/java/com/dite/znpt/service/ImageService.java +++ b/core/src/main/java/com/dite/znpt/service/ImageService.java @@ -3,7 +3,10 @@ package com.dite.znpt.service; import com.baomidou.mybatisplus.extension.service.IService; import com.dite.znpt.domain.entity.ImageEntity; import com.dite.znpt.domain.vo.ImageListReq; +import com.dite.znpt.domain.vo.ImageListResp; +import com.dite.znpt.domain.vo.ImageReq; import com.dite.znpt.domain.vo.ImageResp; +import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -14,5 +17,13 @@ import java.util.List; */ public interface ImageService extends IService { - List selectList(ImageListReq req); + List list(ImageListReq req); + + List page(ImageListReq req); + + ImageResp detail(String imageId); + + List batchUpload(String departId, MultipartFile[] files); + + void delete(String imageId); } diff --git a/core/src/main/java/com/dite/znpt/service/ProjectCompanyService.java b/core/src/main/java/com/dite/znpt/service/ProjectCompanyService.java deleted file mode 100644 index f6b0754..0000000 --- a/core/src/main/java/com/dite/znpt/service/ProjectCompanyService.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.dite.znpt.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.dite.znpt.domain.entity.ProjectCompanyEntity; -import com.dite.znpt.domain.vo.ProjectCompanyListReq; -import com.dite.znpt.domain.vo.ProjectCompanyResp; - -import java.util.List; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - * @Description: 项目-公司关联信息表服务接口 - */ -public interface ProjectCompanyService extends IService { - - /** - * 功能描述:查询项目-公司关联信息列表 - * - * @param projectCompanyReq 项目-公司关联信息 - * @return {@link List }<{@link ProjectCompanyEntity }> - * @author huise23 - * @date 2025/04/11 23:17 - **/ - List selectList(ProjectCompanyListReq projectCompanyReq); - - /** - * 功能描述:查询单条项目-公司关联信息 - * - * @param projectId 项目-公司关联信息Id - * @return {@link ProjectCompanyResp } - * @author huise23 - * @date 2025/04/11 23:17 - **/ - ProjectCompanyResp selectById(String projectId); - - /** - * 功能描述:新增项目-公司关联信息 - * - * @param projectCompany 项目-公司关联信息 - * @author huise23 - * @date 2025/04/11 23:17 - **/ - void saveData(ProjectCompanyEntity projectCompany); - - /** - * 功能描述:更新项目-公司关联信息 - * - * @param projectCompany 项目-公司关联信息 - * @author huise23 - * @date 2025/04/11 23:17 - **/ - void updateData(ProjectCompanyEntity projectCompany); - - /** - * 功能描述:删除项目-公司关联信息 - * - * @param projectId 项目-公司关联信息Id - * @author huise23 - * @date 2025/04/11 23:17 - **/ - void deleteById(String projectId); -} - diff --git a/core/src/main/java/com/dite/znpt/service/TCompanyService.java b/core/src/main/java/com/dite/znpt/service/TCompanyService.java deleted file mode 100644 index 99bba5c..0000000 --- a/core/src/main/java/com/dite/znpt/service/TCompanyService.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.dite.znpt.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.dite.znpt.domain.entity.TCompanyEntity; -import com.dite.znpt.domain.vo.TCompanyListReq; -import com.dite.znpt.domain.vo.TCompanyResp; - -import java.util.List; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - * @Description: 公司信息表服务接口 - */ -public interface TCompanyService extends IService { - - /** - * 功能描述:查询公司信息列表 - * - * @param tCompanyReq 公司信息 - * @return {@link List }<{@link TCompanyEntity }> - * @author huise23 - * @date 2025/04/11 23:17 - **/ - List selectList(TCompanyListReq tCompanyReq); - - /** - * 功能描述:查询单条公司信息 - * - * @param companyId 公司信息Id - * @return {@link TCompanyResp } - * @author huise23 - * @date 2025/04/11 23:17 - **/ - TCompanyResp selectById(String companyId); - - /** - * 功能描述:新增公司信息 - * - * @param tCompany 公司信息 - * @author huise23 - * @date 2025/04/11 23:17 - **/ - void saveData(TCompanyEntity tCompany); - - /** - * 功能描述:更新公司信息 - * - * @param tCompany 公司信息 - * @author huise23 - * @date 2025/04/11 23:17 - **/ - void updateData(TCompanyEntity tCompany); - - /** - * 功能描述:删除公司信息 - * - * @param companyId 公司信息Id - * @author huise23 - * @date 2025/04/11 23:17 - **/ - void deleteById(String companyId); -} - 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/java/com/dite/znpt/service/impl/ImageCollectServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/ImageCollectServiceImpl.java index c10efeb..8fbe3d3 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/ImageCollectServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/ImageCollectServiceImpl.java @@ -1,10 +1,25 @@ package com.dite.znpt.service.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.StrUtil; 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.ImageCollectEntity; +import com.dite.znpt.domain.entity.ImageEntity; +import com.dite.znpt.domain.vo.ImageCollectReq; +import com.dite.znpt.exception.ServiceException; import com.dite.znpt.mapper.ImageCollectMapper; import com.dite.znpt.service.ImageCollectService; +import com.dite.znpt.service.ImageService; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.io.File; +import java.util.List; /** * @Author: gaoxiong @@ -14,4 +29,39 @@ import org.springframework.stereotype.Service; @Service public class ImageCollectServiceImpl extends ServiceImpl implements ImageCollectService { + @Value("${upload.perm-path}") + private String permPath; + + @Resource + private ImageService imageService; + + @Transactional(rollbackFor = Exception.class) + @Override + public void save(String partId, ImageCollectReq req) { + if(CollUtil.isEmpty(req.getImageList())){ + throw new ServiceException(Message.IMAGE_IS_EMPTY); + } + ImageCollectEntity imageCollect = Converts.INSTANCE.toImageCollectEntity(req); + imageCollect.setPartId(partId); + this.save(imageCollect); + List imageList = Converts.INSTANCE.toImageEntity(req.getImageList()); + String path_prefix = permPath.concat(StrUtil.BACKSLASH).concat(partId).concat(StrUtil.BACKSLASH); + imageList.stream().forEach(image -> { + image.setCollectId(imageCollect.getCollectId()); + String path = path_prefix + image.getImageName(); + File file = new File(image.getImagePath()); + if (file.exists()) { + byte[] bytes = FileUtil.readBytes(file); + FileUtil.writeBytes(bytes, path); + FileUtil.del(file); + image.setImagePath(path); + }else { + imageList.remove(image); + } + }); + if(CollUtil.isEmpty(imageList)){ + throw new ServiceException(Message.IMAGE_PATH_IS_NOT_EXIST); + } + imageService.saveOrUpdateBatch(imageList); + } } diff --git a/core/src/main/java/com/dite/znpt/service/impl/ImageServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/ImageServiceImpl.java index 0e06c94..3f6b053 100644 --- a/core/src/main/java/com/dite/znpt/service/impl/ImageServiceImpl.java +++ b/core/src/main/java/com/dite/znpt/service/impl/ImageServiceImpl.java @@ -1,28 +1,173 @@ package com.dite.znpt.service.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dite.znpt.constant.Message; import com.dite.znpt.domain.entity.ImageEntity; import com.dite.znpt.domain.vo.ImageListReq; +import com.dite.znpt.domain.vo.ImageListResp; +import com.dite.znpt.domain.vo.ImageReq; import com.dite.znpt.domain.vo.ImageResp; +import com.dite.znpt.enums.ImageTypeEnum; +import com.dite.znpt.enums.ShootingMethodEnum; +import com.dite.znpt.enums.WeatherEnum; +import com.dite.znpt.exception.ServiceException; import com.dite.znpt.mapper.ImageMapper; +import com.dite.znpt.service.ImageCollectService; import com.dite.znpt.service.ImageService; +import com.dite.znpt.util.EXIFUtil; import com.dite.znpt.util.PageUtil; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; +import java.io.File; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * @author Bear.G * @date 2025/4/24/周四 13:23 * @description */ +@Service public class ImageServiceImpl extends ServiceImpl implements ImageService { - @Override - public List selectList(ImageListReq req) { - PageUtil.startPage(); - List imageList= this.baseMapper.queryBySelective(req); - imageList.forEach(resp -> { + @Resource + private ImageCollectService imageCollectService; + + @Value("${upload.temp-path}") + private String tempPath; + + @Override + public List list(ImageListReq req) { + List partList= this.baseMapper.queryImageList(req); + partList.forEach(resp -> { + resp.setWeatherLabel(WeatherEnum.getDescByCode(resp.getWeather())); + resp.setShootingMethodLabel(ShootingMethodEnum.getDescByCode(resp.getShootingMethod())); + resp.setImageTypeLabel(ImageTypeEnum.getDescByCode(resp.getImageType())); }); - return imageList; + return partList; } + + @Override + public List page(ImageListReq req) { + PageUtil.startPage(); + return this.list(req); + } + + @Override + public ImageResp detail(String imageId) { + ImageResp imageResp = this.baseMapper.detail(imageId); + imageResp.getImageCollectInfo().setWeatherLabel(WeatherEnum.getDescByCode(imageResp.getImageCollectInfo().getWeather())); + imageResp.getImageCollectInfo().setShootingMethodLabel(ShootingMethodEnum.getDescByCode(imageResp.getImageCollectInfo().getShootingMethodLabel())); + return imageResp; + } + + @Transactional(rollbackFor = Exception.class) + @Override + public List batchUpload(String departId, MultipartFile[] files) { + if(null == files || files.length == 0){ + throw new ServiceException(Message.IMAGE_IS_EMPTY); + } + List list = new ArrayList<>(files.length); + String path_prefix = tempPath.concat(StrUtil.BACKSLASH).concat(departId).concat(StrUtil.BACKSLASH); + for (MultipartFile file : files) { + if (!file.isEmpty()) { + try { + String path = path_prefix + file.getOriginalFilename(); + FileUtil.writeBytes(file.getBytes(),path); + list.add(imageRespBuilder(path)); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + return list; + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void delete(String imageId) { + ImageEntity image = this.getById(imageId); + if(null ==image){ + throw new ServiceException(Message.IMAGE_ID_IS_NOT_EXIST); + } + this.removeById(image); + List imageList = this.list(Wrappers.lambdaQuery().eq(ImageEntity::getCollectId, image.getCollectId())); + if(CollUtil.isEmpty(imageList)){ + imageCollectService.removeById(image.getCollectId()); + } + File file = new File(image.getImagePath()); + if (file.exists()) { + FileUtil.del(file); + } + } + + private ImageReq imageRespBuilder(String path) throws Exception { + ImageReq req = new ImageReq(); + File file = new File(path); + JSONObject obj = EXIFUtil.printImageTags(file); + req.setCameraManufacturer(obj.getStr("Make")); + req.setCameraModel(obj.getStr("Model")); + req.setImageName(obj.getStr("File Name")); + req.setImagePath(path); + BigDecimal imageSize = new BigDecimal(extractDigit(obj.getStr("File Size"))).divide(new BigDecimal(1024*1024), 4, RoundingMode.HALF_UP); + req.setImageSize(imageSize.toString().concat("M")); + req.setImageWidth(extractDigit(obj.getStr("Image Width"))); + req.setImageHeight(extractDigit(obj.getStr("Image Height"))); + req.setImageResolution(req.getImageWidth().concat("x").concat(req.getImageHeight())); + req.setFocalDistance35(extractDigit(obj.getStr("Focal Length 35"))); + req.setXResolution(extractDigit(obj.getStr("X Resolution"))); + req.setYResolution(extractDigit(obj.getStr("Y Resolution"))); + req.setResolutionUnits(obj.getStr("Resolution Units")); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy:MM:dd HH:mm:ss"); + req.setShootingTime(LocalDateTime.parse( obj.getStr("Date/Time Original"),formatter)); + req.setFocalDistance(extractDigit(obj.getStr("Focal Length"))); + req.setLatitude(obj.getStr("GPS Latitude")); + req.setLongitude(obj.getStr("GPS Longitude")); + req.setAltitude(extractDigit(obj.getStr("GPS Altitude"))); + String gps = req.getLatitude().concat("°").concat(directionTranslator(obj.getStr("GPS Latitude Ref"))).concat(StrUtil.COMMA) + .concat(req.getLongitude()).concat("°").concat(directionTranslator(obj.getStr("GPS Longitude Ref"))).concat(StrUtil.COMMA) + .concat("海拔").concat(req.getAltitude()).concat("m"); + req.setGPS(gps); + return req; + } + + private String directionTranslator(String direction){ + if(direction.equalsIgnoreCase("N")){ + return "北"; + } else if (direction.equalsIgnoreCase("S")) { + return "南"; + } else if (direction.equalsIgnoreCase("E")) { + return "东"; + }else if (direction.equalsIgnoreCase("W")) { + return "西"; + }else { + return "未知"; + } + } + + private static String extractDigit(String str) { + Pattern pattern = Pattern.compile("\\d+(\\.\\d+)?"); + Matcher matcher = pattern.matcher(str); + if (matcher.find()) { + return matcher.group(); + } else { + return null; + } + } + } diff --git a/core/src/main/java/com/dite/znpt/service/impl/ProjectCompanyServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/ProjectCompanyServiceImpl.java deleted file mode 100644 index 67cacd8..0000000 --- a/core/src/main/java/com/dite/znpt/service/impl/ProjectCompanyServiceImpl.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.dite.znpt.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.dite.znpt.domain.entity.ProjectCompanyEntity; -import com.dite.znpt.domain.vo.ProjectCompanyListReq; -import com.dite.znpt.domain.vo.ProjectCompanyResp; -import com.dite.znpt.service.ProjectCompanyService; -import com.dite.znpt.mapper.ProjectCompanyMapper; -import org.springframework.stereotype.Service; -import cn.hutool.core.collection.CollUtil; -import lombok.RequiredArgsConstructor; -import com.dite.znpt.util.PageUtil; - -import java.util.List; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - * @Description: 项目-公司关联信息表服务实现类 - */ -@Service -@RequiredArgsConstructor -public class ProjectCompanyServiceImpl extends ServiceImpl implements ProjectCompanyService { - - /** - * 功能描述:查询项目-公司关联信息列表 - * - * @param projectCompanyReq 项目-公司关联信息信息 - * @return {@link List }<{@link ProjectCompanyResp }> - * @author huise23 - * @date 2025/04/11 23:17 - **/ - @Override - public List selectList(ProjectCompanyListReq projectCompanyReq) { - PageUtil.startPage(); - List projectCompanyList= this.baseMapper.queryBySelective(projectCompanyReq); - projectCompanyList.forEach(resp -> { - - }); - return projectCompanyList; - } - - /** - * 功能描述:查询单条项目-公司关联信息 - * - * @param projectId 项目-公司关联信息Id - * @return {@link ProjectCompanyResp } - * @author huise23 - * @date 2025/04/11 23:17 - **/ - @Override - public ProjectCompanyResp selectById(String projectId) { - ProjectCompanyListReq projectCompanyReq = new ProjectCompanyListReq(); - projectCompanyReq.setProjectId(projectId); - - List list = selectList(projectCompanyReq); - return list.isEmpty() ? CollUtil.getFirst(list) : new ProjectCompanyResp(); - } - - /** - * 功能描述:新增项目-公司关联信息 - * - * @param projectCompany 项目-公司关联信息 - * @author huise23 - * @date 2025/04/11 23:17 - **/ - @Override - public void saveData(ProjectCompanyEntity projectCompany) { -// todo 校验 - save(projectCompany); - } - - /** - * 功能描述:更新项目-公司关联信息 - * - * @param projectCompany 项目-公司关联信息 - * @author huise23 - * @date 2025/04/11 23:17 - **/ - @Override - public void updateData(ProjectCompanyEntity projectCompany) { -// todo 校验 - updateById(projectCompany); - } - - /** - * 功能描述:删除项目-公司关联信息 - * - * @param projectId 项目-公司关联信息Id - * @author huise23 - * @date 2025/04/11 23:17 - **/ - @Override - public void deleteById(String projectId) { -// todo 校验 - removeById(projectId); - } - -} diff --git a/core/src/main/java/com/dite/znpt/service/impl/TCompanyServiceImpl.java b/core/src/main/java/com/dite/znpt/service/impl/TCompanyServiceImpl.java deleted file mode 100644 index 4e368e2..0000000 --- a/core/src/main/java/com/dite/znpt/service/impl/TCompanyServiceImpl.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.dite.znpt.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.dite.znpt.domain.entity.TCompanyEntity; -import com.dite.znpt.domain.vo.TCompanyListReq; -import com.dite.znpt.domain.vo.TCompanyResp; -import com.dite.znpt.service.TCompanyService; -import com.dite.znpt.mapper.TCompanyMapper; -import org.springframework.stereotype.Service; -import cn.hutool.core.collection.CollUtil; -import lombok.RequiredArgsConstructor; -import com.dite.znpt.util.PageUtil; - -import java.util.List; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - * @Description: 公司信息表服务实现类 - */ -@Service -@RequiredArgsConstructor -public class TCompanyServiceImpl extends ServiceImpl implements TCompanyService { - - /** - * 功能描述:查询公司信息列表 - * - * @param tCompanyReq 公司信息信息 - * @return {@link List }<{@link TCompanyResp }> - * @author huise23 - * @date 2025/04/11 23:17 - **/ - @Override - public List selectList(TCompanyListReq tCompanyReq) { - PageUtil.startPage(); - List tCompanyList= this.baseMapper.queryBySelective(tCompanyReq); - tCompanyList.forEach(resp -> { - - }); - return tCompanyList; - } - - /** - * 功能描述:查询单条公司信息 - * - * @param companyId 公司信息Id - * @return {@link TCompanyResp } - * @author huise23 - * @date 2025/04/11 23:17 - **/ - @Override - public TCompanyResp selectById(String companyId) { - TCompanyListReq tCompanyReq = new TCompanyListReq(); - tCompanyReq.setCompanyId(companyId); - - List list = selectList(tCompanyReq); - return list.isEmpty() ? CollUtil.getFirst(list) : new TCompanyResp(); - } - - /** - * 功能描述:新增公司信息 - * - * @param tCompany 公司信息 - * @author huise23 - * @date 2025/04/11 23:17 - **/ - @Override - public void saveData(TCompanyEntity tCompany) { -// todo 校验 - save(tCompany); - } - - /** - * 功能描述:更新公司信息 - * - * @param tCompany 公司信息 - * @author huise23 - * @date 2025/04/11 23:17 - **/ - @Override - public void updateData(TCompanyEntity tCompany) { -// todo 校验 - updateById(tCompany); - } - - /** - * 功能描述:删除公司信息 - * - * @param companyId 公司信息Id - * @author huise23 - * @date 2025/04/11 23:17 - **/ - @Override - public void deleteById(String companyId) { -// todo 校验 - removeById(companyId); - } - -} 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 64a0f9d..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 98ee794..231499c 100644 --- a/core/src/main/resources/mapper/ImageMapper.xml +++ b/core/src/main/resources/mapper/ImageMapper.xml @@ -1,20 +1,68 @@ - - a.image, a.part_id, a.turbine_id, a.project_id, a.image_name, a.image_size, a.focal_distance, - a.shooting_time, a.camera_manufacture, a.camera_model, a.longitude, a.latitude, a.altitude, - a.image_type, a.image_path - - - + SELECT + i.image_id, i.image_name, ic.part_id, p.part_name, i.image_resolution, i.focal_distance, i.shooting_time, i.camera_manufacturer, + i.camera_model, i.GPS, ic.weather, ic.humidness, CONCAT(ic.temperature_min, '℃', '~',temperature_max, '℃') AS temperature, ic.wind_level, + ic.shooting_method, ic.shooting_distance,ic.collector_name, i.image_type + FROM image i + LEFT JOIN image_collect ic ON i.collect_id = ic.collect_id + LEFT JOIN part p ON ic.part_id = p.part_id - and a.image_name like concat('%', #{keyword,jdbcType=VARCHAR}, '%') + AND i.image_name LIKE concat('%', #{keyword}, '%') + + + AND p.turbine_id = #{turbineId} + + + AND i.image_type in #{imageType} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/src/main/resources/mapper/ProjectCompanyMapper.xml b/core/src/main/resources/mapper/ProjectCompanyMapper.xml deleted file mode 100644 index c1b6531..0000000 --- a/core/src/main/resources/mapper/ProjectCompanyMapper.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - a.project_id, a.company_id, a.relation_type - - - - - diff --git a/core/src/main/resources/mapper/TCompanyMapper.xml b/core/src/main/resources/mapper/TCompanyMapper.xml deleted file mode 100644 index 82f9437..0000000 --- a/core/src/main/resources/mapper/TCompanyMapper.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - a.company_id, a.company_name, a.address, a.contact, - a.phone - - - - - diff --git a/web/pom.xml b/web/pom.xml index 38137db..f10802f 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -29,10 +29,10 @@ core 1.0.0-SNAPSHOT - - com.dite.znpt - data-bus - 1.0.0-SNAPSHOT - + + + + + \ No newline at end of file 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") diff --git a/web/src/main/java/com/dite/znpt/web/controller/ImageController.java b/web/src/main/java/com/dite/znpt/web/controller/ImageController.java index f0f1cf8..773713f 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/ImageController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/ImageController.java @@ -2,28 +2,69 @@ package com.dite.znpt.web.controller; import com.dite.znpt.domain.PageResult; -import com.dite.znpt.domain.vo.ImageListReq; -import com.dite.znpt.domain.vo.ImageResp; +import com.dite.znpt.domain.Result; +import com.dite.znpt.domain.vo.*; +import com.dite.znpt.service.ImageCollectService; import com.dite.znpt.service.ImageService; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.util.List; /** * @author Bear.G * @date 2025/4/24/周四 12:46 * @description */ +@Api(tags = "图像信息") +@RestController +@RequestMapping("/image") public class ImageController { @Resource private ImageService imageService; + @Resource + private ImageCollectService imageCollectService; + @ApiOperation(value = "分页查询图像列表", httpMethod = "GET") @GetMapping("/page") - public PageResult list(ImageListReq req) { - return PageResult.ok(imageService.selectList(req)); + public PageResult page(@RequestBody ImageListReq req) { + return PageResult.ok(imageService.page(req)); } + @ApiOperation(value = "查询图像列表", httpMethod = "GET") + @GetMapping("/list") + public Result> list(@RequestBody ImageListReq req){ + return Result.ok(imageService.list(req)); + } + + @ApiOperation(value = "查询图像详情", httpMethod = "GET") + @GetMapping("/detail/{imageId}") + public Result detail(@PathVariable String imageId){ + return Result.ok(imageService.detail(imageId)); + } + + @ApiOperation(value = "批量上传图像", httpMethod = "POST") + @PostMapping("/upload-batch/{departId}") + public Result> uploadBatch(@PathVariable String departId, @RequestParam("files") MultipartFile[] files) { + return Result.ok(imageService.batchUpload(departId, files)); + } + + @ApiOperation(value = "设置信息", httpMethod = "POST") + @PostMapping("/setting-info/{departId}") + public Result save(@PathVariable String departId, @RequestBody ImageCollectReq req) { + imageCollectService.save(departId, req); + return Result.ok(); + } + + @ApiOperation(value = "删除图像", httpMethod = "DELETE") + @DeleteMapping("/{imageId}") + public Result remove(@PathVariable String imageId){ + imageService.delete(imageId); + return Result.ok(); + } } diff --git a/web/src/main/java/com/dite/znpt/web/controller/PartController.java b/web/src/main/java/com/dite/znpt/web/controller/PartController.java index 03c77c0..f46d8a0 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/PartController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/PartController.java @@ -23,7 +23,7 @@ import java.util.List; * @author huise23 * @date 2025/04/11 23:17 */ -@Api(tags = "") +@Api(tags = "部件信息") @RestController @RequestMapping("/part") public class PartController { diff --git a/web/src/main/java/com/dite/znpt/web/controller/ProjectCompanyController.java b/web/src/main/java/com/dite/znpt/web/controller/ProjectCompanyController.java deleted file mode 100644 index 1cbbc4e..0000000 --- a/web/src/main/java/com/dite/znpt/web/controller/ProjectCompanyController.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.dite.znpt.web.controller; - - -import com.dite.znpt.domain.Constants; -import com.dite.znpt.domain.vo.ProjectCompanyListReq; -import com.dite.znpt.domain.vo.ProjectCompanyResp; -import com.dite.znpt.domain.entity.ProjectCompanyEntity; -import com.dite.znpt.service.ProjectCompanyService; -import com.dite.znpt.domain.Result; -import com.dite.znpt.domain.PageResult; -import com.pig4cloud.plugin.excel.annotation.RequestExcel; -import com.pig4cloud.plugin.excel.annotation.ResponseExcel; -import com.pig4cloud.plugin.excel.vo.ErrorMessage; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import java.util.List; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - */ -@Api(tags = "项目-公司关联信息") -@RestController -@RequestMapping("/project-company") -public class ProjectCompanyController { - @Resource - private ProjectCompanyService projectCompanyService; - - @ApiOperation(value = "获取项目-公司关联信息列表", httpMethod = "GET") - @GetMapping("/list") - public PageResult list(ProjectCompanyListReq projectCompanyReq) { - return PageResult.ok(projectCompanyService.selectList(projectCompanyReq)); - } - - @ApiOperation(value = "根据项目-公司关联信息Id获取详细信息", httpMethod = "GET") - @GetMapping("/{projectId}") - public Result getInfo(@PathVariable String projectId) { - return Result.ok(projectCompanyService.selectById(projectId)); - } - - @ApiOperation(value = "新增项目-公司关联信息", httpMethod = "POST") - @PostMapping - public Result add(@RequestBody ProjectCompanyEntity projectCompany) { - projectCompanyService.saveData(projectCompany); - return Result.ok(); - } - - @ApiOperation(value = "修改项目-公司关联信息", httpMethod = "PUT") - @PutMapping - public Result edit(@RequestBody ProjectCompanyEntity projectCompany) { - projectCompanyService.updateData(projectCompany); - return Result.ok(); - } - - @ApiOperation(value = "删除项目-公司关联信息", httpMethod = "DELETE") - @DeleteMapping("/{projectId}") - public Result remove(@PathVariable String projectId) { - projectCompanyService.deleteById(projectId); - return Result.ok(); - } - - @ApiOperation(value = "导出项目-公司关联信息", httpMethod = "GET") - @GetMapping("/export") - @ResponseExcel(name = "项目-公司关联信息") - public List export(ProjectCompanyListReq projectCompanyReq) { - return projectCompanyService.selectList(projectCompanyReq); - } - - @ApiOperation(value = "导入项目-公司关联信息", httpMethod = "POST") - @PostMapping("/import") - public Result importData(@RequestExcel List dataList, BindingResult bindingResult) { - // JSR 303 校验通用校验获取失败的数据 - List errorMessageList = (List) bindingResult.getTarget(); - if (errorMessageList != null && !errorMessageList.isEmpty()) { - return Result.error(Constants.SERVICE_EXCEPTION, "导入失败"); - } - return Result.okM("导入"+dataList.size()+"条数据"); - } -} - diff --git a/web/src/main/java/com/dite/znpt/web/controller/TCompanyController.java b/web/src/main/java/com/dite/znpt/web/controller/TCompanyController.java deleted file mode 100644 index b2f89af..0000000 --- a/web/src/main/java/com/dite/znpt/web/controller/TCompanyController.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.dite.znpt.web.controller; - - -import com.dite.znpt.domain.Constants; -import com.dite.znpt.domain.vo.TCompanyListReq; -import com.dite.znpt.domain.vo.TCompanyResp; -import com.dite.znpt.domain.entity.TCompanyEntity; -import com.dite.znpt.service.TCompanyService; -import com.dite.znpt.domain.Result; -import com.dite.znpt.domain.PageResult; -import com.pig4cloud.plugin.excel.annotation.RequestExcel; -import com.pig4cloud.plugin.excel.annotation.ResponseExcel; -import com.pig4cloud.plugin.excel.vo.ErrorMessage; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import java.util.List; - -/** - * @author huise23 - * @date 2025/04/11 23:17 - */ -@Api(tags = "公司信息") -@RestController -@RequestMapping("/t-company") -public class TCompanyController { - @Resource - private TCompanyService tCompanyService; - - @ApiOperation(value = "获取公司信息列表", httpMethod = "GET") - @GetMapping("/list") - public PageResult list(TCompanyListReq tCompanyReq) { - return PageResult.ok(tCompanyService.selectList(tCompanyReq)); - } - - @ApiOperation(value = "根据公司信息Id获取详细信息", httpMethod = "GET") - @GetMapping("/{companyId}") - public Result getInfo(@PathVariable String companyId) { - return Result.ok(tCompanyService.selectById(companyId)); - } - - @ApiOperation(value = "新增公司信息", httpMethod = "POST") - @PostMapping - public Result add(@RequestBody TCompanyEntity tCompany) { - tCompanyService.saveData(tCompany); - return Result.ok(); - } - - @ApiOperation(value = "修改公司信息", httpMethod = "PUT") - @PutMapping - public Result edit(@RequestBody TCompanyEntity tCompany) { - tCompanyService.updateData(tCompany); - return Result.ok(); - } - - @ApiOperation(value = "删除公司信息", httpMethod = "DELETE") - @DeleteMapping("/{companyId}") - public Result remove(@PathVariable String companyId) { - tCompanyService.deleteById(companyId); - return Result.ok(); - } - - @ApiOperation(value = "导出公司信息", httpMethod = "GET") - @GetMapping("/export") - @ResponseExcel(name = "公司信息") - public List export(TCompanyListReq tCompanyReq) { - return tCompanyService.selectList(tCompanyReq); - } - - @ApiOperation(value = "导入公司信息", httpMethod = "POST") - @PostMapping("/import") - public Result importData(@RequestExcel List dataList, BindingResult bindingResult) { - // JSR 303 校验通用校验获取失败的数据 - List errorMessageList = (List) bindingResult.getTarget(); - if (errorMessageList != null && !errorMessageList.isEmpty()) { - return Result.error(Constants.SERVICE_EXCEPTION, "导入失败"); - } - return Result.okM("导入"+dataList.size()+"条数据"); - } -} - diff --git a/web/src/main/java/com/dite/znpt/web/controller/TurbineController.java b/web/src/main/java/com/dite/znpt/web/controller/TurbineController.java index b35f20f..2b970bd 100644 --- a/web/src/main/java/com/dite/znpt/web/controller/TurbineController.java +++ b/web/src/main/java/com/dite/znpt/web/controller/TurbineController.java @@ -5,6 +5,7 @@ import com.dite.znpt.domain.Constants; import com.dite.znpt.domain.vo.TurbineListReq; import com.dite.znpt.domain.vo.TurbineResp; import com.dite.znpt.domain.entity.TurbineEntity; +import com.dite.znpt.exception.ServiceException; import com.dite.znpt.service.TurbineService; import com.dite.znpt.domain.Result; import com.dite.znpt.domain.PageResult; @@ -17,6 +18,7 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.validation.Valid; import java.util.List; /** @@ -31,7 +33,7 @@ public class TurbineController { private TurbineService turbineService; @ApiOperation(value = "获取机组-项目关联列表", httpMethod = "GET") - @GetMapping("/list") + @GetMapping({"/list", "/getByProjectId"}) public PageResult list(TurbineListReq turbineReq) { return PageResult.ok(turbineService.selectList(turbineReq)); } diff --git a/web/src/main/resources/application-dev.yml b/web/src/main/resources/application-dev.yml index f53ac7c..f4933c6 100644 --- a/web/src/main/resources/application-dev.yml +++ b/web/src/main/resources/application-dev.yml @@ -1,7 +1,7 @@ # 开发环境配置 server: # 服务器的HTTP端口,默认为8080 - port: 8080 + port: 8888 # 数据源配置 spring: @@ -10,7 +10,7 @@ spring: driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://39.99.201.243:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: h67&E98HS8^6 + password: BUw8YW6%@^8q druid: # 初始连接数 initialSize: 5 @@ -59,11 +59,15 @@ spring: max-wait: 3000 host: 39.99.201.243 port: 6379 - password: yfeng@123 + password: diTeZn@123 timeout: 3000 # 0 gaea系统,3 gaea-dev/gaea-test系统,4 znpt开发,5 znpt测试 6 znpt生产 database: 4 - + rabbitmq: + host: 39.99.201.243 + port: 3389 + username: dite + password: diTezN@123 ## MINIO配置 #minio: # url: http://10.20.32.11:9000 @@ -80,7 +84,7 @@ spring: sip-config: name: 信令服务 - ip: 10.17.12.203 + ip: 192.168.0.207 port: 1074 charset: gb2312 domain: 3402000000 @@ -96,18 +100,23 @@ zlm-config: # 公网ip publicHost: # 接口ip - apiHost: 10.17.12.203 + apiHost: 192.168.0.207 # 接口端口 - apiPort: 30186 + apiPort: 8080 # 密钥 - secretKey: JvVotkdN01y4qZHlrJsdq4gD7n9rK6wV + secretKey: 6Q76ivvVOQDsnnfOSKbtVzcYpbgy4n1G # 流id前缀 streamPrefix: # rtp ip - rtpHost: 10.17.12.203 + rtpHost: 192.168.0.207 # rtp 端口 - rtpPort: 30186 + rtpPort: 8080 # 动态端口起始值 dynamicPortStart: 30150 # 动态端口结束值 dynamicPortEnd: 30185 + +upload: + temp-path: F:\Upload\Temp + perm-path: F:\Upload\Perm +