Merge branch 'master' into gaea

This commit is contained in:
cuizhibin 2025-05-12 10:00:49 +08:00
commit 667c657f5d
57 changed files with 1314 additions and 456 deletions

View File

@ -16,4 +16,8 @@ public class Message implements Serializable {
public static final String IMAGE_PATH_IS_NOT_EXIST = "图像地址不存在"; public static final String IMAGE_PATH_IS_NOT_EXIST = "图像地址不存在";
public static final String IMAGE_ID_IS_NOT_EXIST = "图像id不存在"; public static final String IMAGE_ID_IS_NOT_EXIST = "图像id不存在";
public static final String DEFECT_ID_IS_NOT_EXIST = "缺陷id不存在"; public static final String DEFECT_ID_IS_NOT_EXIST = "缺陷id不存在";
public static final String PROJECT_ID_IS_NOT_EXIST = "项目id不存在";
public static final String TURBINE_ID_IS_NOT_EXIST = "机组id不存在";
public static final String PART_ID_IS_NOT_EXIST = "部件id不存在";
public static final String IMAGE_SOURCE_I_NOT_EXIST_OR_ILLEGAL = "部件id不存在";
} }

View File

@ -1,12 +1,7 @@
package com.dite.znpt.converts; package com.dite.znpt.converts;
import com.dite.znpt.domain.entity.DefectEntity; import com.dite.znpt.domain.entity.*;
import com.dite.znpt.domain.entity.ImageCollectEntity; import com.dite.znpt.domain.vo.*;
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.Mapper;
import org.mapstruct.NullValuePropertyMappingStrategy; import org.mapstruct.NullValuePropertyMappingStrategy;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
@ -24,9 +19,23 @@ public interface Converts {
List<ImageEntity> toImageEntity(List<ImageReq> list); List<ImageEntity> toImageEntity(List<ImageReq> list);
List<ImageSimpleReq> toImageSimpleReq(List<OutWorkDefectReq> list);
ImageCollectEntity toImageCollectEntity(ImageCollectReq req); ImageCollectEntity toImageCollectEntity(ImageCollectReq req);
DefectEntity toDefectEntity(DefectReq req); DefectEntity toDefectEntity(DefectReq req);
DefectResp toDefectResp(DefectEntity entity); DefectResp toDefectResp(DefectEntity entity);
ProjectResp toProjectResp(ProjectEntity entity);
ProjectEntity toProjectEntity(ProjectReq req);
TurbineEntity toTurbineEntity(TurbineReq req);
TurbineResp toTurbineResp(TurbineEntity entity);
PartEntity toPartEntity(PartReq req);
PartResp toPartResp(PartEntity entity);
} }

View File

@ -32,10 +32,6 @@ public class ImageCollectEntity extends AuditableEntity implements Serializable
@TableId(value = "collect_id", type = IdType.ASSIGN_UUID) @TableId(value = "collect_id", type = IdType.ASSIGN_UUID)
private String collectId; private String collectId;
@ApiModelProperty("部件id")
@TableField("part_id")
private String partId;
@ApiModelProperty("拍摄时间-起") @ApiModelProperty("拍摄时间-起")
@TableField("shooting_time_begin") @TableField("shooting_time_begin")
private LocalDateTime shootingTimeBegin; private LocalDateTime shootingTimeBegin;

View File

@ -33,6 +33,10 @@ public class ImageEntity extends AuditableEntity implements Serializable {
@TableId(value = "image_id", type = IdType.ASSIGN_UUID) @TableId(value = "image_id", type = IdType.ASSIGN_UUID)
private String imageId; private String imageId;
@ApiModelProperty("部件id")
@TableField("part_id")
private String partId;
@ApiModelProperty("图像采集id") @ApiModelProperty("图像采集id")
@TableField("collect_id") @TableField("collect_id")
private String collectId; private String collectId;

View File

@ -28,11 +28,6 @@ public class PartEntity extends AuditableEntity implements Serializable {
@TableId(value = "part_id", type = IdType.ASSIGN_UUID) @TableId(value = "part_id", type = IdType.ASSIGN_UUID)
private String partId; private String partId;
@ExcelProperty("项目id")
@ApiModelProperty("项目id")
@TableField("project_id")
private String projectId;
@ExcelProperty("机组id") @ExcelProperty("机组id")
@ApiModelProperty("机组id") @ApiModelProperty("机组id")
@TableField("turbine_id") @TableField("turbine_id")
@ -48,8 +43,8 @@ public class PartEntity extends AuditableEntity implements Serializable {
@TableField("part_code") @TableField("part_code")
private String partCode; private String partCode;
@ExcelProperty("类型,字典part_type") @ExcelProperty("类型,枚举PartTypeEnum")
@ApiModelProperty("类型,字典part_type") @ApiModelProperty("类型,枚举PartTypeEnum")
@TableField("part_type") @TableField("part_type")
private String partType; private String partType;
@ -60,12 +55,12 @@ public class PartEntity extends AuditableEntity implements Serializable {
@ExcelProperty("厂商") @ExcelProperty("厂商")
@ApiModelProperty("厂商") @ApiModelProperty("厂商")
@TableField("manufacturer") @TableField("part_manufacturer")
private String manufacturer; private String partManufacturer;
@ExcelProperty("型号") @ExcelProperty("型号")
@ApiModelProperty("型号") @ApiModelProperty("型号")
@TableField("model") @TableField("part_model")
private String model; private String partModel;
} }

View File

@ -17,9 +17,9 @@ import com.alibaba.excel.annotation.ExcelProperty;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@TableName("personnel") @TableName("person")
@ApiModel(value="PersonnelEntity对象", description="人员信息表") @ApiModel(value="PersonEntity对象", description="人员信息表")
public class PersonnelEntity extends AuditableEntity implements Serializable { public class PersonEntity extends AuditableEntity implements Serializable {
private static final long serialVersionUID = -62273861742734411L; private static final long serialVersionUID = -62273861742734411L;

View File

@ -83,12 +83,12 @@ public class ProjectEntity extends AuditableEntity implements Serializable {
private String turbineModel; private String turbineModel;
@ApiModelProperty("施工人员") @ApiModelProperty("施工人员")
@TableField("construction_personnel") @TableField("construction_person")
private String constructionPersonnel; private String constructionPerson;
@ApiModelProperty("施工人员id") @ApiModelProperty("施工人员id")
@TableField("construction_personnel_id") @TableField("construction_person_id")
private String constructionPersonnelId; private String constructionPersonId;
@ApiModelProperty("安全员id") @ApiModelProperty("安全员id")
@TableField("auditor_id") @TableField("auditor_id")

View File

@ -38,6 +38,11 @@ public class TurbineEntity extends AuditableEntity implements Serializable {
@TableField("turbine_name") @TableField("turbine_name")
private String turbineName; private String turbineName;
@ExcelProperty("机组编码")
@ApiModelProperty("机组编码")
@TableField("turbine_code")
private String turbineCode;
@ExcelProperty("机组描述") @ExcelProperty("机组描述")
@ApiModelProperty("机组描述") @ApiModelProperty("机组描述")
@TableField("turbine_desc") @TableField("turbine_desc")
@ -45,17 +50,17 @@ public class TurbineEntity extends AuditableEntity implements Serializable {
@ExcelProperty("机组厂商") @ExcelProperty("机组厂商")
@ApiModelProperty("机组厂商") @ApiModelProperty("机组厂商")
@TableField("manufacturer") @TableField("turbine_manufacturer")
private String manufacturer; private String turbineManufacturer;
@ExcelProperty("机组型号") @ExcelProperty("机组型号")
@ApiModelProperty("机组型号") @ApiModelProperty("机组型号")
@TableField("model") @TableField("turbine_model")
private String model; private String turbineModel;
@ApiModelProperty("封面图") @ApiModelProperty("封面图")
@TableField("cover_url") @TableField("turbine_cover_url")
private String coverUrl; private String turbineCoverUrl;
@ApiModelProperty("状态0待施工1施工中2已完工3已审核4已验收") @ApiModelProperty("状态0待施工1施工中2已完工3已审核4已验收")
@TableField("status") @TableField("status")

View File

@ -0,0 +1,29 @@
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/5/11 22:29
* @Description:
*/
@Data
@ApiModel("图像简要信息请求实体")
public class ImageSimpleReq implements Serializable {
@Serial
private static final long serialVersionUID = 4813411833253078204L;
@ApiModelProperty(name = "部件id", required = true)
private String partId;
@ApiModelProperty(name = "图像来源枚举ImageSourceEnum", required = true)
private String imageSource;
@ApiModelProperty(name = "图像路径", required = true)
private String imagePath;
}

View File

@ -0,0 +1,27 @@
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/5/11 21:20
* @Description:
*/
@Data
@ApiModel("外部工作上报缺陷请求实体")
public class OutWorkDefectReq extends DefectReq implements Serializable {
@Serial
private static final long serialVersionUID = -9109852601298547208L;
@ApiModelProperty(name = "图像路径", required = true)
private String imagePath;
@ApiModelProperty(name = "部件id", required = true)
private String partId;
}

View File

@ -12,7 +12,7 @@ import lombok.Data;
* @Description: 请求实体 * @Description: 请求实体
*/ */
@Data @Data
@ApiModel("列表请求实体") @ApiModel("部件列表请求实体")
public class PartListReq implements Serializable { public class PartListReq implements Serializable {
private static final long serialVersionUID = 118135700439578757L; private static final long serialVersionUID = 118135700439578757L;
@ -20,32 +20,20 @@ public class PartListReq implements Serializable {
@ApiModelProperty("查询关键字") @ApiModelProperty("查询关键字")
private String keyword; private String keyword;
@ApiModelProperty("Id") @ApiModelProperty(name = "项目id", required = true)
private String partId;
@ApiModelProperty("项目id")
private String projectId; private String projectId;
@ApiModelProperty("机组id") @ApiModelProperty(name = "机组id", required = true)
private String turbineId; private String turbineId;
@ApiModelProperty("名称") @ApiModelProperty("类型枚举PartTypeEnum")
private String partName;
@ApiModelProperty("编号")
private String partCode;
@ApiModelProperty("类型字典part_type")
private String partType; private String partType;
@ApiModelProperty("描述")
private String partDesc;
@ApiModelProperty("厂商") @ApiModelProperty("厂商")
private String manufacturer; private String partManufacturer;
@ApiModelProperty("型号") @ApiModelProperty("型号")
private String model; private String partModel;
} }

View File

@ -0,0 +1,48 @@
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/5/7 21:50
* @Description:
*/
@Data
@ApiModel("部件列表响应实体")
public class PartListResp implements Serializable {
@Serial
private static final long serialVersionUID = -8081226536055269084L;
@ApiModelProperty("部件id")
private String partId;
@ApiModelProperty("项目id")
private String projectId;
@ApiModelProperty("项目名称")
private String projectName;
@ApiModelProperty("机组id")
private String turbineId;
@ApiModelProperty("机组名称")
private String turbineName;
@ApiModelProperty("名称")
private String partName;
@ApiModelProperty("编号")
private String partCode;
@ApiModelProperty("类型枚举PartTypeEnum")
private String partType;
@ApiModelProperty("类型枚举PartTypeEnum")
private String partTypeLabel;
}

View File

@ -0,0 +1,42 @@
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/5/7 21:51
* @Description:
*/
@Data
@ApiModel("部件请求实体")
public class PartReq implements Serializable {
@Serial
private static final long serialVersionUID = -585044340118904985L;
@ApiModelProperty("机组id")
private String turbineId;
@ApiModelProperty("名称")
private String partName;
@ApiModelProperty("编号")
private String partCode;
@ApiModelProperty("类型枚举PartTypeEnum")
private String partType;
@ApiModelProperty("描述")
private String partDesc;
@ApiModelProperty("厂商")
private String PartManufacturer;
@ApiModelProperty("型号")
private String PartModel;
}

View File

@ -1,9 +1,11 @@
package com.dite.znpt.domain.vo; package com.dite.znpt.domain.vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import com.dite.znpt.domain.entity.PartEntity; import java.io.Serial;
import java.io.Serializable;
/** /**
* @author huise23 * @author huise23
@ -11,8 +13,46 @@ import com.dite.znpt.domain.entity.PartEntity;
* @Description: 响应实体 * @Description: 响应实体
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @ApiModel("部件响应实体")
@ApiModel("响应实体") public class PartResp implements Serializable {
public class PartResp extends PartEntity {
@Serial
private static final long serialVersionUID = -4457194361289992312L;
@ApiModelProperty("部件id")
private String partId;
@ApiModelProperty("项目id")
private String projectId;
@ApiModelProperty("机组")
private String projectName;
@ApiModelProperty("机组id")
private String turbineId;
@ApiModelProperty("机组名称")
private String turbineName;
@ApiModelProperty("名称")
private String partName;
@ApiModelProperty("编号")
private String partCode;
@ApiModelProperty("类型枚举PartTypeEnum")
private String partType;
@ApiModelProperty("类型描述")
private String partTypeLabel;
@ApiModelProperty("描述")
private String partDesc;
@ApiModelProperty("厂商")
private String partManufacturer;
@ApiModelProperty("型号")
private String partModel;
} }

View File

@ -13,7 +13,7 @@ import lombok.Data;
*/ */
@Data @Data
@ApiModel("人员信息列表请求实体") @ApiModel("人员信息列表请求实体")
public class PersonnelListReq implements Serializable { public class PersonListReq implements Serializable {
private static final long serialVersionUID = -10363935468256543L; private static final long serialVersionUID = -10363935468256543L;

View File

@ -3,7 +3,7 @@ package com.dite.znpt.domain.vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import com.dite.znpt.domain.entity.PersonnelEntity; import com.dite.znpt.domain.entity.PersonEntity;
/** /**
* @author huise23 * @author huise23
@ -13,6 +13,6 @@ import com.dite.znpt.domain.entity.PersonnelEntity;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel("人员信息响应实体") @ApiModel("人员信息响应实体")
public class PersonnelResp extends PersonnelEntity { public class PersonResp extends PersonEntity {
} }

View File

@ -1,6 +1,7 @@
package com.dite.znpt.domain.vo; package com.dite.znpt.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -19,9 +20,6 @@ public class ProjectListReq implements Serializable {
private static final long serialVersionUID = -74121355744234753L; private static final long serialVersionUID = -74121355744234753L;
@ApiModelProperty("查询关键字")
private String keyword;
@ApiModelProperty("项目名称") @ApiModelProperty("项目名称")
private String projectName; private String projectName;
@ -37,11 +35,13 @@ public class ProjectListReq implements Serializable {
@ApiModelProperty("项目状态枚举ProjectStatusEnum") @ApiModelProperty("项目状态枚举ProjectStatusEnum")
private String status; private String status;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("创建日期-起") @ApiModelProperty("创建日期-起")
private LocalDate createDateBegin; private String createDateBegin;
@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty("创建日期-讫") @ApiModelProperty("创建日期-讫")
private LocalDate createDateEnd; private String createDateEnd;
} }

View File

@ -1,5 +1,6 @@
package com.dite.znpt.domain.vo; package com.dite.znpt.domain.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -19,15 +20,18 @@ public class ProjectReq implements Serializable {
@Serial @Serial
private static final long serialVersionUID = 740685592879189406L; private static final long serialVersionUID = 740685592879189406L;
@ExcelProperty("项目名称")
@ApiModelProperty("项目名称") @ApiModelProperty("项目名称")
private String projectName; private String projectName;
@ApiModelProperty("项目封面") @ApiModelProperty("项目封面")
private String coverUrl; private String coverUrl;
@ExcelProperty("风场名称")
@ApiModelProperty("风场名称") @ApiModelProperty("风场名称")
private String farmName; private String farmName;
@ExcelProperty("风场地址")
@ApiModelProperty("风场地址") @ApiModelProperty("风场地址")
private String farmAddress; private String farmAddress;
@ -49,17 +53,19 @@ public class ProjectReq implements Serializable {
@ApiModelProperty("检查单位联系电话") @ApiModelProperty("检查单位联系电话")
private String inspectionPhone; private String inspectionPhone;
@ExcelProperty("项目规模")
@ApiModelProperty("项目规模") @ApiModelProperty("项目规模")
private String scale; private String scale;
@ExcelProperty("风机型号")
@ApiModelProperty("风机型号") @ApiModelProperty("风机型号")
private String turbineModel; private String turbineModel;
@ApiModelProperty("施工人员")
private String constructionPersonnel;
@ApiModelProperty("施工人员id") @ApiModelProperty("施工人员id")
private String constructionPersonnelId; private String constructionPersonId;
@ApiModelProperty("施工人员")
private String constructionPersonName;
@ApiModelProperty("安全员id") @ApiModelProperty("安全员id")
private String auditorId; private String auditorId;
@ -89,7 +95,7 @@ public class ProjectReq implements Serializable {
private String discloseContent; private String discloseContent;
@ApiModelProperty("状态0待施工1施工中2已完工3已审核4已验收") @ApiModelProperty("状态0待施工1施工中2已完工3已审核4已验收")
private Integer status; private String status;
@ApiModelProperty("项目工作类型 可能有多项,逗号分隔") @ApiModelProperty("项目工作类型 可能有多项,逗号分隔")
private String workType; private String workType;

View File

@ -26,7 +26,23 @@ public class ProjectResp extends ProjectReq implements Serializable {
@Serial @Serial
private static final long serialVersionUID = -1883901559600186726L; private static final long serialVersionUID = -1883901559600186726L;
@ExcelProperty("项目id")
@ApiModelProperty("项目id") @ApiModelProperty("项目id")
private String projectId; private String projectId;
@ApiModelProperty("安全员")
private String auditorName;
@ApiModelProperty("质量员")
private String qualityOfficerName;
@ApiModelProperty("项目经理")
private String projectManagerName;
@ApiModelProperty("施工组长")
private String constructionTeamLeaderName;
@ApiModelProperty("状态0待施工1施工中2已完工3已审核4已验收")
private String statusLabel;
} }

View File

@ -0,0 +1,25 @@
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;
import java.util.List;
/**
* @Author: gaoxiong
* @Date: 2025/5/7 22:17
* @Description:
*/
@Data
@ApiModel("机组明细响应实体")
public class TurbineInfoResp extends TurbineResp implements Serializable {
@Serial
private static final long serialVersionUID = 5493448541358665068L;
@ApiModelProperty("部件信息")
private List<PartResp> partRespList;
}

View File

@ -12,31 +12,25 @@ import lombok.Data;
* @Description: 机组-项目关联请求实体 * @Description: 机组-项目关联请求实体
*/ */
@Data @Data
@ApiModel("机组-项目关联列表请求实体") @ApiModel("机组列表请求实体")
public class TurbineListReq implements Serializable { public class TurbineListReq implements Serializable {
private static final long serialVersionUID = 141552424945497346L; private static final long serialVersionUID = 141552424945497346L;
@ApiModelProperty("查询关键字") @ApiModelProperty(name = "项目id", required = true)
private String keyword;
@ApiModelProperty("机组-项目关联Id")
private String turbineId;
@ApiModelProperty("项目id")
private String projectId; private String projectId;
@ApiModelProperty("机组名称") @ApiModelProperty("查询关键字")
private String turbineName; private String keyword;
@ApiModelProperty("机组描述") @ApiModelProperty("机组描述")
private String turbineDesc; private String turbineDesc;
@ApiModelProperty("机组厂商") @ApiModelProperty("机组厂商")
private String manufacturer; private String turbineManufacturer;
@ApiModelProperty("机组型号") @ApiModelProperty("机组型号")
private String model; private String turbineModel;
} }

View File

@ -0,0 +1,57 @@
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 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.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* @author huise23
* @date 2025/04/11 23:17
* @Description: 机组-项目关联响应实体
*/
@Data
@ApiModel("机组列表响应实体")
public class TurbineListResp implements Serializable {
@Serial
private static final long serialVersionUID = 8391079826638511248L;
@ApiModelProperty("机组号")
private String turbineId;
@ApiModelProperty("项目id")
private String projectId;
@ApiModelProperty("项目名称")
private String projectName;
@ApiModelProperty("机组名称")
private String turbineName;
@ApiModelProperty("机组编码")
private String turbineCode;
@ApiModelProperty("机组描述")
private String turbineDesc;
@ApiModelProperty("机组厂商")
private String turbineManufacturer;
@ApiModelProperty("机组型号")
private String turbineModel;
@ApiModelProperty("封面图")
private String turbineCoverUrl;
}

View File

@ -0,0 +1,45 @@
package com.dite.znpt.domain.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
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/5/7 21:44
* @Description:
*/
@Data
@ApiModel("机组请求实体")
public class TurbineReq implements Serializable {
@Serial
private static final long serialVersionUID = 115092978850852080L;
@ApiModelProperty("项目id")
private String projectId;
@ApiModelProperty("机组名称")
private String turbineName;
@ApiModelProperty("机组编码")
private String turbineCode;
@ApiModelProperty("机组描述")
private String turbineDesc;
@ApiModelProperty("机组厂商")
private String turbineManufacturer;
@ApiModelProperty("机组型号")
private String turbineModel;
@ApiModelProperty("封面图")
private String turbineCoverUrl;
}

View File

@ -1,61 +1,48 @@
package com.dite.znpt.domain.vo; package com.dite.znpt.domain.vo;
import com.dite.znpt.domain.entity.PartEntity;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import com.dite.znpt.domain.entity.TurbineEntity;
import java.util.List; import java.io.Serial;
import java.io.Serializable;
/** /**
* @author huise23 * @Author: gaoxiong
* @date 2025/04/11 23:17 * @Date: 2025/5/7 21:44
* @Description: 机组-项目关联响应实体 * @Description:
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @ApiModel("机组响应实体")
@ApiModel("机组-项目关联响应实体") public class TurbineResp implements Serializable {
public class TurbineResp extends TurbineEntity { @Serial
private static final long serialVersionUID = -1403719853347580858L;
@ApiModelProperty("部件") @ApiModelProperty("机组号")
private List<PartEntity> partsList; private String turbineId;
@ApiModelProperty("内部工作状态, -1不存在0未开始、1开始施工、2已提交报告、3审核通过") @ApiModelProperty("项目id")
private String antiThunderWorkStatus; private String projectId;
@ApiModelProperty("外部工作状态, -1不存在0未开始、1开始施工、2已提交报告、3审核通过") @ApiModelProperty("项目名称")
private String inWorkStatus; private String projectName;
@ApiModelProperty("防雷工作状态, -1不存在0未开始、1开始施工、2已提交报告、3审核通过") @ApiModelProperty("机组名称")
private String outWorkStatus; private String turbineName;
@ApiModelProperty("数据报告工作状态, -1不存在0未开始、1开始施工、2已提交报告、3审核通过") @ApiModelProperty("机组编码")
private String summaryWorkStatus; private String turbineCode;
@ApiModelProperty("内部工作安全员审核状态, -1不存在0未审核、1审核通过") @ApiModelProperty("机组描述")
private String antiThunderWorkSafetyStatus; private String turbineDesc;
@ApiModelProperty("外部工作安全员审核状态, -1不存在0未审核、1审核通过") @ApiModelProperty("机组厂商")
private String inWorkSafetyStatus; private String turbineManufacturer;
@ApiModelProperty("防雷工作安全员审核状态, -1不存在0未审核、1审核通过") @ApiModelProperty("机组型号")
private String outWorkSafetyStatus; private String turbineModel;
@ApiModelProperty("内部工作质量员审核状态, -1不存在0未审核、1审核通过") @ApiModelProperty("封面图")
private String antiThunderWorkQualityStatus; private String turbineCoverUrl;
@ApiModelProperty("外部工作质量员审核状态, -1不存在0未审核、1审核通过")
private String inWorkQualityStatus;
@ApiModelProperty("防雷工作质量员审核状态, -1不存在0未审核、1审核通过")
private String outWorkQualityStatus;
@ApiModelProperty("防雷是否不合格1不合格0合格")
private Boolean lightningUnqualified;
@ApiModelProperty("来源, appbackend后台不传参默认后台")
private String source;
} }

View File

@ -14,7 +14,8 @@ import java.util.List;
@Getter @Getter
public enum DefectSourceEnum { public enum DefectSourceEnum {
AI("AI", "智能识别"), AI("AI", "智能识别"),
MANUAL("MANUAL", "人工标注"); MANUAL("MANUAL", "人工标注"),
OUT_WORK("MANUAL", "外部工作");
private final String code; private final String code;
private final String desc; private final String desc;

View File

@ -0,0 +1,55 @@
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/5/11 23:35
* @Description:
*/
@Getter
public enum ImageSourceEnum {
COLLECT("collect", "图像采集", Boolean.TRUE),
OUT_WORK("out-work", "外部工作", Boolean.TRUE),
LIGHTNING_PROTECTING_WORK("lightning-protection-work", "防雷工作", Boolean.FALSE);
private final String code;
private final String desc;
private final boolean isDefectImage;
ImageSourceEnum(String code, String desc, boolean isDefectImage){
this.code = code;
this.desc = desc;
this.isDefectImage = isDefectImage;
}
public static ImageSourceEnum getByCode(String code){
for (ImageSourceEnum e : ImageSourceEnum.values() ) {
if(e.code.equals(code)){
return e;
}
}
return null;
}
public static String getDescByCode(String code){
ImageSourceEnum e = getByCode(code);
return null == e ? null : e.desc;
}
public static List<JSONObject> list(Boolean isDefectImage){
List<JSONObject> list = new ArrayList<>(ImageSourceEnum.values().length);
for (ImageSourceEnum e : ImageSourceEnum.values() ) {
if(isDefectImage.equals(e.isDefectImage)){
JSONObject jsonObject = new JSONObject();
jsonObject.set(e.code, e.desc);
list.add(jsonObject);
}
}
return list;
}
}

View File

@ -0,0 +1,53 @@
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/5/7 21:22
* @Description:
*/
@Getter
public enum PartTypeEnum {
CABIN("CABIN", "机舱"),
VANE_1("VANE-1", "叶片1"),
VANE_2("VANE-2", "叶片2"),
VANE_3("VANE-3", "叶片3"),
TOWER("TOWER", "塔筒");
private final String code;
private final String desc;
PartTypeEnum(String code, String desc){
this.code = code;
this.desc = desc;
}
public static PartTypeEnum getByCode(String code){
for (PartTypeEnum e : PartTypeEnum.values() ) {
if(e.code.equals(code)){
return e;
}
}
return null;
}
public static String getDescByCode(String code){
PartTypeEnum e = getByCode(code);
return null == e ? null : e.desc;
}
public static List<JSONObject> listAll(){
List<JSONObject> list = new ArrayList<>(PartTypeEnum.values().length);
for (PartTypeEnum e : PartTypeEnum.values() ) {
JSONObject jsonObject = new JSONObject();
jsonObject.set(e.code, e.desc);
list.add(jsonObject);
}
return list;
}
}

View File

@ -3,6 +3,7 @@ package com.dite.znpt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dite.znpt.domain.entity.PartEntity; import com.dite.znpt.domain.entity.PartEntity;
import com.dite.znpt.domain.vo.PartListReq; import com.dite.znpt.domain.vo.PartListReq;
import com.dite.znpt.domain.vo.PartListResp;
import com.dite.znpt.domain.vo.PartResp; import com.dite.znpt.domain.vo.PartResp;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -14,6 +15,6 @@ import java.util.List;
* @Description: 表数据库访问层 * @Description: 表数据库访问层
*/ */
public interface PartMapper extends BaseMapper<PartEntity> { public interface PartMapper extends BaseMapper<PartEntity> {
List<PartResp> queryBySelective(PartListReq partReq); List<PartListResp> queryBySelective(PartListReq partReq);
} }

View File

@ -1,10 +1,9 @@
package com.dite.znpt.mapper; package com.dite.znpt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dite.znpt.domain.entity.PersonnelEntity; import com.dite.znpt.domain.entity.PersonEntity;
import com.dite.znpt.domain.vo.PersonnelListReq; import com.dite.znpt.domain.vo.PersonListReq;
import com.dite.znpt.domain.vo.PersonnelResp; import com.dite.znpt.domain.vo.PersonResp;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -13,7 +12,7 @@ import java.util.List;
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
* @Description: 人员信息表数据库访问层 * @Description: 人员信息表数据库访问层
*/ */
public interface PersonnelMapper extends BaseMapper<PersonnelEntity> { public interface PersonnelMapper extends BaseMapper<PersonEntity> {
List<PersonnelResp> queryBySelective(PersonnelListReq personnelReq); List<PersonResp> queryBySelective(PersonListReq personnelReq);
} }

View File

@ -3,6 +3,7 @@ package com.dite.znpt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dite.znpt.domain.entity.ProjectEntity; import com.dite.znpt.domain.entity.ProjectEntity;
import com.dite.znpt.domain.vo.ProjectListReq; import com.dite.znpt.domain.vo.ProjectListReq;
import com.dite.znpt.domain.vo.ProjectListResp;
import com.dite.znpt.domain.vo.ProjectResp; import com.dite.znpt.domain.vo.ProjectResp;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -14,6 +15,6 @@ import java.util.List;
* @Description: 项目信息表数据库访问层 * @Description: 项目信息表数据库访问层
*/ */
public interface ProjectMapper extends BaseMapper<ProjectEntity> { public interface ProjectMapper extends BaseMapper<ProjectEntity> {
List<ProjectResp> queryBySelective(ProjectListReq projectReq); List<ProjectListResp> queryBySelective(ProjectListReq projectReq);
} }

View File

@ -2,9 +2,9 @@ package com.dite.znpt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dite.znpt.domain.entity.TurbineEntity; import com.dite.znpt.domain.entity.TurbineEntity;
import com.dite.znpt.domain.vo.TurbineInfoResp;
import com.dite.znpt.domain.vo.TurbineListReq; import com.dite.znpt.domain.vo.TurbineListReq;
import com.dite.znpt.domain.vo.TurbineResp; import com.dite.znpt.domain.vo.TurbineListResp;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -14,6 +14,8 @@ import java.util.List;
* @Description: 机组-项目关联表数据库访问层 * @Description: 机组-项目关联表数据库访问层
*/ */
public interface TurbineMapper extends BaseMapper<TurbineEntity> { public interface TurbineMapper extends BaseMapper<TurbineEntity> {
List<TurbineResp> queryBySelective(TurbineListReq turbineReq); List<TurbineListResp> queryBySelective(TurbineListReq turbineReq);
List<TurbineInfoResp> listTurbineInfo(TurbineListReq turbineReq);
TurbineInfoResp getTurbineInfo(String turbineId);
} }

View File

@ -5,6 +5,7 @@ import com.dite.znpt.domain.entity.DefectEntity;
import com.dite.znpt.domain.vo.DefectListReq; import com.dite.znpt.domain.vo.DefectListReq;
import com.dite.znpt.domain.vo.DefectReq; import com.dite.znpt.domain.vo.DefectReq;
import com.dite.znpt.domain.vo.DefectResp; import com.dite.znpt.domain.vo.DefectResp;
import com.dite.znpt.domain.vo.OutWorkDefectReq;
import java.util.List; import java.util.List;
@ -47,6 +48,15 @@ public interface DefectService extends IService<DefectEntity> {
**/ **/
void save(String imageId, DefectReq req); void save(String imageId, DefectReq req);
/**
* 功能描述新增外部工作缺陷记录
*
* @param list
* @author huise23
* @date 2025/04/11 23:17
**/
List<DefectEntity> saveOutWorkDefect(List<OutWorkDefectReq> list);
/** /**
* 功能描述更新缺陷记录 * 功能描述更新缺陷记录
* *

View File

@ -10,5 +10,5 @@ import com.dite.znpt.domain.vo.ImageCollectReq;
* @Description: * @Description:
*/ */
public interface ImageCollectService extends IService<ImageCollectEntity> { public interface ImageCollectService extends IService<ImageCollectEntity> {
void save(String departId, ImageCollectReq req); void save(String partId, ImageCollectReq req);
} }

View File

@ -2,12 +2,10 @@ package com.dite.znpt.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.dite.znpt.domain.entity.ImageEntity; import com.dite.znpt.domain.entity.ImageEntity;
import com.dite.znpt.domain.vo.ImageListReq; import com.dite.znpt.domain.vo.*;
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 org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List; import java.util.List;
/** /**
@ -21,9 +19,13 @@ public interface ImageService extends IService<ImageEntity> {
List<ImageListResp> page(ImageListReq req); List<ImageListResp> page(ImageListReq req);
List<ImageEntity> batchSaveByImageSimpleReq(List<ImageSimpleReq> list);
ImageResp detail(String imageId); ImageResp detail(String imageId);
List<ImageReq> batchUpload(String departId, MultipartFile[] files); List<ImageReq> batchUploadDefectImage(String partId, String imageSource, MultipartFile[] files);
String uploadCommonImage(String imageSource, MultipartFile file) throws IOException;
void delete(String imageId); void delete(String imageId);
} }

View File

@ -3,6 +3,8 @@ package com.dite.znpt.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.dite.znpt.domain.entity.PartEntity; import com.dite.znpt.domain.entity.PartEntity;
import com.dite.znpt.domain.vo.PartListReq; import com.dite.znpt.domain.vo.PartListReq;
import com.dite.znpt.domain.vo.PartListResp;
import com.dite.znpt.domain.vo.PartReq;
import com.dite.znpt.domain.vo.PartResp; import com.dite.znpt.domain.vo.PartResp;
import java.util.List; import java.util.List;
@ -15,14 +17,24 @@ import java.util.List;
public interface PartService extends IService<PartEntity> { public interface PartService extends IService<PartEntity> {
/** /**
* 功能描述查询列表 * 功能描述分页查询列表
* *
* @param partReq * @param partReq
* @return {@link List }<{@link PartEntity }> * @return {@link List }<{@link PartListResp }>
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
List<PartResp> selectList(PartListReq partReq); List<PartListResp> page(PartListReq partReq);
/**
* 功能描述查询列表
*
* @param partReq
* @return {@link List }<{@link PartListResp }>
* @author huise23
* @date 2025/04/11 23:17
**/
List<PartListResp> list(PartListReq partReq);
/** /**
* 功能描述查询单条 * 功能描述查询单条
@ -32,25 +44,25 @@ public interface PartService extends IService<PartEntity> {
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
PartResp selectById(String partId); PartResp detail(String partId);
/** /**
* 功能描述新增 * 功能描述新增
* *
* @param part * @param req
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
void saveData(PartEntity part); void save(PartReq req);
/** /**
* 功能描述更新 * 功能描述更新
* *
* @param part * @param req
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
void updateData(PartEntity part); void update(String partId, PartReq req);
/** /**
* 功能描述删除 * 功能描述删除
@ -60,5 +72,15 @@ public interface PartService extends IService<PartEntity> {
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
void deleteById(String partId); void deleteById(String partId);
/**
* 功能描述删除
*
* @param turbineIds 机组id
* @author huise23
* @date 2025/04/11 23:17
**/
void deleteByTurbineIds(List<String> turbineIds);
} }

View File

@ -1,9 +1,9 @@
package com.dite.znpt.service; package com.dite.znpt.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.dite.znpt.domain.entity.PersonnelEntity; import com.dite.znpt.domain.entity.PersonEntity;
import com.dite.znpt.domain.vo.PersonnelListReq; import com.dite.znpt.domain.vo.PersonListReq;
import com.dite.znpt.domain.vo.PersonnelResp; import com.dite.znpt.domain.vo.PersonResp;
import java.util.List; import java.util.List;
@ -12,27 +12,27 @@ import java.util.List;
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
* @Description: 人员信息表服务接口 * @Description: 人员信息表服务接口
*/ */
public interface PersonnelService extends IService<PersonnelEntity> { public interface PersonService extends IService<PersonEntity> {
/** /**
* 功能描述查询人员信息列表 * 功能描述查询人员信息列表
* *
* @param personnelReq 人员信息 * @param personnelReq 人员信息
* @return {@link List }<{@link PersonnelEntity }> * @return {@link List }<{@link PersonEntity }>
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
List<PersonnelResp> selectList(PersonnelListReq personnelReq); List<PersonResp> selectList(PersonListReq personnelReq);
/** /**
* 功能描述查询单条人员信息 * 功能描述查询单条人员信息
* *
* @param personId 人员信息Id * @param personId 人员信息Id
* @return {@link PersonnelResp } * @return {@link PersonResp }
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
PersonnelResp selectById(String personId); PersonResp selectById(String personId);
/** /**
* 功能描述新增人员信息 * 功能描述新增人员信息
@ -41,7 +41,7 @@ public interface PersonnelService extends IService<PersonnelEntity> {
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
void saveData(PersonnelEntity personnel); void saveData(PersonEntity personnel);
/** /**
* 功能描述更新人员信息 * 功能描述更新人员信息
@ -50,7 +50,7 @@ public interface PersonnelService extends IService<PersonnelEntity> {
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
void updateData(PersonnelEntity personnel); void updateData(PersonEntity personnel);
/** /**
* 功能描述删除人员信息 * 功能描述删除人员信息

View File

@ -2,8 +2,7 @@ package com.dite.znpt.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.dite.znpt.domain.entity.TurbineEntity; import com.dite.znpt.domain.entity.TurbineEntity;
import com.dite.znpt.domain.vo.TurbineListReq; import com.dite.znpt.domain.vo.*;
import com.dite.znpt.domain.vo.TurbineResp;
import java.util.List; import java.util.List;
@ -15,50 +14,90 @@ import java.util.List;
public interface TurbineService extends IService<TurbineEntity> { public interface TurbineService extends IService<TurbineEntity> {
/** /**
* 功能描述查询机组-项目关联列表 * 功能描述分页查询机组列表
* *
* @param turbineReq 机组-项目关联 * @param req
* @return {@link List }<{@link TurbineEntity }> * @return {@link List }<{@link TurbineListResp }>
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
List<TurbineResp> selectList(TurbineListReq turbineReq); List<TurbineListResp> page(TurbineListReq req);
/** /**
* 功能描述查询单条机组-项目关联 * 功能描述查询机组列表
* *
* @param turbineId 机组-项目关联Id * @param req
* @return {@link List }<{@link TurbineListResp }>
* @author huise23
* @date 2025/04/11 23:17
**/
List<TurbineListResp> list(TurbineListReq req);
/**
* 功能描述查询机组明细列表
*
* @param req
* @return {@link List }<{@link TurbineInfoResp }>
* @author huise23
* @date 2025/04/11 23:17
**/
List<TurbineInfoResp> listInfo(TurbineListReq req);
/**
* 功能描述查询指定机组详情
*
* @param turbineId 机组Id
* @return {@link TurbineResp } * @return {@link TurbineResp }
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
TurbineResp selectById(String turbineId); TurbineResp detail(String turbineId);
/** /**
* 功能描述新增机组-项目关联 * 功能描述查询指定机组明细内信息
* *
* @param turbine 机组-项目关联 * @param turbineId 机组Id
* @return {@link TurbineListResp }
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
void saveData(TurbineEntity turbine); TurbineInfoResp info(String turbineId);
/** /**
* 功能描述更新机组-项目关联 * 功能描述机组
* *
* @param turbine 机组-项目关联 * @param req
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
void updateData(TurbineEntity turbine); void save(TurbineReq req);
/** /**
* 功能描述删除机组-项目关联 * 功能描述更新机组
* *
* @param turbineId 机组-项目关联Id * @param turbineId
* @param req
* @author huise23
* @date 2025/04/11 23:17
**/
void update(String turbineId, TurbineReq req);
/**
* 功能描述删除机组
*
* @param turbineId 机组Id
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
void deleteById(String turbineId); void deleteById(String turbineId);
/**
* 功能描述删除机组
*
* @param projectId 项目id
* @author huise23
* @date 2025/04/11 23:17
**/
void deleteByProjectId(String projectId);
} }

View File

@ -1,12 +1,12 @@
package com.dite.znpt.service.impl; package com.dite.znpt.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dite.znpt.constant.Message; import com.dite.znpt.constant.Message;
import com.dite.znpt.converts.Converts; import com.dite.znpt.converts.Converts;
import com.dite.znpt.domain.entity.DefectEntity; import com.dite.znpt.domain.entity.DefectEntity;
import com.dite.znpt.domain.vo.DefectListReq; import com.dite.znpt.domain.entity.ImageEntity;
import com.dite.znpt.domain.vo.DefectReq; import com.dite.znpt.domain.vo.*;
import com.dite.znpt.domain.vo.DefectResp;
import com.dite.znpt.enums.DefectSourceEnum; import com.dite.znpt.enums.DefectSourceEnum;
import com.dite.znpt.enums.DefectTypeEnum; import com.dite.znpt.enums.DefectTypeEnum;
import com.dite.znpt.enums.RepairStatusEnum; import com.dite.znpt.enums.RepairStatusEnum;
@ -15,13 +15,16 @@ import com.dite.znpt.service.DefectService;
import com.dite.znpt.mapper.DefectMapper; import com.dite.znpt.mapper.DefectMapper;
import com.dite.znpt.service.ImageService; import com.dite.znpt.service.ImageService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cn.hutool.core.collection.CollUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import com.dite.znpt.util.PageUtil; import com.dite.znpt.util.PageUtil;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/** /**
* @author huise23 * @author huise23
@ -87,9 +90,35 @@ public class DefectServiceImpl extends ServiceImpl<DefectMapper, DefectEntity> i
throw new ServiceException(Message.IMAGE_ID_IS_NOT_EXIST); throw new ServiceException(Message.IMAGE_ID_IS_NOT_EXIST);
} }
DefectEntity defectEntity = Converts.INSTANCE.toDefectEntity(req); DefectEntity defectEntity = Converts.INSTANCE.toDefectEntity(req);
defectEntity.setImageId(imageId);
this.save(defectEntity); this.save(defectEntity);
} }
/**
* 功能描述新增外部工作缺陷记录
*
* @param list
* @author huise23
* @date 2025/04/11 23:17
**/
@Override
public List<DefectEntity> saveOutWorkDefect(List<OutWorkDefectReq> list) {
List<ImageSimpleReq> imageSimpleReqList = Converts.INSTANCE.toImageSimpleReq(list);
List<ImageEntity> imageEntityList = imageService.batchSaveByImageSimpleReq(imageSimpleReqList);
Map<String, ImageEntity> imageMap = imageEntityList.stream().collect(Collectors.toMap(k->k.getPartId().concat(StrUtil.COLON).concat(k.getImagePath()), Function.identity()));
List<DefectEntity> defectEntityList = new ArrayList<>();
list.stream().forEach(req -> {
String key = req.getPartId().concat(StrUtil.COLON).concat(req.getImagePath());
if(imageMap.containsKey(key)){
DefectEntity defectEntity = Converts.INSTANCE.toDefectEntity(req);
defectEntity.setImageId(imageMap.get(key).getImageId());
defectEntityList.add(defectEntity);
}
});
this.saveBatch(defectEntityList);
return defectEntityList;
}
/** /**
* 功能描述更新缺陷记录 * 功能描述更新缺陷记录
* *

View File

@ -9,10 +9,12 @@ import com.dite.znpt.converts.Converts;
import com.dite.znpt.domain.entity.ImageCollectEntity; import com.dite.znpt.domain.entity.ImageCollectEntity;
import com.dite.znpt.domain.entity.ImageEntity; import com.dite.znpt.domain.entity.ImageEntity;
import com.dite.znpt.domain.vo.ImageCollectReq; import com.dite.znpt.domain.vo.ImageCollectReq;
import com.dite.znpt.enums.ImageSourceEnum;
import com.dite.znpt.exception.ServiceException; import com.dite.znpt.exception.ServiceException;
import com.dite.znpt.mapper.ImageCollectMapper; import com.dite.znpt.mapper.ImageCollectMapper;
import com.dite.znpt.service.ImageCollectService; import com.dite.znpt.service.ImageCollectService;
import com.dite.znpt.service.ImageService; import com.dite.znpt.service.ImageService;
import com.dite.znpt.service.PartService;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -35,26 +37,32 @@ public class ImageCollectServiceImpl extends ServiceImpl<ImageCollectMapper, Ima
@Resource @Resource
private ImageService imageService; private ImageService imageService;
@Resource
private PartService partService;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void save(String partId, ImageCollectReq req) { public void save(String partId, ImageCollectReq req) {
if(null == partService.getById(partId)){
throw new ServiceException(Message.PART_ID_IS_NOT_EXIST);
}
if(CollUtil.isEmpty(req.getImageList())){ if(CollUtil.isEmpty(req.getImageList())){
throw new ServiceException(Message.IMAGE_IS_EMPTY); throw new ServiceException(Message.IMAGE_IS_EMPTY);
} }
ImageCollectEntity imageCollect = Converts.INSTANCE.toImageCollectEntity(req); ImageCollectEntity imageCollect = Converts.INSTANCE.toImageCollectEntity(req);
imageCollect.setPartId(partId);
this.save(imageCollect); this.save(imageCollect);
List<ImageEntity> imageList = Converts.INSTANCE.toImageEntity(req.getImageList()); List<ImageEntity> imageList = Converts.INSTANCE.toImageEntity(req.getImageList());
String path_prefix = permPath.concat(StrUtil.BACKSLASH).concat(partId).concat(StrUtil.BACKSLASH); String path_prefix = permPath.concat(StrUtil.BACKSLASH).concat(ImageSourceEnum.COLLECT.getCode()).concat(StrUtil.BACKSLASH).concat(partId).concat(StrUtil.BACKSLASH);
imageList.stream().forEach(image -> { imageList.stream().forEach(image -> {
image.setPartId(partId);
image.setCollectId(imageCollect.getCollectId()); image.setCollectId(imageCollect.getCollectId());
String path = path_prefix + image.getImageName(); String path = path_prefix + image.getImageName();
File file = new File(image.getImagePath()); File file = new File(image.getImagePath());
if (file.exists()) { if (file.exists()) {
byte[] bytes = FileUtil.readBytes(file); byte[] bytes = FileUtil.readBytes(file);
FileUtil.writeBytes(bytes, path); FileUtil.writeBytes(bytes, path);
FileUtil.del(file);
image.setImagePath(path); image.setImagePath(path);
FileUtil.del(file);
}else { }else {
imageList.remove(image); imageList.remove(image);
} }

View File

@ -8,19 +8,17 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dite.znpt.constant.Message; import com.dite.znpt.constant.Message;
import com.dite.znpt.domain.entity.ImageEntity; import com.dite.znpt.domain.entity.ImageEntity;
import com.dite.znpt.domain.vo.ImageListReq; import com.dite.znpt.domain.entity.PartEntity;
import com.dite.znpt.domain.vo.ImageListResp; import com.dite.znpt.domain.vo.*;
import com.dite.znpt.domain.vo.ImageReq; import com.dite.znpt.enums.*;
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.exception.ServiceException;
import com.dite.znpt.mapper.ImageMapper; import com.dite.znpt.mapper.ImageMapper;
import com.dite.znpt.service.ImageCollectService; import com.dite.znpt.service.ImageCollectService;
import com.dite.znpt.service.ImageService; import com.dite.znpt.service.ImageService;
import com.dite.znpt.service.PartService;
import com.dite.znpt.util.EXIFUtil; import com.dite.znpt.util.EXIFUtil;
import com.dite.znpt.util.PageUtil; import com.dite.znpt.util.PageUtil;
import lombok.Getter;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -28,14 +26,19 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.File; import java.io.File;
import java.io.IOException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors;
/** /**
* @author Bear.G * @author Bear.G
@ -48,9 +51,14 @@ public class ImageServiceImpl extends ServiceImpl<ImageMapper, ImageEntity> impl
@Resource @Resource
private ImageCollectService imageCollectService; private ImageCollectService imageCollectService;
@Resource
private PartService partService;
@Value("${upload.temp-path}") @Value("${upload.temp-path}")
private String tempPath; private String tempPath;
@Value("${upload.perm-path}")
private String permPath;
@Override @Override
public List<ImageListResp> list(ImageListReq req) { public List<ImageListResp> list(ImageListReq req) {
List<ImageListResp> partList= this.baseMapper.queryImageList(req); List<ImageListResp> partList= this.baseMapper.queryImageList(req);
@ -68,22 +76,54 @@ public class ImageServiceImpl extends ServiceImpl<ImageMapper, ImageEntity> impl
return this.list(req); return this.list(req);
} }
@Override
public List<ImageEntity> batchSaveByImageSimpleReq(List<ImageSimpleReq> list){
List<ImageEntity> imageList = new ArrayList<>();
List<String> partIds = list.stream().map(ImageSimpleReq::getPartId).collect(Collectors.toList());
Map<String, PartEntity> partIdMap= partService.listByIds(partIds).stream().collect(Collectors.toMap(PartEntity::getPartId, Function.identity()));
list.stream().forEach(req -> {
if(partIdMap.containsKey(req.getPartId())){
String path_prefix = permPath.concat(StrUtil.BACKSLASH).concat(req.getImageSource()).concat(StrUtil.BACKSLASH).concat(req.getPartId()).concat(StrUtil.BACKSLASH);
String temp_path_prefix = tempPath.concat(StrUtil.BACKSLASH).concat(req.getImageSource()).concat(StrUtil.BACKSLASH).concat(req.getPartId()).concat(StrUtil.BACKSLASH);
File file = new File(req.getImagePath());
if(file.exists() && req.getImagePath().contains(temp_path_prefix)){
ImageEntity entity = new ImageEntity();
entity.setPartId(req.getPartId());
String path = path_prefix + StrUtil.removePrefix(req.getImagePath(), temp_path_prefix);
byte[] bytes = FileUtil.readBytes(file);
FileUtil.writeBytes(bytes, path);
FileUtil.del(file);
entity.setImagePath(path);
imageList.add(entity);
}
}
});
this.saveBatch(imageList);
return imageList;
}
@Override @Override
public ImageResp detail(String imageId) { public ImageResp detail(String imageId) {
ImageResp imageResp = this.baseMapper.detail(imageId); ImageResp imageResp = this.baseMapper.detail(imageId);
if(null != imageResp && null != imageResp.getImageCollectInfo()){
imageResp.getImageCollectInfo().setWeatherLabel(WeatherEnum.getDescByCode(imageResp.getImageCollectInfo().getWeather())); imageResp.getImageCollectInfo().setWeatherLabel(WeatherEnum.getDescByCode(imageResp.getImageCollectInfo().getWeather()));
imageResp.getImageCollectInfo().setShootingMethodLabel(ShootingMethodEnum.getDescByCode(imageResp.getImageCollectInfo().getShootingMethodLabel())); imageResp.getImageCollectInfo().setShootingMethodLabel(ShootingMethodEnum.getDescByCode(imageResp.getImageCollectInfo().getShootingMethodLabel()));
}
return imageResp; return imageResp;
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public List<ImageReq> batchUpload(String departId, MultipartFile[] files) { public List<ImageReq> batchUploadDefectImage(String partId, String imageSource, MultipartFile[] files) {
if(null == partService.getById(partId)){
throw new ServiceException(Message.PART_ID_IS_NOT_EXIST);
}
if(null == files || files.length == 0){ if(null == files || files.length == 0){
throw new ServiceException(Message.IMAGE_IS_EMPTY); throw new ServiceException(Message.IMAGE_IS_EMPTY);
} }
List<ImageReq> list = new ArrayList<>(files.length); List<ImageReq> list = new ArrayList<>(files.length);
String path_prefix = tempPath.concat(StrUtil.BACKSLASH).concat(departId).concat(StrUtil.BACKSLASH); String path_prefix = tempPath.concat(StrUtil.BACKSLASH).concat(imageSource).concat(StrUtil.BACKSLASH).concat(partId).concat(StrUtil.BACKSLASH);
for (MultipartFile file : files) { for (MultipartFile file : files) {
if (!file.isEmpty()) { if (!file.isEmpty()) {
try { try {
@ -98,6 +138,22 @@ public class ImageServiceImpl extends ServiceImpl<ImageMapper, ImageEntity> impl
return list; return list;
} }
@Override
public String uploadCommonImage(String imageSource, MultipartFile file) throws IOException {
if(null == file){
throw new ServiceException(Message.IMAGE_IS_EMPTY);
}
ImageSourceEnum imageSourceEnum = ImageSourceEnum.getByCode(imageSource);
if(null == imageSourceEnum || imageSourceEnum.isDefectImage()){
throw new ServiceException(Message.IMAGE_SOURCE_I_NOT_EXIST_OR_ILLEGAL);
}
String dateStr = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
String path_prefix = permPath.concat(StrUtil.BACKSLASH).concat(imageSource).concat(StrUtil.BACKSLASH).concat(dateStr).concat(StrUtil.BACKSLASH);
String path = path_prefix + file.getOriginalFilename();
FileUtil.writeBytes(file.getBytes(),path);
return path;
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void delete(String imageId) { public void delete(String imageId) {

View File

@ -1,16 +1,29 @@
package com.dite.znpt.service.impl; package com.dite.znpt.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.PartEntity; import com.dite.znpt.domain.entity.PartEntity;
import com.dite.znpt.domain.entity.ProjectEntity;
import com.dite.znpt.domain.entity.TurbineEntity;
import com.dite.znpt.domain.vo.PartListReq; import com.dite.znpt.domain.vo.PartListReq;
import com.dite.znpt.domain.vo.PartListResp;
import com.dite.znpt.domain.vo.PartReq;
import com.dite.znpt.domain.vo.PartResp; import com.dite.znpt.domain.vo.PartResp;
import com.dite.znpt.service.PartService; import com.dite.znpt.enums.PartTypeEnum;
import com.dite.znpt.exception.ServiceException;
import com.dite.znpt.mapper.PartMapper; import com.dite.znpt.mapper.PartMapper;
import org.springframework.stereotype.Service; import com.dite.znpt.service.PartService;
import cn.hutool.core.collection.CollUtil; import com.dite.znpt.service.ProjectService;
import lombok.RequiredArgsConstructor; import com.dite.znpt.service.TurbineService;
import com.dite.znpt.util.PageUtil; import com.dite.znpt.util.PageUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List; import java.util.List;
/** /**
@ -22,22 +35,42 @@ import java.util.List;
@RequiredArgsConstructor @RequiredArgsConstructor
public class PartServiceImpl extends ServiceImpl<PartMapper, PartEntity> implements PartService { public class PartServiceImpl extends ServiceImpl<PartMapper, PartEntity> implements PartService {
@Resource
private ProjectService projectService;
@Resource
private TurbineService turbineService;
/** /**
* 功能描述查询列表 * 功能描述分页查询列表
* *
* @param partReq 信息 * @param req 信息
* @return {@link List }<{@link PartResp }> * @return {@link List }<{@link PartListResp }>
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Override @Override
public List<PartResp> selectList(PartListReq partReq) { public List<PartListResp> page(PartListReq req) {
PageUtil.startPage(); PageUtil.startPage();
List<PartResp> partList= this.baseMapper.queryBySelective(partReq); return this.list(req);
partList.forEach(resp -> { }
/**
* 功能描述查询列表
*
* @param req 信息
* @return {@link List }<{@link PartListResp }>
* @author huise23
* @date 2025/04/11 23:17
**/
@Override
public List<PartListResp> list(PartListReq req) {
PageUtil.startPage();
List<PartListResp> list= this.baseMapper.queryBySelective(req);
list.forEach(resp -> {
resp.setPartTypeLabel(PartTypeEnum.getDescByCode(resp.getPartType()));
}); });
return partList; return list;
} }
/** /**
@ -49,38 +82,55 @@ public class PartServiceImpl extends ServiceImpl<PartMapper, PartEntity> impleme
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Override @Override
public PartResp selectById(String partId) { public PartResp detail(String partId) {
PartListReq partReq = new PartListReq(); PartEntity entity = this.baseMapper.selectById(partId);
partReq.setPartId(partId); PartResp resp = Converts.INSTANCE.toPartResp(entity);
if(StrUtil.isNotEmpty(resp.getTurbineId())){
List<PartResp> list = selectList(partReq); TurbineEntity turbine = turbineService.getById(resp.getTurbineId());
return list.isEmpty() ? CollUtil.getFirst(list) : new PartResp(); if(null != turbine){
resp.setTurbineId(turbine.getTurbineName());
if(StrUtil.isNotEmpty(turbine.getProjectId())){
ProjectEntity project = projectService.getById(turbine.getProjectId());
if(null != project){
resp.setProjectName(project.getProjectName());
}
}
}
}
return resp;
} }
/** /**
* 功能描述新增 * 功能描述新增
* *
* @param part * @param req
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void saveData(PartEntity part) { public void save(PartReq req) {
// todo 校验 PartEntity entity = Converts.INSTANCE.toPartEntity(req);
save(part); this.save(entity);
} }
/** /**
* 功能描述更新 * 功能描述更新
* *
* @param part * @param partId
* @param req
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void updateData(PartEntity part) { public void update(String partId, PartReq req) {
// todo 校验 if(null == this.baseMapper.selectById(partId)){
updateById(part); throw new ServiceException(Message.PART_ID_IS_NOT_EXIST);
}
PartEntity entity = Converts.INSTANCE.toPartEntity(req);
entity.setPartId(partId);
this.updateById(entity);
} }
/** /**
@ -90,10 +140,25 @@ public class PartServiceImpl extends ServiceImpl<PartMapper, PartEntity> impleme
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void deleteById(String partId) { public void deleteById(String partId) {
// todo 校验
removeById(partId); removeById(partId);
} }
/**
* 功能描述删除
*
* @param turbineIds 机组id
* @author huise23
* @date 2025/04/11 23:17
**/
@Transactional(rollbackFor = Exception.class)
@Override
public void deleteByTurbineIds(List<String> turbineIds) {
this.baseMapper.delete(Wrappers.<PartEntity>lambdaQuery().in(PartEntity::getTurbineId, turbineIds));
}
} }

View File

@ -1,10 +1,10 @@
package com.dite.znpt.service.impl; package com.dite.znpt.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dite.znpt.domain.entity.PersonnelEntity; import com.dite.znpt.domain.entity.PersonEntity;
import com.dite.znpt.domain.vo.PersonnelListReq; import com.dite.znpt.domain.vo.PersonListReq;
import com.dite.znpt.domain.vo.PersonnelResp; import com.dite.znpt.domain.vo.PersonResp;
import com.dite.znpt.service.PersonnelService; import com.dite.znpt.service.PersonService;
import com.dite.znpt.mapper.PersonnelMapper; import com.dite.znpt.mapper.PersonnelMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
@ -20,20 +20,20 @@ import java.util.List;
*/ */
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class PersonnelServiceImpl extends ServiceImpl<PersonnelMapper, PersonnelEntity> implements PersonnelService { public class PersonServiceImpl extends ServiceImpl<PersonnelMapper, PersonEntity> implements PersonService {
/** /**
* 功能描述查询人员信息列表 * 功能描述查询人员信息列表
* *
* @param personnelReq 人员信息信息 * @param personnelReq 人员信息信息
* @return {@link List }<{@link PersonnelResp }> * @return {@link List }<{@link PersonResp }>
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Override @Override
public List<PersonnelResp> selectList(PersonnelListReq personnelReq) { public List<PersonResp> selectList(PersonListReq personnelReq) {
PageUtil.startPage(); PageUtil.startPage();
List<PersonnelResp> personnelList= this.baseMapper.queryBySelective(personnelReq); List<PersonResp> personnelList= this.baseMapper.queryBySelective(personnelReq);
personnelList.forEach(resp -> { personnelList.forEach(resp -> {
}); });
@ -44,17 +44,17 @@ public class PersonnelServiceImpl extends ServiceImpl<PersonnelMapper, Personnel
* 功能描述查询单条人员信息 * 功能描述查询单条人员信息
* *
* @param personId 人员信息Id * @param personId 人员信息Id
* @return {@link PersonnelResp } * @return {@link PersonResp }
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Override @Override
public PersonnelResp selectById(String personId) { public PersonResp selectById(String personId) {
PersonnelListReq personnelReq = new PersonnelListReq(); PersonListReq personnelReq = new PersonListReq();
personnelReq.setPersonId(personId); personnelReq.setPersonId(personId);
List<PersonnelResp> list = selectList(personnelReq); List<PersonResp> list = selectList(personnelReq);
return list.isEmpty() ? CollUtil.getFirst(list) : new PersonnelResp(); return list.isEmpty() ? CollUtil.getFirst(list) : new PersonResp();
} }
/** /**
@ -65,7 +65,7 @@ public class PersonnelServiceImpl extends ServiceImpl<PersonnelMapper, Personnel
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Override @Override
public void saveData(PersonnelEntity personnel) { public void saveData(PersonEntity personnel) {
// todo 校验 // todo 校验
save(personnel); save(personnel);
} }
@ -78,7 +78,7 @@ public class PersonnelServiceImpl extends ServiceImpl<PersonnelMapper, Personnel
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Override @Override
public void updateData(PersonnelEntity personnel) { public void updateData(PersonEntity personnel) {
// todo 校验 // todo 校验
updateById(personnel); updateById(personnel);
} }

View File

@ -1,20 +1,33 @@
package com.dite.znpt.service.impl; package com.dite.znpt.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.PersonEntity;
import com.dite.znpt.domain.entity.ProjectEntity; import com.dite.znpt.domain.entity.ProjectEntity;
import com.dite.znpt.domain.vo.ProjectListReq; import com.dite.znpt.domain.vo.ProjectListReq;
import com.dite.znpt.domain.vo.ProjectListResp; import com.dite.znpt.domain.vo.ProjectListResp;
import com.dite.znpt.domain.vo.ProjectReq; import com.dite.znpt.domain.vo.ProjectReq;
import com.dite.znpt.domain.vo.ProjectResp; import com.dite.znpt.domain.vo.ProjectResp;
import com.dite.znpt.enums.ProjectStatusEnum;
import com.dite.znpt.exception.ServiceException;
import com.dite.znpt.service.PersonService;
import com.dite.znpt.service.ProjectService; import com.dite.znpt.service.ProjectService;
import com.dite.znpt.mapper.ProjectMapper; import com.dite.znpt.mapper.ProjectMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cn.hutool.core.collection.CollUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import com.dite.znpt.util.PageUtil; import com.dite.znpt.util.PageUtil;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Collectors;
/** /**
* @author huise23 * @author huise23
@ -25,31 +38,29 @@ import java.util.List;
@RequiredArgsConstructor @RequiredArgsConstructor
public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, ProjectEntity> implements ProjectService { public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, ProjectEntity> implements ProjectService {
@Resource
private PersonService personService;
/** /**
* 功能描述查询项目信息列表 * 功能描述查询项目信息列表
* *
* @param projectReq 项目信息信息 * @param req 项目信息信息
* @return {@link List }<{@link ProjectResp }> * @return {@link List }<{@link ProjectResp }>
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Override @Override
public List<ProjectListResp> page(ProjectListReq projectReq) { public List<ProjectListResp> page(ProjectListReq req) {
PageUtil.startPage(); PageUtil.startPage();
List<ProjectResp> projectList= this.baseMapper.queryBySelective(projectReq); return this.list(req);
projectList.forEach(resp -> {
});
return null;
} }
@Override @Override
public List<ProjectListResp> list(ProjectListReq projectReq) { public List<ProjectListResp> list(ProjectListReq req) {
List<ProjectResp> projectList= this.baseMapper.queryBySelective(projectReq); List<ProjectListResp> list= this.baseMapper.queryBySelective(req);
projectList.forEach(resp -> { list.forEach(resp -> {
resp.setStatusLabel(ProjectStatusEnum.getDescByCode(resp.getStatus()));
}); });
return null; return list;
} }
/** /**
@ -62,8 +73,35 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, ProjectEntity
**/ **/
@Override @Override
public ProjectResp detail(String projectId) { public ProjectResp detail(String projectId) {
ProjectEntity entity = this.baseMapper.selectById(projectId);
return null; if(entity == null){
throw new ServiceException(Message.PROJECT_ID_IS_NOT_EXIST);
}
ProjectResp resp = Converts.INSTANCE.toProjectResp(entity);
resp.setStatusLabel(ProjectStatusEnum.getDescByCode(resp.getStatus()));
List<String> personIds = new ArrayList<>();
if(StrUtil.isNotEmpty(resp.getAuditorId())){
personIds.add(resp.getAuditorId());
}
if(StrUtil.isNotEmpty(resp.getQualityOfficerId())){
personIds.add(resp.getQualityOfficerId());
}
if(StrUtil.isNotEmpty(resp.getConstructionTeamLeaderId())){
personIds.add(resp.getConstructionTeamLeaderId());
}
if(StrUtil.isNotEmpty(resp.getProjectManagerId())){
personIds.add(resp.getProjectManagerId());
}
if(CollUtil.isNotEmpty(personIds)){
Map<String, PersonEntity> personIdMap = personService.listByIds(personIds).stream().collect(Collectors.toMap(k->k.getPersonId(), Function.identity()));
if(CollUtil.isNotEmpty(personIdMap)){
resp.setAuditorName(personIdMap.containsKey(resp.getAuditorId()) ? personIdMap.get(resp.getAuditorId()).getName() : null);
resp.setProjectManagerName(personIdMap.containsKey(resp.getProjectManagerId()) ? personIdMap.get(resp.getProjectManagerId()).getName() : null);
resp.setConstructionTeamLeaderName(personIdMap.containsKey(resp.getConstructionTeamLeaderId()) ? personIdMap.get(resp.getConstructionTeamLeaderId()).getName() : null);
resp.setQualityOfficerName(personIdMap.containsKey(resp.getQualityOfficerId()) ? personIdMap.get(resp.getQualityOfficerId()).getName() : null);
}
}
return resp;
} }
/** /**
@ -76,8 +114,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, ProjectEntity
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void save(ProjectReq req) { public void save(ProjectReq req) {
// todo 校验 ProjectEntity entity = Converts.INSTANCE.toProjectEntity(req);
this.save(entity);
} }
/** /**
@ -91,8 +129,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, ProjectEntity
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void update(String projectId, ProjectReq req) { public void update(String projectId, ProjectReq req) {
// todo 校验 if(null == this.baseMapper.selectById(projectId)){
throw new ServiceException(Message.PROJECT_ID_IS_NOT_EXIST);
}
ProjectEntity entity = Converts.INSTANCE.toProjectEntity(req);
entity.setProjectId(projectId);
this.updateById(entity);
} }
/** /**
@ -105,7 +147,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, ProjectEntity
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void deleteById(String projectId) { public void deleteById(String projectId) {
// todo 校验
removeById(projectId); removeById(projectId);
} }

View File

@ -1,17 +1,27 @@
package com.dite.znpt.service.impl; package com.dite.znpt.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.ProjectEntity;
import com.dite.znpt.domain.entity.TurbineEntity; import com.dite.znpt.domain.entity.TurbineEntity;
import com.dite.znpt.domain.vo.TurbineListReq; import com.dite.znpt.domain.vo.*;
import com.dite.znpt.domain.vo.TurbineResp; import com.dite.znpt.exception.ServiceException;
import com.dite.znpt.service.TurbineService;
import com.dite.znpt.mapper.TurbineMapper; import com.dite.znpt.mapper.TurbineMapper;
import org.springframework.stereotype.Service; import com.dite.znpt.service.PartService;
import cn.hutool.core.collection.CollUtil; import com.dite.znpt.service.ProjectService;
import lombok.RequiredArgsConstructor; import com.dite.znpt.service.TurbineService;
import com.dite.znpt.util.PageUtil; import com.dite.znpt.util.PageUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @author huise23 * @author huise23
@ -22,78 +32,147 @@ import java.util.List;
@RequiredArgsConstructor @RequiredArgsConstructor
public class TurbineServiceImpl extends ServiceImpl<TurbineMapper, TurbineEntity> implements TurbineService { public class TurbineServiceImpl extends ServiceImpl<TurbineMapper, TurbineEntity> implements TurbineService {
@Resource
private ProjectService projectService;
@Resource
private PartService partService;
/** /**
* 功能描述查询机组-项目关联列表 * 功能描述分页查询机组列表
* *
* @param turbineReq 机组-项目关联信息 * @param req
* @return {@link List }<{@link TurbineResp }> * @return {@link List }<{@link TurbineListResp }>
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Override @Override
public List<TurbineResp> selectList(TurbineListReq turbineReq) { public List<TurbineListResp> page(TurbineListReq req) {
PageUtil.startPage(); PageUtil.startPage();
List<TurbineResp> turbineList= this.baseMapper.queryBySelective(turbineReq); return this.list(req);
turbineList.forEach(resp -> {
});
return turbineList;
} }
/** /**
* 功能描述查询单条机组-项目关联 * 功能描述查询机组列表
* *
* @param turbineId 机组-项目关联Id * @param req
* @return {@link List }<{@link TurbineEntity }>
* @author huise23
* @date 2025/04/11 23:17
**/
@Override
public List<TurbineListResp> list(TurbineListReq req) {
List<TurbineListResp> list= this.baseMapper.queryBySelective(req);
return list;
}
/**
* 功能描述查询机组明细列表
*
* @param req
* @return {@link List }<{@link TurbineInfoResp }>
* @author huise23
* @date 2025/04/11 23:17
**/
@Override
public List<TurbineInfoResp> listInfo(TurbineListReq req) {
List<TurbineInfoResp> list= this.baseMapper.listTurbineInfo(req);
return list;
}
/**
* 功能描述查询单条机组
*
* @param turbineId 机组Id
* @return {@link TurbineResp } * @return {@link TurbineResp }
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Override @Override
public TurbineResp selectById(String turbineId) { public TurbineResp detail(String turbineId) {
TurbineListReq turbineReq = new TurbineListReq(); TurbineEntity entity = this.baseMapper.selectById(turbineId);
turbineReq.setTurbineId(turbineId); TurbineResp resp = Converts.INSTANCE.toTurbineResp(entity);
if(null != resp && StrUtil.isNotEmpty(resp.getProjectId())){
List<TurbineResp> list = selectList(turbineReq); ProjectEntity project = projectService.getById(resp.getProjectId());
return list.isEmpty() ? CollUtil.getFirst(list) : new TurbineResp(); resp.setProjectName(project.getProjectName());
}
return resp;
} }
/** /**
* 功能描述新增机组-项目关联 * 功能描述查询指定机组明细内信息
* *
* @param turbine 机组-项目关联 * @param turbineId 机组Id
* @return {@link TurbineListResp }
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Override @Override
public void saveData(TurbineEntity turbine) { public TurbineInfoResp info(String turbineId) {
// todo 校验 return this.baseMapper.getTurbineInfo(turbineId);
save(turbine);
} }
/** /**
* 功能描述更新机组-项目关联 * 功能描述机组
* *
* @param turbine 机组-项目关联 * @param req
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void updateData(TurbineEntity turbine) { public void save(TurbineReq req) {
// todo 校验 TurbineEntity entity = Converts.INSTANCE.toTurbineEntity(req);
updateById(turbine); this.save(entity);
} }
/** /**
* 功能描述删除机组-项目关联 * 功能描述更新机组
*
* @param turbineId
* @param req
* @author huise23
* @date 2025/04/11 23:17
**/
@Transactional(rollbackFor = Exception.class)
@Override
public void update(String turbineId, TurbineReq req) {
if(null == this.baseMapper.selectById(turbineId)){
throw new ServiceException(Message.TURBINE_ID_IS_NOT_EXIST);
}
TurbineEntity entity = Converts.INSTANCE.toTurbineEntity(req);
entity.setTurbineId(turbineId);
this.updateById(entity);
}
/**
* 功能描述删除机组
* *
* @param turbineId 机组-项目关联Id * @param turbineId 机组-项目关联Id
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
**/ **/
@Transactional(rollbackFor = Exception.class)
@Override @Override
public void deleteById(String turbineId) { public void deleteById(String turbineId) {
// todo 校验
removeById(turbineId); removeById(turbineId);
partService.deleteByTurbineIds(Arrays.asList(turbineId));
}
/**
* 功能描述删除机组
*
* @param projectId 项目id
* @author huise23
* @date 2025/04/11 23:17
**/
@Transactional(rollbackFor = Exception.class)
@Override
public void deleteByProjectId(String projectId) {
List<TurbineEntity> turbineList = this.baseMapper.selectList(Wrappers.<TurbineEntity>lambdaQuery().eq(TurbineEntity::getProjectId, projectId));
List<String> turbineIds = turbineList.stream().map(TurbineEntity::getTurbineId).collect(Collectors.toList());
this.baseMapper.deleteByIds(turbineIds);
partService.deleteByTurbineIds(turbineIds);
} }
} }

View File

@ -3,12 +3,12 @@
<select id="queryImageList" resultType="com.dite.znpt.domain.vo.ImageListResp"> <select id="queryImageList" resultType="com.dite.znpt.domain.vo.ImageListResp">
SELECT 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.image_id, i.image_name, i.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, 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 ic.shooting_method, ic.shooting_distance,ic.collector_name, i.image_type
FROM image i FROM image i
LEFT JOIN image_collect ic ON i.collect_id = ic.collect_id LEFT JOIN image_collect ic ON i.collect_id = ic.collect_id
LEFT JOIN part p ON ic.part_id = p.part_id LEFT JOIN part p ON i.part_id = p.part_id
<where> <where>
<if test="keyword != null and keyword != ''"> <if test="keyword != null and keyword != ''">
AND i.image_name LIKE concat('%', #{keyword}, '%') AND i.image_name LIKE concat('%', #{keyword}, '%')

View File

@ -2,46 +2,31 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dite.znpt.mapper.PartMapper"> <mapper namespace="com.dite.znpt.mapper.PartMapper">
<sql id="Base_Column_List">
a.part_id, a.project_id, a.turbine_id, a.part_name,
a.part_code, a.part_type, a.part_desc, a.manufacturer,
a.model
</sql>
<select id="queryBySelective" resultType="com.dite.znpt.domain.vo.PartResp"> <select id="queryBySelective" resultType="com.dite.znpt.domain.vo.PartListResp">
select SELECT
<include refid="Base_Column_List"/> pa.part_id, t.project_id, pr.project_name, t.turbine_id, t.turbine_name, pa.part_name, pa.part_code, pa.part_type, pa.part_desc
from part a FROM part pa
LEFT JOIN turbine t ON pa.turbine_id = t.turbine_id
LEFT JOIN project pr ON t.project_id = pr.project_id
<where> <where>
<if test="keyword != null and keyword != ''"> <if test="keyword != null and keyword != ''">
# and (a.TODO like concat('%', #{keyword,jdbcType=VARCHAR}, '%') or a.TODO like concat('%', #{keyword,jdbcType=VARCHAR}, '%')) # and (pa.part_name like concat('%', #{keyword,jdbcType=VARCHAR}, '%') or pa.part_code like concat('%', #{keyword,jdbcType=VARCHAR}, '%'))
</if>
<if test="partId != null and partId != ''">
and a.part_id like concat ('%', #{partId}, '%')
</if> </if>
<if test="projectId != null and projectId != ''"> <if test="projectId != null and projectId != ''">
and a.project_id like concat ('%', #{projectId}, '%') and t.project_id = #{projectId}
</if> </if>
<if test="turbineId != null and turbineId != ''"> <if test="turbineId != null and turbineId != ''">
and a.turbine_id like concat ('%', #{turbineId}, '%') and t.turbine_id = #{turbineId}
</if>
<if test="partName != null and partName != ''">
and a.part_name like concat ('%', #{partName}, '%')
</if>
<if test="partCode != null and partCode != ''">
and a.part_code like concat ('%', #{partCode}, '%')
</if> </if>
<if test="partType != null and partType != ''"> <if test="partType != null and partType != ''">
and a.part_type like concat ('%', #{partType}, '%') and a.part_type = #{partType}
</if> </if>
<if test="partDesc != null and partDesc != ''"> <if test="partManufacturer != null and partManufacturer != ''">
and a.part_desc like concat ('%', #{partDesc}, '%') and a.part_manufacturer like concat ('%', #{partManufacturer}, '%')
</if> </if>
<if test="manufacturer != null and manufacturer != ''"> <if test="partModel != null and partModel != ''">
and a.manufacturer like concat ('%', #{manufacturer}, '%') and a.part_model like concat ('%', #{partModel}, '%')
</if>
<if test="model != null and model != ''">
and a.model like concat ('%', #{model}, '%')
</if> </if>
</where> </where>
</select> </select>

View File

@ -7,7 +7,7 @@
a.password, a.status a.password, a.status
</sql> </sql>
<select id="queryBySelective" resultType="com.dite.znpt.domain.vo.PersonnelResp"> <select id="queryBySelective" resultType="com.dite.znpt.domain.vo.PersonResp">
select select
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
from personnel a from personnel a

View File

@ -2,42 +2,32 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dite.znpt.mapper.ProjectMapper"> <mapper namespace="com.dite.znpt.mapper.ProjectMapper">
<sql id="Base_Column_List">
a.project_id, a.project_name, a.farm_name, a.farm_address,
a.method_id, a.scale, a.turbine_model, a.status
</sql>
<select id="queryBySelective" resultType="com.dite.znpt.domain.vo.ProjectResp">
select <select id="queryBySelective" resultType="com.dite.znpt.domain.vo.ProjectListResp">
<include refid="Base_Column_List"/> SELECT
from project a prj.project_id, prj.project_name, prj.farm_name, prj.status, prj.cover_url, prj.farm_address, prj.client, prj.client_contact, prj.client_phone, prj.inspection_unit,
prj.inspection_contact, prj.inspection_phone, prj.scale, prj.turbine_model, prj.project_manager_id, pm.name AS project_manager_name, prj.construction_person_id, prj.construction_person_name , prj.create_time
FROM project prj
LEFT JOIN person pm ON pm.person_id = prj.project_manager_id
<where> <where>
<if test="keyword != null and keyword != ''">
# and (a.TODO like concat('%', #{keyword,jdbcType=VARCHAR}, '%') or a.TODO like concat('%', #{keyword,jdbcType=VARCHAR}, '%'))
</if>
<if test="projectId != null and projectId != ''">
and a.project_id like concat ('%', #{projectId}, '%')
</if>
<if test="projectName != null and projectName != ''"> <if test="projectName != null and projectName != ''">
and a.project_name like concat ('%', #{projectName}, '%') AND prj.project_name LIKE concat ('%', #{projectName}, '%')
</if> </if>
<if test="farmName != null and farmName != ''"> <if test="farmName != null and farmName != ''">
and a.farm_name like concat ('%', #{farmName}, '%') AND prj.farm_name LIKE concat ('%', #{farmName}, '%')
</if> </if>
<if test="farmAddress != null and farmAddress != ''"> <if test="farmAddress != null and farmAddress != ''">
and a.farm_address like concat ('%', #{farmAddress}, '%') AND prj.farm_address LIKE concat ('%', #{farmAddress}, '%')
</if> </if>
<if test="methodId != null and methodId != ''"> <if test="client != null and client != ''">
and a.method_id like concat ('%', #{methodId}, '%') AND prj.client LIKE concat ('%', #{client}, '%')
</if>
<if test="scale != null and scale != ''">
and a.scale like concat ('%', #{scale}, '%')
</if>
<if test="turbineModel != null and turbineModel != ''">
and a.turbine_model like concat ('%', #{turbineModel}, '%')
</if> </if>
<if test="status != null and status != ''"> <if test="status != null and status != ''">
and a.status like concat ('%', #{status}, '%') AND prj.status = #{status}
</if>
<if test="createDateBegin != null and createDateBegin !='' and createDateEnd != null and createDateEnd != '' ">
AND prj.create_time BETWEEN #{createDateBegin} AND #{createDateEnd}
</if> </if>
</where> </where>
</select> </select>

View File

@ -2,38 +2,89 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dite.znpt.mapper.TurbineMapper"> <mapper namespace="com.dite.znpt.mapper.TurbineMapper">
<sql id="Base_Column_List"> <select id="queryBySelective" resultType="com.dite.znpt.domain.vo.TurbineListResp">
a.turbine_id, a.project_id, a.turbine_name, a.turbine_desc, SELECT
a.manufacturer, a.model t.turbine_id, t.project_id, p.project_name, t.turbine_name, t.turbine_code, t.turbine_desc, t.turbine_manufacturer, t.turbine_model, t.turbine_cover_url
</sql> FROM turbine t
LEFT JOIN project p ON t.project_id = p.project_id
<select id="queryBySelective" resultType="com.dite.znpt.domain.vo.TurbineResp">
select
<include refid="Base_Column_List"/>
from turbine a
<where> <where>
<if test="keyword != null and keyword != ''"> <if test="keyword != null and keyword != ''">
# and (a.TODO like concat('%', #{keyword,jdbcType=VARCHAR}, '%') or a.TODO like concat('%', #{keyword,jdbcType=VARCHAR}, '%')) and (t.turbine_name like concat('%', #{keyword,jdbcType=VARCHAR}, '%') or t.turbine_code like concat('%', #{keyword,jdbcType=VARCHAR}, '%'))
</if>
<if test="turbineId != null and turbineId != ''">
and a.turbine_id like concat ('%', #{turbineId}, '%')
</if> </if>
<if test="projectId != null and projectId != ''"> <if test="projectId != null and projectId != ''">
and a.project_id like concat ('%', #{projectId}, '%') and t.project_id = #{projectId}
</if>
<if test="turbineName != null and turbineName != ''">
and a.turbine_name like concat ('%', #{turbineName}, '%')
</if> </if>
<if test="turbineDesc != null and turbineDesc != ''"> <if test="turbineDesc != null and turbineDesc != ''">
and a.turbine_desc like concat ('%', #{turbineDesc}, '%') and t.turbine_desc like concat ('%', #{turbineDesc}, '%')
</if> </if>
<if test="manufacturer != null and manufacturer != ''"> <if test="manufacturer != null and manufacturer != ''">
and a.manufacturer like concat ('%', #{manufacturer}, '%') and t.turbine_manufacturer like concat ('%', #{manufacturer}, '%')
</if> </if>
<if test="model != null and model != ''"> <if test="model != null and model != ''">
and a.model like concat ('%', #{model}, '%') and t.turbine_model like concat ('%', #{model}, '%')
</if> </if>
</where> </where>
</select> </select>
<resultMap id="turbineInfoMap" type="com.dite.znpt.domain.vo.TurbineInfoResp">
<id property="turbineId" column="turbine_id"></id>
<result property="projectId" column="project_id"></result>
<result property="projectName" column="project_name"></result>
<result property="turbineName" column="turbine_name"></result>
<result property="turbineCode" column="turbine_code"></result>
<result property="turbineDesc" column="turbine_desc"></result>
<result property="turbineManufacturer" column="turbine_manufacturer"></result>
<result property="turbineModel" column="turbine_model"></result>
<result property="turbineCoverUrl" column="turbine_coverUrl"></result>
<collection property="partRespList" ofType="com.dite.znpt.domain.vo.PartResp">
<id property="partId" column="part_id"></id>
<result property="projectId" column="project_id"></result>
<result property="projectName" column="project_name"></result>
<result property="turbineId" column="turbine_id"></result>
<result property="turbineName" column="turbine_name"></result>
<result property="partName" column="part_name"></result>
<result property="partCode" column="part_code"></result>
<result property="partType" column="part_type"></result>
<result property="partDesc" column="part_desc"></result>
<result property="partManufacturer" column="part_manufacturer"></result>
<result property="partModel" column="part_model"></result>
</collection>
</resultMap>
<select id="listTurbineInfo" resultMap="turbineInfoMap">
SELECT
t.turbine_id, t.project_id, pr.project_name, t.turbine_name, t.turbine_code, t.turbine_desc, t.turbine_manufacturer, t.turbine_model, t.turbine_cover_url,
pa.part_id, pa.part_name, pa.part_code, pa.part_type, pa.part_desc, pa.part_manufacturer, pa.part_model
FROM turbine t
LEFT JOIN project pr ON t.project_id = pr.project_id
LEFT JOIN part pa ON t.turbine_id = pa.turbine_id
<where>
<if test="keyword != null and keyword != ''">
and (t.turbine_name like concat('%', #{keyword,jdbcType=VARCHAR}, '%') or t.turbine_code like concat('%', #{keyword,jdbcType=VARCHAR}, '%'))
</if>
<if test="projectId != null and projectId != ''">
and t.project_id = #{projectId}
</if>
<if test="turbineDesc != null and turbineDesc != ''">
and t.turbine_desc like concat ('%', #{turbineDesc}, '%')
</if>
<if test="turbineManufacturer != null and turbineManufacturer != ''">
and t.turbine_manufacturer like concat ('%', #{manufacturer}, '%')
</if>
<if test="turbineModel != null and turbineModel != ''">
and t.turbine_model like concat ('%', #{model}, '%')
</if>
</where>
</select>
<select id="getTurbineInfo" resultMap="turbineInfoMap">
SELECT
t.turbine_id, t.project_id, pr.project_name, t.turbine_name, t.turbine_code, t.turbine_desc, t.turbine_manufacturer, t.turbine_model, t.turbine_cover_url,
pa.part_id, pa.part_name, pa.part_code, pa.part_type, pa.part_desc, pa.part_manufacturer, pa.part_model
FROM turbine t
LEFT JOIN project pr ON t.project_id = pr.project_id
LEFT JOIN part pa ON t.turbine_id = pa.turbine_id
WHERE t.turbine_id = #{turbineId}
</select>
</mapper> </mapper>

View File

@ -2,12 +2,14 @@ package com.dite.znpt.web.controller;
import com.dite.znpt.domain.Result; import com.dite.znpt.domain.Result;
import com.dite.znpt.enums.*; import com.dite.znpt.enums.*;
import com.dite.znpt.service.ImageService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource;
import java.io.IOException;
/** /**
* @Author: gaoxiong * @Author: gaoxiong
@ -19,6 +21,9 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/common") @RequestMapping("/common")
public class CommonController { public class CommonController {
@Resource
private ImageService imageService;
@ApiOperation(value = "查询缺陷级别", httpMethod = "GET") @ApiOperation(value = "查询缺陷级别", httpMethod = "GET")
@GetMapping("/list/defect-level") @GetMapping("/list/defect-level")
public Result listDefectLevel(){ public Result listDefectLevel(){
@ -76,4 +81,14 @@ public class CommonController {
public Result listWeather(){ public Result listWeather(){
return Result.ok(WeatherEnum.listAll()); return Result.ok(WeatherEnum.listAll());
} }
@ApiOperation(value = "查询通用图片来源", httpMethod = "GET")
@GetMapping("/list/common-image-source")
public Result listCommonImageSource(){
return Result.ok(ImageSourceEnum.list(Boolean.FALSE));
}
@ApiOperation(value = "上传图片", httpMethod = "POST")
@PostMapping("/upload-image/{imageSource}")
public Result uploadImage(@PathVariable String imageSource, MultipartFile file) throws IOException {
return Result.ok(imageService.uploadCommonImage(imageSource, file));
}
} }

View File

@ -33,13 +33,13 @@ public class DefectController {
@ApiOperation(value = "分页查询缺陷记录列表", httpMethod = "GET") @ApiOperation(value = "分页查询缺陷记录列表", httpMethod = "GET")
@GetMapping("/page") @GetMapping("/page")
public PageResult<DefectResp> page(@RequestBody DefectListReq req) { public PageResult<DefectResp> page(DefectListReq req) {
return PageResult.ok(defectService.page(req)); return PageResult.ok(defectService.page(req));
} }
@ApiOperation(value = "查询缺陷记录列表", httpMethod = "GET") @ApiOperation(value = "查询缺陷记录列表", httpMethod = "GET")
@GetMapping("/list") @GetMapping("/list")
public Result<List<DefectResp>> list(@RequestBody DefectListReq req) { public Result<List<DefectResp>> list(DefectListReq req) {
return Result.ok(defectService.list(req)); return Result.ok(defectService.list(req));
} }

View File

@ -4,6 +4,7 @@ package com.dite.znpt.web.controller;
import com.dite.znpt.domain.PageResult; import com.dite.znpt.domain.PageResult;
import com.dite.znpt.domain.Result; import com.dite.znpt.domain.Result;
import com.dite.znpt.domain.vo.*; import com.dite.znpt.domain.vo.*;
import com.dite.znpt.enums.ImageSourceEnum;
import com.dite.znpt.service.ImageCollectService; import com.dite.znpt.service.ImageCollectService;
import com.dite.znpt.service.ImageService; import com.dite.znpt.service.ImageService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -32,13 +33,13 @@ public class ImageController {
@ApiOperation(value = "分页查询图像列表", httpMethod = "GET") @ApiOperation(value = "分页查询图像列表", httpMethod = "GET")
@GetMapping("/page") @GetMapping("/page")
public PageResult<ImageListResp> page(@RequestBody ImageListReq req) { public PageResult<ImageListResp> page(ImageListReq req) {
return PageResult.ok(imageService.page(req)); return PageResult.ok(imageService.page(req));
} }
@ApiOperation(value = "查询图像列表", httpMethod = "GET") @ApiOperation(value = "查询图像列表", httpMethod = "GET")
@GetMapping("/list") @GetMapping("/list")
public Result<List<ImageListResp>> list(@RequestBody ImageListReq req){ public Result<List<ImageListResp>> list(ImageListReq req){
return Result.ok(imageService.list(req)); return Result.ok(imageService.list(req));
} }
@ -49,15 +50,22 @@ public class ImageController {
} }
@ApiOperation(value = "批量上传图像", httpMethod = "POST") @ApiOperation(value = "批量上传图像", httpMethod = "POST")
@PostMapping("/upload-batch/{departId}") @PostMapping("/upload-batch/{partId}")
public Result<List<ImageReq>> uploadBatch(@PathVariable String departId, @RequestParam("files") MultipartFile[] files) { public Result<List<ImageReq>> uploadBatch(@PathVariable String partId, @RequestParam("files") MultipartFile[] files) {
return Result.ok(imageService.batchUpload(departId, files)); return Result.ok(imageService.batchUploadDefectImage(partId, ImageSourceEnum.COLLECT.getCode(), files));
}
@ApiOperation(value = "外部工作上传图像", httpMethod = "POST")
@PostMapping("/out-work/upload/{partId}")
public Result<String> uploadOutWork( @PathVariable String partId, @RequestParam("file") MultipartFile file) {
MultipartFile[] files = {file};
return Result.ok(imageService.batchUploadDefectImage(partId, ImageSourceEnum.OUT_WORK.getCode(), files).get(0).getImagePath());
} }
@ApiOperation(value = "设置信息", httpMethod = "POST") @ApiOperation(value = "设置信息", httpMethod = "POST")
@PostMapping("/setting-info/{departId}") @PostMapping("/setting-info/{partId}")
public Result save(@PathVariable String departId, @RequestBody ImageCollectReq req) { public Result save(@PathVariable String partId, @RequestBody ImageCollectReq req) {
imageCollectService.save(departId, req); imageCollectService.save(partId, req);
return Result.ok(); return Result.ok();
} }

View File

@ -3,6 +3,8 @@ package com.dite.znpt.web.controller;
import com.dite.znpt.domain.Constants; import com.dite.znpt.domain.Constants;
import com.dite.znpt.domain.vo.PartListReq; import com.dite.znpt.domain.vo.PartListReq;
import com.dite.znpt.domain.vo.PartListResp;
import com.dite.znpt.domain.vo.PartReq;
import com.dite.znpt.domain.vo.PartResp; import com.dite.znpt.domain.vo.PartResp;
import com.dite.znpt.domain.entity.PartEntity; import com.dite.znpt.domain.entity.PartEntity;
import com.dite.znpt.service.PartService; import com.dite.znpt.service.PartService;
@ -30,29 +32,35 @@ public class PartController {
@Resource @Resource
private PartService partService; private PartService partService;
@ApiOperation(value = "获取列表", httpMethod = "GET") @ApiOperation(value = "分页获取部件列表", httpMethod = "GET")
@GetMapping("/page")
public PageResult<PartListResp> page(PartListReq partReq) {
return PageResult.ok(partService.page(partReq));
}
@ApiOperation(value = "获取部件列表", httpMethod = "GET")
@GetMapping("/list") @GetMapping("/list")
public PageResult<PartResp> list(PartListReq partReq) { public Result<List<PartListResp>> list(PartListReq partReq) {
return PageResult.ok(partService.selectList(partReq)); return Result.ok(partService.list(partReq));
} }
@ApiOperation(value = "根据Id获取详细信息", httpMethod = "GET") @ApiOperation(value = "根据Id获取详细信息", httpMethod = "GET")
@GetMapping("/{partId}") @GetMapping("/detail/{partId}")
public Result<PartResp> getInfo(@PathVariable String partId) { public Result<PartResp> detail(@PathVariable String partId) {
return Result.ok(partService.selectById(partId)); return Result.ok(partService.detail(partId));
} }
@ApiOperation(value = "新增", httpMethod = "POST") @ApiOperation(value = "新增", httpMethod = "POST")
@PostMapping @PostMapping
public Result<Object> add(@RequestBody PartEntity part) { public Result<Object> add(@RequestBody PartReq req) {
partService.saveData(part); partService.save(req);
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "修改", httpMethod = "PUT") @ApiOperation(value = "修改", httpMethod = "PUT")
@PutMapping @PutMapping("/{partId}")
public Result<Object> edit(@RequestBody PartEntity part) { public Result<Object> edit(@PathVariable String partId, @RequestBody PartReq req) {
partService.updateData(part); partService.update(partId, req);
return Result.ok(); return Result.ok();
} }
@ -63,14 +71,14 @@ public class PartController {
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "导出", httpMethod = "GET") @ApiOperation(value = "导出部件-需求待明确", httpMethod = "GET")
@GetMapping("/export") @GetMapping("/export")
@ResponseExcel(name = "") @ResponseExcel(name = "部件")
public List<PartResp> export(PartListReq partReq) { public List<PartListResp> export(PartListReq partReq) {
return partService.selectList(partReq); return partService.list(partReq);
} }
@ApiOperation(value = "导入", httpMethod = "POST") @ApiOperation(value = "导入部件-需求待明确", httpMethod = "POST")
@PostMapping("/import") @PostMapping("/import")
public Result<Object> importData(@RequestExcel List<PartEntity> dataList, BindingResult bindingResult) { public Result<Object> importData(@RequestExcel List<PartEntity> dataList, BindingResult bindingResult) {
// JSR 303 校验通用校验获取失败的数据 // JSR 303 校验通用校验获取失败的数据

View File

@ -2,10 +2,10 @@ package com.dite.znpt.web.controller;
import com.dite.znpt.domain.Constants; import com.dite.znpt.domain.Constants;
import com.dite.znpt.domain.vo.PersonnelListReq; import com.dite.znpt.domain.vo.PersonListReq;
import com.dite.znpt.domain.vo.PersonnelResp; import com.dite.znpt.domain.vo.PersonResp;
import com.dite.znpt.domain.entity.PersonnelEntity; import com.dite.znpt.domain.entity.PersonEntity;
import com.dite.znpt.service.PersonnelService; import com.dite.znpt.service.PersonService;
import com.dite.znpt.domain.Result; import com.dite.znpt.domain.Result;
import com.dite.znpt.domain.PageResult; import com.dite.znpt.domain.PageResult;
import com.pig4cloud.plugin.excel.annotation.RequestExcel; import com.pig4cloud.plugin.excel.annotation.RequestExcel;
@ -25,54 +25,54 @@ import java.util.List;
*/ */
@Api(tags = "人员信息") @Api(tags = "人员信息")
@RestController @RestController
@RequestMapping("/personnel") @RequestMapping("/person")
public class PersonnelController { public class PersonController {
@Resource @Resource
private PersonnelService personnelService; private PersonService personService;
@ApiOperation(value = "获取人员信息列表", httpMethod = "GET") @ApiOperation(value = "获取人员信息列表", httpMethod = "GET")
@GetMapping("/list") @GetMapping("/list")
public PageResult<PersonnelResp> list(PersonnelListReq personnelReq) { public PageResult<PersonResp> list(PersonListReq personnelReq) {
return PageResult.ok(personnelService.selectList(personnelReq)); return PageResult.ok(personService.selectList(personnelReq));
} }
@ApiOperation(value = "根据人员信息Id获取详细信息", httpMethod = "GET") @ApiOperation(value = "根据人员信息Id获取详细信息", httpMethod = "GET")
@GetMapping("/{personId}") @GetMapping("/{personId}")
public Result<PersonnelResp> getInfo(@PathVariable String personId) { public Result<PersonResp> getInfo(@PathVariable String personId) {
return Result.ok(personnelService.selectById(personId)); return Result.ok(personService.selectById(personId));
} }
@ApiOperation(value = "新增人员信息", httpMethod = "POST") @ApiOperation(value = "新增人员信息", httpMethod = "POST")
@PostMapping @PostMapping
public Result<Object> add(@RequestBody PersonnelEntity personnel) { public Result<Object> add(@RequestBody PersonEntity personnel) {
personnelService.saveData(personnel); personService.saveData(personnel);
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "修改人员信息", httpMethod = "PUT") @ApiOperation(value = "修改人员信息", httpMethod = "PUT")
@PutMapping @PutMapping
public Result<Object> edit(@RequestBody PersonnelEntity personnel) { public Result<Object> edit(@RequestBody PersonEntity personnel) {
personnelService.updateData(personnel); personService.updateData(personnel);
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "删除人员信息", httpMethod = "DELETE") @ApiOperation(value = "删除人员信息", httpMethod = "DELETE")
@DeleteMapping("/{personId}") @DeleteMapping("/{personId}")
public Result<Object> remove(@PathVariable String personId) { public Result<Object> remove(@PathVariable String personId) {
personnelService.deleteById(personId); personService.deleteById(personId);
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "导出人员信息", httpMethod = "GET") @ApiOperation(value = "导出人员信息", httpMethod = "GET")
@GetMapping("/export") @GetMapping("/export")
@ResponseExcel(name = "人员信息") @ResponseExcel(name = "人员信息")
public List<PersonnelResp> export(PersonnelListReq personnelReq) { public List<PersonResp> export(PersonListReq personnelReq) {
return personnelService.selectList(personnelReq); return personService.selectList(personnelReq);
} }
@ApiOperation(value = "导入人员信息", httpMethod = "POST") @ApiOperation(value = "导入人员信息", httpMethod = "POST")
@PostMapping("/import") @PostMapping("/import")
public Result<Object> importData(@RequestExcel List<PersonnelEntity> dataList, BindingResult bindingResult) { public Result<Object> importData(@RequestExcel List<PersonEntity> dataList, BindingResult bindingResult) {
// JSR 303 校验通用校验获取失败的数据 // JSR 303 校验通用校验获取失败的数据
List<ErrorMessage> errorMessageList = (List<ErrorMessage>) bindingResult.getTarget(); List<ErrorMessage> errorMessageList = (List<ErrorMessage>) bindingResult.getTarget();
if (errorMessageList != null && !errorMessageList.isEmpty()) { if (errorMessageList != null && !errorMessageList.isEmpty()) {

View File

@ -32,12 +32,18 @@ public class ProjectController {
@Resource @Resource
private ProjectService projectService; private ProjectService projectService;
@ApiOperation(value = "获取项目信息列表", httpMethod = "GET") @ApiOperation(value = "分页查询项目信息列表", httpMethod = "GET")
@GetMapping("/page") @GetMapping("/page")
public PageResult<ProjectListResp> page(@RequestBody ProjectListReq req) { public PageResult<ProjectListResp> page(ProjectListReq req) {
return PageResult.ok(projectService.page(req)); return PageResult.ok(projectService.page(req));
} }
@ApiOperation(value = "查询项目信息列表", httpMethod = "GET")
@GetMapping("/list")
public Result<List<ProjectListResp>> list(ProjectListReq req) {
return Result.ok(projectService.list(req));
}
@ApiOperation(value = "查询项目信息详细信息", httpMethod = "GET") @ApiOperation(value = "查询项目信息详细信息", httpMethod = "GET")
@GetMapping("/detail/{projectId}") @GetMapping("/detail/{projectId}")
public Result<ProjectResp> detail(@PathVariable String projectId) { public Result<ProjectResp> detail(@PathVariable String projectId) {
@ -65,14 +71,14 @@ public class ProjectController {
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "导出项目信息", httpMethod = "GET") @ApiOperation(value = "导出项目信息-需求待明确", httpMethod = "GET")
@GetMapping("/export") @GetMapping("/export")
@ResponseExcel(name = "项目信息") @ResponseExcel(name = "项目信息")
public List<ProjectResp> export(ProjectListReq req) { public List<ProjectResp> export(ProjectListReq req) {
return null; return null;
} }
@ApiOperation(value = "导入项目信息", httpMethod = "POST") @ApiOperation(value = "导入项目信息-需求待明确", httpMethod = "POST")
@PostMapping("/import") @PostMapping("/import")
public Result<Object> importData(@RequestExcel List<ProjectEntity> dataList, BindingResult bindingResult) { public Result<Object> importData(@RequestExcel List<ProjectEntity> dataList, BindingResult bindingResult) {
// JSR 303 校验通用校验获取失败的数据 // JSR 303 校验通用校验获取失败的数据

View File

@ -2,10 +2,8 @@ package com.dite.znpt.web.controller;
import com.dite.znpt.domain.Constants; import com.dite.znpt.domain.Constants;
import com.dite.znpt.domain.vo.TurbineListReq; import com.dite.znpt.domain.vo.*;
import com.dite.znpt.domain.vo.TurbineResp;
import com.dite.znpt.domain.entity.TurbineEntity; import com.dite.znpt.domain.entity.TurbineEntity;
import com.dite.znpt.exception.ServiceException;
import com.dite.znpt.service.TurbineService; import com.dite.znpt.service.TurbineService;
import com.dite.znpt.domain.Result; import com.dite.znpt.domain.Result;
import com.dite.znpt.domain.PageResult; import com.dite.znpt.domain.PageResult;
@ -18,61 +16,78 @@ import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List; import java.util.List;
/** /**
* @author huise23 * @author huise23
* @date 2025/04/11 23:17 * @date 2025/04/11 23:17
*/ */
@Api(tags = "机组-项目关联") @Api(tags = "机组信息")
@RestController @RestController
@RequestMapping("/turbine") @RequestMapping("/turbine")
public class TurbineController { public class TurbineController {
@Resource @Resource
private TurbineService turbineService; private TurbineService turbineService;
@ApiOperation(value = "获取机组-项目关联列表", httpMethod = "GET") @ApiOperation(value = "分页查询机组列表", httpMethod = "GET")
@GetMapping({"/list", "/getByProjectId"}) @GetMapping("/page")
public PageResult<TurbineResp> list(TurbineListReq turbineReq) { public PageResult<TurbineListResp> page(TurbineListReq req) {
return PageResult.ok(turbineService.selectList(turbineReq)); return PageResult.ok(turbineService.page(req));
} }
@ApiOperation(value = "根据机组-项目关联Id获取详细信息", httpMethod = "GET") @ApiOperation(value = "查询机组列表", httpMethod = "GET")
@GetMapping("/{turbineCode}") @GetMapping("/list")
public Result<TurbineResp> getInfo(@PathVariable String turbineCode) { public Result<List<TurbineListResp>> list(TurbineListReq req) {
return Result.ok(turbineService.selectById(turbineCode)); return Result.ok(turbineService.list(req));
} }
@ApiOperation(value = "新增机组-项目关联", httpMethod = "POST") @ApiOperation(value = "查询机组明细列表", httpMethod = "GET")
@GetMapping("/list/info")
public Result<List<TurbineInfoResp>> listInfo( TurbineListReq req) {
return Result.ok(turbineService.listInfo(req));
}
@ApiOperation(value = "获取指定机组详情", httpMethod = "GET")
@GetMapping("/detail/{turbineId}")
public Result<TurbineResp> detail(@PathVariable String turbineId) {
return Result.ok(turbineService.detail(turbineId));
}
@ApiOperation(value = "获取指定机组明细详情", httpMethod = "GET")
@GetMapping("/info/{turbineId}")
public Result<TurbineInfoResp> info(@PathVariable String turbineId) {
return Result.ok(turbineService.info(turbineId));
}
@ApiOperation(value = "新增机组", httpMethod = "POST")
@PostMapping @PostMapping
public Result<Object> add(@RequestBody TurbineEntity turbine) { public Result<Object> add(@RequestBody TurbineReq req) {
turbineService.saveData(turbine); turbineService.save(req);
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "修改机组-项目关联", httpMethod = "PUT") @ApiOperation(value = "修改机组", httpMethod = "PUT")
@PutMapping @PutMapping("/{turbineId}")
public Result<Object> edit(@RequestBody TurbineEntity turbine) { public Result edit(@PathVariable String turbineId, @RequestBody TurbineReq req) {
turbineService.updateData(turbine); turbineService.update(turbineId, req);
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "删除机组-项目关联", httpMethod = "DELETE") @ApiOperation(value = "删除机组", httpMethod = "DELETE")
@DeleteMapping("/{turbineCode}") @DeleteMapping("/{turbineId}")
public Result<Object> remove(@PathVariable String turbineCode) { public Result<Object> remove(@PathVariable String turbineId) {
turbineService.deleteById(turbineCode); turbineService.deleteById(turbineId);
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "导出机组-项目关联", httpMethod = "GET") @ApiOperation(value = "导出机组-需求待明确", httpMethod = "GET")
@GetMapping("/export") @GetMapping("/export")
@ResponseExcel(name = "机组-项目关联") @ResponseExcel(name = "机组")
public List<TurbineResp> export(TurbineListReq turbineReq) { public List<TurbineListResp> export(TurbineListReq turbineReq) {
return turbineService.selectList(turbineReq); return turbineService.list(turbineReq);
} }
@ApiOperation(value = "导入机组-项目关联", httpMethod = "POST") @ApiOperation(value = "导入机组-需求待明确", httpMethod = "POST")
@PostMapping("/import") @PostMapping("/import")
public Result<Object> importData(@RequestExcel List<TurbineEntity> dataList, BindingResult bindingResult) { public Result<Object> importData(@RequestExcel List<TurbineEntity> dataList, BindingResult bindingResult) {
// JSR 303 校验通用校验获取失败的数据 // JSR 303 校验通用校验获取失败的数据

View File

@ -84,7 +84,7 @@ spring:
sip-config: sip-config:
name: 信令服务 name: 信令服务
ip: 192.168.0.207 ip: 192.168.0.112
port: 1074 port: 1074
charset: gb2312 charset: gb2312
domain: 3402000000 domain: 3402000000
@ -100,7 +100,7 @@ zlm-config:
# 公网ip # 公网ip
publicHost: publicHost:
# 接口ip # 接口ip
apiHost: 192.168.0.207 apiHost: 192.168.0.112
# 接口端口 # 接口端口
apiPort: 8080 apiPort: 8080
# 密钥 # 密钥
@ -108,7 +108,7 @@ zlm-config:
# 流id前缀 # 流id前缀
streamPrefix: streamPrefix:
# rtp ip # rtp ip
rtpHost: 192.168.0.207 rtpHost: 192.168.0.112
# rtp 端口 # rtp 端口
rtpPort: 8080 rtpPort: 8080
# 动态端口起始值 # 动态端口起始值
@ -117,6 +117,6 @@ zlm-config:
dynamicPortEnd: 30185 dynamicPortEnd: 30185
upload: upload:
temp-path: F:\Upload\Temp temp-path: F:\Upload\Image\Temp
perm-path: F:\Upload\Perm perm-path: F:\Upload\Image