diff --git a/pqs-supervision/supervision-api/pom.xml b/pqs-supervision/supervision-api/pom.xml index b0ff48d30..a8c004d0c 100644 --- a/pqs-supervision/supervision-api/pom.xml +++ b/pqs-supervision/supervision-api/pom.xml @@ -44,6 +44,10 @@ 1.0.0 compile + + com.alibaba + easyexcel + \ No newline at end of file diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/databank/LibModelParam.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/databank/LibModelParam.java new file mode 100644 index 000000000..ebc107b99 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/databank/LibModelParam.java @@ -0,0 +1,170 @@ +package com.njcn.supervision.pojo.param.databank; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.njcn.db.bo.BaseEntity; +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + *

+ * + *

+ * + * @author wr + * @since 2025-09-10 + */ +@Getter +@Setter +@ApiModel(value = "LibModel对象", description = "") +public class LibModelParam extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("名称") + @ExcelProperty(value = "名称") + private String name; + + @ApiModelProperty("电压名称") + @ExcelProperty(value = "电压等级") + private String voltage; + + @ApiModelProperty("容量") + @ExcelProperty(value = "容量") + private String capacity; + + @ApiModelProperty("2次") + @ExcelProperty(value = "2次") + private BigDecimal i2; + + @ApiModelProperty("3次") + @ExcelProperty(value = "3次") + private BigDecimal i3; + + @ApiModelProperty("4次") + @ExcelProperty(value = "4次") + private BigDecimal i4; + + @ApiModelProperty("5次") + @ExcelProperty(value = "5次") + private BigDecimal i5; + + @ApiModelProperty("6次") + @ExcelProperty(value = "6次") + private BigDecimal i6; + + @ApiModelProperty("7次") + @ExcelProperty(value = "7次") + private BigDecimal i7; + + @ApiModelProperty("8次") + @ExcelProperty(value = "8次") + private BigDecimal i8; + + @ApiModelProperty("9次") + @ExcelProperty(value = "9次") + private BigDecimal i9; + + @ApiModelProperty("10次") + @ExcelProperty(value = "10次") + private BigDecimal i10; + + @ApiModelProperty("11次") + @ExcelProperty(value = "11次") + private BigDecimal i11; + + @ApiModelProperty("12次") + @ExcelProperty(value = "12次") + private BigDecimal i12; + + @ApiModelProperty("13次") + @ExcelProperty(value = "13次") + private BigDecimal i13; + + @ApiModelProperty("14次") + @ExcelProperty(value = "14次") + private BigDecimal i14; + + @ApiModelProperty("15次") + @ExcelProperty(value = "15次") + private BigDecimal i15; + + @ApiModelProperty("16次") + @ExcelProperty(value = "16次") + private BigDecimal i16; + + @ApiModelProperty("17次") + @ExcelProperty(value = "17次") + private BigDecimal i17; + + @ApiModelProperty("18次") + @ExcelProperty(value = "18次") + private BigDecimal i18; + + @ApiModelProperty("19次") + @ExcelProperty(value = "19次") + private BigDecimal i19; + + @ApiModelProperty("20次") + @ExcelProperty(value = "20次") + private BigDecimal i20; + + @ApiModelProperty("21次") + @ExcelProperty(value = "21次") + private BigDecimal i21; + + @ApiModelProperty("22次") + @ExcelProperty(value = "22次") + private BigDecimal i22; + + @ApiModelProperty("23次") + @ExcelProperty(value = "23次") + private BigDecimal i23; + + @ApiModelProperty("24次") + @ExcelProperty(value = "24次") + private BigDecimal i24; + + @ApiModelProperty("25次") + @ExcelProperty(value = "25次") + private BigDecimal i25; + + @ApiModelProperty("0谐波抗阻,1谐波源") + @ExcelProperty(value = "0谐波抗阻,1谐波源") + private Integer type; + + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + + @ApiModelProperty("创建人") + private String createBy; + + @ApiModelProperty("更新时间") + private LocalDateTime updateTime; + + @ApiModelProperty("更新人") + private String updateBy; + + @Data + @EqualsAndHashCode(callSuper = true) + public static class LibModelParamUpdate extends LibModelParam { + + @ApiModelProperty("id") + private String id; + + } + + @Data + @EqualsAndHashCode(callSuper = true) + public static class LibModelParamQuery extends BaseParam { + + + } +} diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/databank/LibTemplateParam.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/databank/LibTemplateParam.java index 824b48c96..21886bc5e 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/databank/LibTemplateParam.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/databank/LibTemplateParam.java @@ -23,7 +23,6 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class LibTemplateParam extends BaseEntity { - /** * 模板名称 */ diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/databank/LibModel.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/databank/LibModel.java new file mode 100644 index 000000000..2b7f5ac07 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/databank/LibModel.java @@ -0,0 +1,157 @@ +package com.njcn.supervision.pojo.po.databank; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * + *

+ * + * @author wr + * @since 2025-09-10 + */ +@Getter +@Setter +@TableName("lib_model") +@ApiModel(value = "LibModel对象", description = "") +public class LibModel extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private String id; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("电压名称") + private String voltage; + + @ApiModelProperty("容量") + private String capacity; + + @ApiModelProperty("2次") + @TableField(value = "i_2") + private BigDecimal i2; + + @ApiModelProperty("3次") + @TableField(value = "i_3") + private BigDecimal i3; + + @ApiModelProperty("4次") + @TableField(value = "i_4") + private BigDecimal i4; + + @ApiModelProperty("5次") + @TableField(value = "i_5") + private BigDecimal i5; + + @ApiModelProperty("6次") + @TableField(value = "i_6") + private BigDecimal i6; + + @ApiModelProperty("7次") + @TableField(value = "i_7") + private BigDecimal i7; + + @ApiModelProperty("8次") + @TableField(value = "i_8") + private BigDecimal i8; + + @ApiModelProperty("9次") + @TableField(value = "i_9") + private BigDecimal i9; + + @ApiModelProperty("10次") + @TableField(value = "i_10") + private BigDecimal i10; + + @ApiModelProperty("11次") + @TableField(value = "i_11") + private BigDecimal i11; + + @ApiModelProperty("12次") + @TableField(value = "i_12") + private BigDecimal i12; + + @ApiModelProperty("13次") + @TableField(value = "i_13") + private BigDecimal i13; + + @ApiModelProperty("14次") + @TableField(value = "i_14") + private BigDecimal i14; + + @ApiModelProperty("15次") + @TableField(value = "i_15") + private BigDecimal i15; + + @ApiModelProperty("16次") + @TableField(value = "i_16") + private BigDecimal i16; + + @ApiModelProperty("17次") + @TableField(value = "i_17") + private BigDecimal i17; + + @ApiModelProperty("18次") + @TableField(value = "i_18") + private BigDecimal i18; + + @ApiModelProperty("19次") + @TableField(value = "i_19") + private BigDecimal i19; + + @ApiModelProperty("20次") + @TableField(value = "i_20") + private BigDecimal i20; + + @ApiModelProperty("21次") + @TableField(value = "i_21") + private BigDecimal i21; + + @ApiModelProperty("22次") + @TableField(value = "i_22") + private BigDecimal i22; + + @ApiModelProperty("23次") + @TableField(value = "i_23") + private BigDecimal i23; + + @ApiModelProperty("24次") + @TableField(value = "i_24") + private BigDecimal i24; + + @ApiModelProperty("25次") + @TableField(value = "i_25") + private BigDecimal i25; + + @ApiModelProperty("0谐波抗阻,1谐波源") + private Integer type; + + @TableField(value = "status") + private Integer status; + + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + + @ApiModelProperty("创建人") + private String createBy; + + @ApiModelProperty("更新时间") + private LocalDateTime updateTime; + + @ApiModelProperty("更新人") + private String updateBy; + + +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/databank/LibModelController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/databank/LibModelController.java new file mode 100644 index 000000000..9faf8ff49 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/databank/LibModelController.java @@ -0,0 +1,89 @@ +package com.njcn.supervision.controller.databank; + + +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.supervision.pojo.param.databank.LibModelParam; +import com.njcn.supervision.pojo.po.databank.LibModel; +import com.njcn.supervision.service.databank.ILibModelService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import com.njcn.web.controller.BaseController; + +/** + *

+ * 前端控制器 + *

+ * + * @author wr + * @since 2025-09-10 + */ +@RestController +@RequestMapping("/libModel") +@RequiredArgsConstructor +@Api(tags = "模型库") +public class LibModelController extends BaseController { + + private final ILibModelService libModelService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/pageLibModelQuery") + @ApiOperation("分页查询案例库") + @ApiImplicitParam(name = "param", value = "参数", required = true) + public HttpResult> pageLibModelQuery(@RequestBody @Validated LibModelParam.LibModelParamQuery param) { + String methodDescribe = getMethodDescribe("pageLibModelQuery"); + Page page = libModelService.page(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) + @PostMapping("/addLibModel") + @ApiOperation("新增") + @ApiImplicitParam(name = "libTemplateParam", value = "实体参数", required = true) + public HttpResult addLibModel(@RequestBody @Validated LibModelParam param) { + String methodDescribe = getMethodDescribe("addLibModel"); + Boolean add = libModelService.add(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, add, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE) + @PostMapping("/updateLibModel") + @ApiOperation("更新") + @ApiImplicitParam(name = "param", value = "实体参数", required = true) + public HttpResult updateLibModel(@RequestBody @Validated LibModelParam.LibModelParamUpdate param) { + String methodDescribe = getMethodDescribe("updateLibModel"); + Boolean update = libModelService.update(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, update, methodDescribe); + } + + @OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType = OperateType.DELETE) + @GetMapping("/deleteByLibModelId") + @ApiOperation("通过id删除") + public HttpResult deleteByLibModelId(@RequestParam("id") String id) { + String methodDescribe = getMethodDescribe("deleteByLibModelId"); + boolean update = libModelService.lambdaUpdate().set(LibModel::getStatus, 0).eq(LibModel::getId, id).update(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, update, methodDescribe); + } + + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @GetMapping("/queryByLibModelId") + @ApiOperation("根据id查询") + public HttpResult queryByLibModelId(@RequestParam("id") String id) { + String methodDescribe = getMethodDescribe("queryByLibModelId"); + LibModel result = libModelService.lambdaQuery().eq(LibModel::getId,id).one(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + +} + diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/databank/LibModelMapper.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/databank/LibModelMapper.java new file mode 100644 index 000000000..a752d0c99 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/databank/LibModelMapper.java @@ -0,0 +1,16 @@ +package com.njcn.supervision.mapper.databank; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.supervision.pojo.po.databank.LibModel; + +/** + *

+ * Mapper 接口 + *

+ * + * @author wr + * @since 2025-09-10 + */ +public interface LibModelMapper extends BaseMapper { + +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/databank/mapping/LibModelMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/databank/mapping/LibModelMapper.xml new file mode 100644 index 000000000..daa3b00c6 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/databank/mapping/LibModelMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/ILibModelService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/ILibModelService.java new file mode 100644 index 000000000..07357e98a --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/ILibModelService.java @@ -0,0 +1,23 @@ +package com.njcn.supervision.service.databank; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.supervision.pojo.param.databank.LibModelParam; +import com.njcn.supervision.pojo.po.databank.LibModel; + +/** + *

+ * 服务类 + *

+ * + * @author wr + * @since 2025-09-10 + */ +public interface ILibModelService extends IService { + + Boolean add(LibModelParam param); + + Boolean update(LibModelParam.LibModelParamUpdate param); + + Page page(LibModelParam.LibModelParamQuery param); +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibModelServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibModelServiceImpl.java new file mode 100644 index 000000000..204d51783 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibModelServiceImpl.java @@ -0,0 +1,79 @@ +package com.njcn.supervision.service.databank.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.supervision.enums.SupervisionResponseEnum; +import com.njcn.supervision.mapper.databank.LibModelMapper; +import com.njcn.supervision.pojo.param.databank.LibModelParam; +import com.njcn.supervision.pojo.po.databank.LibModel; +import com.njcn.supervision.service.databank.ILibModelService; +import com.njcn.web.factory.PageFactory; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author wr + * @since 2025-09-10 + */ +@Service +public class LibModelServiceImpl extends ServiceImpl implements ILibModelService { + + + @Override + public Boolean add(LibModelParam param) { + checkName(param, false); + LibModel model = BeanUtil.copyProperties(param, LibModel.class); + model.setStatus(DataStateEnum.ENABLE.getCode()); + return this.save(model); + } + + @Override + public Boolean update(LibModelParam.LibModelParamUpdate param) { + checkName(param,true); + LibModel model = BeanUtil.copyProperties(param, LibModel.class); + return this.updateById(model); + } + + @Override + public Page page(LibModelParam.LibModelParamQuery param) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(LibModel::getStatus,DataStateEnum.ENABLE.getCode()); + //添加上时间范围 + queryWrapper.like(StrUtil.isNotBlank(param.getSearchValue()),LibModel::getName,param.getSearchValue()); + if(StrUtil.isNotBlank(param.getSearchBeginTime())&&StrUtil.isNotBlank(param.getSearchEndTime())){ + queryWrapper.between( + LibModel::getCreateTime, + DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())), + DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime()))); + } + queryWrapper.orderByDesc(LibModel::getUpdateTime); + return this.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), queryWrapper); + } + + private void checkName(LibModelParam param, boolean isExcludeSelf) { + LambdaQueryWrapper sgUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); + sgUserLambdaQueryWrapper + .eq(LibModel::getName, param.getName()) + .eq(LibModel::getStatus, DataStateEnum.ENABLE.getCode()); + //更新的时候,需排除当前记录 + if (isExcludeSelf) { + if (param instanceof LibModelParam.LibModelParamUpdate) { + sgUserLambdaQueryWrapper.ne(LibModel::getId, ((LibModelParam.LibModelParamUpdate) param).getId()); + } + } + int countByAccount = this.count(sgUserLambdaQueryWrapper); + //大于等于1个则表示重复 + if (countByAccount >= 1) { + throw new BusinessException(SupervisionResponseEnum.NAME_EXISTS); + } + } +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibTemplateServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibTemplateServiceImpl.java index 667cb427b..d72076710 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibTemplateServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/databank/impl/LibTemplateServiceImpl.java @@ -42,8 +42,6 @@ public class LibTemplateServiceImpl extends ServiceImpl sgUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); sgUserLambdaQueryWrapper .eq(LibTemplate::getName, libTemplateParam.getName())