Commit 59bf124e authored by ZWT's avatar ZWT

feat(能源管理系统): 间开制度管理

1.修改间开制度管理模块实体;
2.开发长期间开优化模块-长期优化分页列表接口,完成接口冒烟测试并生成接口文档;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 98217360
......@@ -36,4 +36,25 @@ public class SpaceOptimizeLongPeriodView extends BaseModel implements Serializab
@XText("优化截止日期")
@TableField
private Date optimizeDeadline;
/**
* 组织机构ID
*/
@XText("组织机构ID")
@TableField
private String ouId;
/**
* 电网类型key(字典获取)
*/
@XText("电网类型key(字典获取)")
@TableField
private String gridTypeKey;
/**
* 制度名称
*/
@XText("制度名称")
@TableField
private String institutionName;
}
......@@ -15,5 +15,11 @@ import java.util.List;
public interface SpaceOptimizeLongPeriodViewMapper {
SpaceOptimizeLongPeriodView selectOne(SpaceOptimizeLongPeriodView record);
/**
* 长期间开优化周期记录列表
*
* @param record 记录
* @return {@link List}<{@link SpaceOptimizeLongPeriodView}>
*/
List<SpaceOptimizeLongPeriodView> selectList(SpaceOptimizeLongPeriodView record);
}
package pps.core.space.service;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import pps.core.common.constant.BusinessConstant;
import pps.core.space.entity.SpaceOptimizeLongPeriodEnt;
import pps.core.space.entity.SpaceOptimizeLongPeriodView;
import pps.core.space.mapper.SpaceOptimizeLongPeriodMapper;
import pps.core.space.mapper.SpaceOptimizeLongPeriodViewMapper;
import pps.core.space.service.data.space_optimize_long_period.*;
import pps.core.space.utils.ServiceUtil;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
......@@ -23,6 +26,8 @@ import xstartup.feature.api.annotation.XApiPost;
import xstartup.feature.mybatis.helper.XMapperHelper;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 长期间开优化模块
......@@ -46,12 +51,26 @@ public class SpaceOptimizeLongPeriodService {
@XText("长期间开优化--分页列表")
public XPageResult<QuerySpaceOptimizeLongPeriodViewOutput> querySpaceOptimizeLongPeriodView(XContext context, QuerySpaceOptimizeLongPeriodViewInput input) {
SpaceOptimizeLongPeriodViewMapper mapper = context.getBean(SpaceOptimizeLongPeriodViewMapper.class);
SpaceOptimizeLongPeriodView record = new SpaceOptimizeLongPeriodView();
XCopyUtils.copyObject(input, record);
SpaceOptimizeLongPeriodView record = XCopyUtils.copyNewObject(input, SpaceOptimizeLongPeriodView.class);
PageHelper.startPage(input.getPage(), input.getLimit());
List<SpaceOptimizeLongPeriodView> list = mapper.selectList(record);
PageInfo<SpaceOptimizeLongPeriodView> pageInfo = new PageInfo<>(list);
List<QuerySpaceOptimizeLongPeriodViewOutput> outputs = XCopyUtils.copyNewList(pageInfo.getList(), QuerySpaceOptimizeLongPeriodViewOutput.class);
if (CollUtil.isNotEmpty(outputs)) {
Map<String, String> gridTypeMap = ServiceUtil.getDictMap(context, BusinessConstant.GRID_TYPE);
Map<String, String> ouMap = ServiceUtil.getOuMapByOuIds(context, outputs.stream()
.map(QuerySpaceOptimizeLongPeriodViewOutput::getOuId)
.distinct()
.collect(Collectors.toList())
);
String lineName = ServiceUtil.getPowerLineNameById(context, input.getLineId());
outputs.forEach(output -> {
output.setLineName(lineName);
output.setOuName(ouMap.get(output.getOuId()));
output.setGridTypeName(gridTypeMap.get(output.getGridTypeKey()));
output.setOptimizeStateValue(output.getOptimizeState().equals(0) ? "已优化" : "未优化");
});
}
return XPageResult.success(outputs, input, pageInfo.getTotal());
}
......
package pps.core.space.service.data.space_optimize_long_period;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import xstartup.annotation.XText;
import xstartup.base.data.XPageInput;
import java.util.Date;
/**
* 长期间开优化周期记录
*
......@@ -14,42 +13,11 @@ import java.util.Date;
*/
@Data
public class QuerySpaceOptimizeLongPeriodViewInput extends XPageInput {
@XText("ID")
private String id;
@XText("是否删除(0_是;1_否)")
private Integer isDeleted;
@XText("创建人ID")
private String createById;
@XText("创建人名称")
private String createByName;
@XText("创建时间(优化开始时间)")
private Date createTime;
@XText("修改人ID")
private String modifyById;
@XText("修改人名称")
private String modifyByName;
@XText("修改时间")
private Date modifyTime;
@XText("线路ID")
@NotBlank(message = "缺少线路ID")
private String lineId;
@XText("间开制度ID")
private String institutionId;
@XText("执行周期")
private String executionCycle;
@XText("优化状态(0_已优化;1_未优化)")
private Integer optimizeState;
@XText("优化截止日期")
private Date optimizeDeadline;
}
package pps.core.space.service.data.space_optimize_long_period;
import lombok.Data;
import xstartup.annotation.XText;
import xstartup.base.data.XPageInput;
import java.util.Date;
public class QuerySpaceOptimizeLongPeriodViewOutput extends XPageInput {
/**
* 长期间开优化周期记录
*
* @author ZWT
* @date 2023/09/07
*/
@Data
public class QuerySpaceOptimizeLongPeriodViewOutput {
@XText("ID")
private String id;
@XText("是否删除(0_是;1_否)")
private Integer isDeleted;
@XText("创建人ID")
private String createById;
@XText("创建人名称")
private String createByName;
@XText("创建时间(优化开始时间)")
private Date createTime;
@XText("修改人ID")
private String modifyById;
@XText("修改人名称")
private String modifyByName;
@XText("修改时间")
private Date modifyTime;
@XText("线路ID")
private String lineId;
......@@ -45,108 +32,45 @@ public class QuerySpaceOptimizeLongPeriodViewOutput extends XPageInput {
@XText("优化截止日期")
private Date optimizeDeadline;
public String getId() {
return this.id;
}
public void setId(String value) {
this.id = value;
}
public Integer getIsDeleted() {
return this.isDeleted;
}
public void setIsDeleted(Integer value) {
this.isDeleted = value;
}
public String getCreateById() {
return this.createById;
}
public void setCreateById(String value) {
this.createById = value;
}
public String getCreateByName() {
return this.createByName;
}
public void setCreateByName(String value) {
this.createByName = value;
}
public Date getCreateTime() {
return this.createTime;
}
public void setCreateTime(Date value) {
this.createTime = value;
}
public String getModifyById() {
return this.modifyById;
}
public void setModifyById(String value) {
this.modifyById = value;
}
public String getModifyByName() {
return this.modifyByName;
}
public void setModifyByName(String value) {
this.modifyByName = value;
}
public Date getModifyTime() {
return this.modifyTime;
}
public void setModifyTime(Date value) {
this.modifyTime = value;
}
public String getLineId() {
return this.lineId;
}
public void setLineId(String value) {
this.lineId = value;
}
public String getInstitutionId() {
return this.institutionId;
}
public void setInstitutionId(String value) {
this.institutionId = value;
}
public String getExecutionCycle() {
return this.executionCycle;
}
public void setExecutionCycle(String value) {
this.executionCycle = value;
}
public Integer getOptimizeState() {
return this.optimizeState;
}
public void setOptimizeState(Integer value) {
this.optimizeState = value;
}
public Date getOptimizeDeadline() {
return this.optimizeDeadline;
}
public void setOptimizeDeadline(Date value) {
this.optimizeDeadline = value;
}
/**
* 组织机构ID
*/
@XText("组织机构ID")
private String ouId;
/**
* 电网类型key(字典获取)
*/
@XText("电网类型key(字典获取)")
private String gridTypeKey;
/**
* 制度名称
*/
@XText("制度名称")
private String institutionName;
/**
* 线路名称
*/
@XText("线路名称")
private String lineName;
/**
* 组织机构名称
*/
@XText("组织机构名称")
private String ouName;
/**
* 电网类型名称
*/
@XText("电网类型名称")
private String gridTypeName;
/**
* 优化状态值
*/
@XText("优化状态(0_已优化;1_未优化)")
private String optimizeStateValue;
}
......@@ -39,11 +39,30 @@
where
id=#{id}
</select>
<resultMap id="ExtendResultMap" type="pps.core.space.entity.SpaceOptimizeLongPeriodView" extends="BaseResultMap">
<result column="ou_id" property="ouId" jdbcType="VARCHAR"/>
<result column="grid_type_key" property="gridTypeKey" jdbcType="VARCHAR"/>
<result column="institution_name" property="institutionName" jdbcType="VARCHAR"/>
</resultMap>
<select id="selectList" parameterType="pps.core.space.entity.SpaceOptimizeLongPeriodView" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from space_optimize_long_period
where
id=#{id}
SELECT p.id,
p.line_id,
p.institution_id,
p.execution_cycle,
p.optimize_state,
p.optimize_deadline,
d.ou_id,
d.grid_type_key,
d.institution_name
FROM space_institution_detail d
JOIN space_optimize_long_period p ON d.id = p.institution_id
WHERE d.is_current_basic = 0
AND d.is_deleted = 1
AND p.is_deleted = 1
AND d.line_id = #{lineId}
AND p.line_id = #{lineId}
ORDER BY p.optimize_deadline DESC
</select>
</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