Commit 57e89594 authored by tianchao's avatar tianchao
parents bbd490c4 9e0772a7
...@@ -26,6 +26,46 @@ public class BusinessConstant { ...@@ -26,6 +26,46 @@ public class BusinessConstant {
*/ */
public static final String WELLHEAD = "wellhead"; public static final String WELLHEAD = "wellhead";
/**
* 光伏发电
*/
public static final String PHOTOVOLTAIC = "gf";
/**
* 储能发电
*/
public static final String STORED_ENERGY = "cn";
/**
* 柴油发电
*/
public static final String DIESEL_POWER = "cf";
/**
* 间抽井
*/
public static final String INTERVAL_PUMPING_WELL = "INTERVAL";
/**
* 连抽井
*/
public static final String CONTINUOUS_PUMPING_WELL = "CONTINUOUS";
/**
* 字符串一
*/
public static final String STRING_ONE = "1";
/**
* 已优化
*/
public static final String OPTIMIZED_C = "已优化";
/**
* 未优化
*/
public static final String NO_OPTIMIZATION_C = "未优化";
/*------------------------------数字------------------------------*/ /*------------------------------数字------------------------------*/
/** /**
...@@ -75,6 +115,11 @@ public class BusinessConstant { ...@@ -75,6 +115,11 @@ public class BusinessConstant {
*/ */
public static final String END_OF_DAY_TIME = "23:59"; public static final String END_OF_DAY_TIME = "23:59";
/**
* 一天开始时间
*/
public static final String START_OF_DAY_TIME = "00:00";
/** /**
* 日期标志 * 日期标志
*/ */
......
...@@ -423,6 +423,9 @@ public class SysOrganizationService { ...@@ -423,6 +423,9 @@ public class SysOrganizationService {
/** /**
* 组织机构管理--动态查询列表 * 组织机构管理--动态查询列表
* GET /system/sys-organization/query-sys-organization-list
* 接口ID:106823391
* 接口地址:https://app.apifox.com/project/3196988/apis/api-106823391
* *
* @param context 上下文 * @param context 上下文
* @param input 输入 * @param input 输入
...@@ -452,6 +455,9 @@ public class SysOrganizationService { ...@@ -452,6 +455,9 @@ public class SysOrganizationService {
/** /**
* 组织机构管理--查询组织和线路列表 * 组织机构管理--查询组织和线路列表
* GET /system/sys-organization/query-org-and-line-list
* 接口ID:108626631
* 接口地址:https://app.apifox.com/project/3196988/apis/api-108626631
* *
* @param context 上下文 * @param context 上下文
* @param input 输入 * @param input 输入
...@@ -784,6 +790,16 @@ public class SysOrganizationService { ...@@ -784,6 +790,16 @@ public class SysOrganizationService {
return XPageResult.success(outputs, input, pageInfo.getTotal()); return XPageResult.success(outputs, input, pageInfo.getTotal());
} }
/**
* 组织机构管理--分页列表
* POST /system/sys-organization/querySysOrganizationViewIncluedOwnerPage
* 接口ID:106663218
* 接口地址:https://app.apifox.com/project/3196988/apis/api-106663218
*
* @param context 上下文
* @param input 输入
* @return {@link XPageResult}<{@link QuerySysOrganizationViewOutput}>
*/
@XText("查询组织机构列表") @XText("查询组织机构列表")
@XApiPost @XApiPost
public XPageResult<QuerySysOrganizationViewOutput> querySysOrganizationViewIncluedOwnerPage(XContext context, QuerySysOrganizationViewInput input) { public XPageResult<QuerySysOrganizationViewOutput> querySysOrganizationViewIncluedOwnerPage(XContext context, QuerySysOrganizationViewInput input) {
......
...@@ -107,7 +107,8 @@ ...@@ -107,7 +107,8 @@
sys_organization_rel sor sys_organization_rel sor
LEFT JOIN sys_organization ou ON ou.id = sor.ou_id LEFT JOIN sys_organization ou ON ou.id = sor.ou_id
<where> <where>
ou.is_deleted = #{isDeleted} sor.end_time >= NOW()
and ou.is_deleted = #{isDeleted}
<if test="id != null and id != ''"> <if test="id != null and id != ''">
and sor.parent_ou_id = #{id} and sor.parent_ou_id = #{id}
</if> </if>
...@@ -471,7 +472,8 @@ ...@@ -471,7 +472,8 @@
from sys_organization so from sys_organization so
left join sys_organization_rel sor on sor.parent_ou_id = so.id left join sys_organization_rel sor on sor.parent_ou_id = so.id
<where> <where>
sor.ou_id in sor.end_time >= NOW()
AND sor.ou_id in
<foreach collection="list" open="(" close=")" separator="," item="item"> <foreach collection="list" open="(" close=")" separator="," item="item">
#{item} #{item}
</foreach> </foreach>
...@@ -539,6 +541,7 @@ ...@@ -539,6 +541,7 @@
sys_organization o sys_organization o
WHERE WHERE
r.ou_id = o.id r.ou_id = o.id
AND r.end_time >= NOW()
AND o.is_deleted = 1 AND o.is_deleted = 1
<if test="parentOuId != null and parentOuId != ''"> <if test="parentOuId != null and parentOuId != ''">
AND r.parent_ou_id = #{parentOuId} AND r.parent_ou_id = #{parentOuId}
...@@ -575,9 +578,10 @@ ...@@ -575,9 +578,10 @@
o.ou_name AS ou_name, o.ou_name AS ou_name,
'' AS line_id, '' AS line_id,
'ORG' AS ou_level 'ORG' AS ou_level
FROM sys_organization_rel r FROM sys_organization o
LEFT JOIN sys_organization o ON o.id = r.ou_id LEFT JOIN sys_organization_rel r ON o.id = r.ou_id
WHERE r.parent_ou_id = #{id} WHERE r.parent_ou_id = #{id}
AND r.end_time >= NOW()
AND o.is_deleted = 1 AND o.is_deleted = 1
ORDER BY r.sort) ORDER BY r.sort)
UNION ALL UNION ALL
......
...@@ -28,11 +28,11 @@ public enum BusinessError implements XError { ...@@ -28,11 +28,11 @@ public enum BusinessError implements XError {
@Override @Override
public int getCode() { public int getCode() {
return 0; return code;
} }
@Override @Override
public String getText() { public String getText() {
return null; return text;
} }
} }
...@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.StringUtils;
import pps.core.base.entity.BaseDieselGeneratorEnt; import pps.core.base.entity.BaseDieselGeneratorEnt;
import pps.core.base.entity.BasePowerLineDieselEnt; import pps.core.base.entity.BasePowerLineDieselEnt;
import pps.core.base.enums.BusinessError; import pps.core.base.enums.BusinessError;
...@@ -110,23 +111,37 @@ public class BaseDieselGeneratorService { ...@@ -110,23 +111,37 @@ public class BaseDieselGeneratorService {
return XSingleResult.success(output); return XSingleResult.success(output);
} }
/**
* 分页查询
* GET /base/base-diesel-generator/query-base-diesel-generator
* 接口ID:105601992
* 接口地址:https://app.apifox.com/project/3196988/apis/api-105601992
*
* @param context 上下文
* @param input 输入
* @return {@link XPageResult}<{@link QueryBaseDieselGeneratorOutput}>
*/
@XText("分页查询") @XText("分页查询")
@XApiAnonymous @XApiAnonymous
@XApiGet @XApiGet
public XPageResult<QueryBaseDieselGeneratorOutput> queryBaseDieselGenerator(XContext context, QueryBaseDieselGeneratorInput input) { public XPageResult<QueryBaseDieselGeneratorOutput> queryBaseDieselGenerator(XContext context, QueryBaseDieselGeneratorInput input) {
String ouId = input.getOuId();
String ouName = input.getOuName(); String ouName = input.getOuName();
String deviceName = input.getDeviceName(); String deviceName = input.getDeviceName();
String excludeIdFlag = input.getExcludeIdFlag();
BaseDieselGeneratorMapper mapper = context.getBean(BaseDieselGeneratorMapper.class); BaseDieselGeneratorMapper mapper = context.getBean(BaseDieselGeneratorMapper.class);
List<String> allListByOuId = ServiceUtil.getOrgIdsByPath(context, ouId);
QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>();
if (StringUtils.equals(BusinessConstant.STRING_ONE, input.getExcludeIdFlag())) {
queryWrapper.lambda()
.notExists("SELECT 1 FROM base_power_line_diesel w WHERE base_diesel_generator.id = w.diesel_id AND w.is_deleted = 1")
.eq(BaseDieselGeneratorEnt::getOuId, input.getOuId());
} else {
List<String> allListByOuId = ServiceUtil.getOrgIdsByPath(context, input.getOuId());
queryWrapper.lambda()
.in(CollUtil.isNotEmpty(allListByOuId), BaseDieselGeneratorEnt::getOuId, allListByOuId);
}
queryWrapper.lambda() queryWrapper.lambda()
.notExists("1".equals(excludeIdFlag), "SELECT 1 FROM base_power_line_diesel w WHERE w.ou_id = {0} AND base_diesel_generator.id = w.diesel_id AND w.is_deleted = 1", input.getOuId())
.eq(BaseDieselGeneratorEnt::getIsDeleted, BusinessConstant.ONE)
.in(CollUtil.isNotEmpty(allListByOuId), BaseDieselGeneratorEnt::getOuId, allListByOuId)
.like(StrUtil.isNotEmpty(ouName), BaseDieselGeneratorEnt::getOuName, ouName) .like(StrUtil.isNotEmpty(ouName), BaseDieselGeneratorEnt::getOuName, ouName)
.like(StrUtil.isNotEmpty(deviceName), BaseDieselGeneratorEnt::getDeviceName, deviceName) .like(StrUtil.isNotEmpty(deviceName), BaseDieselGeneratorEnt::getDeviceName, deviceName)
.eq(BaseDieselGeneratorEnt::getIsDeleted, BusinessConstant.ONE)
.orderByDesc(BaseDieselGeneratorEnt::getModifyTime); .orderByDesc(BaseDieselGeneratorEnt::getModifyTime);
return XMapperHelper.query(mapper, input, queryWrapper, QueryBaseDieselGeneratorOutput.class); return XMapperHelper.query(mapper, input, queryWrapper, QueryBaseDieselGeneratorOutput.class);
} }
......
...@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.StringUtils;
import pps.core.base.entity.BaseEnergyStorageDeviceEnt; import pps.core.base.entity.BaseEnergyStorageDeviceEnt;
import pps.core.base.entity.BasePowerLineStorageEnt; import pps.core.base.entity.BasePowerLineStorageEnt;
import pps.core.base.enums.BusinessError; import pps.core.base.enums.BusinessError;
...@@ -110,23 +111,37 @@ public class BaseEnergyStorageDeviceService { ...@@ -110,23 +111,37 @@ public class BaseEnergyStorageDeviceService {
return XSingleResult.success(output); return XSingleResult.success(output);
} }
/**
* 分页查询
* GET /base/base-energy-storage-device/query-base-energy-storage-device
* 接口ID:105602201
* 接口地址:https://app.apifox.com/project/3196988/apis/api-105602201
*
* @param context 上下文
* @param input 输入
* @return {@link XPageResult}<{@link QueryBaseEnergyStorageDeviceOutput}>
*/
@XText("分页查询") @XText("分页查询")
@XApiAnonymous @XApiAnonymous
@XApiGet @XApiGet
public XPageResult<QueryBaseEnergyStorageDeviceOutput> queryBaseEnergyStorageDevice(XContext context, QueryBaseEnergyStorageDeviceInput input) { public XPageResult<QueryBaseEnergyStorageDeviceOutput> queryBaseEnergyStorageDevice(XContext context, QueryBaseEnergyStorageDeviceInput input) {
String ouId = input.getOuId();
String ouName = input.getOuName(); String ouName = input.getOuName();
String deviceName = input.getDeviceName(); String deviceName = input.getDeviceName();
String excludeIdFlag = input.getExcludeIdFlag();
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class); BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
List<String> allListByOuId = ServiceUtil.getOrgIdsByPath(context, ouId);
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>();
if (StringUtils.equals(BusinessConstant.STRING_ONE, input.getExcludeIdFlag())) {
queryWrapper.lambda()
.notExists("SELECT 1 FROM base_power_line_storage w WHERE base_energy_storage_device.id = w.storage_id AND w.is_deleted = 1")
.eq(BaseEnergyStorageDeviceEnt::getOuId, input.getOuId());
} else {
List<String> allListByOuId = ServiceUtil.getOrgIdsByPath(context, input.getOuId());
queryWrapper.lambda()
.in(CollUtil.isNotEmpty(allListByOuId), BaseEnergyStorageDeviceEnt::getOuId, allListByOuId);
}
queryWrapper.lambda() queryWrapper.lambda()
.notExists("1".equals(excludeIdFlag), "SELECT 1 FROM base_power_line_storage w WHERE w.ou_id = {0} AND base_energy_storage_device.id = w.storage_id AND w.is_deleted = 1", input.getOuId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE)
.in(CollUtil.isNotEmpty(allListByOuId), BaseEnergyStorageDeviceEnt::getOuId, allListByOuId)
.like(StrUtil.isNotEmpty(ouName), BaseEnergyStorageDeviceEnt::getOuName, ouName) .like(StrUtil.isNotEmpty(ouName), BaseEnergyStorageDeviceEnt::getOuName, ouName)
.like(StrUtil.isNotEmpty(deviceName), BaseEnergyStorageDeviceEnt::getDeviceName, deviceName) .like(StrUtil.isNotEmpty(deviceName), BaseEnergyStorageDeviceEnt::getDeviceName, deviceName)
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE)
.orderByDesc(BaseEnergyStorageDeviceEnt::getModifyTime); .orderByDesc(BaseEnergyStorageDeviceEnt::getModifyTime);
return XMapperHelper.query(mapper, input, queryWrapper, QueryBaseEnergyStorageDeviceOutput.class); return XMapperHelper.query(mapper, input, queryWrapper, QueryBaseEnergyStorageDeviceOutput.class);
} }
......
...@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.StringUtils;
import pps.core.base.entity.BasePhotovoltaicPlantEnt; import pps.core.base.entity.BasePhotovoltaicPlantEnt;
import pps.core.base.entity.BasePowerLineEnt; import pps.core.base.entity.BasePowerLineEnt;
import pps.core.base.entity.BasePowerLinePlantEnt; import pps.core.base.entity.BasePowerLinePlantEnt;
...@@ -126,21 +127,35 @@ public class BasePhotovoltaicPlantService { ...@@ -126,21 +127,35 @@ public class BasePhotovoltaicPlantService {
return XSingleResult.success(output); return XSingleResult.success(output);
} }
/**
* 分页查询
* GET /base/base-photovoltaic-plant/query-base-photovoltaic-plant
* 接口ID:105466277
* 接口地址:https://app.apifox.com/project/3196988/apis/api-105466277
*
* @param context 上下文
* @param input 输入
* @return {@link XPageResult}<{@link QueryBasePhotovoltaicPlantOutput}>
*/
@XText("分页查询") @XText("分页查询")
@XApiAnonymous @XApiAnonymous
@XApiGet @XApiGet
public XPageResult<QueryBasePhotovoltaicPlantOutput> queryBasePhotovoltaicPlant(XContext context, QueryBasePhotovoltaicPlantInput input) { public XPageResult<QueryBasePhotovoltaicPlantOutput> queryBasePhotovoltaicPlant(XContext context, QueryBasePhotovoltaicPlantInput input) {
BasePhotovoltaicPlantMapper mapper = context.getBean(BasePhotovoltaicPlantMapper.class); BasePhotovoltaicPlantMapper mapper = context.getBean(BasePhotovoltaicPlantMapper.class);
String stationName = input.getStationName(); String stationName = input.getStationName();
String ouId = input.getOuId();
String excludeIdFlag = input.getExcludeIdFlag();
List<String> allListByOuId = ServiceUtil.getOrgIdsByPath(context, ouId);
QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>();
if (StringUtils.equals(BusinessConstant.STRING_ONE, input.getExcludeIdFlag())) {
queryWrapper.lambda()
.notExists("SELECT 1 FROM base_power_line_plant w WHERE base_photovoltaic_plant.id = w.plant_id AND w.is_deleted = 1")
.eq(BasePhotovoltaicPlantEnt::getOuId, input.getOuId());
} else {
List<String> allListByOuId = ServiceUtil.getOrgIdsByPath(context, input.getOuId());
queryWrapper.lambda()
.in(CollUtil.isNotEmpty(allListByOuId), BasePhotovoltaicPlantEnt::getOuId, allListByOuId);
}
queryWrapper.lambda() queryWrapper.lambda()
.notExists("1".equals(excludeIdFlag), "SELECT 1 FROM base_power_line_plant w WHERE w.ou_id = {0} AND base_photovoltaic_plant.id = w.plant_id AND w.is_deleted = 1", input.getOuId())
.eq(BasePhotovoltaicPlantEnt::getIsDeleted, BusinessConstant.ONE)
.in(CollUtil.isNotEmpty(allListByOuId), BasePhotovoltaicPlantEnt::getOuId, allListByOuId)
.like(StrUtil.isNotEmpty(stationName), BasePhotovoltaicPlantEnt::getStationName, stationName) .like(StrUtil.isNotEmpty(stationName), BasePhotovoltaicPlantEnt::getStationName, stationName)
.eq(BasePhotovoltaicPlantEnt::getIsDeleted, BusinessConstant.ONE)
.orderByDesc(BasePhotovoltaicPlantEnt::getModifyTime); .orderByDesc(BasePhotovoltaicPlantEnt::getModifyTime);
return XMapperHelper.query(mapper, input, queryWrapper, QueryBasePhotovoltaicPlantOutput.class); return XMapperHelper.query(mapper, input, queryWrapper, QueryBasePhotovoltaicPlantOutput.class);
} }
......
...@@ -116,18 +116,33 @@ public class BaseWellheadService { ...@@ -116,18 +116,33 @@ public class BaseWellheadService {
return XSingleResult.success(output); return XSingleResult.success(output);
} }
/**
* 分页查询
* GET /base/base-wellhead/query-base-wellhead
* 接口ID:105431641
* 接口地址:https://app.apifox.com/project/3196988/apis/api-105431641
*
* @param context 上下文
* @param input 输入
* @return {@link XPageResult}<{@link QueryBaseWellheadOutput}>
*/
@XText("分页查询") @XText("分页查询")
@XApiAnonymous @XApiAnonymous
@XApiGet @XApiGet
public XPageResult<QueryBaseWellheadOutput> queryBaseWellhead(XContext context, QueryBaseWellheadInput input) { public XPageResult<QueryBaseWellheadOutput> queryBaseWellhead(XContext context, QueryBaseWellheadInput input) {
String excludeIdFlag = input.getExcludeIdFlag();
BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class); BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class);
QueryWrapper<BaseWellheadEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BaseWellheadEnt> queryWrapper = new QueryWrapper<>();
List<String> allListByOuId = ServiceUtil.getOrgIdsByPath(context, input.getOuId()); if (StringUtils.equals(BusinessConstant.STRING_ONE, input.getExcludeIdFlag())) {
queryWrapper.lambda()
.notExists("SELECT 1 FROM base_power_line_wellhead w WHERE base_wellhead.id = w.wellhead_id AND w.is_deleted = 1")
.eq(BaseWellheadEnt::getOuId, input.getOuId());
} else {
List<String> allListByOuId = ServiceUtil.getOrgIdsByPath(context, input.getOuId());
queryWrapper.lambda()
.in(CollUtil.isNotEmpty(allListByOuId), BaseWellheadEnt::getOuId, allListByOuId);
}
queryWrapper.lambda() queryWrapper.lambda()
.notExists(StringUtils.equals("1", excludeIdFlag), "SELECT 1 FROM base_power_line_wellhead w WHERE w.ou_id = {0} AND base_wellhead.id = w.wellhead_id AND w.is_deleted = 1", input.getOuId())
.eq(BaseWellheadEnt::getIsDeleted, BusinessConstant.ONE) .eq(BaseWellheadEnt::getIsDeleted, BusinessConstant.ONE)
.in(CollUtil.isNotEmpty(allListByOuId), BaseWellheadEnt::getOuId, allListByOuId)
.orderByDesc(BaseWellheadEnt::getModifyTime); .orderByDesc(BaseWellheadEnt::getModifyTime);
return XMapperHelper.query(mapper, input, queryWrapper, QueryBaseWellheadOutput.class); return XMapperHelper.query(mapper, input, queryWrapper, QueryBaseWellheadOutput.class);
} }
......
package pps.core.base.service.data.base_diesel_generator; package pps.core.base.service.data.base_diesel_generator;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.data.XPageInput; import xstartup.base.data.XPageInput;
import java.math.BigDecimal; import java.math.BigDecimal;
/**
* 柴发设备
*
* @author ZWT
* @date 2023/09/25
*/
@Data @Data
public class QueryBaseDieselGeneratorInput extends XPageInput { public class QueryBaseDieselGeneratorInput extends XPageInput {
@XText("组织机构ID") @XText("组织机构ID")
@NotBlank(message = "缺少组织机构ID")
private String ouId; private String ouId;
@XText("组织机构name") @XText("组织机构name")
...@@ -35,5 +43,4 @@ public class QueryBaseDieselGeneratorInput extends XPageInput { ...@@ -35,5 +43,4 @@ public class QueryBaseDieselGeneratorInput extends XPageInput {
@XText("排除已绑定线路标识") @XText("排除已绑定线路标识")
private String excludeIdFlag; private String excludeIdFlag;
} }
...@@ -2,36 +2,21 @@ package pps.core.base.service.data.base_diesel_generator; ...@@ -2,36 +2,21 @@ package pps.core.base.service.data.base_diesel_generator;
import lombok.Data; import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.data.XPageInput;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/**
* 柴发设备
*
* @author ZWT
* @date 2023/09/25
*/
@Data @Data
public class QueryBaseDieselGeneratorOutput extends XPageInput { public class QueryBaseDieselGeneratorOutput {
@XText("ID") @XText("ID")
private String id; private String id;
@XText("是否删除(1_是;0_否)")
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") @XText("组织机构ID")
private String ouId; private String ouId;
...@@ -55,5 +40,4 @@ public class QueryBaseDieselGeneratorOutput extends XPageInput { ...@@ -55,5 +40,4 @@ public class QueryBaseDieselGeneratorOutput extends XPageInput {
@XText("备用功率(KW)") @XText("备用功率(KW)")
private BigDecimal standbyPower; private BigDecimal standbyPower;
} }
package pps.core.base.service.data.base_energy_storage_device; package pps.core.base.service.data.base_energy_storage_device;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.data.XPageInput; import xstartup.base.data.XPageInput;
import java.math.BigDecimal; import java.math.BigDecimal;
/**
* 储能设备
*
* @author ZWT
* @date 2023/09/25
*/
@Data @Data
public class QueryBaseEnergyStorageDeviceInput extends XPageInput { public class QueryBaseEnergyStorageDeviceInput extends XPageInput {
@XText("组织机构ID") @XText("组织机构ID")
@NotBlank(message = "缺少组织机构ID")
private String ouId; private String ouId;
@XText("组织机构name") @XText("组织机构name")
...@@ -35,8 +43,7 @@ public class QueryBaseEnergyStorageDeviceInput extends XPageInput { ...@@ -35,8 +43,7 @@ public class QueryBaseEnergyStorageDeviceInput extends XPageInput {
@XText("额定充电功率(KW)") @XText("额定充电功率(KW)")
private BigDecimal ratedChargingPower; private BigDecimal ratedChargingPower;
@XText("排除已绑定线路标识") @XText("排除已绑定线路标识")
private String excludeIdFlag; private String excludeIdFlag;
} }
...@@ -3,36 +3,21 @@ package pps.core.base.service.data.base_energy_storage_device; ...@@ -3,36 +3,21 @@ package pps.core.base.service.data.base_energy_storage_device;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.data.XPageInput;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/**
* 储能设备
*
* @author ZWT
* @date 2023/09/25
*/
@Data @Data
public class QueryBaseEnergyStorageDeviceOutput extends XPageInput { public class QueryBaseEnergyStorageDeviceOutput {
@XText("ID") @XText("ID")
private String id; private String id;
@XText("是否删除(1_是;0_否)")
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") @XText("组织机构ID")
private String ouId; private String ouId;
...@@ -67,5 +52,4 @@ public class QueryBaseEnergyStorageDeviceOutput extends XPageInput { ...@@ -67,5 +52,4 @@ public class QueryBaseEnergyStorageDeviceOutput extends XPageInput {
@XText("额定放电效率") @XText("额定放电效率")
@TableField @TableField
private BigDecimal ratedDischargeEfficiency; private BigDecimal ratedDischargeEfficiency;
} }
package pps.core.base.service.data.base_photovoltaic_plant; package pps.core.base.service.data.base_photovoltaic_plant;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.data.XPageInput; import xstartup.base.data.XPageInput;
import java.math.BigDecimal; import java.math.BigDecimal;
/**
* 光伏电站
*
* @author ZWT
* @date 2023/09/25
*/
@Data @Data
public class QueryBasePhotovoltaicPlantInput extends XPageInput { public class QueryBasePhotovoltaicPlantInput extends XPageInput {
@XText("组织机构ID") @XText("组织机构ID")
@NotBlank(message = "缺少组织机构ID")
private String ouId; private String ouId;
@XText("电站名称") @XText("电站名称")
...@@ -31,9 +40,10 @@ public class QueryBasePhotovoltaicPlantInput extends XPageInput { ...@@ -31,9 +40,10 @@ public class QueryBasePhotovoltaicPlantInput extends XPageInput {
@XText("组织机构name") @XText("组织机构name")
private String ouName; private String ouName;
@XText("光伏设备规格型号name(字典获取)") @XText("光伏设备规格型号name(字典获取)")
private String photovoltaicModelName; private String photovoltaicModelName;
@XText("排除已绑定线路标识") @XText("排除已绑定线路标识")
private String excludeIdFlag; private String excludeIdFlag;
} }
...@@ -2,36 +2,21 @@ package pps.core.base.service.data.base_photovoltaic_plant; ...@@ -2,36 +2,21 @@ package pps.core.base.service.data.base_photovoltaic_plant;
import lombok.Data; import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.data.XPageInput;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/**
* 光伏电站
*
* @author ZWT
* @date 2023/09/25
*/
@Data @Data
public class QueryBasePhotovoltaicPlantOutput extends XPageInput { public class QueryBasePhotovoltaicPlantOutput {
@XText("ID") @XText("ID")
private String 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") @XText("组织机构ID")
private String ouId; private String ouId;
...@@ -52,9 +37,10 @@ public class QueryBasePhotovoltaicPlantOutput extends XPageInput { ...@@ -52,9 +37,10 @@ public class QueryBasePhotovoltaicPlantOutput extends XPageInput {
@XText("阵列朝向") @XText("阵列朝向")
private BigDecimal arrayOrientation; private BigDecimal arrayOrientation;
@XText("组织机构name") @XText("组织机构name")
private String ouName; private String ouName;
@XText("光伏设备规格型号name(字典获取)") @XText("光伏设备规格型号name(字典获取)")
private String photovoltaicModelName; private String photovoltaicModelName;
} }
package pps.core.base.service.data.base_wellhead; package pps.core.base.service.data.base_wellhead;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.data.XPageInput; import xstartup.base.data.XPageInput;
import java.math.BigDecimal; import java.math.BigDecimal;
/**
* 井口
*
* @author ZWT
* @date 2023/09/25
*/
@Data @Data
public class QueryBaseWellheadInput extends XPageInput { public class QueryBaseWellheadInput extends XPageInput {
@XText("组织机构ID") @XText("组织机构ID")
@NotBlank(message = "缺少组织机构ID")
private String ouId; private String ouId;
@XText("组织机构ID") @XText("组织机构ID")
private String ouName; private String ouName;
...@@ -19,6 +28,7 @@ public class QueryBaseWellheadInput extends XPageInput { ...@@ -19,6 +28,7 @@ public class QueryBaseWellheadInput extends XPageInput {
@XText("运行类型key(字典获取)") @XText("运行类型key(字典获取)")
private String runTypeKey; private String runTypeKey;
@XText("运行类型name(字典获取)") @XText("运行类型name(字典获取)")
private String runTypeName; private String runTypeName;
...@@ -27,5 +37,4 @@ public class QueryBaseWellheadInput extends XPageInput { ...@@ -27,5 +37,4 @@ public class QueryBaseWellheadInput extends XPageInput {
@XText("排除已绑定线路标识") @XText("排除已绑定线路标识")
private String excludeIdFlag; private String excludeIdFlag;
}
} \ No newline at end of file
package pps.core.base.service.data.base_wellhead; package pps.core.base.service.data.base_wellhead;
import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.data.XPageInput;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
public class QueryBaseWellheadOutput extends XPageInput {
@XText("ID")
private String id;
@XText("是否删除(1_是;0_否)")
private Integer isDeleted;
@XText("创建人ID")
private String createById;
@XText("创建人名称")
private String createByName;
@XText("创建时间") /**
private Date createTime; * 井口设置
*
* @author ZWT
* @date 2023/09/25
*/
@Data
public class QueryBaseWellheadOutput {
@XText("修改人ID") @XText("ID")
private String modifyById; private String id;
@XText("修改人名称")
private String modifyByName;
@XText("修改时间")
private Date modifyTime;
@XText("组织机构ID") @XText("组织机构ID")
private String ouId; private String ouId;
@XText("组织机构名称") @XText("组织机构名称")
private String ouName; private String ouName;
...@@ -40,121 +28,10 @@ public class QueryBaseWellheadOutput extends XPageInput { ...@@ -40,121 +28,10 @@ public class QueryBaseWellheadOutput extends XPageInput {
@XText("运行类型key(字典获取)") @XText("运行类型key(字典获取)")
private String runTypeKey; private String runTypeKey;
@XText("运行类型Name(字典获取)") @XText("运行类型Name(字典获取)")
private String runTypeName; private String runTypeName;
@XText("运行功率(KW)") @XText("运行功率(KW)")
private BigDecimal serviceRating; private BigDecimal serviceRating;
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 getOuId() {
return this.ouId;
}
public void setOuId(String value) {
this.ouId = value;
}
public String getWellNumber() {
return this.wellNumber;
}
public void setWellNumber(String value) {
this.wellNumber = value;
}
public String getRunTypeKey() {
return this.runTypeKey;
}
public void setRunTypeKey(String value) {
this.runTypeKey = value;
}
public BigDecimal getServiceRating() {
return this.serviceRating;
}
public void setServiceRating(BigDecimal value) {
this.serviceRating = value;
}
public String getOuName() {
return ouName;
}
public void setOuName(String ouName) {
this.ouName = ouName;
}
public String getRunTypeName() {
return runTypeName;
}
public void setRunTypeName(String runTypeName) {
this.runTypeName = runTypeName;
}
} }
...@@ -24,7 +24,7 @@ public class CronConstant { ...@@ -24,7 +24,7 @@ public class CronConstant {
public static final String EVERY_DAY = "0 15 0 * * ?"; public static final String EVERY_DAY = "0 15 0 * * ?";
/** /**
* 每一天结束时间 23:30:00 * 每一天结束时间 23:50:00
*/ */
public static final String END_OF_DAY = "0 30 23 * * ?"; public static final String END_OF_DAY = "0 50 23 * * ?";
} }
\ No newline at end of file
...@@ -37,4 +37,4 @@ public class SpaceOptimizeShortJob implements XJob { ...@@ -37,4 +37,4 @@ public class SpaceOptimizeShortJob implements XJob {
logger.info("------ SpaceOptimizeShortJob end:{}", System.currentTimeMillis()); logger.info("------ SpaceOptimizeShortJob end:{}", System.currentTimeMillis());
return XServiceResult.OK; return XServiceResult.OK;
} }
} }
\ No newline at end of file
...@@ -7,6 +7,7 @@ import pps.core.common.entity.BaseModel; ...@@ -7,6 +7,7 @@ import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* 间开制度小间开时段配置 * 间开制度小间开时段配置
...@@ -41,4 +42,12 @@ public class SpaceInstitutionDurationEnt extends BaseModel implements Serializab ...@@ -41,4 +42,12 @@ public class SpaceInstitutionDurationEnt extends BaseModel implements Serializab
@XText("关井时间") @XText("关井时间")
@TableField @TableField
private String closeWellTime; private String closeWellTime;
@XText("开井时间")
@TableField(exist = false)
private Date openTime;
@XText("关井时间")
@TableField(exist = false)
private Date closeTime;
} }
...@@ -6,6 +6,7 @@ import pps.core.common.entity.BaseModel; ...@@ -6,6 +6,7 @@ import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* 间开优化井口制度记录 * 间开优化井口制度记录
...@@ -43,4 +44,12 @@ public class SpaceOptimizeDurationDTO extends BaseModel implements Serializable ...@@ -43,4 +44,12 @@ public class SpaceOptimizeDurationDTO extends BaseModel implements Serializable
@XText("关井时间") @XText("关井时间")
@TableField @TableField
private String closeWellTime; private String closeWellTime;
@XText("开井时间")
@TableField(exist = false)
private Date openTime;
@XText("关井时间")
@TableField(exist = false)
private Date closeTime;
} }
...@@ -28,11 +28,11 @@ public enum BusinessError implements XError { ...@@ -28,11 +28,11 @@ public enum BusinessError implements XError {
@Override @Override
public int getCode() { public int getCode() {
return 0; return code;
} }
@Override @Override
public String getText() { public String getText() {
return null; return text;
} }
} }
...@@ -2,7 +2,9 @@ package pps.core.space.mapper; ...@@ -2,7 +2,9 @@ package pps.core.space.mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import pps.core.space.entity.*; import pps.core.space.entity.SpaceOptimizeDurationDTO;
import pps.core.space.entity.SpaceOptimizePeriodDTO;
import pps.core.space.entity.SpaceOptimizeWellheadDTO;
import java.util.List; import java.util.List;
...@@ -40,7 +42,7 @@ public interface SpaceOptimizeViewMapper { ...@@ -40,7 +42,7 @@ public interface SpaceOptimizeViewMapper {
int longDurationBatchInsertList(@Param(value = "list") List<SpaceOptimizeDurationDTO> list); int longDurationBatchInsertList(@Param(value = "list") List<SpaceOptimizeDurationDTO> list);
/** /**
* 期间开优化批量新增 * 中短期间开优化批量新增
* *
* @param list 列表 * @param list 列表
* @return int * @return int
...@@ -48,7 +50,7 @@ public interface SpaceOptimizeViewMapper { ...@@ -48,7 +50,7 @@ public interface SpaceOptimizeViewMapper {
int midPeriodBatchInsertList(@Param(value = "list") List<SpaceOptimizePeriodDTO> list); int midPeriodBatchInsertList(@Param(value = "list") List<SpaceOptimizePeriodDTO> list);
/** /**
* 期间开优化井口批量新增 * 中短期间开优化井口批量新增
* *
* @param list 列表 * @param list 列表
* @return int * @return int
...@@ -56,10 +58,34 @@ public interface SpaceOptimizeViewMapper { ...@@ -56,10 +58,34 @@ public interface SpaceOptimizeViewMapper {
int midWellheadBatchInsertList(@Param(value = "list") List<SpaceOptimizeWellheadDTO> list); int midWellheadBatchInsertList(@Param(value = "list") List<SpaceOptimizeWellheadDTO> list);
/** /**
* 期间开优化井口配置批量新增 * 中短期间开优化井口配置批量新增
* *
* @param list 列表 * @param list 列表
* @return int * @return int
*/ */
int midDurationBatchInsertList(@Param(value = "list") List<SpaceOptimizeDurationDTO> list); int midDurationBatchInsertList(@Param(value = "list") List<SpaceOptimizeDurationDTO> list);
/**
* 短期间开优化批量新增
*
* @param list 列表
* @return int
*/
int shortPeriodBatchInsertList(@Param(value = "list") List<SpaceOptimizePeriodDTO> list);
/**
* 短期间开优化井口批量新增
*
* @param list 列表
* @return int
*/
int shortWellheadBatchInsertList(@Param(value = "list") List<SpaceOptimizeWellheadDTO> list);
/**
* 短期间开优化井口配置批量新增
*
* @param list 列表
* @return int
*/
int shortDurationBatchInsertList(@Param(value = "list") List<SpaceOptimizeDurationDTO> list);
} }
...@@ -69,7 +69,7 @@ public class SpaceOptimizeLongPeriodService { ...@@ -69,7 +69,7 @@ public class SpaceOptimizeLongPeriodService {
output.setLineName(lineName); output.setLineName(lineName);
output.setOuName(ouMap.get(output.getOuId())); output.setOuName(ouMap.get(output.getOuId()));
output.setGridTypeName(gridTypeMap.get(output.getGridTypeKey())); output.setGridTypeName(gridTypeMap.get(output.getGridTypeKey()));
output.setOptimizeStateValue(output.getOptimizeState().equals(0) ? "已优化" : "未优化"); output.setOptimizeStateValue(output.getOptimizeState().equals(0) ? BusinessConstant.OPTIMIZED_C : BusinessConstant.NO_OPTIMIZATION_C);
}); });
} }
return XPageResult.success(outputs, input, pageInfo.getTotal()); return XPageResult.success(outputs, input, pageInfo.getTotal());
......
...@@ -4,12 +4,14 @@ import cn.hutool.core.collection.CollUtil; ...@@ -4,12 +4,14 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerInput; import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerInput;
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerOutput; import pps.cloud.prediction.service.data.storage_predicted_power_data.DynamicQueryStoragePredictedPowerInput;
import pps.cloud.space.service.ISpaceOptimizeMidCloudService; import pps.cloud.space.service.ISpaceOptimizeMidCloudService;
import pps.core.common.constant.BusinessConstant; import pps.core.common.constant.BusinessConstant;
import pps.core.common.utils.BaseUtils; import pps.core.common.utils.BaseUtils;
import pps.core.space.entity.*; import pps.core.space.entity.SpaceInstitutionDetailEnt;
import pps.core.space.mapper.SpaceInstitutionDurationMapper; import pps.core.space.entity.SpaceOptimizeDurationDTO;
import pps.core.space.entity.SpaceOptimizePeriodDTO;
import pps.core.space.entity.SpaceOptimizeWellheadDTO;
import pps.core.space.mapper.SpaceOptimizeViewMapper; import pps.core.space.mapper.SpaceOptimizeViewMapper;
import pps.core.space.service.data.SpaceOptimizeLineRelation; import pps.core.space.service.data.SpaceOptimizeLineRelation;
import xstartup.annotation.XService; import xstartup.annotation.XService;
...@@ -19,7 +21,6 @@ import xstartup.helper.XTransactionHelper; ...@@ -19,7 +21,6 @@ import xstartup.helper.XTransactionHelper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 中短期间开优化Cloud模块 * 中短期间开优化Cloud模块
...@@ -43,12 +44,10 @@ public class SpaceOptimizeMidCloudServiceImpl extends SpaceOptimizeBaseService i ...@@ -43,12 +44,10 @@ public class SpaceOptimizeMidCloudServiceImpl extends SpaceOptimizeBaseService i
String startWeek = date.toString(BusinessConstant.DATE_FORMAT_DAY); String startWeek = date.toString(BusinessConstant.DATE_FORMAT_DAY);
//取生效中的基础间开 //取生效中的基础间开
List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, startWeek); List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, startWeek);
SpaceOptimizeLineRelation wellheadAndPlant = super.getWellheadAndPlant(context, detailEntList); SpaceOptimizeLineRelation relation = super.getOptimizeLineRelation(context, detailEntList);
List<SpaceInstitutionWellheadView> spaceWellheadList = wellheadAndPlant.getSpaceWellheadList();
Map<String, List<String>> plantIdsByLineIdMap = wellheadAndPlant.getPlantIdsByLineIdMap();
//月份要加一 //月份要加一
int monthNum = date.month() + 1; int monthNum = date.month() + 1;
SpaceInstitutionDurationMapper durationMapper = context.getBean(SpaceInstitutionDurationMapper.class); DateTime lastWeek = DateUtil.lastWeek();
List<SpaceOptimizePeriodDTO> periodDTOList = new ArrayList<>(32); List<SpaceOptimizePeriodDTO> periodDTOList = new ArrayList<>(32);
List<SpaceOptimizeWellheadDTO> wellheadDTOList = new ArrayList<>(64); List<SpaceOptimizeWellheadDTO> wellheadDTOList = new ArrayList<>(64);
List<SpaceOptimizeDurationDTO> durationDTOList = new ArrayList<>(128); List<SpaceOptimizeDurationDTO> durationDTOList = new ArrayList<>(128);
...@@ -67,19 +66,31 @@ public class SpaceOptimizeMidCloudServiceImpl extends SpaceOptimizeBaseService i ...@@ -67,19 +66,31 @@ public class SpaceOptimizeMidCloudServiceImpl extends SpaceOptimizeBaseService i
switch (detail.getGridTypeKey()) { switch (detail.getGridTypeKey()) {
//并网型优化 //并网型优化
case "1": case "1":
//获取当前制度对应的光伏预测数据列表 super.gridConnectedOptimization(context, wellheadDTOList, durationDTOList, unOptimizeDurationList,
List<DynamicQueryPlantPredictedPowerOutput> avgPowerList = super.getAveragePowerGenerationListByPlantIds(context, relation.getWellheadsByInstitutionIdIdMap().get(detail.getId()), detail, monthNum, periodId,
DynamicQueryPlantPredictedPowerInput.builder() DynamicQueryPlantPredictedPowerInput.builder()
.plantIds(plantIdsByLineIdMap.get(lineId)) .plantIds(relation.getPlantIdsByLineIdMap().get(lineId))
.startTime(startWeek) .startTime(startWeek)
.endTime(nextWeek) .endTime(nextWeek)
.dateType(BusinessConstant.ONE)
.build() .build()
); );
super.gridConnectedOptimization(context, durationMapper, wellheadDTOList, durationDTOList, unOptimizeDurationList,
spaceWellheadList, avgPowerList, detail, monthNum, detailId, periodId, lineId);
break; break;
//离网型优化 //离网型优化
case "0": case "0":
super.offGridOptimization(context, wellheadDTOList, durationDTOList, unOptimizeDurationList,
relation.getWellheadsByInstitutionIdIdMap().get(detail.getId()), relation.getStorageAvgMap(), detail, periodId,
DynamicQueryStoragePredictedPowerInput.builder()
.storageIds(relation.getPlantIdsByLineIdMap().get(detail.getLineId()))
.startTime(DateUtil.beginOfWeek(lastWeek).toString(BusinessConstant.DATE_FORMAT_DAY))
.endTime(DateUtil.endOfWeek(lastWeek).toString(BusinessConstant.DATE_FORMAT_DAY))
.build(),
DynamicQueryPlantPredictedPowerInput.builder()
.plantIds(relation.getPlantIdsByLineIdMap().get(lineId))
.startTime(startWeek)
.endTime(nextWeek)
.dateType(BusinessConstant.ONE)
.build());
break; break;
default: default:
//电网类型不存在 //电网类型不存在
......
...@@ -69,7 +69,7 @@ public class SpaceOptimizeMidPeriodService { ...@@ -69,7 +69,7 @@ public class SpaceOptimizeMidPeriodService {
output.setLineName(lineName); output.setLineName(lineName);
output.setOuName(ouMap.get(output.getOuId())); output.setOuName(ouMap.get(output.getOuId()));
output.setGridTypeName(gridTypeMap.get(output.getGridTypeKey())); output.setGridTypeName(gridTypeMap.get(output.getGridTypeKey()));
output.setOptimizeStateValue(output.getOptimizeState().equals(0) ? "已优化" : "未优化"); output.setOptimizeStateValue(output.getOptimizeState().equals(0) ? BusinessConstant.OPTIMIZED_C : BusinessConstant.NO_OPTIMIZATION_C);
}); });
} }
return XPageResult.success(outputs, input, pageInfo.getTotal()); return XPageResult.success(outputs, input, pageInfo.getTotal());
......
package pps.core.space.service; package pps.core.space.service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.core.space.entity.SpaceInstitutionDetailEnt; import pps.core.common.constant.BusinessConstant;
import pps.core.space.entity.SpaceOptimizeShortDurationView; import pps.core.common.entity.BaseModel;
import pps.core.space.entity.SpaceOptimizeShortPeriodEnt; import pps.core.space.entity.*;
import pps.core.space.entity.SpaceOptimizeShortWellheadEnt; import pps.core.space.mapper.*;
import pps.core.space.mapper.SpaceInstitutionDetailMapper;
import pps.core.space.mapper.SpaceOptimizeShortDurationViewMapper;
import pps.core.space.mapper.SpaceOptimizeShortPeriodMapper;
import pps.core.space.mapper.SpaceOptimizeShortWellheadMapper;
import pps.core.space.service.data.SpaceOptimizeDateDuration; import pps.core.space.service.data.SpaceOptimizeDateDuration;
import pps.core.space.service.data.space_optimize_short_period.GetSpaceOptimizeShortPeriodViewInput; import pps.core.space.service.data.space_optimize_short_period.GetSpaceOptimizeShortPeriodViewInput;
import pps.core.space.service.data.space_optimize_short_period.GetSpaceOptimizeShortPeriodViewOutput; import pps.core.space.service.data.space_optimize_short_period.GetSpaceOptimizeShortPeriodViewOutput;
...@@ -23,10 +21,7 @@ import xstartup.data.XSingleResult; ...@@ -23,10 +21,7 @@ import xstartup.data.XSingleResult;
import xstartup.feature.api.annotation.XApiAnonymous; import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet; import xstartup.feature.api.annotation.XApiGet;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -51,49 +46,78 @@ public class SpaceOptimizeShortPeriodService { ...@@ -51,49 +46,78 @@ public class SpaceOptimizeShortPeriodService {
@XText("短期间开优化--详情") @XText("短期间开优化--详情")
public XSingleResult<GetSpaceOptimizeShortPeriodViewOutput> getSpaceOptimizeShortPeriodView(XContext context, GetSpaceOptimizeShortPeriodViewInput input) { public XSingleResult<GetSpaceOptimizeShortPeriodViewOutput> getSpaceOptimizeShortPeriodView(XContext context, GetSpaceOptimizeShortPeriodViewInput input) {
SpaceOptimizeShortPeriodMapper mapper = context.getBean(SpaceOptimizeShortPeriodMapper.class); SpaceOptimizeShortPeriodMapper mapper = context.getBean(SpaceOptimizeShortPeriodMapper.class);
//查当日记录 GetSpaceOptimizeShortPeriodViewOutput output = new GetSpaceOptimizeShortPeriodViewOutput();
SpaceInstitutionDetailMapper detailMapper = context.getBean(SpaceInstitutionDetailMapper.class);
//查询当前线路的基础制度
DateTime date = DateUtil.date();
SpaceInstitutionDetailEnt detailEnt = detailMapper.selectOne(new LambdaQueryWrapper<SpaceInstitutionDetailEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceInstitutionDetailEnt::getIsCurrentBasic, BusinessConstant.ZERO)
.le(SpaceInstitutionDetailEnt::getInstitutionStartDate, date)
.ge(SpaceInstitutionDetailEnt::getInstitutionEndDate, date)
.last("LIMIT 1")
);
if (Objects.isNull(detailEnt)) {
//当前线路没有基础制度
output.setWellheadList(new ArrayList<>(0));
}
output.setGridTypeKey(detailEnt.getGridTypeKey());
//查出当前制度所有的井口
String institutionId = detailEnt.getId();
SpaceInstitutionWellheadMapper wellheadMapper = context.getBean(SpaceInstitutionWellheadMapper.class);
List<SpaceInstitutionWellheadEnt> wellheadEntList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionWellheadEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceInstitutionWellheadEnt::getInstitutionId, institutionId)
.orderByAsc(BaseModel::getCreateTime)
);
if (CollUtil.isEmpty(wellheadEntList)) {
//缺少井口
output.setWellheadList(new ArrayList<>(0));
}
//查当日是否存在优化记录
SpaceOptimizeShortPeriodEnt period = mapper.selectOne( SpaceOptimizeShortPeriodEnt period = mapper.selectOne(
new LambdaQueryWrapper<SpaceOptimizeShortPeriodEnt>() new LambdaQueryWrapper<SpaceOptimizeShortPeriodEnt>()
.eq(SpaceOptimizeShortPeriodEnt::getLineId, input.getLineId()) .eq(SpaceOptimizeShortPeriodEnt::getLineId, input.getLineId())
.apply("DATE_FORMAT( optimize_date, '%Y-%m-%d' ) = curdate()") .eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.apply("DATE_FORMAT( optimize_date, '%Y-%m-%d' ) = CURDATE()")
); );
GetSpaceOptimizeShortPeriodViewOutput output = new GetSpaceOptimizeShortPeriodViewOutput(); Map<String, List<SpaceOptimizeDateDuration>> collect = new HashMap<>(0);
if (Objects.nonNull(period)) { if (Objects.nonNull(period)) {
//查间开制度详情 //如果存在,查出优化过的区间
SpaceInstitutionDetailMapper detailMapper = context.getBean(SpaceInstitutionDetailMapper.class); SpaceOptimizeShortDurationViewMapper durationViewMapper = context.getBean(SpaceOptimizeShortDurationViewMapper.class);
SpaceInstitutionDetailEnt detailEnt = detailMapper.selectById(period.getInstitutionId()); List<SpaceOptimizeShortDurationView> durationViewList = durationViewMapper.selectList(SpaceOptimizeShortDurationView.builder()
output.setGridTypeKey(detailEnt.getGridTypeKey()); .shortPeriodId(period.getId())
String shortPeriodId = period.getId(); .build()
//查井口列表
SpaceOptimizeShortWellheadMapper wellheadMapper = context.getBean(SpaceOptimizeShortWellheadMapper.class);
List<SpaceOptimizeShortWellheadEnt> wellheadList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortWellheadEnt>()
.eq(SpaceOptimizeShortWellheadEnt::getShortPeriodId, shortPeriodId)
); );
if (CollUtil.isNotEmpty(wellheadList)) { if (CollUtil.isNotEmpty(durationViewList)) {
List<GetSpaceOptimizeShortWellheadViewOutput> wellheadViewOutputs = XCopyUtils.copyNewList(wellheadList, GetSpaceOptimizeShortWellheadViewOutput.class); collect = XCopyUtils.copyNewList(durationViewList, SpaceOptimizeDateDuration.class)
//查井口间隔配置 .stream()
SpaceOptimizeShortDurationViewMapper durationViewMapper = context.getBean(SpaceOptimizeShortDurationViewMapper.class); .collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
List<SpaceOptimizeShortDurationView> durationViewList = durationViewMapper.selectList(SpaceOptimizeShortDurationView.builder()
.shortPeriodId(shortPeriodId)
.build()
);
if (CollUtil.isNotEmpty(durationViewList)) {
Map<String, List<SpaceOptimizeDateDuration>> collect = XCopyUtils.copyNewList(durationViewList, SpaceOptimizeDateDuration.class)
.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
wellheadViewOutputs.forEach(w -> {
if (collect.containsKey(w.getWellheadId())) {
w.setDurationList(ServiceUtil.getAllDateDuration(collect.get(w.getWellheadId())));
} else {
w.setDurationList(new ArrayList<>(0));
}
});
}
output.setWellheadList(wellheadViewOutputs);
} }
} else { } else {
output.setWellheadList(new ArrayList<>(0)); //如果没有,查初始区间
SpaceInstitutionDurationMapper durationMapper = context.getBean(SpaceInstitutionDurationMapper.class);
List<SpaceInstitutionDurationEnt> durationEntList = durationMapper.selectList(new LambdaQueryWrapper<SpaceInstitutionDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceInstitutionDurationEnt::getInstitutionId, institutionId)
.orderByAsc(BaseModel::getCreateTime)
);
if (CollUtil.isNotEmpty(durationEntList)) {
collect = XCopyUtils.copyNewList(durationEntList, SpaceOptimizeDateDuration.class)
.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
}
}
//遍历井口,添加区间
List<GetSpaceOptimizeShortWellheadViewOutput> wellheadViewOutputs = XCopyUtils.copyNewList(wellheadEntList, GetSpaceOptimizeShortWellheadViewOutput.class);
for (GetSpaceOptimizeShortWellheadViewOutput wellheadViewOutput : wellheadViewOutputs) {
if (collect.containsKey(wellheadViewOutput.getWellheadId())) {
wellheadViewOutput.setDurationList(ServiceUtil.getAllDateDuration(collect.get(wellheadViewOutput.getWellheadId())));
} else {
wellheadViewOutput.setDurationList(new ArrayList<>(0));
}
} }
output.setWellheadList(wellheadViewOutputs);
return XSingleResult.success(output); return XSingleResult.success(output);
} }
} }
\ No newline at end of file
...@@ -25,7 +25,7 @@ public class SpaceOptimizeLineRelation { ...@@ -25,7 +25,7 @@ public class SpaceOptimizeLineRelation {
/** /**
* 井口列表 * 井口列表
*/ */
List<SpaceInstitutionWellheadView> spaceWellheadList; Map<String, List<SpaceInstitutionWellheadView>> wellheadsByInstitutionIdIdMap;
/** /**
* 电站Map * 电站Map
......
...@@ -158,7 +158,7 @@ public class ServiceUtil { ...@@ -158,7 +158,7 @@ public class ServiceUtil {
SpaceOptimizeDateOutput spaceOptimizeDateOutput = new SpaceOptimizeDateOutput(); SpaceOptimizeDateOutput spaceOptimizeDateOutput = new SpaceOptimizeDateOutput();
spaceOptimizeDateOutput.setDateTime(r); spaceOptimizeDateOutput.setDateTime(r);
spaceOptimizeDateOutput.setOptimizeCode(BusinessConstant.ZERO); spaceOptimizeDateOutput.setOptimizeCode(BusinessConstant.ZERO);
spaceOptimizeDateOutput.setOptimizeValue("已优化"); spaceOptimizeDateOutput.setOptimizeValue(BusinessConstant.OPTIMIZED_C);
return spaceOptimizeDateOutput; return spaceOptimizeDateOutput;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
...@@ -174,8 +174,8 @@ public class ServiceUtil { ...@@ -174,8 +174,8 @@ public class ServiceUtil {
if (CollUtil.isEmpty(optimizeList)) { if (CollUtil.isEmpty(optimizeList)) {
allList.add( allList.add(
SpaceOptimizeDateDuration.builder() SpaceOptimizeDateDuration.builder()
.openWellTime("00:00") .openWellTime(BusinessConstant.START_OF_DAY_TIME)
.closeWellTime("23:59") .closeWellTime(BusinessConstant.END_OF_DAY_TIME)
.isOpen(0) .isOpen(0)
.build() .build()
); );
...@@ -189,10 +189,10 @@ public class ServiceUtil { ...@@ -189,10 +189,10 @@ public class ServiceUtil {
optimize.setIsOpen(1); optimize.setIsOpen(1);
if (i == 0) { if (i == 0) {
//如果开始时间不是从00:00开始,初始化开始时间为关井时间 //如果开始时间不是从00:00开始,初始化开始时间为关井时间
if (!StringUtils.equals("00:00", openWellTime)) { if (!StringUtils.equals(BusinessConstant.START_OF_DAY_TIME, openWellTime)) {
allList.add( allList.add(
SpaceOptimizeDateDuration.builder() SpaceOptimizeDateDuration.builder()
.openWellTime("00:00") .openWellTime(BusinessConstant.START_OF_DAY_TIME)
.closeWellTime(openWellTime) .closeWellTime(openWellTime)
.isOpen(0) .isOpen(0)
.build() .build()
...@@ -219,11 +219,11 @@ public class ServiceUtil { ...@@ -219,11 +219,11 @@ public class ServiceUtil {
} }
if (i == last) { if (i == last) {
//如果结束时间不是24:00开始,初始化最终关井时间 //如果结束时间不是24:00开始,初始化最终关井时间
if (!StringUtils.equals("23:59", closeWellTime)) { if (!StringUtils.equals(BusinessConstant.END_OF_DAY_TIME, closeWellTime)) {
allList.add( allList.add(
SpaceOptimizeDateDuration.builder() SpaceOptimizeDateDuration.builder()
.openWellTime(closeWellTime) .openWellTime(closeWellTime)
.closeWellTime("23:59") .closeWellTime(BusinessConstant.END_OF_DAY_TIME)
.isOpen(0) .isOpen(0)
.build() .build()
); );
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<result column="institution_id" property="institutionId" jdbcType="VARCHAR"/> <result column="institution_id" property="institutionId" jdbcType="VARCHAR"/>
<result column="execution_cycle" property="executionCycle" jdbcType="VARCHAR"/> <result column="execution_cycle" property="executionCycle" jdbcType="VARCHAR"/>
<result column="optimize_state" property="optimizeState" jdbcType="INTEGER"/> <result column="optimize_state" property="optimizeState" jdbcType="INTEGER"/>
<result column="optimize_deadline" property="optimizeDeadline" jdbcType="DATE"/> <result column="optimize_deadline" property="optimizeDeadline" jdbcType="TIMESTAMP"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id id
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<result column="institution_id" property="institutionId" jdbcType="VARCHAR"/> <result column="institution_id" property="institutionId" jdbcType="VARCHAR"/>
<result column="execution_cycle" property="executionCycle" jdbcType="VARCHAR"/> <result column="execution_cycle" property="executionCycle" jdbcType="VARCHAR"/>
<result column="optimize_state" property="optimizeState" jdbcType="INTEGER"/> <result column="optimize_state" property="optimizeState" jdbcType="INTEGER"/>
<result column="optimize_deadline" property="optimizeDeadline" jdbcType="DATE"/> <result column="optimize_deadline" property="optimizeDeadline" jdbcType="TIMESTAMP"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id id
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<result column="line_id" property="lineId" jdbcType="VARCHAR"/> <result column="line_id" property="lineId" jdbcType="VARCHAR"/>
<result column="institution_id" property="institutionId" jdbcType="VARCHAR"/> <result column="institution_id" property="institutionId" jdbcType="VARCHAR"/>
<result column="optimize_state" property="optimizeState" jdbcType="INTEGER"/> <result column="optimize_state" property="optimizeState" jdbcType="INTEGER"/>
<result column="optimize_date" property="optimizeDate" jdbcType="DATE"/> <result column="optimize_date" property="optimizeDate" jdbcType="TIMESTAMP"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id id
......
...@@ -177,4 +177,77 @@ ...@@ -177,4 +177,77 @@
) )
</foreach> </foreach>
</insert> </insert>
<insert id="shortPeriodBatchInsertList" parameterType="list">
INSERT INTO space_optimize_short_period (id, create_by_id, create_by_name, create_time, modify_by_id,
modify_by_name, modify_time, line_id, institution_id, optimize_state, optimize_date)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.createById},
#{item.createByName},
#{item.createTime},
#{item.modifyById},
#{item.modifyByName},
#{item.modifyTime},
#{item.lineId},
#{item.institutionId},
#{item.optimizeState},
#{item.optimizeDeadline}
)
</foreach>
</insert>
<insert id="shortWellheadBatchInsertList" parameterType="list">
INSERT INTO space_optimize_short_wellhead (id, create_by_id, create_by_name, create_time, modify_by_id,
modify_by_name, modify_time, short_period_id, wellhead_id, well_number)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.createById},
#{item.createByName},
#{item.createTime},
#{item.modifyById},
#{item.modifyByName},
#{item.modifyTime},
#{item.periodId},
#{item.wellheadId},
#{item.wellNumber}
)
</foreach>
</insert>
<insert id="shortDurationBatchInsertList" parameterType="list">
INSERT INTO space_optimize_short_duration (id, create_by_id, create_by_name, create_time,
modify_by_id, modify_by_name, modify_time, record_id, short_period_id, wellhead_id, is_optimize,
generation_type_key, open_well_time, close_well_time)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.createById},
#{item.createByName},
#{item.createTime},
#{item.modifyById},
#{item.modifyByName},
#{item.modifyTime},
#{item.recordId},
#{item.periodId},
#{item.wellheadId},
#{item.isOptimize},
<choose>
<when test="item.generationTypeKey != null and item.generationTypeKey != ''">
#{item.generationTypeKey},
</when>
<otherwise>
NULL,
</otherwise>
</choose>
#{item.openWellTime},
#{item.closeWellTime}
)
</foreach>
</insert>
</mapper> </mapper>
\ No newline at end of file
package pps.cloud.prediction.service.data.plant_predicted_power_data; package pps.cloud.prediction.service.data.plant_predicted_power_data;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
...@@ -37,4 +38,8 @@ public class DynamicQueryPlantPredictedPowerInput { ...@@ -37,4 +38,8 @@ public class DynamicQueryPlantPredictedPowerInput {
@XText("结束时间") @XText("结束时间")
private String endTime; private String endTime;
@NotNull(message = "缺少日期类型")
@XText("日期类型:0_长期;1_中短期")
private Integer dateType;
} }
...@@ -4,6 +4,7 @@ import lombok.Data; ...@@ -4,6 +4,7 @@ import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/** /**
* 光伏预测Cloud模块 * 光伏预测Cloud模块
...@@ -29,9 +30,12 @@ public class DynamicQueryPlantPredictedPowerOutput { ...@@ -29,9 +30,12 @@ public class DynamicQueryPlantPredictedPowerOutput {
@XText("预测功率") @XText("预测功率")
private BigDecimal power; private BigDecimal power;
@XText("是否满足") @XText("电量是否满足标识")
private boolean meetFlag; private Boolean batteryLowFlag;
@XText("可供电时长") @XText("可供电时长")
private int powerDuration; private int powerDuration;
@XText("创建时间")
private Date createTime;
} }
...@@ -7,7 +7,9 @@ import pps.cloud.prediction.service.IPlantPredictedPowerCloudService; ...@@ -7,7 +7,9 @@ import pps.cloud.prediction.service.IPlantPredictedPowerCloudService;
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerInput; import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerInput;
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerOutput; import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerOutput;
import pps.core.prediction.entity.PlantPredictedPowerDataEnt; import pps.core.prediction.entity.PlantPredictedPowerDataEnt;
import pps.core.prediction.entity.PlantPredictedPowerLongTermDataEnt;
import pps.core.prediction.mapper.PlantPredictedPowerDataMapper; import pps.core.prediction.mapper.PlantPredictedPowerDataMapper;
import pps.core.prediction.mapper.PlantPredictedPowerLongTermDataMapper;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils; import xstartup.base.util.XCopyUtils;
...@@ -40,25 +42,55 @@ public class PlantPredictedPowerCloudServiceImpl implements IPlantPredictedPower ...@@ -40,25 +42,55 @@ public class PlantPredictedPowerCloudServiceImpl implements IPlantPredictedPower
String monthTime = input.getMonthTime(); String monthTime = input.getMonthTime();
String startTime = input.getStartTime(); String startTime = input.getStartTime();
String endTime = input.getEndTime(); String endTime = input.getEndTime();
PlantPredictedPowerDataMapper mapper = context.getBean(PlantPredictedPowerDataMapper.class); Integer dateType = input.getDateType();
List<PlantPredictedPowerDataEnt> list = mapper.selectList( List list = null;
new QueryWrapper<PlantPredictedPowerDataEnt>() switch (dateType) {
.select("year_time", case 0:
"month_time", PlantPredictedPowerLongTermDataMapper longTermDataMapper = context.getBean(PlantPredictedPowerLongTermDataMapper.class);
"hour_time", list = longTermDataMapper.selectList(
"min_time", new QueryWrapper<PlantPredictedPowerLongTermDataEnt>()
"AVG( power ) AS power") .select("year_time",
.lambda() "month_time",
.eq(StringUtils.isNotBlank(plantId), PlantPredictedPowerDataEnt::getPlantId, plantId) "hour_time",
.in(CollUtil.isNotEmpty(plantIds), PlantPredictedPowerDataEnt::getPlantId, plantIds) "min_time",
.eq(StringUtils.isNotBlank(yearTime), PlantPredictedPowerDataEnt::getYearTime, yearTime) "AVG( power ) AS power",
.eq(StringUtils.isNotBlank(monthTime), PlantPredictedPowerDataEnt::getMonthTime, monthTime) "STR_TO_DATE( CONCAT( hour_time, ':', min_time ), '%H:%i:%s' ) AS create_time")
.between(!StringUtils.isAnyBlank(startTime, endTime), PlantPredictedPowerDataEnt::getDataDate, startTime, endTime) .lambda()
.groupBy(PlantPredictedPowerDataEnt::getYearTime, .eq(StringUtils.isNotBlank(plantId), PlantPredictedPowerLongTermDataEnt::getPlantId, plantId)
PlantPredictedPowerDataEnt::getMonthTime, .in(CollUtil.isNotEmpty(plantIds), PlantPredictedPowerLongTermDataEnt::getPlantId, plantIds)
PlantPredictedPowerDataEnt::getHourTime, .eq(StringUtils.isNotBlank(yearTime), PlantPredictedPowerLongTermDataEnt::getYearTime, yearTime)
PlantPredictedPowerDataEnt::getMinTime) .eq(StringUtils.isNotBlank(monthTime), PlantPredictedPowerLongTermDataEnt::getMonthTime, monthTime)
); .between(!StringUtils.isAnyBlank(startTime, endTime), PlantPredictedPowerLongTermDataEnt::getDataDate, startTime, endTime)
.groupBy(PlantPredictedPowerLongTermDataEnt::getYearTime,
PlantPredictedPowerLongTermDataEnt::getMonthTime,
PlantPredictedPowerLongTermDataEnt::getHourTime,
PlantPredictedPowerLongTermDataEnt::getMinTime)
);
break;
case 1:
PlantPredictedPowerDataMapper mapper = context.getBean(PlantPredictedPowerDataMapper.class);
list = mapper.selectList(
new QueryWrapper<PlantPredictedPowerDataEnt>()
.select("year_time",
"month_time",
"hour_time",
"min_time",
"AVG( power ) AS power",
"STR_TO_DATE( CONCAT( hour_time, ':', min_time ), '%H:%i:%s' ) AS create_time")
.lambda()
.eq(StringUtils.isNotBlank(plantId), PlantPredictedPowerDataEnt::getPlantId, plantId)
.in(CollUtil.isNotEmpty(plantIds), PlantPredictedPowerDataEnt::getPlantId, plantIds)
.eq(StringUtils.isNotBlank(yearTime), PlantPredictedPowerDataEnt::getYearTime, yearTime)
.eq(StringUtils.isNotBlank(monthTime), PlantPredictedPowerDataEnt::getMonthTime, monthTime)
.between(!StringUtils.isAnyBlank(startTime, endTime), PlantPredictedPowerDataEnt::getDataDate, startTime, endTime)
.groupBy(PlantPredictedPowerDataEnt::getYearTime,
PlantPredictedPowerDataEnt::getMonthTime,
PlantPredictedPowerDataEnt::getHourTime,
PlantPredictedPowerDataEnt::getMinTime)
);
break;
default:
}
List<DynamicQueryPlantPredictedPowerOutput> outputs; List<DynamicQueryPlantPredictedPowerOutput> outputs;
if (CollUtil.isEmpty(list)) { if (CollUtil.isEmpty(list)) {
outputs = new ArrayList<>(0); outputs = new ArrayList<>(0);
......
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