Commit ba50a91f authored by ZWT's avatar ZWT

feat(能源管理系统): 系统开发

1.删除deploy-pps-task模块错误依赖项,解决pom文件依赖引用异常导致项目编译失败问题;
2.参照原型,设计并创建基础信息配置模块所需要的表:base_wellhead
井口配置表,base_photovoltaic_plant
光伏电站表,base_diesel_generator
柴发设备表,base_energy_storage_device
储能设备表,base_price_strategy
市电峰谷表,base_price_strategy_month
市电峰谷月配置表,base_price_strategy_detail
市电峰谷当月明细配置表,base_power_line
输电线路配置,base_power_line_wellhead
输电线路井口配置,base_power_line_plant
输电线路光伏配置,base_power_line_storage
输电线路储能配置,base_power_line_diesel
输电线路柴发设备配置;
3.通过使用代码生成工具根据基础信息配置模块新建数据表生成entity,mapper及service包对应代码,同时导入系统base模块,解决代码导入后编译失败问题,项目编译通过后提交代码;
4.开发基础信息配置-市电峰谷配置模块新增功能,完成接口冒烟测试并生成接口文档;
5.开发基础信息配置-市电峰谷配置模块更新功能,完成接口冒烟测试并生成接口文档;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent b0b91211
package pps.core.base.mapper; package pps.core.base.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePriceStrategyDetailView; import pps.core.base.entity.BasePriceStrategyDetailView;
import pps.core.base.entity.BasePriceStrategyMonthEnt;
import java.util.List; import java.util.List;
...@@ -16,4 +18,14 @@ public interface BasePriceStrategyDetailViewMapper { ...@@ -16,4 +18,14 @@ public interface BasePriceStrategyDetailViewMapper {
BasePriceStrategyDetailView selectOne(BasePriceStrategyDetailView record); BasePriceStrategyDetailView selectOne(BasePriceStrategyDetailView record);
List<BasePriceStrategyDetailView> selectList(BasePriceStrategyDetailView record); List<BasePriceStrategyDetailView> selectList(BasePriceStrategyDetailView record);
/**
* 删除月份对应详情信息
*
* @param strategyId 战略id
* @param monthList 月清单
* @return int
*/
int deleteBatchByStrategyMonth(@Param(value = "strategyId") String strategyId,
@Param(value = "monthList") List<BasePriceStrategyMonthEnt> monthList);
} }
package pps.core.base.mapper; package pps.core.base.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePriceStrategyMonthEnt;
import pps.core.base.entity.BasePriceStrategyMonthView; import pps.core.base.entity.BasePriceStrategyMonthView;
import java.util.List; import java.util.List;
...@@ -16,4 +18,14 @@ public interface BasePriceStrategyMonthViewMapper { ...@@ -16,4 +18,14 @@ public interface BasePriceStrategyMonthViewMapper {
BasePriceStrategyMonthView selectOne(BasePriceStrategyMonthView record); BasePriceStrategyMonthView selectOne(BasePriceStrategyMonthView record);
List<BasePriceStrategyMonthView> selectList(BasePriceStrategyMonthView record); List<BasePriceStrategyMonthView> selectList(BasePriceStrategyMonthView record);
/**
* 删除月份对应详情信息
*
* @param strategyId 战略id
* @param monthList 月清单
* @return int
*/
int deleteBatchByStrategyMonth(@Param(value = "strategyId") String strategyId,
@Param(value = "monthList") List<BasePriceStrategyMonthEnt> monthList);
} }
...@@ -10,7 +10,6 @@ import pps.core.base.entity.BasePriceStrategyMonthEnt; ...@@ -10,7 +10,6 @@ import pps.core.base.entity.BasePriceStrategyMonthEnt;
import pps.core.base.entity.BasePriceStrategyView; import pps.core.base.entity.BasePriceStrategyView;
import pps.core.base.mapper.*; import pps.core.base.mapper.*;
import pps.core.base.service.data.base_price_strategy.*; import pps.core.base.service.data.base_price_strategy.*;
import pps.core.base.service.data.base_price_strategy_detail.CreateBasePriceStrategyDetailInput;
import pps.core.base.service.data.base_price_strategy_month.CreateBasePriceStrategyMonthInput; import pps.core.base.service.data.base_price_strategy_month.CreateBasePriceStrategyMonthInput;
import pps.core.base.service.data.base_price_strategy_month.UpdateBasePriceStrategyMonthInput; import pps.core.base.service.data.base_price_strategy_month.UpdateBasePriceStrategyMonthInput;
import pps.core.common.session.PpsUserSession; import pps.core.common.session.PpsUserSession;
...@@ -18,7 +17,6 @@ import xstartup.annotation.XService; ...@@ -18,7 +17,6 @@ import xstartup.annotation.XService;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.base.data.CustomQueryInput; import xstartup.base.data.CustomQueryInput;
import xstartup.base.exception.XServiceException;
import xstartup.base.util.XCopyUtils; import xstartup.base.util.XCopyUtils;
import xstartup.data.XPageResult; import xstartup.data.XPageResult;
import xstartup.data.XServiceResult; import xstartup.data.XServiceResult;
...@@ -33,6 +31,7 @@ import xstartup.helper.XTransactionHelper; ...@@ -33,6 +31,7 @@ import xstartup.helper.XTransactionHelper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
* 市电峰谷配置模块 * 市电峰谷配置模块
...@@ -68,22 +67,9 @@ public class BasePriceStrategyService { ...@@ -68,22 +67,9 @@ public class BasePriceStrategyService {
String strategyId = entity.getId(); String strategyId = entity.getId();
List<CreateBasePriceStrategyMonthInput> inputMonths = input.getMonths(); List<CreateBasePriceStrategyMonthInput> inputMonths = input.getMonths();
if (!inputMonths.isEmpty()) { if (!inputMonths.isEmpty()) {
BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class);
BasePriceStrategyDetailMapper detailMapper = context.getBean(BasePriceStrategyDetailMapper.class);
List<BasePriceStrategyMonthEnt> monthList = new ArrayList<>(16); List<BasePriceStrategyMonthEnt> monthList = new ArrayList<>(16);
XCopyUtils.copyList(inputMonths, monthList, BasePriceStrategyMonthEnt.class); XCopyUtils.copyList(inputMonths, monthList, BasePriceStrategyMonthEnt.class);
Integer strategyMonth; this.saveStrategyMonthDetail(context, monthList, strategyId, session);
List<BasePriceStrategyDetailEnt> detailList;
for (BasePriceStrategyMonthEnt monthEnt : monthList) {
this.setBasePriceStrategyMonthEntDefault(monthEnt, strategyId, session);
monthMapper.insert(monthEnt);
strategyMonth = monthEnt.getStrategyMonth();
detailList = monthEnt.getDetails();
for (BasePriceStrategyDetailEnt detailEnt : detailList) {
this.setBasePriceStrategyDetailEntDefault(detailEnt, strategyId, strategyMonth, session);
detailMapper.insert(detailEnt);
}
}
} }
return XServiceResult.OK; return XServiceResult.OK;
}); });
...@@ -108,28 +94,22 @@ public class BasePriceStrategyService { ...@@ -108,28 +94,22 @@ public class BasePriceStrategyService {
return XTransactionHelper.begin(context, () -> { return XTransactionHelper.begin(context, () -> {
BasePriceStrategyMapper mapper = context.getBean(BasePriceStrategyMapper.class); BasePriceStrategyMapper mapper = context.getBean(BasePriceStrategyMapper.class);
QueryWrapper<BasePriceStrategyEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BasePriceStrategyEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(BasePriceStrategyEnt::getId, input.getId()); queryWrapper.lambda().eq(BasePriceStrategyEnt::getId, strategyId);
BasePriceStrategyEnt entity = mapper.selectOne(queryWrapper); BasePriceStrategyEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) { if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
List<CreateBasePriceStrategyDetailInput> inputDetails = input.getDetails();
List<UpdateBasePriceStrategyMonthInput> inputMonths = input.getMonths(); List<UpdateBasePriceStrategyMonthInput> inputMonths = input.getMonths();
if (!inputMonths.isEmpty()) { if (!inputMonths.isEmpty()) {
List<BasePriceStrategyMonthEnt> monthList = new ArrayList<>(16); List<BasePriceStrategyMonthEnt> monthList = new ArrayList<>(16);
List<BasePriceStrategyDetailEnt> detailList = new ArrayList<>(32);
XCopyUtils.copyList(inputMonths, monthList, BasePriceStrategyMonthEnt.class); XCopyUtils.copyList(inputMonths, monthList, BasePriceStrategyMonthEnt.class);
XCopyUtils.copyList(inputDetails, detailList, BasePriceStrategyDetailEnt.class);
BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class);
BasePriceStrategyMonthViewMapper monthViewMapper = context.getBean(BasePriceStrategyMonthViewMapper.class);
//删除月信息 //删除月信息
monthMapper.deleteBatchIds(monthList); BasePriceStrategyMonthViewMapper monthViewMapper = context.getBean(BasePriceStrategyMonthViewMapper.class);
monthViewMapper.deleteBatchByStrategyMonth(strategyId, monthList);
//删除详情
} else { BasePriceStrategyDetailViewMapper detailViewMapper = context.getBean(BasePriceStrategyDetailViewMapper.class);
if (!inputDetails.isEmpty()) { detailViewMapper.deleteBatchByStrategyMonth(strategyId, monthList);
throw new XServiceException("请选择月份"); this.saveStrategyMonthDetail(context, monthList, strategyId, session);
}
} }
XCopyUtils.copyObject(input, entity); XCopyUtils.copyObject(input, entity);
this.setBasePriceStrategyEntDefault(entity, session); this.setBasePriceStrategyEntDefault(entity, session);
...@@ -138,7 +118,6 @@ public class BasePriceStrategyService { ...@@ -138,7 +118,6 @@ public class BasePriceStrategyService {
}); });
} }
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
public XServiceResult deleteBasePriceStrategy(XContext context, DeleteBasePriceStrategyInput input) { public XServiceResult deleteBasePriceStrategy(XContext context, DeleteBasePriceStrategyInput input) {
...@@ -226,6 +205,31 @@ public class BasePriceStrategyService { ...@@ -226,6 +205,31 @@ public class BasePriceStrategyService {
/*-----------------------------------private-----------------------------------*/ /*-----------------------------------private-----------------------------------*/
/**
* 保存策略明细
*
* @param context 上下文
* @param monthList 月清单
* @param strategyId 战略id
* @param session 会话
*/
private void saveStrategyMonthDetail(XContext context, List<BasePriceStrategyMonthEnt> monthList, String strategyId, PpsUserSession session) {
BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class);
BasePriceStrategyDetailMapper detailMapper = context.getBean(BasePriceStrategyDetailMapper.class);
Integer strategyMonth;
List<BasePriceStrategyDetailEnt> detailList;
for (BasePriceStrategyMonthEnt monthEnt : monthList) {
this.setBasePriceStrategyMonthEntDefault(monthEnt, strategyId, session);
monthMapper.insert(monthEnt);
strategyMonth = monthEnt.getStrategyMonth();
detailList = monthEnt.getDetails();
for (BasePriceStrategyDetailEnt detailEnt : detailList) {
this.setBasePriceStrategyDetailEntDefault(detailEnt, strategyId, strategyMonth, session);
detailMapper.insert(detailEnt);
}
}
}
/** /**
* 设置市电峰谷当月明细配置默认值 * 设置市电峰谷当月明细配置默认值
* *
......
...@@ -3,7 +3,6 @@ package pps.core.base.service.data.base_price_strategy; ...@@ -3,7 +3,6 @@ package pps.core.base.service.data.base_price_strategy;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import pps.core.base.service.data.base_price_strategy_detail.CreateBasePriceStrategyDetailInput;
import pps.core.base.service.data.base_price_strategy_month.UpdateBasePriceStrategyMonthInput; import pps.core.base.service.data.base_price_strategy_month.UpdateBasePriceStrategyMonthInput;
import xstartup.annotation.XText; import xstartup.annotation.XText;
...@@ -65,10 +64,4 @@ public class UpdateBasePriceStrategyInput { ...@@ -65,10 +64,4 @@ public class UpdateBasePriceStrategyInput {
*/ */
@Valid @Valid
private List<UpdateBasePriceStrategyMonthInput> months; private List<UpdateBasePriceStrategyMonthInput> months;
/**
* 策略明细入参
*/
@Valid
private List<CreateBasePriceStrategyDetailInput> details;
} }
package pps.core.base.service.data.base_price_strategy_month; package pps.core.base.service.data.base_price_strategy_month;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import pps.core.base.service.data.base_price_strategy_detail.UpdateBasePriceStrategyDetailInput;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 月份入参 * 月份入参
...@@ -16,7 +18,6 @@ import java.util.Date; ...@@ -16,7 +18,6 @@ import java.util.Date;
@Data @Data
public class UpdateBasePriceStrategyMonthInput { public class UpdateBasePriceStrategyMonthInput {
@XText("ID") @XText("ID")
@NotBlank(message = "月份ID不能为空")
private String id; private String id;
@XText("是否删除(0_是;1_否)") @XText("是否删除(0_是;1_否)")
...@@ -46,4 +47,10 @@ public class UpdateBasePriceStrategyMonthInput { ...@@ -46,4 +47,10 @@ public class UpdateBasePriceStrategyMonthInput {
@XText("市电峰谷月(1-12)") @XText("市电峰谷月(1-12)")
@NotNull(message = "月份不能为空") @NotNull(message = "月份不能为空")
private Integer strategyMonth; private Integer strategyMonth;
/**
* 策略明细入参
*/
@Valid
private List<UpdateBasePriceStrategyDetailInput> details;
} }
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pps.core.base.mapper.BasePriceStrategyDetailViewMapper"> <mapper namespace="pps.core.base.mapper.BasePriceStrategyDetailViewMapper">
<resultMap id="BaseResultMap" type="pps.core.base.entity.BasePriceStrategyDetailView"> <resultMap id="BaseResultMap" type="pps.core.base.entity.BasePriceStrategyDetailView">
<id column="id" property="id" jdbcType="VARCHAR" /> <id column="id" property="id" jdbcType="VARCHAR"/>
<result column="is_deleted" property="isDeleted" jdbcType="INTEGER" /> <result column="is_deleted" property="isDeleted" jdbcType="INTEGER"/>
<result column="create_by_id" property="createById" jdbcType="VARCHAR" /> <result column="create_by_id" property="createById" jdbcType="VARCHAR"/>
<result column="create_by_name" property="createByName" jdbcType="VARCHAR" /> <result column="create_by_name" property="createByName" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="DATE" /> <result column="create_time" property="createTime" jdbcType="DATE"/>
<result column="modify_by_id" property="modifyById" jdbcType="VARCHAR" /> <result column="modify_by_id" property="modifyById" jdbcType="VARCHAR"/>
<result column="modify_by_name" property="modifyByName" jdbcType="VARCHAR" /> <result column="modify_by_name" property="modifyByName" jdbcType="VARCHAR"/>
<result column="modify_time" property="modifyTime" jdbcType="DATE" /> <result column="modify_time" property="modifyTime" jdbcType="DATE"/>
<result column="strategy_id" property="strategyId" jdbcType="VARCHAR" /> <result column="strategy_id" property="strategyId" jdbcType="VARCHAR"/>
<result column="strategy_month_id" property="strategyMonthId" jdbcType="VARCHAR" /> <result column="strategy_month_id" property="strategyMonthId" jdbcType="VARCHAR"/>
<result column="period_type_key" property="periodTypeKey" jdbcType="VARCHAR" /> <result column="period_type_key" property="periodTypeKey" jdbcType="VARCHAR"/>
<result column="start_time" property="startTime" jdbcType="DATE" /> <result column="start_time" property="startTime" jdbcType="DATE"/>
<result column="end_time" property="endTime" jdbcType="DATE" /> <result column="end_time" property="endTime" jdbcType="DATE"/>
<result column="electrovalence" property="electrovalence" jdbcType="DECIMAL" /> <result column="electrovalence" property="electrovalence" jdbcType="DECIMAL"/>
<result column="internal_settlement_price" property="internalSettlementPrice" jdbcType="DECIMAL" /> <result column="internal_settlement_price" property="internalSettlementPrice" jdbcType="DECIMAL"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, id
,
is_deleted, is_deleted,
create_by_id, create_by_id,
create_by_name, create_by_name,
...@@ -34,19 +35,29 @@ ...@@ -34,19 +35,29 @@
end_time, end_time,
electrovalence, electrovalence,
internal_settlement_price internal_settlement_price
</sql> </sql>
<select id="selectOne" parameterType="pps.core.base.entity.BasePriceStrategyDetailView" resultMap="BaseResultMap"> <select id="selectOne" parameterType="pps.core.base.entity.BasePriceStrategyDetailView" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from base_price_strategy_detail from base_price_strategy_detail
where where
id=#{id} id=#{id}
</select> </select>
<select id="selectList" parameterType="pps.core.base.entity.BasePriceStrategyDetailView" resultMap="BaseResultMap"> <select id="selectList" parameterType="pps.core.base.entity.BasePriceStrategyDetailView" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from base_price_strategy_detail from base_price_strategy_detail
where where
id=#{id} id=#{id}
</select> </select>
<delete id="deleteBatchByStrategyMonth">
DELETE
FROM base_price_strategy_detail
WHERE strategy_id = #{strategyId}
AND strategy_month IN
<foreach collection="monthList" open="(" close=")" item="item" separator=",">
#{item.strategyMonth}
</foreach>
</delete>
</mapper> </mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pps.core.base.mapper.BasePriceStrategyMonthViewMapper"> <mapper namespace="pps.core.base.mapper.BasePriceStrategyMonthViewMapper">
<resultMap id="BaseResultMap" type="pps.core.base.entity.BasePriceStrategyMonthView"> <resultMap id="BaseResultMap" type="pps.core.base.entity.BasePriceStrategyMonthView">
<id column="id" property="id" jdbcType="VARCHAR" /> <id column="id" property="id" jdbcType="VARCHAR"/>
<result column="is_deleted" property="isDeleted" jdbcType="INTEGER" /> <result column="is_deleted" property="isDeleted" jdbcType="INTEGER"/>
<result column="create_by_id" property="createById" jdbcType="VARCHAR" /> <result column="create_by_id" property="createById" jdbcType="VARCHAR"/>
<result column="create_by_name" property="createByName" jdbcType="VARCHAR" /> <result column="create_by_name" property="createByName" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="DATE" /> <result column="create_time" property="createTime" jdbcType="DATE"/>
<result column="modify_by_id" property="modifyById" jdbcType="VARCHAR" /> <result column="modify_by_id" property="modifyById" jdbcType="VARCHAR"/>
<result column="modify_by_name" property="modifyByName" jdbcType="VARCHAR" /> <result column="modify_by_name" property="modifyByName" jdbcType="VARCHAR"/>
<result column="modify_time" property="modifyTime" jdbcType="DATE" /> <result column="modify_time" property="modifyTime" jdbcType="DATE"/>
<result column="strategy_id" property="strategyId" jdbcType="VARCHAR" /> <result column="strategy_id" property="strategyId" jdbcType="VARCHAR"/>
<result column="strategy_month" property="strategyMonth" jdbcType="INTEGER" /> <result column="strategy_month" property="strategyMonth" jdbcType="INTEGER"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, id
,
is_deleted, is_deleted,
create_by_id, create_by_id,
create_by_name, create_by_name,
...@@ -24,19 +25,29 @@ ...@@ -24,19 +25,29 @@
modify_time, modify_time,
strategy_id, strategy_id,
strategy_month strategy_month
</sql> </sql>
<select id="selectOne" parameterType="pps.core.base.entity.BasePriceStrategyMonthView" resultMap="BaseResultMap"> <select id="selectOne" parameterType="pps.core.base.entity.BasePriceStrategyMonthView" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from base_price_strategy_month from base_price_strategy_month
where where
id=#{id} id=#{id}
</select> </select>
<select id="selectList" parameterType="pps.core.base.entity.BasePriceStrategyMonthView" resultMap="BaseResultMap"> <select id="selectList" parameterType="pps.core.base.entity.BasePriceStrategyMonthView" resultMap="BaseResultMap">
select select
<include refid="Base_Column_List" /> <include refid="Base_Column_List"/>
from base_price_strategy_month from base_price_strategy_month
where where
id=#{id} id=#{id}
</select> </select>
<delete id="deleteBatchByStrategyMonth">
DELETE
FROM base_price_strategy_month
WHERE strategy_id = #{strategyId}
AND strategy_month IN
<foreach collection="monthList" open="(" close=")" item="item" separator=",">
#{item.strategyMonth}
</foreach>
</delete>
</mapper> </mapper>
\ 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