模板库

This commit is contained in:
wr
2025-09-11 09:18:47 +08:00
parent fe1195b7b5
commit 28f7e038ce
10 changed files with 543 additions and 3 deletions

View File

@@ -44,6 +44,10 @@
<version>1.0.0</version> <version>1.0.0</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -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;
/**
* <p>
*
* </p>
*
* @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 {
}
}

View File

@@ -23,7 +23,6 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor @NoArgsConstructor
public class LibTemplateParam extends BaseEntity { public class LibTemplateParam extends BaseEntity {
/** /**
* 模板名称 * 模板名称
*/ */

View File

@@ -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;
/**
* <p>
*
* </p>
*
* @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;
}

View File

@@ -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;
/**
* <p>
* 前端控制器
* </p>
*
* @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<Page<LibModel>> pageLibModelQuery(@RequestBody @Validated LibModelParam.LibModelParamQuery param) {
String methodDescribe = getMethodDescribe("pageLibModelQuery");
Page<LibModel> 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<Boolean> 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<Boolean> 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<Boolean> 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<LibModel> 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);
}
}

View File

@@ -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;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wr
* @since 2025-09-10
*/
public interface LibModelMapper extends BaseMapper<LibModel> {
}

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.supervision.mapper.databank.LibModelMapper">
</mapper>

View File

@@ -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;
/**
* <p>
* 服务类
* </p>
*
* @author wr
* @since 2025-09-10
*/
public interface ILibModelService extends IService<LibModel> {
Boolean add(LibModelParam param);
Boolean update(LibModelParam.LibModelParamUpdate param);
Page<LibModel> page(LibModelParam.LibModelParamQuery param);
}

View File

@@ -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;
/**
* <p>
* 服务实现类
* </p>
*
* @author wr
* @since 2025-09-10
*/
@Service
public class LibModelServiceImpl extends ServiceImpl<LibModelMapper, LibModel> 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<LibModel> page(LibModelParam.LibModelParamQuery param) {
LambdaQueryWrapper<LibModel> 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<LibModel> 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);
}
}
}

View File

@@ -42,8 +42,6 @@ public class LibTemplateServiceImpl extends ServiceImpl<LibTemplateMapper, LibTe
} }
private void checkName(LibTemplateParam libTemplateParam, boolean isExcludeSelf) { private void checkName(LibTemplateParam libTemplateParam, boolean isExcludeSelf) {
LambdaQueryWrapper<LibTemplate> sgUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<LibTemplate> sgUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
sgUserLambdaQueryWrapper sgUserLambdaQueryWrapper
.eq(LibTemplate::getName, libTemplateParam.getName()) .eq(LibTemplate::getName, libTemplateParam.getName())