Commit e45492a8 authored by ZWT's avatar ZWT

feat(能源管理系统): 测试问题修复

1.修改基础信息配置--井口配置模块,新增/修改接口,增加井口编号重复校验及必填项校验逻辑;
2.修改基础信息配置--井口配置模块,修改接口,解决部分字段丢失导致数据未更新问题;
3.修改基础信息配置--柴发设备配置模块,新增/修改接口,增加出场编号重复校验及必填项校验逻辑;
4.修改基础信息配置--储能设备配置模块,新增/修改接口,增加出场编号重复校验及必填项校验逻辑;
5.修改基础信息配置--光伏电站配置模块,新增/修改接口,增加出场编号重复校验及必填项校验逻辑;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 7ea8e20c
...@@ -60,10 +60,9 @@ public class BaseDieselGeneratorService { ...@@ -60,10 +60,9 @@ public class BaseDieselGeneratorService {
if (this.checkMakerNumberExists(mapper, input.getMakerNumber(), null)) { if (this.checkMakerNumberExists(mapper, input.getMakerNumber(), null)) {
return XServiceResult.error(context, BusinessError.MakerNumberExists); return XServiceResult.error(context, BusinessError.MakerNumberExists);
} }
return XTransactionHelper.begin(context, () -> {
BaseDieselGeneratorEnt entity = XCopyUtils.copyNewObject(input, BaseDieselGeneratorEnt.class); BaseDieselGeneratorEnt entity = XCopyUtils.copyNewObject(input, BaseDieselGeneratorEnt.class);
PpsUserSession session = context.getSession(PpsUserSession.class); BaseUtils.setBaseModelDefault(entity, context.getSession(PpsUserSession.class));
BaseUtils.setBaseModelDefault(entity, session); return XTransactionHelper.begin(context, () -> {
mapper.insert(entity); mapper.insert(entity);
return XServiceResult.OK; return XServiceResult.OK;
}); });
...@@ -91,10 +90,9 @@ public class BaseDieselGeneratorService { ...@@ -91,10 +90,9 @@ public class BaseDieselGeneratorService {
if (Objects.isNull(entity)) { if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
return XTransactionHelper.begin(context, () -> {
XCopyUtils.copyObject(input, entity); XCopyUtils.copyObject(input, entity);
PpsUserSession session = context.getSession(PpsUserSession.class); BaseUtils.setBaseModelDefault(entity, context.getSession(PpsUserSession.class));
BaseUtils.setBaseModelDefault(entity, session); return XTransactionHelper.begin(context, () -> {
mapper.updateById(entity); mapper.updateById(entity);
return XServiceResult.OK; return XServiceResult.OK;
}); });
...@@ -118,17 +116,15 @@ public class BaseDieselGeneratorService { ...@@ -118,17 +116,15 @@ public class BaseDieselGeneratorService {
if (this.checkDieselIsReference(context, dieselId)) { if (this.checkDieselIsReference(context, dieselId)) {
return XServiceResult.error(context, BusinessError.DieselReference); return XServiceResult.error(context, BusinessError.DieselReference);
} }
return XTransactionHelper.begin(context, () -> {
BaseDieselGeneratorMapper mapper = context.getBean(BaseDieselGeneratorMapper.class); BaseDieselGeneratorMapper mapper = context.getBean(BaseDieselGeneratorMapper.class);
BaseDieselGeneratorEnt entity = this.selectOneByDieselId(dieselId, mapper); if (Objects.isNull(this.selectOneByDieselId(dieselId, mapper))) {
if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
entity = new BaseDieselGeneratorEnt(); BaseDieselGeneratorEnt entity = new BaseDieselGeneratorEnt();
entity.setId(dieselId); entity.setId(dieselId);
entity.setIsDeleted(BusinessConstant.ZERO); entity.setIsDeleted(BusinessConstant.ZERO);
PpsUserSession session = context.getSession(PpsUserSession.class); BaseUtils.setBaseModelDefault(entity, context.getSession(PpsUserSession.class));
BaseUtils.setBaseModelDefault(entity, session); return XTransactionHelper.begin(context, () -> {
mapper.updateById(entity); mapper.updateById(entity);
return XServiceResult.OK; return XServiceResult.OK;
}); });
......
...@@ -68,11 +68,14 @@ public class BasePhotovoltaicPlantService { ...@@ -68,11 +68,14 @@ public class BasePhotovoltaicPlantService {
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
public XServiceResult createBasePhotovoltaicPlant(XContext context, CreateBasePhotovoltaicPlantInput input) { public XServiceResult createBasePhotovoltaicPlant(XContext context, CreateBasePhotovoltaicPlantInput input) {
PpsUserSession session = context.getSession(PpsUserSession.class); BasePhotovoltaicPlantMapper mapper = context.getBean(BasePhotovoltaicPlantMapper.class);
if (StringUtils.isNotEmpty(input.getMakerNumber()) && this.checkMakerNumberExists(mapper, input.getMakerNumber(), null)) {
return XServiceResult.error(context, BusinessError.MakerNumberExists);
}
BasePhotovoltaicPlantEnt entity = XCopyUtils.copyNewObject(input, BasePhotovoltaicPlantEnt.class); BasePhotovoltaicPlantEnt entity = XCopyUtils.copyNewObject(input, BasePhotovoltaicPlantEnt.class);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session); BaseUtils.setBaseModelDefault(entity, session);
return XTransactionHelper.begin(context, () -> { return XTransactionHelper.begin(context, () -> {
BasePhotovoltaicPlantMapper mapper = context.getBean(BasePhotovoltaicPlantMapper.class);
mapper.insert(entity); mapper.insert(entity);
return XServiceResult.OK; return XServiceResult.OK;
}); });
...@@ -92,13 +95,16 @@ public class BasePhotovoltaicPlantService { ...@@ -92,13 +95,16 @@ public class BasePhotovoltaicPlantService {
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
public XServiceResult updateBasePhotovoltaicPlant(XContext context, UpdateBasePhotovoltaicPlantInput input) { public XServiceResult updateBasePhotovoltaicPlant(XContext context, UpdateBasePhotovoltaicPlantInput input) {
PpsUserSession session = context.getSession(PpsUserSession.class);
BasePhotovoltaicPlantMapper mapper = context.getBean(BasePhotovoltaicPlantMapper.class); BasePhotovoltaicPlantMapper mapper = context.getBean(BasePhotovoltaicPlantMapper.class);
if (StringUtils.isNotEmpty(input.getMakerNumber()) && this.checkMakerNumberExists(mapper, input.getMakerNumber(), input.getId())) {
return XServiceResult.error(context, BusinessError.MakerNumberExists);
}
BasePhotovoltaicPlantEnt entity = this.selectOneByPlantId(input.getId(), mapper); BasePhotovoltaicPlantEnt entity = this.selectOneByPlantId(input.getId(), mapper);
if (Objects.isNull(entity)) { if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
XCopyUtils.copyObject(input, entity); XCopyUtils.copyObject(input, entity);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session); BaseUtils.setBaseModelDefault(entity, session);
return XTransactionHelper.begin(context, () -> { return XTransactionHelper.begin(context, () -> {
mapper.updateById(entity); mapper.updateById(entity);
...@@ -106,7 +112,17 @@ public class BasePhotovoltaicPlantService { ...@@ -106,7 +112,17 @@ public class BasePhotovoltaicPlantService {
}); });
} }
@XText("删除") /**
* 光伏电站模块--删除
* POST /base/base-photovoltaic-plant/delete-base-photovoltaic-plant
* 接口ID:105466280
* 接口地址:https://app.apifox.com/project/3196988/apis/api-105466280
*
* @param context 上下文
* @param input 输入
* @return {@link XServiceResult}
*/
@XText("光伏电站模块--删除")
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
public XServiceResult deleteBasePhotovoltaicPlant(XContext context, DeleteBasePhotovoltaicPlantInput input) { public XServiceResult deleteBasePhotovoltaicPlant(XContext context, DeleteBasePhotovoltaicPlantInput input) {
...@@ -283,4 +299,21 @@ public class BasePhotovoltaicPlantService { ...@@ -283,4 +299,21 @@ public class BasePhotovoltaicPlantService {
singleResult.throwIfFail(); singleResult.throwIfFail();
return singleResult.getResult(); return singleResult.getResult();
} }
/**
* 检查编号是否存在
*
* @param mapper 映射器
* @param makerNumber 出场编号
* @param id id
* @return boolean
*/
private boolean checkMakerNumberExists(BasePhotovoltaicPlantMapper mapper, String makerNumber, String id) {
Long count = mapper.selectCount(new LambdaQueryWrapper<BasePhotovoltaicPlantEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(BasePhotovoltaicPlantEnt::getMakerNumber, makerNumber)
.ne(StringUtils.isNotEmpty(id), BaseModel::getId, id)
);
return count > 0;
}
} }
package pps.core.base.service.data.base_photovoltaic_plant; package pps.core.base.service.data.base_photovoltaic_plant;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
...@@ -15,9 +17,14 @@ import java.math.BigDecimal; ...@@ -15,9 +17,14 @@ import java.math.BigDecimal;
public class CreateBasePhotovoltaicPlantInput { public class CreateBasePhotovoltaicPlantInput {
@XText("组织机构ID") @XText("组织机构ID")
@NotBlank(message = "缺少组织机构ID")
private String ouId; private String ouId;
@XText("组织机构name")
private String ouName;
@XText("电站名称") @XText("电站名称")
@NotBlank(message = "缺少电站名称")
private String stationName; private String stationName;
@XText("出厂编号") @XText("出厂编号")
...@@ -26,30 +33,34 @@ public class CreateBasePhotovoltaicPlantInput { ...@@ -26,30 +33,34 @@ public class CreateBasePhotovoltaicPlantInput {
@XText("光伏设备规格型号key(字典获取)") @XText("光伏设备规格型号key(字典获取)")
private String photovoltaicModelKey; private String photovoltaicModelKey;
@XText("光伏设备规格型号name(字典获取)")
private String photovoltaicModelName;
@XText("安装倾角") @XText("安装倾角")
@NotNull(message = "缺少安装倾角")
private BigDecimal mountingAngle; private BigDecimal mountingAngle;
@XText("装机总量(KWP)") @XText("装机总量(KWP)")
@NotNull(message = "缺少装机总量")
private BigDecimal totalPower; private BigDecimal totalPower;
@XText("阵列朝向") @XText("阵列朝向")
@NotNull(message = "缺少阵列朝向")
private BigDecimal arrayOrientation; private BigDecimal arrayOrientation;
@XText("组织机构name")
private String ouName;
@XText("光伏设备规格型号name(字典获取)")
private String photovoltaicModelName;
@XText("经度(°)") @XText("经度(°)")
@NotNull(message = "缺少经度")
private BigDecimal longitude; private BigDecimal longitude;
@XText("纬度(°)") @XText("纬度(°)")
@NotNull(message = "缺少纬度")
private BigDecimal latitude; private BigDecimal latitude;
@XText("高程(m)") @XText("高程(m)")
@NotNull(message = "缺少高程")
private BigDecimal elevation; private BigDecimal elevation;
@XText("地区编码") @XText("地区编码")
@NotNull(message = "缺少地区编码")
private Integer areaCode; private Integer areaCode;
} }
package pps.core.base.service.data.base_photovoltaic_plant; package pps.core.base.service.data.base_photovoltaic_plant;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
...@@ -15,12 +17,18 @@ import java.math.BigDecimal; ...@@ -15,12 +17,18 @@ import java.math.BigDecimal;
public class UpdateBasePhotovoltaicPlantInput { public class UpdateBasePhotovoltaicPlantInput {
@XText("ID") @XText("ID")
@NotBlank(message = "缺少电站ID")
private String id; private String id;
@XText("组织机构ID") @XText("组织机构ID")
@NotBlank(message = "缺少组织机构ID")
private String ouId; private String ouId;
@XText("组织机构name")
private String ouName;
@XText("电站名称") @XText("电站名称")
@NotBlank(message = "缺少电站名称")
private String stationName; private String stationName;
@XText("出厂编号") @XText("出厂编号")
...@@ -29,30 +37,34 @@ public class UpdateBasePhotovoltaicPlantInput { ...@@ -29,30 +37,34 @@ public class UpdateBasePhotovoltaicPlantInput {
@XText("光伏设备规格型号key(字典获取)") @XText("光伏设备规格型号key(字典获取)")
private String photovoltaicModelKey; private String photovoltaicModelKey;
@XText("光伏设备规格型号name(字典获取)")
private String photovoltaicModelName;
@XText("安装倾角") @XText("安装倾角")
@NotNull(message = "缺少安装倾角")
private BigDecimal mountingAngle; private BigDecimal mountingAngle;
@XText("装机总量(KWP)") @XText("装机总量(KWP)")
@NotNull(message = "缺少装机总量")
private BigDecimal totalPower; private BigDecimal totalPower;
@XText("阵列朝向") @XText("阵列朝向")
@NotNull(message = "缺少阵列朝向")
private BigDecimal arrayOrientation; private BigDecimal arrayOrientation;
@XText("组织机构name")
private String ouName;
@XText("光伏设备规格型号name(字典获取)")
private String photovoltaicModelName;
@XText("经度(°)") @XText("经度(°)")
@NotNull(message = "缺少经度")
private BigDecimal longitude; private BigDecimal longitude;
@XText("纬度(°)") @XText("纬度(°)")
@NotNull(message = "缺少纬度")
private BigDecimal latitude; private BigDecimal latitude;
@XText("高程(m)") @XText("高程(m)")
@NotNull(message = "缺少高程")
private BigDecimal elevation; private BigDecimal elevation;
@XText("地区编码") @XText("地区编码")
@NotNull(message = "缺少地区编码")
private Integer areaCode; private Integer areaCode;
} }
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment