Commit 7defc717 authored by ZWT's avatar ZWT

feat(能源管理系统): 基础信息配置

1.修改基础信息配置-井口配置模块删除接口,增加私有方法校验井口是否已被线路引用;
2.修改基础信息配置-光伏电站配置模块删除接口,增加私有方法校验光伏电站是否已被线路引用;
3.修改基础信息配置-储能设备配置模块删除接口,增加私有方法校验储能设备是否已被线路引用;
4.修改基础信息配置-柴发设备配置模块删除接口,增加私有方法校验柴发设备是否已被线路引用;
5.修改基础信息配置-市电峰谷模块新增/修改接口,优化市电峰谷关联信息批量新增逻辑;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent c274f354
......@@ -2,13 +2,11 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.Valid;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.util.List;
/**
* 市电峰谷月配置表
......@@ -27,11 +25,4 @@ public class BasePriceStrategyMonthEnt extends BaseModel implements Serializable
@XText("市电峰谷月(1-12)")
@TableField
private String strategyMonth;
/**
* 策略明细入参
*/
@TableField(exist = false)
@Valid
private List<BasePriceStrategyDetailEnt> details;
}
package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import jakarta.validation.Valid;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.util.List;
/**
* 市电峰谷月配置表
......@@ -23,4 +25,11 @@ public class BasePriceStrategyMonthView extends BaseModel implements Serializabl
@XText("市电峰谷月(1-12)")
@TableField
private String strategyMonth;
/**
* 策略明细入参
*/
@TableField(exist = false)
@Valid
private List<BasePriceStrategyDetailView> details;
}
package pps.core.base.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePriceStrategyDetailView;
......@@ -16,4 +17,12 @@ public interface BasePriceStrategyDetailViewMapper {
BasePriceStrategyDetailView selectOne(BasePriceStrategyDetailView record);
List<BasePriceStrategyDetailView> selectList(BasePriceStrategyDetailView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePriceStrategyDetailView> list);
}
package pps.core.base.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePriceStrategyMonthView;
......@@ -16,4 +17,12 @@ public interface BasePriceStrategyMonthViewMapper {
BasePriceStrategyMonthView selectOne(BasePriceStrategyMonthView record);
List<BasePriceStrategyMonthView> selectList(BasePriceStrategyMonthView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePriceStrategyMonthView> list);
}
package pps.core.base.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
......@@ -60,9 +61,7 @@ public class BasePriceStrategyService {
@XApiPost
@XText("市电峰谷策略--新增")
public XServiceResult createBasePriceStrategy(XContext context, CreateBasePriceStrategyInput input) {
PpsUserSession session = new PpsUserSession();
session.setId("123");
session.setUserName("ceshi");
PpsUserSession session = context.getSession(PpsUserSession.class);
return XTransactionHelper.begin(context, () -> {
BasePriceStrategyMapper mapper = context.getBean(BasePriceStrategyMapper.class);
BasePriceStrategyEnt entity = XCopyUtils.copyNewObject(input, BasePriceStrategyEnt.class);
......@@ -71,9 +70,8 @@ public class BasePriceStrategyService {
String strategyId = entity.getId();
List<CreateBasePriceStrategyMonthInput> inputMonths = input.getMonths();
if (CollUtil.isNotEmpty(inputMonths)) {
List<BasePriceStrategyMonthEnt> monthList = XCopyUtils.copyNewList(inputMonths, BasePriceStrategyMonthEnt.class);
BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class);
this.saveStrategyMonthDetail(context, monthMapper, monthList, strategyId, session);
List<BasePriceStrategyMonthView> monthList = XCopyUtils.copyNewList(inputMonths, BasePriceStrategyMonthView.class);
this.saveStrategyMonthDetail(context, monthList, strategyId, session);
}
return XServiceResult.OK;
});
......@@ -101,9 +99,9 @@ public class BasePriceStrategyService {
}
List<UpdateBasePriceStrategyMonthInput> inputMonths = input.getMonths();
if (CollUtil.isNotEmpty(inputMonths)) {
List<BasePriceStrategyMonthEnt> monthList = XCopyUtils.copyNewList(inputMonths, BasePriceStrategyMonthEnt.class);
List<BasePriceStrategyMonthView> monthList = XCopyUtils.copyNewList(inputMonths, BasePriceStrategyMonthView.class);
List<String> collect = monthList.stream()
.map(BasePriceStrategyMonthEnt::getStrategyMonth)
.map(BasePriceStrategyMonthView::getStrategyMonth)
.collect(Collectors.toList());
BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class);
//删除月信息
......@@ -119,7 +117,7 @@ public class BasePriceStrategyService {
.eq(BasePriceStrategyDetailEnt::getStrategyId, strategyId)
.in(BasePriceStrategyDetailEnt::getStrategyMonth, collect)
);
this.saveStrategyMonthDetail(context, monthMapper, monthList, strategyId, session);
this.saveStrategyMonthDetail(context, monthList, strategyId, session);
}
XCopyUtils.copyObject(input, entity);
BaseUtils.setBaseModelDefault(entity, session);
......@@ -320,28 +318,30 @@ public class BasePriceStrategyService {
/**
* 保存策略明细
*
* @param monthMapper 月映射器
* @param monthList 月清单
* @param strategyId 略id
* @param session 会话
* @param context 上下文
* @param monthList 月份列表
* @param strategyId 略id
* @param session 一场
*/
private void saveStrategyMonthDetail(XContext context, BasePriceStrategyMonthMapper monthMapper, List<BasePriceStrategyMonthEnt> monthList, String strategyId, PpsUserSession session) {
BasePriceStrategyDetailMapper detailMapper = context.getBean(BasePriceStrategyDetailMapper.class);
String strategyMonth;
List<BasePriceStrategyDetailEnt> detailList;
for (BasePriceStrategyMonthEnt monthEnt : monthList) {
monthEnt.setStrategyId(strategyId);
BaseUtils.setBaseModelDefault(monthEnt, session);
monthMapper.insert(monthEnt);
strategyMonth = monthEnt.getStrategyMonth();
//todo 改批量新增
detailList = monthEnt.getDetails();
for (BasePriceStrategyDetailEnt detailEnt : detailList) {
detailEnt.setStrategyId(strategyId);
detailEnt.setStrategyMonth(strategyMonth);
BaseUtils.setBaseModelDefault(detailEnt, session);
detailMapper.insert(detailEnt);
private void saveStrategyMonthDetail(XContext context, List<BasePriceStrategyMonthView> monthList, String strategyId, PpsUserSession session) {
BasePriceStrategyMonthViewMapper monthMapper = context.getBean(BasePriceStrategyMonthViewMapper.class);
BasePriceStrategyDetailViewMapper detailMapper = context.getBean(BasePriceStrategyDetailViewMapper.class);
List<BasePriceStrategyDetailView> detailViewList = new ArrayList<>(256);
List<BasePriceStrategyMonthView> monthViewList = new ArrayList<>(16);
for (BasePriceStrategyMonthView monthView : monthList) {
monthView.setStrategyId(strategyId);
BaseUtils.setBaseModelDefault(monthView, session);
monthView.setId(UUID.randomUUID().toString());
monthViewList.add(monthView);
for (BasePriceStrategyDetailView detailView : monthView.getDetails()) {
detailView.setStrategyId(strategyId);
detailView.setStrategyMonth(monthView.getStrategyMonth());
BaseUtils.setBaseModelDefault(detailView, session);
detailView.setId(UUID.randomUUID().toString());
detailViewList.add(detailView);
}
}
monthMapper.batchInsertList(monthViewList);
detailMapper.batchInsertList(detailViewList);
}
}
\ No newline at end of file
......@@ -50,4 +50,42 @@
where
id=#{id}
</select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO base_price_strategy_detail (
id,
create_by_id,
create_by_name,
create_time,
modify_by_id,
modify_by_name,
modify_time,
strategy_id,
strategy_month,
period_type_key,
start_time,
end_time,
electrovalence,
internal_settlement_price
)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.createById},
#{item.createByName},
#{item.createTime},
#{item.modifyById},
#{item.modifyByName},
#{item.modifyTime},
#{item.strategyId},
#{item.strategyMonth},
#{item.periodTypeKey},
#{item.startTime},
#{item.endTime},
#{item.electrovalence},
#{item.internalSettlementPrice}
)
</foreach>
</insert>
</mapper>
\ No newline at end of file
......@@ -40,4 +40,23 @@
where
id=#{id}
</select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO base_price_strategy_month ( id, create_by_id, create_by_name, create_time, modify_by_id,
modify_by_name, modify_time, strategy_id, strategy_month )
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.createById},
#{item.createByName},
#{item.createTime},
#{item.modifyById},
#{item.modifyByName},
#{item.modifyTime},
#{item.strategyId},
#{item.strategyMonth}
)
</foreach>
</insert>
</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