diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/dto/CvtHarmonicCorrectionFactorsDTO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/dto/CvtHarmonicCorrectionFactorsDTO.java new file mode 100644 index 000000000..557b01dbf --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/dto/CvtHarmonicCorrectionFactorsDTO.java @@ -0,0 +1,165 @@ +package com.njcn.device.pq.pojo.dto; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * + * Description: + * Date: 2025/02/10 下午 1:45【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class CvtHarmonicCorrectionFactorsDTO { + private String id; + + /** + * cvt名称 + */ + private String cvtName; + + /** + * cvt型号 + */ + private String cvtModel; + + private BigDecimal h2; + + private BigDecimal h3; + + private BigDecimal h4; + + private BigDecimal h5; + + private BigDecimal h6; + + private BigDecimal h7; + + private BigDecimal h8; + + private BigDecimal h9; + + private BigDecimal h10; + + private BigDecimal h11; + + private BigDecimal h12; + + private BigDecimal h13; + + private BigDecimal h14; + + private BigDecimal h15; + + private BigDecimal h16; + + private BigDecimal h17; + + private BigDecimal h18; + + private BigDecimal h19; + + private BigDecimal h20; + + private BigDecimal h21; + + private BigDecimal h22; + + private BigDecimal h23; + + private BigDecimal h24; + + private BigDecimal h25; + + private BigDecimal h26; + + private BigDecimal h27; + + private BigDecimal h28; + + private BigDecimal h29; + + private BigDecimal h30; + + private BigDecimal h31; + + private BigDecimal h32; + + private BigDecimal h33; + + private BigDecimal h34; + + private BigDecimal h35; + + private BigDecimal h36; + + private BigDecimal h37; + + private BigDecimal h38; + + private BigDecimal h39; + + private BigDecimal h40; + + private BigDecimal h41; + + private BigDecimal h42; + + private BigDecimal h43; + + private BigDecimal h44; + + private BigDecimal h45; + + private BigDecimal h46; + + private BigDecimal h47; + + private BigDecimal h48; + + private BigDecimal h49; + + private BigDecimal h50; + /** + * 创建用户 + */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonDeserialize(using = LocalDateTimeDeserializer.class) + @JsonSerialize(using = LocalDateTimeSerializer.class) + private LocalDateTime createTime; + + /** + * 更新用户 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonDeserialize(using = LocalDateTimeDeserializer.class) + @JsonSerialize(using = LocalDateTimeSerializer.class) + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/CvtHarmonicCorrectionFactorsParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/CvtHarmonicCorrectionFactorsParam.java new file mode 100644 index 000000000..3314f33b7 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/CvtHarmonicCorrectionFactorsParam.java @@ -0,0 +1,164 @@ +package com.njcn.device.pq.pojo.param; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.common.pojo.constant.PatternRegex; +import com.njcn.web.constant.ValidMessage; +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * + * Description: + * Date: 2025/02/10 下午 1:45【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class CvtHarmonicCorrectionFactorsParam { + + /** + * cvt名称 + */ + @Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG) + private String cvtName; + + /** + * cvt型号 + */ + @Pattern(regexp = PatternRegex.DES32_REGEX, message = ValidMessage.DATA_TOO_LONG) + private String cvtModel; + + private BigDecimal h2; + + private BigDecimal h3; + + private BigDecimal h4; + + private BigDecimal h5; + + private BigDecimal h6; + + private BigDecimal h7; + + private BigDecimal h8; + + private BigDecimal h9; + + private BigDecimal h10; + + private BigDecimal h11; + + private BigDecimal h12; + + private BigDecimal h13; + + private BigDecimal h14; + + private BigDecimal h15; + + private BigDecimal h16; + + private BigDecimal h17; + + private BigDecimal h18; + + private BigDecimal h19; + + private BigDecimal h20; + + private BigDecimal h21; + + private BigDecimal h22; + + private BigDecimal h23; + + private BigDecimal h24; + + private BigDecimal h25; + + private BigDecimal h26; + + private BigDecimal h27; + + private BigDecimal h28; + + private BigDecimal h29; + + private BigDecimal h30; + + private BigDecimal h31; + + private BigDecimal h32; + + private BigDecimal h33; + + private BigDecimal h34; + + private BigDecimal h35; + + private BigDecimal h36; + + private BigDecimal h37; + + private BigDecimal h38; + + private BigDecimal h39; + + private BigDecimal h40; + + private BigDecimal h41; + + private BigDecimal h42; + + private BigDecimal h43; + + private BigDecimal h44; + + private BigDecimal h45; + + private BigDecimal h46; + + private BigDecimal h47; + + private BigDecimal h48; + + private BigDecimal h49; + + private BigDecimal h50; + + + + @Data + @EqualsAndHashCode(callSuper = true) + public static class CvtHarmonicCorrectionFactorsParamUpdateParam extends CvtHarmonicCorrectionFactorsParam { + + /** + * 表Id + */ + @NotBlank(message = ValidMessage.ID_NOT_BLANK) + @Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR) + private String id; + } + + /** + * 前置查询 + */ + @Data + @EqualsAndHashCode(callSuper = true) + public static class CvtHarmonicCorrectionFactorsParamQueryParam extends BaseParam { + + + } + +} \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/CvtLineRelationParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/CvtLineRelationParam.java new file mode 100644 index 000000000..d6d3832b6 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/CvtLineRelationParam.java @@ -0,0 +1,47 @@ +package com.njcn.device.pq.pojo.param; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.common.pojo.constant.PatternRegex; +import com.njcn.web.constant.ValidMessage; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; + +/** + * + * Description: + * Date: 2025/02/11 上午 9:22【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class CvtLineRelationParam { + + /** + * 监测点id + */ + private String lineId; + + /** + * cvt系数表id + */ + private String cvtId; + + @Data + @EqualsAndHashCode(callSuper = true) + public static class CvtLineRelationUpdateParam extends CvtLineRelationParam { + + /** + * 表Id + */ + @NotBlank(message = ValidMessage.ID_NOT_BLANK) + @Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR) + private String id; + } +} \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/CvtHarmonicCorrectionFactors.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/CvtHarmonicCorrectionFactors.java new file mode 100644 index 000000000..baacd5e28 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/CvtHarmonicCorrectionFactors.java @@ -0,0 +1,187 @@ +package com.njcn.device.pq.pojo.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * + * Description: + * Date: 2025/02/10 下午 1:45【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@TableName(value = "cvt_harmonic_correction_factors") +@Data +public class CvtHarmonicCorrectionFactors extends BaseEntity { + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + /** + * cvt名称 + */ + @TableField(value = "cvt_name") + private String cvtName; + + /** + * cvt型号 + */ + @TableField(value = "cvt_model") + private String cvtModel; + + @TableField(value = "h2") + private BigDecimal h2; + + @TableField(value = "h3") + private BigDecimal h3; + + @TableField(value = "h4") + private BigDecimal h4; + + @TableField(value = "h5") + private BigDecimal h5; + + @TableField(value = "h6") + private BigDecimal h6; + + @TableField(value = "h7") + private BigDecimal h7; + + @TableField(value = "h8") + private BigDecimal h8; + + @TableField(value = "h9") + private BigDecimal h9; + + @TableField(value = "h10") + private BigDecimal h10; + + @TableField(value = "h11") + private BigDecimal h11; + + @TableField(value = "h12") + private BigDecimal h12; + + @TableField(value = "h13") + private BigDecimal h13; + + @TableField(value = "h14") + private BigDecimal h14; + + @TableField(value = "h15") + private BigDecimal h15; + + @TableField(value = "h16") + private BigDecimal h16; + + @TableField(value = "h17") + private BigDecimal h17; + + @TableField(value = "h18") + private BigDecimal h18; + + @TableField(value = "h19") + private BigDecimal h19; + + @TableField(value = "h20") + private BigDecimal h20; + + @TableField(value = "h21") + private BigDecimal h21; + + @TableField(value = "h22") + private BigDecimal h22; + + @TableField(value = "h23") + private BigDecimal h23; + + @TableField(value = "h24") + private BigDecimal h24; + + @TableField(value = "h25") + private BigDecimal h25; + + @TableField(value = "h26") + private BigDecimal h26; + + @TableField(value = "h27") + private BigDecimal h27; + + @TableField(value = "h28") + private BigDecimal h28; + + @TableField(value = "h29") + private BigDecimal h29; + + @TableField(value = "h30") + private BigDecimal h30; + + @TableField(value = "h31") + private BigDecimal h31; + + @TableField(value = "h32") + private BigDecimal h32; + + @TableField(value = "h33") + private BigDecimal h33; + + @TableField(value = "h34") + private BigDecimal h34; + + @TableField(value = "h35") + private BigDecimal h35; + + @TableField(value = "h36") + private BigDecimal h36; + + @TableField(value = "h37") + private BigDecimal h37; + + @TableField(value = "h38") + private BigDecimal h38; + + @TableField(value = "h39") + private BigDecimal h39; + + @TableField(value = "h40") + private BigDecimal h40; + + @TableField(value = "h41") + private BigDecimal h41; + + @TableField(value = "h42") + private BigDecimal h42; + + @TableField(value = "h43") + private BigDecimal h43; + + @TableField(value = "h44") + private BigDecimal h44; + + @TableField(value = "h45") + private BigDecimal h45; + + @TableField(value = "h46") + private BigDecimal h46; + + @TableField(value = "h47") + private BigDecimal h47; + + @TableField(value = "h48") + private BigDecimal h48; + + @TableField(value = "h49") + private BigDecimal h49; + + @TableField(value = "h50") + private BigDecimal h50; + + +} \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/CvtLineRelation.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/CvtLineRelation.java new file mode 100644 index 000000000..d451a00af --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/CvtLineRelation.java @@ -0,0 +1,34 @@ +package com.njcn.device.pq.pojo.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * + * Description: + * Date: 2025/02/11 上午 9:22【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@TableName(value = "cvt_line_relation") +public class CvtLineRelation { + @TableId(value = "id", type = IdType.ASSIGN_UUID) + private String id; + + /** + * 监测点id + */ + @TableField(value = "line_id") + private String lineId; + + /** + * cvt系数表id + */ + @TableField(value = "cvt_id") + private String cvtId; +} \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/CvtHarmonicCorrectionFactorsVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/CvtHarmonicCorrectionFactorsVO.java new file mode 100644 index 000000000..cb9a59b7f --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/CvtHarmonicCorrectionFactorsVO.java @@ -0,0 +1,165 @@ +package com.njcn.device.pq.pojo.vo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import com.njcn.db.bo.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * + * Description: + * Date: 2025/02/10 下午 1:45【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class CvtHarmonicCorrectionFactorsVO { + private String id; + + /** + * cvt名称 + */ + private String cvtName; + + /** + * cvt型号 + */ + private String cvtModel; + + private BigDecimal h2; + + private BigDecimal h3; + + private BigDecimal h4; + + private BigDecimal h5; + + private BigDecimal h6; + + private BigDecimal h7; + + private BigDecimal h8; + + private BigDecimal h9; + + private BigDecimal h10; + + private BigDecimal h11; + + private BigDecimal h12; + + private BigDecimal h13; + + private BigDecimal h14; + + private BigDecimal h15; + + private BigDecimal h16; + + private BigDecimal h17; + + private BigDecimal h18; + + private BigDecimal h19; + + private BigDecimal h20; + + private BigDecimal h21; + + private BigDecimal h22; + + private BigDecimal h23; + + private BigDecimal h24; + + private BigDecimal h25; + + private BigDecimal h26; + + private BigDecimal h27; + + private BigDecimal h28; + + private BigDecimal h29; + + private BigDecimal h30; + + private BigDecimal h31; + + private BigDecimal h32; + + private BigDecimal h33; + + private BigDecimal h34; + + private BigDecimal h35; + + private BigDecimal h36; + + private BigDecimal h37; + + private BigDecimal h38; + + private BigDecimal h39; + + private BigDecimal h40; + + private BigDecimal h41; + + private BigDecimal h42; + + private BigDecimal h43; + + private BigDecimal h44; + + private BigDecimal h45; + + private BigDecimal h46; + + private BigDecimal h47; + + private BigDecimal h48; + + private BigDecimal h49; + + private BigDecimal h50; + /** + * 创建用户 + */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonDeserialize(using = LocalDateTimeDeserializer.class) + @JsonSerialize(using = LocalDateTimeSerializer.class) + private LocalDateTime createTime; + + /** + * 更新用户 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonDeserialize(using = LocalDateTimeDeserializer.class) + @JsonSerialize(using = LocalDateTimeSerializer.class) + private LocalDateTime updateTime; + +} \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CvtHarmonicCorrectionFactorsController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CvtHarmonicCorrectionFactorsController.java new file mode 100644 index 000000000..d198822fa --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CvtHarmonicCorrectionFactorsController.java @@ -0,0 +1,116 @@ +package com.njcn.device.pq.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.device.pq.pojo.dto.CvtHarmonicCorrectionFactorsDTO; +import com.njcn.device.pq.pojo.param.CvtHarmonicCorrectionFactorsParam; +import com.njcn.device.pq.pojo.param.NodeParam; +import com.njcn.device.pq.pojo.po.CvtHarmonicCorrectionFactors; +import com.njcn.device.pq.pojo.vo.CvtHarmonicCorrectionFactorsVO; +import com.njcn.device.pq.service.CvtHarmonicCorrectionFactorsService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Description: + * Date: 2025/02/10 下午 1:53【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Validated +@Slf4j +@Api(tags = "cvt系数配置") +@RestController +@RequestMapping("/cvt") +@RequiredArgsConstructor +public class CvtHarmonicCorrectionFactorsController extends BaseController { + + private final CvtHarmonicCorrectionFactorsService cvtHarmonicCorrectionFactorsService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @ApiOperation("新增cvt系数") + @ApiImplicitParam(value = "cvt系数信息",name = "cvtHarmonicCorrectionFactorsParam",required = true) + @PostMapping("add") + public HttpResult add(@Validated @RequestBody CvtHarmonicCorrectionFactorsParam cvtHarmonicCorrectionFactorsParam){ + String methodDescribe = getMethodDescribe("add"); + boolean result = cvtHarmonicCorrectionFactorsService.add(cvtHarmonicCorrectionFactorsParam); + if (result){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false, methodDescribe); + } + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @ApiOperation("修改cvt系数") + @ApiImplicitParam(value = "cvt系数信息",name = "updateParam",required = true) + @PostMapping("updateCvt") + public HttpResult updateCvt(@Validated @RequestBody CvtHarmonicCorrectionFactorsParam.CvtHarmonicCorrectionFactorsParamUpdateParam updateParam){ + String methodDescribe = getMethodDescribe("updateCvt"); + boolean result = cvtHarmonicCorrectionFactorsService.updateCvt(updateParam); + if (result){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false, methodDescribe); + } + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @ApiOperation("分页查询") + @ApiImplicitParam(value = "cvt系数信息",name = "queryParam",required = true) + @PostMapping("queryPage") + public HttpResult> queryPage(@Validated @RequestBody CvtHarmonicCorrectionFactorsParam.CvtHarmonicCorrectionFactorsParamQueryParam queryParam){ + String methodDescribe = getMethodDescribe("queryPage"); + Page result = cvtHarmonicCorrectionFactorsService.queryPage(queryParam); + + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @ApiOperation("列表查询") + @PostMapping("queryList") + public HttpResult> queryList( @Validated @RequestBody CvtHarmonicCorrectionFactorsParam.CvtHarmonicCorrectionFactorsParamQueryParam queryParam){ + String methodDescribe = getMethodDescribe("queryList"); + List result = cvtHarmonicCorrectionFactorsService.queryList(queryParam); + + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @ApiOperation("根据id查询") + @PostMapping("queryById") + public HttpResult queryById( @RequestParam String id){ + String methodDescribe = getMethodDescribe("queryById"); + CvtHarmonicCorrectionFactorsDTO result = new CvtHarmonicCorrectionFactorsDTO(); + CvtHarmonicCorrectionFactors cvt = cvtHarmonicCorrectionFactorsService.getById(id); + BeanUtils.copyProperties(result,cvt); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + + } + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @ApiOperation("根据id删除") + @PostMapping("deleteById") + public HttpResult deleteById( @RequestParam String id){ + String methodDescribe = getMethodDescribe("deleteById"); + boolean result = cvtHarmonicCorrectionFactorsService.removeById(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + + } +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CvtLineRelationController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CvtLineRelationController.java new file mode 100644 index 000000000..c0237fa39 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CvtLineRelationController.java @@ -0,0 +1,64 @@ +package com.njcn.device.pq.controller; + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.device.pq.pojo.dto.CvtHarmonicCorrectionFactorsDTO; +import com.njcn.device.pq.pojo.param.CvtHarmonicCorrectionFactorsParam; +import com.njcn.device.pq.pojo.param.CvtLineRelationParam; +import com.njcn.device.pq.pojo.po.CvtHarmonicCorrectionFactors; +import com.njcn.device.pq.pojo.vo.CvtHarmonicCorrectionFactorsVO; +import com.njcn.device.pq.service.CvtHarmonicCorrectionFactorsService; +import com.njcn.device.pq.service.CvtLineRelationService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * Description: + * Date: 2025/02/11 上午 9:29【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Validated +@Slf4j +@Api(tags = "cvt系数绑定") +@RestController +@RequestMapping("/cvtBind") +@RequiredArgsConstructor +public class CvtLineRelationController extends BaseController { + private final CvtLineRelationService cvtLineRelationService; + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @ApiOperation("新增cvt系数绑定") + @ApiImplicitParam(value = "cvt系数绑定信息",name = "cvtLineRelationParam",required = true) + @PostMapping("add") + public HttpResult add(@Validated @RequestBody CvtLineRelationParam cvtLineRelationParam){ + String methodDescribe = getMethodDescribe("add"); + boolean result = cvtLineRelationService.add(cvtLineRelationParam); + if (result){ + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false, methodDescribe); + } + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @ApiOperation("根据监测点id查询绑定cvt系数") + @PostMapping("queryByLineId") + public HttpResult queryByLineId(@RequestParam String lineId){ + String methodDescribe = getMethodDescribe("queryByLineId"); + CvtHarmonicCorrectionFactorsDTO result = cvtLineRelationService.queryByLineId(lineId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + + } +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/CvtHarmonicCorrectionFactorsMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/CvtHarmonicCorrectionFactorsMapper.java new file mode 100644 index 000000000..f44c04d44 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/CvtHarmonicCorrectionFactorsMapper.java @@ -0,0 +1,20 @@ +package com.njcn.device.pq.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.device.pq.pojo.po.CvtHarmonicCorrectionFactors; +import com.njcn.device.pq.pojo.vo.CvtHarmonicCorrectionFactorsVO; +import org.apache.ibatis.annotations.Param; + +/** + * + * Description: + * Date: 2025/02/10 下午 1:45【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface CvtHarmonicCorrectionFactorsMapper extends BaseMapper { + Page queryPage(Page objectPage,@Param("ew") QueryWrapper queryWrapper); +} \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/CvtLineRelationMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/CvtLineRelationMapper.java new file mode 100644 index 000000000..66b2d3916 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/CvtLineRelationMapper.java @@ -0,0 +1,15 @@ +package com.njcn.device.pq.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.pq.pojo.po.CvtLineRelation; + +/** + * + * Description: + * Date: 2025/02/11 上午 9:22【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface CvtLineRelationMapper extends BaseMapper { +} \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/CvtHarmonicCorrectionFactorsMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/CvtHarmonicCorrectionFactorsMapper.xml new file mode 100644 index 000000000..0124fef34 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/CvtHarmonicCorrectionFactorsMapper.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, cvt_name, cvt_model, h2, h3, h4, h5, h6, h7, h8, h9, h10, h11, h12, h13, h14, + h15, h16, h17, h18, h19, h20, h21, h22, h23, h24, h25, h26, h27, h28, h29, h30, h31, + h32, h33, h34, h35, h36, h37, h38, h39, h40, h41, h42, h43, h44, h45, h46, h47, h48, + h49, h50, Create_By, Create_Time, Update_By, Update_Time + + + + \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/CvtLineRelationMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/CvtLineRelationMapper.xml new file mode 100644 index 000000000..0fdd6b591 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/CvtLineRelationMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + id, line_id, cvt_id + + \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CvtHarmonicCorrectionFactorsService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CvtHarmonicCorrectionFactorsService.java new file mode 100644 index 000000000..ef9be2419 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CvtHarmonicCorrectionFactorsService.java @@ -0,0 +1,30 @@ +package com.njcn.device.pq.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.device.pq.pojo.dto.CvtHarmonicCorrectionFactorsDTO; +import com.njcn.device.pq.pojo.param.CvtHarmonicCorrectionFactorsParam; +import com.njcn.device.pq.pojo.po.CvtHarmonicCorrectionFactors; +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.device.pq.pojo.vo.CvtHarmonicCorrectionFactorsVO; + +import java.util.List; + +/** + * + * Description: + * Date: 2025/02/10 下午 1:45【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface CvtHarmonicCorrectionFactorsService extends IService{ + + + boolean add(CvtHarmonicCorrectionFactorsParam cvtHarmonicCorrectionFactorsParam); + + boolean updateCvt(CvtHarmonicCorrectionFactorsParam.CvtHarmonicCorrectionFactorsParamUpdateParam updateParam); + + Page queryPage(CvtHarmonicCorrectionFactorsParam.CvtHarmonicCorrectionFactorsParamQueryParam queryParam); + + List queryList(CvtHarmonicCorrectionFactorsParam.CvtHarmonicCorrectionFactorsParamQueryParam queryParam); +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CvtLineRelationService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CvtLineRelationService.java new file mode 100644 index 000000000..f795c6b89 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CvtLineRelationService.java @@ -0,0 +1,21 @@ +package com.njcn.device.pq.service; + +import com.njcn.device.pq.pojo.dto.CvtHarmonicCorrectionFactorsDTO; +import com.njcn.device.pq.pojo.param.CvtLineRelationParam; +import com.njcn.device.pq.pojo.po.CvtLineRelation; +import com.baomidou.mybatisplus.extension.service.IService; + /** + * + * Description: + * Date: 2025/02/11 上午 9:22【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface CvtLineRelationService extends IService{ + + + boolean add(CvtLineRelationParam cvtLineRelationParam); + + CvtHarmonicCorrectionFactorsDTO queryByLineId(String lineId); + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CvtHarmonicCorrectionFactorsServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CvtHarmonicCorrectionFactorsServiceImpl.java new file mode 100644 index 000000000..8eccb3535 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CvtHarmonicCorrectionFactorsServiceImpl.java @@ -0,0 +1,136 @@ +package com.njcn.device.pq.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.text.StrPool; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.constant.PatternRegex; +import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pms.pojo.po.Monitor; +import com.njcn.device.pq.pojo.dto.CvtHarmonicCorrectionFactorsDTO; +import com.njcn.device.pq.pojo.param.CvtHarmonicCorrectionFactorsParam; +import com.njcn.device.pq.pojo.vo.CvtHarmonicCorrectionFactorsVO; +import com.njcn.web.constant.ValidMessage; +import com.njcn.web.factory.PageFactory; +import com.njcn.web.utils.RequestUtil; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.device.pq.mapper.CvtHarmonicCorrectionFactorsMapper; +import com.njcn.device.pq.pojo.po.CvtHarmonicCorrectionFactors; +import com.njcn.device.pq.service.CvtHarmonicCorrectionFactorsService; +import org.springframework.transaction.annotation.Transactional; + +/** + * + * Description: + * Date: 2025/02/10 下午 1:45【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Service +public class CvtHarmonicCorrectionFactorsServiceImpl extends ServiceImpl implements CvtHarmonicCorrectionFactorsService{ + + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean add(CvtHarmonicCorrectionFactorsParam cvtHarmonicCorrectionFactorsParam) { + //校验 + checkParam(cvtHarmonicCorrectionFactorsParam, false); + CvtHarmonicCorrectionFactors cvtHarmonicCorrectionFactors = new CvtHarmonicCorrectionFactors(); + BeanUtils.copyProperties(cvtHarmonicCorrectionFactorsParam,cvtHarmonicCorrectionFactors); + boolean save = this.save(cvtHarmonicCorrectionFactors); + return save; + } + + @Override + public boolean updateCvt(CvtHarmonicCorrectionFactorsParam.CvtHarmonicCorrectionFactorsParamUpdateParam updateParam) { + //校验 + checkParam(updateParam, true); + CvtHarmonicCorrectionFactors cvtHarmonicCorrectionFactors = new CvtHarmonicCorrectionFactors(); + BeanUtils.copyProperties(updateParam,cvtHarmonicCorrectionFactors); + boolean update = this.updateById(cvtHarmonicCorrectionFactors); + return update; + } + + @Override + public Page queryPage(CvtHarmonicCorrectionFactorsParam.CvtHarmonicCorrectionFactorsParamQueryParam queryParam) { + + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (Objects.nonNull(queryParam)) { + if (StringUtils.isNotEmpty(queryParam.getSearchBeginTime()) && StringUtils.isNotEmpty(queryParam.getSearchEndTime())) { + queryWrapper.between("cvt_harmonic_correction_factors.create_time", + DateUtil.beginOfDay(DateUtil.parse(queryParam.getSearchBeginTime())), + DateUtil.endOfDay(DateUtil.parse(queryParam.getSearchEndTime()))); + } + + queryWrapper.and(temp->temp.like("cvt_harmonic_correction_factors.cvt_name", queryParam.getSearchValue()) + .or() + .like("cvt_harmonic_correction_factors.cvt_model", queryParam.getSearchValue())); + + + } + queryWrapper + .orderByDesc("cvt_harmonic_correction_factors.Update_Time"); + Page page = this.baseMapper.queryPage(new Page<>(PageFactory.getPageNum(queryParam), PageFactory.getPageSize(queryParam)), queryWrapper); + return page; + } + + @Override + public List queryList(CvtHarmonicCorrectionFactorsParam.CvtHarmonicCorrectionFactorsParamQueryParam queryParam) { + List result = new ArrayList<>(); + List list = this.lambdaQuery().and(item -> item.like(CvtHarmonicCorrectionFactors::getCvtName, queryParam.getSearchValue()).or() + .like(CvtHarmonicCorrectionFactors::getCvtModel, queryParam.getSearchValue())).list(); + if(CollectionUtil.isNotEmpty(list)){ + result = list.stream().map(temp->{ + CvtHarmonicCorrectionFactorsDTO cvtHarmonicCorrectionFactorsDTO = new CvtHarmonicCorrectionFactorsDTO(); + BeanUtils.copyProperties(temp,cvtHarmonicCorrectionFactorsDTO); + return cvtHarmonicCorrectionFactorsDTO; + }).collect(Collectors.toList()); + } + + return result; + } + + private void checkParam(CvtHarmonicCorrectionFactorsParam cvtHarmonicCorrectionFactorsParam, Boolean updateFlag) { + +// Pattern pattern = Pattern.compile(PatternRegex.SPECIALCHARACTER); +// if(pattern.matcher(cvtHarmonicCorrectionFactorsParam.getCvtName()).find()){ +// throw new BusinessException(ValidMessage.NAME_SPECIAL_REGEX); +// } +// if(pattern.matcher(cvtHarmonicCorrectionFactorsParam.getCvtModel()).find()){ +// throw new BusinessException(ValidMessage.NAME_SPECIAL_REGEX); +// } + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.and(item->item.eq(CvtHarmonicCorrectionFactors::getCvtName,cvtHarmonicCorrectionFactorsParam.getCvtName()).or() + .eq(CvtHarmonicCorrectionFactors::getCvtModel,cvtHarmonicCorrectionFactorsParam.getCvtModel())); + + if (updateFlag) { + if (cvtHarmonicCorrectionFactorsParam instanceof CvtHarmonicCorrectionFactorsParam.CvtHarmonicCorrectionFactorsParamUpdateParam) { + //修改 + lambdaQueryWrapper.ne(CvtHarmonicCorrectionFactors::getId, ((CvtHarmonicCorrectionFactorsParam.CvtHarmonicCorrectionFactorsParamUpdateParam) cvtHarmonicCorrectionFactorsParam).getId()); + } + } + + int count = this.count(lambdaQueryWrapper); + if (count > 0) { + throw new BusinessException("存在同名cvt名称或cvt型号"); + } + } +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CvtLineRelationServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CvtLineRelationServiceImpl.java new file mode 100644 index 000000000..7c126bab6 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CvtLineRelationServiceImpl.java @@ -0,0 +1,59 @@ +package com.njcn.device.pq.service.impl; + +import com.njcn.device.pq.pojo.dto.CvtHarmonicCorrectionFactorsDTO; +import com.njcn.device.pq.pojo.param.CvtLineRelationParam; +import com.njcn.device.pq.pojo.po.CvtHarmonicCorrectionFactors; +import com.njcn.device.pq.service.CvtHarmonicCorrectionFactorsService; +import lombok.AllArgsConstructor; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import java.util.List; +import java.util.Objects; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.device.pq.pojo.po.CvtLineRelation; +import com.njcn.device.pq.mapper.CvtLineRelationMapper; +import com.njcn.device.pq.service.CvtLineRelationService; +/** + * + * Description: + * Date: 2025/02/11 上午 9:22【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Service +@AllArgsConstructor +public class CvtLineRelationServiceImpl extends ServiceImpl implements CvtLineRelationService{ + + private final CvtHarmonicCorrectionFactorsService cvtHarmonicCorrectionFactorsService; + + + @Override + public boolean add(CvtLineRelationParam cvtLineRelationParam) { + CvtLineRelation one = this.lambdaQuery().eq(CvtLineRelation::getLineId, cvtLineRelationParam.getLineId()).one(); + if(Objects.isNull(one)){ + CvtLineRelation cvtLineRelation = new CvtLineRelation(); + BeanUtils.copyProperties(cvtLineRelationParam,cvtLineRelation); + + this.save(cvtLineRelation); + }else { + one.setCvtId(cvtLineRelationParam.getCvtId()); + this.updateById(one); + } + return true; + } + + @Override + public CvtHarmonicCorrectionFactorsDTO queryByLineId(String lineId) { + CvtHarmonicCorrectionFactorsDTO cvtHarmonicCorrectionFactorsDTO = new CvtHarmonicCorrectionFactorsDTO(); + CvtLineRelation one = this.lambdaQuery().eq(CvtLineRelation::getLineId, lineId).one(); + if(Objects.nonNull(one)&& StringUtils.isNotEmpty(one.getCvtId())){ + CvtHarmonicCorrectionFactors byId = cvtHarmonicCorrectionFactorsService.getById(one.getCvtId()); + BeanUtils.copyProperties(byId,cvtHarmonicCorrectionFactorsDTO); + } + return cvtHarmonicCorrectionFactorsDTO; + } +}