Commit 85a2236c authored by tianchao's avatar tianchao

Merge branch 'master' of https://gitlab.sunboxauto.com/tianchao/gf_back

 Conflicts:
	C09-base/pps-core-base/src/main/java/pps/core/base/service/BasePhotovoltaicPlantService.java
parents 76f180cb 60bf2cc7
...@@ -54,4 +54,9 @@ public class BusinessConstant { ...@@ -54,4 +54,9 @@ public class BusinessConstant {
* 时段类型 * 时段类型
*/ */
public static final String TIME_FRAME = "time_frame"; public static final String TIME_FRAME = "time_frame";
/**
* 校准策略
*/
public static final String CALIBRATION_STRATEGY = "calibration_strategy";
} }
package pps.core.common.utils; package pps.core.common.utils;
import com.baomidou.mybatisplus.core.enums.SqlMethod;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import com.baomidou.mybatisplus.core.toolkit.ReflectionKit;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.binding.MapperMethod;
import pps.core.common.entity.BaseModel; import pps.core.common.entity.BaseModel;
import pps.core.common.session.PpsUserSession; import pps.core.common.session.PpsUserSession;
import java.io.Serializable;
import java.util.Collection;
import java.util.Date; import java.util.Date;
import java.util.Objects;
/** /**
* 封装工具类 * 封装工具类
...@@ -44,40 +34,4 @@ public class BaseUtils { ...@@ -44,40 +34,4 @@ public class BaseUtils {
model.setModifyByName(userName); model.setModifyByName(userName);
model.setModifyTime(now); model.setModifyTime(now);
} }
/**
* 批量插入
*
* @param mapper 映射器
* @param entityClass 实体类
* @param list 列表
*/
public static <E> void batchInsert(Class<?> mapper, Class<?> entityClass, Collection<E> list) {
String sqlStatement = SqlHelper.getSqlStatement(mapper, SqlMethod.INSERT_ONE);
SqlHelper.executeBatch(entityClass, null, list, 1000, (sqlSession, ent) -> {
sqlSession.insert(sqlStatement, ent);
});
}
/**
* 批量保存或更新
*
* @param baseMapper 基地映射器
* @param entityClass 实体类
* @param list 列表
*/
public static <E> void saveOrUpdateBatch(BaseMapper baseMapper, Class<?> entityClass, Collection<E> list) {
TableInfo tableInfo = TableInfoHelper.getTableInfo(entityClass);
String keyProperty = tableInfo.getKeyProperty();
SqlHelper.executeBatch(entityClass, null, list, 1000, (sqlSession, ent) -> {
Object idVal = ReflectionKit.getFieldValue(ent, keyProperty);
if (!com.baomidou.mybatisplus.core.toolkit.StringUtils.checkValNull(idVal) && Objects.nonNull(baseMapper.selectById((Serializable) idVal))) {
MapperMethod.ParamMap<E> param = new MapperMethod.ParamMap();
param.put("et", ent);
sqlSession.update(tableInfo.getSqlStatement(SqlMethod.UPDATE_BY_ID.getMethod()), param);
} else {
sqlSession.insert(tableInfo.getSqlStatement(SqlMethod.INSERT_ONE.getMethod()), ent);
}
});
}
} }
\ No newline at end of file
...@@ -41,6 +41,7 @@ import xstartup.data.XPageResult; ...@@ -41,6 +41,7 @@ import xstartup.data.XPageResult;
import xstartup.data.XServiceResult; import xstartup.data.XServiceResult;
import xstartup.data.XSingleResult; import xstartup.data.XSingleResult;
import xstartup.error.XError; import xstartup.error.XError;
import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet; import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost; import xstartup.feature.api.annotation.XApiPost;
import xstartup.helper.XTransactionHelper; import xstartup.helper.XTransactionHelper;
...@@ -456,6 +457,7 @@ public class SysOrganizationService { ...@@ -456,6 +457,7 @@ public class SysOrganizationService {
* @param input 输入 * @param input 输入
* @return {@link XListResult}<{@link DynamicQuerySysOrganizationOutput}> * @return {@link XListResult}<{@link DynamicQuerySysOrganizationOutput}>
*/ */
@XApiAnonymous
@XText("组织机构管理--查询组织和线路列表") @XText("组织机构管理--查询组织和线路列表")
@XApiGet @XApiGet
public XListResult<DynamicQuerySysOrganizationOutput> queryOrgAndLineList(XContext context, DynamicQuerySysOrganizationInput input) { public XListResult<DynamicQuerySysOrganizationOutput> queryOrgAndLineList(XContext context, DynamicQuerySysOrganizationInput input) {
......
...@@ -578,23 +578,22 @@ ...@@ -578,23 +578,22 @@
FROM sys_organization_rel r FROM sys_organization_rel r
LEFT JOIN sys_organization o ON o.id = r.ou_id LEFT JOIN sys_organization o ON o.id = r.ou_id
WHERE r.parent_ou_id = #{id} WHERE r.parent_ou_id = #{id}
AND o.is_deleted = 1
ORDER BY r.sort) ORDER BY r.sort)
UNION ALL UNION ALL
(SELECT ou_id AS id, line_name AS ou_name, id AS line_id, 'LINE' AS ou_level (SELECT ou_id AS id, line_name AS ou_name, id AS line_id, 'LINE' AS ou_level
FROM base_power_line FROM base_power_line
WHERE ou_id = #{id} WHERE ou_id = #{id}
AND is_deleted = 1
ORDER BY modify_time DESC) ORDER BY modify_time DESC)
</select> </select>
<select id="selectOrgProvince" parameterType="pps.core.system.entity.SysOrganizationView" resultMap="BaseResultMap"> <select id="selectOrgProvince" parameterType="pps.core.system.entity.SysOrganizationView" resultMap="BaseResultMap">
SELECT SELECT province,
province , sa.name province_name
sa.name province_name from sys_organization so
from left join sys_area sa on
sys_organization so sa.id = so.province
left join sys_area sa on where so.id = #{id}
sa.id = so.province
where
so.id = #{id}
</select> </select>
</mapper> </mapper>
package pps.core.base.entity; package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/**
* 柴发设备
*
* @author ZWT
* @date 2023/09/08
*/
@Data @Data
@TableName("base_diesel_generator") @TableName("base_diesel_generator")
public class BaseDieselGeneratorEnt implements Serializable { public class BaseDieselGeneratorEnt extends BaseModel implements Serializable {
@XText("ID")
@TableId(type = IdType.ASSIGN_UUID)
private String id;
@XText("是否删除(1_是;0_否)")
@TableField
private Integer isDeleted;
@XText("创建人ID")
@TableField
private String createById;
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间")
@TableField
private Date createTime;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("组织机构ID") @XText("组织机构ID")
@TableField @TableField
...@@ -76,5 +50,4 @@ public class BaseDieselGeneratorEnt implements Serializable { ...@@ -76,5 +50,4 @@ public class BaseDieselGeneratorEnt implements Serializable {
@XText("备用功率(KW)") @XText("备用功率(KW)")
@TableField @TableField
private BigDecimal standbyPower; private BigDecimal standbyPower;
} }
...@@ -2,44 +2,20 @@ package pps.core.base.entity; ...@@ -2,44 +2,20 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
@Data
public class BaseDieselGeneratorView implements Serializable {
@XText("ID")
@TableField
private String id;
@XText("是否删除(1_是;0_否)") /**
@TableField * 柴发设备
private Integer isDeleted; *
* @author ZWT
@XText("创建人ID") * @date 2023/09/08
@TableField */
private String createById; @Data
public class BaseDieselGeneratorView extends BaseModel implements Serializable {
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间")
@TableField
private Date createTime;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("组织机构ID") @XText("组织机构ID")
@TableField @TableField
...@@ -72,5 +48,4 @@ public class BaseDieselGeneratorView implements Serializable { ...@@ -72,5 +48,4 @@ public class BaseDieselGeneratorView implements Serializable {
@XText("备用功率(KW)") @XText("备用功率(KW)")
@TableField @TableField
private BigDecimal standbyPower; private BigDecimal standbyPower;
} }
package pps.core.base.entity; package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/**
* 储能设备
*
* @author ZWT
* @date 2023/09/08
*/
@Data @Data
@TableName("base_energy_storage_device") @TableName("base_energy_storage_device")
public class BaseEnergyStorageDeviceEnt implements Serializable { public class BaseEnergyStorageDeviceEnt extends BaseModel implements Serializable {
@XText("ID")
@TableId(type = IdType.ASSIGN_UUID)
private String id;
@XText("是否删除(1_是;0_否)")
@TableField
private Integer isDeleted;
@XText("创建人ID")
@TableField
private String createById;
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间")
@TableField
private Date createTime;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("组织机构ID") @XText("组织机构ID")
@TableField @TableField
......
...@@ -2,44 +2,20 @@ package pps.core.base.entity; ...@@ -2,44 +2,20 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
@Data
public class BaseEnergyStorageDeviceView implements Serializable {
@XText("ID")
@TableField
private String id;
@XText("是否删除(1_是;0_否)")
@TableField
private Integer isDeleted;
@XText("创建人ID")
@TableField
private String createById;
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间") /**
@TableField * 储能设备
private Date createTime; *
* @author ZWT
@XText("修改人ID") * @date 2023/09/08
@TableField */
private String modifyById; @Data
public class BaseEnergyStorageDeviceView extends BaseModel implements Serializable {
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("组织机构ID") @XText("组织机构ID")
@TableField @TableField
......
package pps.core.base.entity; package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/**
* 光伏电站
*
* @author ZWT
* @date 2023/09/08
*/
@Data @Data
@TableName("base_photovoltaic_plant") @TableName("base_photovoltaic_plant")
public class BasePhotovoltaicPlantEnt implements Serializable { public class BasePhotovoltaicPlantEnt extends BaseModel implements Serializable {
@XText("ID")
@TableId(type = IdType.ASSIGN_UUID)
private String id;
@XText("是否删除(0_是;1_否)")
@TableField
private Integer isDeleted;
@XText("创建人ID")
@TableField
private String createById;
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间")
@TableField
private Date createTime;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("组织机构ID") @XText("组织机构ID")
@TableField @TableField
......
...@@ -2,45 +2,20 @@ package pps.core.base.entity; ...@@ -2,45 +2,20 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/**
* 光伏电站
*
* @author ZWT
* @date 2023/09/08
*/
@Data @Data
public class BasePhotovoltaicPlantView implements Serializable { public class BasePhotovoltaicPlantView extends BaseModel implements Serializable {
@XText("ID")
@TableField
private String id;
@XText("是否删除(0_是;1_否)")
@TableField
private Integer isDeleted;
@XText("创建人ID")
@TableField
private String createById;
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间")
@TableField
private Date createTime;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("组织机构ID") @XText("组织机构ID")
@TableField @TableField
...@@ -84,5 +59,4 @@ public class BasePhotovoltaicPlantView implements Serializable { ...@@ -84,5 +59,4 @@ public class BasePhotovoltaicPlantView implements Serializable {
@XText("所属省份") @XText("所属省份")
@TableField(exist = false) @TableField(exist = false)
private String provinceCode; private String provinceCode;
} }
...@@ -5,11 +5,11 @@ import lombok.AllArgsConstructor; ...@@ -5,11 +5,11 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/** /**
* 输电线路柴发设备配置 * 输电线路柴发设备配置
...@@ -21,38 +21,7 @@ import java.util.Date; ...@@ -21,38 +21,7 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
public class BasePowerLineDieselView implements Serializable { public class BasePowerLineDieselView extends BaseModel implements Serializable {
@XText("ID")
@TableField
private String id;
@XText("是否删除(0_是;1_否)")
@TableField
private Integer isDeleted;
@XText("创建人ID")
@TableField
private String createById;
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间")
@TableField
private Date createTime;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("线路ID") @XText("线路ID")
@TableField @TableField
......
...@@ -5,11 +5,11 @@ import lombok.AllArgsConstructor; ...@@ -5,11 +5,11 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/** /**
* 输电线路光伏配置 * 输电线路光伏配置
...@@ -21,38 +21,7 @@ import java.util.Date; ...@@ -21,38 +21,7 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
public class BasePowerLinePlantView implements Serializable { public class BasePowerLinePlantView extends BaseModel implements Serializable {
@XText("ID")
@TableField
private String id;
@XText("是否删除(0_是;1_否)")
@TableField
private Integer isDeleted;
@XText("创建人ID")
@TableField
private String createById;
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间")
@TableField
private Date createTime;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("线路ID") @XText("线路ID")
@TableField @TableField
......
...@@ -5,11 +5,11 @@ import lombok.AllArgsConstructor; ...@@ -5,11 +5,11 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/** /**
* 输电线路储能配置 * 输电线路储能配置
...@@ -21,38 +21,7 @@ import java.util.Date; ...@@ -21,38 +21,7 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
public class BasePowerLineStorageView implements Serializable { public class BasePowerLineStorageView extends BaseModel implements Serializable {
@XText("ID")
@TableField
private String id;
@XText("是否删除(0_是;1_否)")
@TableField
private Integer isDeleted;
@XText("创建人ID")
@TableField
private String createById;
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间")
@TableField
private Date createTime;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("线路ID") @XText("线路ID")
@TableField @TableField
......
...@@ -5,10 +5,10 @@ import lombok.AllArgsConstructor; ...@@ -5,10 +5,10 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
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;
import java.util.List; import java.util.List;
/** /**
...@@ -21,38 +21,7 @@ import java.util.List; ...@@ -21,38 +21,7 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder @Builder
public class BasePowerLineView implements Serializable { public class BasePowerLineView extends BaseModel implements Serializable {
@XText("ID")
@TableField
private String id;
@XText("是否删除(0_是;1_否)")
@TableField
private Integer isDeleted;
@XText("创建人ID")
@TableField
private String createById;
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间")
@TableField
private Date createTime;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("组织机构ID") @XText("组织机构ID")
@TableField @TableField
......
...@@ -2,45 +2,20 @@ package pps.core.base.entity; ...@@ -2,45 +2,20 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/**
* 市电峰谷当月明细配置
*
* @author ZWT
* @date 2023/09/08
*/
@Data @Data
public class BasePriceStrategyDetailView implements Serializable { public class BasePriceStrategyDetailView extends BaseModel implements Serializable {
@XText("ID")
@TableField
private String id;
@XText("是否删除(0_是;1_否)")
@TableField
private Integer isDeleted;
@XText("创建人ID")
@TableField
private String createById;
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间")
@TableField
private Date createTime;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("市电峰谷配置ID") @XText("市电峰谷配置ID")
@TableField @TableField
......
...@@ -2,13 +2,11 @@ package pps.core.base.entity; ...@@ -2,13 +2,11 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.Valid;
import lombok.Data; import lombok.Data;
import pps.core.common.entity.BaseModel; 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.List;
/** /**
* 市电峰谷月配置表 * 市电峰谷月配置表
...@@ -27,11 +25,4 @@ public class BasePriceStrategyMonthEnt extends BaseModel implements Serializable ...@@ -27,11 +25,4 @@ public class BasePriceStrategyMonthEnt extends BaseModel implements Serializable
@XText("市电峰谷月(1-12)") @XText("市电峰谷月(1-12)")
@TableField @TableField
private String strategyMonth; private String strategyMonth;
/**
* 策略明细入参
*/
@TableField(exist = false)
@Valid
private List<BasePriceStrategyDetailEnt> details;
} }
package pps.core.base.entity; package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import jakarta.validation.Valid;
import lombok.Data; import lombok.Data;
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; import java.util.List;
/**
* 市电峰谷月配置表
*
* @author ZWT
* @date 2023/09/08
*/
@Data @Data
public class BasePriceStrategyMonthView implements Serializable { public class BasePriceStrategyMonthView extends BaseModel implements Serializable {
@XText("ID")
@TableField
private String id;
@XText("是否删除(0_是;1_否)")
@TableField
private Integer isDeleted;
@XText("创建人ID")
@TableField
private String createById;
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间")
@TableField
private Date createTime;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("市电峰谷配置ID") @XText("市电峰谷配置ID")
@TableField @TableField
...@@ -48,4 +25,11 @@ public class BasePriceStrategyMonthView implements Serializable { ...@@ -48,4 +25,11 @@ public class BasePriceStrategyMonthView implements Serializable {
@XText("市电峰谷月(1-12)") @XText("市电峰谷月(1-12)")
@TableField @TableField
private String strategyMonth; private String strategyMonth;
/**
* 策略明细入参
*/
@TableField(exist = false)
@Valid
private List<BasePriceStrategyDetailView> details;
} }
...@@ -2,11 +2,11 @@ package pps.core.base.entity; ...@@ -2,11 +2,11 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/** /**
* 市电峰谷策略 * 市电峰谷策略
...@@ -15,38 +15,7 @@ import java.util.Date; ...@@ -15,38 +15,7 @@ import java.util.Date;
* @date 2023/08/25 * @date 2023/08/25
*/ */
@Data @Data
public class BasePriceStrategyView implements Serializable { public class BasePriceStrategyView extends BaseModel implements Serializable {
@XText("ID")
@TableField
private String id;
@XText("是否删除(0_是;1_否)")
@TableField
private Integer isDeleted;
@XText("创建人ID")
@TableField
private String createById;
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间")
@TableField
private Date createTime;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("策略名称") @XText("策略名称")
@TableField @TableField
......
package pps.core.base.entity; package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/**
* 井口配置表
*
* @author ZWT
* @date 2023/09/08
*/
@Data
@TableName("base_wellhead") @TableName("base_wellhead")
public class BaseWellheadEnt implements Serializable { public class BaseWellheadEnt extends BaseModel implements Serializable {
@XText("ID")
@TableId(type = IdType.ASSIGN_UUID)
private String id;
@XText("是否删除(1_是;0_否)")
@TableField
private Integer isDeleted;
@XText("创建人ID")
@TableField
private String createById;
@XText("创建人名称")
@TableField
private String createByName;
@XText("创建时间")
@TableField
private Date createTime;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
@XText("组织机构ID") @XText("组织机构ID")
@TableField @TableField
private String ouId; private String ouId;
@XText("组织机构名称") @XText("组织机构名称")
@TableField @TableField
private String ouName; private String ouName;
...@@ -66,116 +42,4 @@ public class BaseWellheadEnt implements Serializable { ...@@ -66,116 +42,4 @@ public class BaseWellheadEnt implements Serializable {
@XText("运行功率(KW)") @XText("运行功率(KW)")
@TableField @TableField
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;
}
} }
package pps.core.base.entity; package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
public class BaseWellheadView implements Serializable { /**
* 井口配置表
*
* @author ZWT
* @date 2023/09/08
*/
public class BaseWellheadView extends BaseModel implements Serializable {
@XText("ID") @XText("ID")
@TableField @TableField
private String id; private String id;
......
...@@ -4,6 +4,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -4,6 +4,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePowerLineDieselEnt; import pps.core.base.entity.BasePowerLineDieselEnt;
@Repository(value="pps.core.base.mapper.BasePowerLineDieselMapper") /**
* 输电线路柴发设备配置
*
* @author ZWT
* @date 2023/09/11
*/
@Repository(value = "pps.core.base.mapper.BasePowerLineDieselMapper")
public interface BasePowerLineDieselMapper extends BaseMapper<BasePowerLineDieselEnt> { public interface BasePowerLineDieselMapper extends BaseMapper<BasePowerLineDieselEnt> {
} }
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.BasePowerLineDieselView; import pps.core.base.entity.BasePowerLineDieselView;
...@@ -22,4 +23,12 @@ public interface BasePowerLineDieselViewMapper { ...@@ -22,4 +23,12 @@ public interface BasePowerLineDieselViewMapper {
* @return {@link List}<{@link BasePowerLineDieselView}> * @return {@link List}<{@link BasePowerLineDieselView}>
*/ */
List<BasePowerLineDieselView> selectList(BasePowerLineDieselView record); List<BasePowerLineDieselView> selectList(BasePowerLineDieselView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePowerLineDieselView> list);
} }
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.BasePowerLinePlantView; import pps.core.base.entity.BasePowerLinePlantView;
...@@ -22,4 +23,12 @@ public interface BasePowerLinePlantViewMapper { ...@@ -22,4 +23,12 @@ public interface BasePowerLinePlantViewMapper {
* @return {@link List}<{@link BasePowerLinePlantView}> * @return {@link List}<{@link BasePowerLinePlantView}>
*/ */
List<BasePowerLinePlantView> selectList(BasePowerLinePlantView record); List<BasePowerLinePlantView> selectList(BasePowerLinePlantView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePowerLinePlantView> list);
} }
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.BasePowerLineStorageView; import pps.core.base.entity.BasePowerLineStorageView;
...@@ -22,4 +23,12 @@ public interface BasePowerLineStorageViewMapper { ...@@ -22,4 +23,12 @@ public interface BasePowerLineStorageViewMapper {
* @return {@link List}<{@link BasePowerLineStorageView}> * @return {@link List}<{@link BasePowerLineStorageView}>
*/ */
List<BasePowerLineStorageView> selectList(BasePowerLineStorageView record); List<BasePowerLineStorageView> selectList(BasePowerLineStorageView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePowerLineStorageView> list);
} }
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.BasePowerLineWellheadView; import pps.core.base.entity.BasePowerLineWellheadView;
...@@ -30,4 +31,12 @@ public interface BasePowerLineWellheadViewMapper { ...@@ -30,4 +31,12 @@ public interface BasePowerLineWellheadViewMapper {
* @return {@link List}<{@link BasePowerLineWellheadView}> * @return {@link List}<{@link BasePowerLineWellheadView}>
*/ */
List<BasePowerLineWellheadView> selectWellheadListByParam(BasePowerLineWellheadView record); List<BasePowerLineWellheadView> selectWellheadListByParam(BasePowerLineWellheadView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePowerLineWellheadView> list);
} }
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;
...@@ -16,4 +17,12 @@ public interface BasePriceStrategyDetailViewMapper { ...@@ -16,4 +17,12 @@ public interface BasePriceStrategyDetailViewMapper {
BasePriceStrategyDetailView selectOne(BasePriceStrategyDetailView record); BasePriceStrategyDetailView selectOne(BasePriceStrategyDetailView record);
List<BasePriceStrategyDetailView> selectList(BasePriceStrategyDetailView record); List<BasePriceStrategyDetailView> selectList(BasePriceStrategyDetailView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePriceStrategyDetailView> list);
} }
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.BasePriceStrategyMonthView; import pps.core.base.entity.BasePriceStrategyMonthView;
...@@ -16,4 +17,12 @@ public interface BasePriceStrategyMonthViewMapper { ...@@ -16,4 +17,12 @@ public interface BasePriceStrategyMonthViewMapper {
BasePriceStrategyMonthView selectOne(BasePriceStrategyMonthView record); BasePriceStrategyMonthView selectOne(BasePriceStrategyMonthView record);
List<BasePriceStrategyMonthView> selectList(BasePriceStrategyMonthView record); List<BasePriceStrategyMonthView> selectList(BasePriceStrategyMonthView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePriceStrategyMonthView> list);
} }
...@@ -2,13 +2,17 @@ package pps.core.base.service; ...@@ -2,13 +2,17 @@ package pps.core.base.service;
import cn.hutool.core.collection.CollUtil; 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.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import pps.core.base.constant.ScadaConstant;
import pps.core.base.entity.BaseDieselGeneratorEnt; import pps.core.base.entity.BaseDieselGeneratorEnt;
import pps.core.base.entity.BasePowerLineDieselEnt;
import pps.core.base.mapper.BaseDieselGeneratorMapper; import pps.core.base.mapper.BaseDieselGeneratorMapper;
import pps.core.base.mapper.BasePowerLineDieselMapper;
import pps.core.base.service.data.base_diesel_generator.*; import pps.core.base.service.data.base_diesel_generator.*;
import pps.core.base.utils.SessionSimulation; import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.common.session.PpsUserSession; import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.BaseUtils;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.XContext; import xstartup.base.XContext;
...@@ -22,18 +26,17 @@ import xstartup.feature.api.annotation.XApiGet; ...@@ -22,18 +26,17 @@ import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost; import xstartup.feature.api.annotation.XApiPost;
import xstartup.feature.mybatis.helper.XMapperHelper; import xstartup.feature.mybatis.helper.XMapperHelper;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
* @Author luoxiangyang * 柴发设备模块
* @Description: 柴发设备 *
* @Date 2023/8/25 * @author ZWT
**/ * @date 2023/09/08
*/
@XService @XService
public class BaseDieselGeneratorService extends BaseService { public class BaseDieselGeneratorService extends BaseService {
//todo 模拟登陆
private final PpsUserSession session = SessionSimulation.getSession();
@XText("新增") @XText("新增")
@XApiAnonymous @XApiAnonymous
...@@ -42,12 +45,8 @@ public class BaseDieselGeneratorService extends BaseService { ...@@ -42,12 +45,8 @@ public class BaseDieselGeneratorService extends BaseService {
BaseDieselGeneratorMapper mapper = context.getBean(BaseDieselGeneratorMapper.class); BaseDieselGeneratorMapper mapper = context.getBean(BaseDieselGeneratorMapper.class);
BaseDieselGeneratorEnt entity = new BaseDieselGeneratorEnt(); BaseDieselGeneratorEnt entity = new BaseDieselGeneratorEnt();
XCopyUtils.copyObject(input, entity); XCopyUtils.copyObject(input, entity);
entity.setCreateById(session.getId()); PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setCreateByName(session.getUserName()); BaseUtils.setBaseModelDefault(entity, session);
entity.setCreateTime(new Date());
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
mapper.insert(entity); mapper.insert(entity);
return XServiceResult.OK; return XServiceResult.OK;
} }
...@@ -60,15 +59,14 @@ public class BaseDieselGeneratorService extends BaseService { ...@@ -60,15 +59,14 @@ public class BaseDieselGeneratorService extends BaseService {
QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda() queryWrapper.lambda()
.eq(BaseDieselGeneratorEnt::getId, input.getId()) .eq(BaseDieselGeneratorEnt::getId, input.getId())
.eq(BaseDieselGeneratorEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE); .eq(BaseDieselGeneratorEnt::getIsDeleted, BusinessConstant.ONE);
BaseDieselGeneratorEnt entity = mapper.selectOne(queryWrapper); BaseDieselGeneratorEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) { if (entity == null) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
XCopyUtils.copyObject(input, entity); XCopyUtils.copyObject(input, entity);
entity.setModifyById(session.getId()); PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setModifyByName(session.getUserName()); BaseUtils.setBaseModelDefault(entity, session);
entity.setModifyTime(new Date());
mapper.updateById(entity); mapper.updateById(entity);
return XServiceResult.OK; return XServiceResult.OK;
} }
...@@ -77,21 +75,24 @@ public class BaseDieselGeneratorService extends BaseService { ...@@ -77,21 +75,24 @@ public class BaseDieselGeneratorService extends BaseService {
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
public XServiceResult deleteBaseDieselGenerator(XContext context, DeleteBaseDieselGeneratorInput input) { public XServiceResult deleteBaseDieselGenerator(XContext context, DeleteBaseDieselGeneratorInput input) {
String dieselId = input.getId();
if (this.checkDieselIsReference(context, dieselId)) {
return XServiceResult.error(992, "当前柴发设备已被引用");
}
BaseDieselGeneratorMapper mapper = context.getBean(BaseDieselGeneratorMapper.class); BaseDieselGeneratorMapper mapper = context.getBean(BaseDieselGeneratorMapper.class);
QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda() queryWrapper.lambda()
.eq(BaseDieselGeneratorEnt::getId, input.getId()) .eq(BaseDieselGeneratorEnt::getId, input.getId())
.eq(BaseDieselGeneratorEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE); .eq(BaseDieselGeneratorEnt::getIsDeleted, BusinessConstant.ONE);
BaseDieselGeneratorEnt entity = mapper.selectOne(queryWrapper); BaseDieselGeneratorEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) { if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
entity = new BaseDieselGeneratorEnt(); entity = new BaseDieselGeneratorEnt();
entity.setId(input.getId()); entity.setId(input.getId());
entity.setIsDeleted(ScadaConstant.IS_DELETE_TRUE); entity.setIsDeleted(BusinessConstant.ZERO);
entity.setModifyById(session.getId()); PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setModifyByName(session.getUserName()); BaseUtils.setBaseModelDefault(entity, session);
entity.setModifyTime(new Date());
mapper.updateById(entity); mapper.updateById(entity);
return XServiceResult.OK; return XServiceResult.OK;
} }
...@@ -104,7 +105,7 @@ public class BaseDieselGeneratorService extends BaseService { ...@@ -104,7 +105,7 @@ public class BaseDieselGeneratorService extends BaseService {
QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda() queryWrapper.lambda()
.eq(BaseDieselGeneratorEnt::getId, input.getId()) .eq(BaseDieselGeneratorEnt::getId, input.getId())
.eq(BaseDieselGeneratorEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE); .eq(BaseDieselGeneratorEnt::getIsDeleted, BusinessConstant.ONE);
BaseDieselGeneratorEnt entity = mapper.selectOne(queryWrapper); BaseDieselGeneratorEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) { if (entity == null) {
return XSingleResult.error(context, XError.NotFound); return XSingleResult.error(context, XError.NotFound);
...@@ -126,12 +127,30 @@ public class BaseDieselGeneratorService extends BaseService { ...@@ -126,12 +127,30 @@ public class BaseDieselGeneratorService extends BaseService {
List<String> allListByOuId = this.getAllListByOuId(context, input.getOuId()); List<String> allListByOuId = this.getAllListByOuId(context, input.getOuId());
QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>();
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", input.getOuId()) .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, ScadaConstant.IS_DELETE_FLASE) .eq(BaseDieselGeneratorEnt::getIsDeleted, BusinessConstant.ONE)
.in(CollUtil.isNotEmpty(allListByOuId), BaseDieselGeneratorEnt::getOuId, allListByOuId) .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)
.orderByDesc(BaseDieselGeneratorEnt::getModifyTime); .orderByDesc(BaseDieselGeneratorEnt::getModifyTime);
return XMapperHelper.query(mapper, input, queryWrapper, QueryBaseDieselGeneratorOutput.class); return XMapperHelper.query(mapper, input, queryWrapper, QueryBaseDieselGeneratorOutput.class);
} }
/*-----------------------------------private-----------------------------------*/
/**
* 检查柴发设备是否被引用
*
* @param context 上下文
* @param dieselId 柴发设备ID
* @return boolean
*/
private boolean checkDieselIsReference(XContext context, String dieselId) {
BasePowerLineDieselMapper mapper = context.getBean(BasePowerLineDieselMapper.class);
Long count = mapper.selectCount(new LambdaQueryWrapper<BasePowerLineDieselEnt>()
.eq(BasePowerLineDieselEnt::getDieselId, dieselId)
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
);
return count > 0;
}
} }
...@@ -2,13 +2,17 @@ package pps.core.base.service; ...@@ -2,13 +2,17 @@ package pps.core.base.service;
import cn.hutool.core.collection.CollUtil; 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.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import pps.core.base.constant.ScadaConstant;
import pps.core.base.entity.BaseEnergyStorageDeviceEnt; import pps.core.base.entity.BaseEnergyStorageDeviceEnt;
import pps.core.base.entity.BasePowerLineStorageEnt;
import pps.core.base.mapper.BaseEnergyStorageDeviceMapper; import pps.core.base.mapper.BaseEnergyStorageDeviceMapper;
import pps.core.base.mapper.BasePowerLineStorageMapper;
import pps.core.base.service.data.base_energy_storage_device.*; import pps.core.base.service.data.base_energy_storage_device.*;
import pps.core.base.utils.SessionSimulation; import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.common.session.PpsUserSession; import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.BaseUtils;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.XContext; import xstartup.base.XContext;
...@@ -22,18 +26,17 @@ import xstartup.feature.api.annotation.XApiGet; ...@@ -22,18 +26,17 @@ import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost; import xstartup.feature.api.annotation.XApiPost;
import xstartup.feature.mybatis.helper.XMapperHelper; import xstartup.feature.mybatis.helper.XMapperHelper;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
* @Author luoxiangyang * 储能设备模块
* @Description: 储能设备 *
* @Date 2023/8/25 * @author ZWT
**/ * @date 2023/09/08
*/
@XService @XService
public class BaseEnergyStorageDeviceService extends BaseService { public class BaseEnergyStorageDeviceService extends BaseService {
//todo 模拟登陆
private final PpsUserSession session = SessionSimulation.getSession();
@XText("新增") @XText("新增")
@XApiAnonymous @XApiAnonymous
...@@ -42,12 +45,8 @@ public class BaseEnergyStorageDeviceService extends BaseService { ...@@ -42,12 +45,8 @@ public class BaseEnergyStorageDeviceService extends BaseService {
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class); BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
BaseEnergyStorageDeviceEnt entity = new BaseEnergyStorageDeviceEnt(); BaseEnergyStorageDeviceEnt entity = new BaseEnergyStorageDeviceEnt();
XCopyUtils.copyObject(input, entity); XCopyUtils.copyObject(input, entity);
entity.setCreateById(session.getId()); PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setCreateByName(session.getUserName()); BaseUtils.setBaseModelDefault(entity, session);
entity.setCreateTime(new Date());
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
mapper.insert(entity); mapper.insert(entity);
return XServiceResult.OK; return XServiceResult.OK;
} }
...@@ -60,15 +59,14 @@ public class BaseEnergyStorageDeviceService extends BaseService { ...@@ -60,15 +59,14 @@ public class BaseEnergyStorageDeviceService extends BaseService {
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda() queryWrapper.lambda()
.eq(BaseEnergyStorageDeviceEnt::getId, input.getId()) .eq(BaseEnergyStorageDeviceEnt::getId, input.getId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted,ScadaConstant.IS_DELETE_FLASE); .eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE);
BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper); BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) { if (entity == null) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
XCopyUtils.copyObject(input, entity); XCopyUtils.copyObject(input, entity);
entity.setModifyById(session.getId()); PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setModifyByName(session.getUserName()); BaseUtils.setBaseModelDefault(entity, session);
entity.setModifyTime(new Date());
mapper.updateById(entity); mapper.updateById(entity);
return XServiceResult.OK; return XServiceResult.OK;
} }
...@@ -77,21 +75,24 @@ public class BaseEnergyStorageDeviceService extends BaseService { ...@@ -77,21 +75,24 @@ public class BaseEnergyStorageDeviceService extends BaseService {
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
public XServiceResult deleteBaseEnergyStorageDevice(XContext context, DeleteBaseEnergyStorageDeviceInput input) { public XServiceResult deleteBaseEnergyStorageDevice(XContext context, DeleteBaseEnergyStorageDeviceInput input) {
String storageId = input.getId();
if (this.checkStorageIsReference(context, storageId)) {
return XServiceResult.error(992, "当前储能设备已被引用");
}
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class); BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda() queryWrapper.lambda()
.eq(BaseEnergyStorageDeviceEnt::getId, input.getId()) .eq(BaseEnergyStorageDeviceEnt::getId, input.getId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE); .eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE);
BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper); BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) { if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
entity = new BaseEnergyStorageDeviceEnt(); entity = new BaseEnergyStorageDeviceEnt();
entity.setId(input.getId()); entity.setId(input.getId());
entity.setIsDeleted(ScadaConstant.IS_DELETE_TRUE); entity.setIsDeleted(BusinessConstant.ZERO);
entity.setModifyById(session.getId()); PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setModifyByName(session.getUserName()); BaseUtils.setBaseModelDefault(entity, session);
entity.setModifyTime(new Date());
mapper.updateById(entity); mapper.updateById(entity);
return XServiceResult.OK; return XServiceResult.OK;
} }
...@@ -104,7 +105,7 @@ public class BaseEnergyStorageDeviceService extends BaseService { ...@@ -104,7 +105,7 @@ public class BaseEnergyStorageDeviceService extends BaseService {
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda() queryWrapper.lambda()
.eq(BaseEnergyStorageDeviceEnt::getId, input.getId()) .eq(BaseEnergyStorageDeviceEnt::getId, input.getId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE); .eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE);
BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper); BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) { if (entity == null) {
return XSingleResult.error(context, XError.NotFound); return XSingleResult.error(context, XError.NotFound);
...@@ -126,12 +127,30 @@ public class BaseEnergyStorageDeviceService extends BaseService { ...@@ -126,12 +127,30 @@ public class BaseEnergyStorageDeviceService extends BaseService {
List<String> allListByOuId = this.getAllListByOuId(context, input.getOuId()); List<String> allListByOuId = this.getAllListByOuId(context, input.getOuId());
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>();
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", input.getOuId()) .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, ScadaConstant.IS_DELETE_FLASE) .eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE)
.in(CollUtil.isNotEmpty(allListByOuId), BaseEnergyStorageDeviceEnt::getOuId, allListByOuId) .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)
.orderByDesc(BaseEnergyStorageDeviceEnt::getModifyTime); .orderByDesc(BaseEnergyStorageDeviceEnt::getModifyTime);
return XMapperHelper.query(mapper, input, queryWrapper, QueryBaseEnergyStorageDeviceOutput.class); return XMapperHelper.query(mapper, input, queryWrapper, QueryBaseEnergyStorageDeviceOutput.class);
} }
}
/*-----------------------------------private-----------------------------------*/
/**
* 检查储能设备是否被引用
*
* @param context 上下文
* @param storageId 储能设备ID
* @return boolean
*/
private boolean checkStorageIsReference(XContext context, String storageId) {
BasePowerLineStorageMapper mapper = context.getBean(BasePowerLineStorageMapper.class);
Long count = mapper.selectCount(new LambdaQueryWrapper<BasePowerLineStorageEnt>()
.eq(BasePowerLineStorageEnt::getStorageId, storageId)
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
);
return count > 0;
}
}
\ No newline at end of file
...@@ -2,14 +2,18 @@ package pps.core.base.service; ...@@ -2,14 +2,18 @@ package pps.core.base.service;
import cn.hutool.core.collection.CollUtil; 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.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import pps.core.base.constant.ScadaConstant;
import pps.core.base.entity.BasePhotovoltaicPlantEnt; import pps.core.base.entity.BasePhotovoltaicPlantEnt;
import pps.core.base.entity.BasePowerLinePlantEnt;
import pps.core.base.mapper.BasePhotovoltaicPlantMapper; import pps.core.base.mapper.BasePhotovoltaicPlantMapper;
import pps.core.base.mapper.BasePowerLinePlantMapper;
import pps.core.base.service.data.base_photovoltaic_plant.*; import pps.core.base.service.data.base_photovoltaic_plant.*;
import pps.core.base.utils.SessionSimulation; import pps.core.common.constant.BusinessConstant;
import pps.core.common.constant.UserConstant; import pps.core.common.constant.UserConstant;
import pps.core.common.entity.BaseModel;
import pps.core.common.session.PpsUserSession; import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.BaseUtils;
import pps.core.system.constant.SysOrganizationCode; import pps.core.system.constant.SysOrganizationCode;
import pps.core.system.entity.SysOrganizationView; import pps.core.system.entity.SysOrganizationView;
import pps.core.system.mapper.SysOrganizationViewMapper; import pps.core.system.mapper.SysOrganizationViewMapper;
...@@ -28,18 +32,18 @@ import xstartup.feature.api.annotation.XApiGet; ...@@ -28,18 +32,18 @@ import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost; import xstartup.feature.api.annotation.XApiPost;
import xstartup.feature.mybatis.helper.XMapperHelper; import xstartup.feature.mybatis.helper.XMapperHelper;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
* @Author luoxiangyang * 光伏电站模块
* @Description: 光伏电站配置 *
* @Date 2023/8/24 * @author ZWT
**/ * @date 2023/09/08
*/
@XService @XService
public class BasePhotovoltaicPlantService extends BaseService{ public class BasePhotovoltaicPlantService extends BaseService {
//todo 模拟登陆
private final PpsUserSession session = SessionSimulation.getSession();
@XText("新增") @XText("新增")
@XApiAnonymous @XApiAnonymous
...@@ -48,15 +52,12 @@ public class BasePhotovoltaicPlantService extends BaseService{ ...@@ -48,15 +52,12 @@ public class BasePhotovoltaicPlantService extends BaseService{
BasePhotovoltaicPlantMapper mapper = context.getBean(BasePhotovoltaicPlantMapper.class); BasePhotovoltaicPlantMapper mapper = context.getBean(BasePhotovoltaicPlantMapper.class);
BasePhotovoltaicPlantEnt entity = new BasePhotovoltaicPlantEnt(); BasePhotovoltaicPlantEnt entity = new BasePhotovoltaicPlantEnt();
XCopyUtils.copyObject(input, entity); XCopyUtils.copyObject(input, entity);
entity.setCreateById(session.getId()); PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setCreateByName(session.getUserName()); BaseUtils.setBaseModelDefault(entity, session);
entity.setCreateTime(new Date());
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
mapper.insert(entity); mapper.insert(entity);
return XServiceResult.OK; return XServiceResult.OK;
} }
@XText("更新") @XText("更新")
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
...@@ -65,41 +66,44 @@ public class BasePhotovoltaicPlantService extends BaseService{ ...@@ -65,41 +66,44 @@ public class BasePhotovoltaicPlantService extends BaseService{
QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda() queryWrapper.lambda()
.eq(BasePhotovoltaicPlantEnt::getId, input.getId()) .eq(BasePhotovoltaicPlantEnt::getId, input.getId())
.eq(BasePhotovoltaicPlantEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE); .eq(BasePhotovoltaicPlantEnt::getIsDeleted, BusinessConstant.ONE);
BasePhotovoltaicPlantEnt entity = mapper.selectOne(queryWrapper); BasePhotovoltaicPlantEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) { if (entity == null) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
XCopyUtils.copyObject(input, entity); XCopyUtils.copyObject(input, entity);
entity.setModifyById(session.getId()); PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setModifyByName(session.getUserName()); BaseUtils.setBaseModelDefault(entity, session);
entity.setModifyTime(new Date());
mapper.updateById(entity); mapper.updateById(entity);
return XServiceResult.OK; return XServiceResult.OK;
} }
@XText("删除") @XText("删除")
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
public XServiceResult deleteBasePhotovoltaicPlant(XContext context, DeleteBasePhotovoltaicPlantInput input) { public XServiceResult deleteBasePhotovoltaicPlant(XContext context, DeleteBasePhotovoltaicPlantInput input) {
String plantId = input.getId();
if (this.checkPhotovoltaicIsReference(context, plantId)) {
return XServiceResult.error(992, "当前光伏电站已被引用");
}
BasePhotovoltaicPlantMapper mapper = context.getBean(BasePhotovoltaicPlantMapper.class); BasePhotovoltaicPlantMapper mapper = context.getBean(BasePhotovoltaicPlantMapper.class);
QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda() queryWrapper.lambda()
.eq(BasePhotovoltaicPlantEnt::getId, input.getId()) .eq(BasePhotovoltaicPlantEnt::getId, plantId)
.eq(BasePhotovoltaicPlantEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE); .eq(BasePhotovoltaicPlantEnt::getIsDeleted, BusinessConstant.ONE);
BasePhotovoltaicPlantEnt entity = mapper.selectOne(queryWrapper); BasePhotovoltaicPlantEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) { if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
entity = new BasePhotovoltaicPlantEnt(); entity = new BasePhotovoltaicPlantEnt();
entity.setId(input.getId()); entity.setId(input.getId());
entity.setIsDeleted(ScadaConstant.IS_DELETE_TRUE); entity.setIsDeleted(BusinessConstant.ZERO);
//PpsUserSession session = context.getSession(PpsUserSession.class); PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setModifyById(session.getId()); BaseUtils.setBaseModelDefault(entity, session);
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
mapper.updateById(entity); mapper.updateById(entity);
return XServiceResult.OK; return XServiceResult.OK;
} }
@XText("根据id获取详情") @XText("根据id获取详情")
@XApiAnonymous @XApiAnonymous
@XApiGet @XApiGet
...@@ -108,7 +112,7 @@ public class BasePhotovoltaicPlantService extends BaseService{ ...@@ -108,7 +112,7 @@ public class BasePhotovoltaicPlantService extends BaseService{
QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda() queryWrapper.lambda()
.eq(BasePhotovoltaicPlantEnt::getId, input.getId()) .eq(BasePhotovoltaicPlantEnt::getId, input.getId())
.eq(BasePhotovoltaicPlantEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE); .eq(BasePhotovoltaicPlantEnt::getIsDeleted, BusinessConstant.ONE);
BasePhotovoltaicPlantEnt entity = mapper.selectOne(queryWrapper); BasePhotovoltaicPlantEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) { if (entity == null) {
return XSingleResult.error(context, XError.NotFound); return XSingleResult.error(context, XError.NotFound);
...@@ -120,10 +124,11 @@ public class BasePhotovoltaicPlantService extends BaseService{ ...@@ -120,10 +124,11 @@ public class BasePhotovoltaicPlantService extends BaseService{
SysOrganizationView organizationView = new SysOrganizationView(); SysOrganizationView organizationView = new SysOrganizationView();
organizationView.setId(entity.getOuId()); organizationView.setId(entity.getOuId());
organizationView = organizationViewMapper.selectOrgProvince(organizationView); organizationView = organizationViewMapper.selectOrgProvince(organizationView);
if(null != organizationView) if (null != organizationView)
output.setProvince(organizationView.getProvinceName()); output.setProvince(organizationView.getProvinceName());
return XSingleResult.success(output); return XSingleResult.success(output);
} }
@XText("分页查询") @XText("分页查询")
@XApiAnonymous @XApiAnonymous
@XApiGet @XApiGet
...@@ -135,10 +140,10 @@ public class BasePhotovoltaicPlantService extends BaseService{ ...@@ -135,10 +140,10 @@ public class BasePhotovoltaicPlantService extends BaseService{
List<String> allListByOuId = this.getAllListByOuId(context, ouId); List<String> allListByOuId = this.getAllListByOuId(context, ouId);
QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>();
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", input.getOuId()) .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, ScadaConstant.IS_DELETE_FLASE) .eq(BasePhotovoltaicPlantEnt::getIsDeleted, BusinessConstant.ONE)
.in(CollUtil.isNotEmpty(allListByOuId), BasePhotovoltaicPlantEnt::getOuId, allListByOuId) .in(CollUtil.isNotEmpty(allListByOuId), BasePhotovoltaicPlantEnt::getOuId, allListByOuId)
.like(StrUtil.isNotEmpty(stationName),BasePhotovoltaicPlantEnt::getStationName,stationName ) .like(StrUtil.isNotEmpty(stationName), BasePhotovoltaicPlantEnt::getStationName, stationName)
.orderByDesc(BasePhotovoltaicPlantEnt::getModifyTime); .orderByDesc(BasePhotovoltaicPlantEnt::getModifyTime);
return XMapperHelper.query(mapper, input, queryWrapper, QueryBasePhotovoltaicPlantOutput.class); return XMapperHelper.query(mapper, input, queryWrapper, QueryBasePhotovoltaicPlantOutput.class);
} }
...@@ -170,9 +175,9 @@ public class BasePhotovoltaicPlantService extends BaseService{ ...@@ -170,9 +175,9 @@ public class BasePhotovoltaicPlantService extends BaseService{
ouId = input.getParentOuId(); ouId = input.getParentOuId();
viewList = mapper.selectOuSonByParentOuId(record); viewList = mapper.selectOuSonByParentOuId(record);
} }
queryWrapper.lambda().eq(BasePhotovoltaicPlantEnt::getOuId , ouId).eq(BasePhotovoltaicPlantEnt::getIsDeleted , ScadaConstant.IS_DELETE_FLASE); queryWrapper.lambda().eq(BasePhotovoltaicPlantEnt::getOuId, ouId).eq(BasePhotovoltaicPlantEnt::getIsDeleted, 0);
List<BasePhotovoltaicPlantEnt> plantList = plantMapper.selectList(queryWrapper); List<BasePhotovoltaicPlantEnt> plantList = plantMapper.selectList(queryWrapper);
plantList.forEach(item->{ plantList.forEach(item -> {
SysOrganizationView view = new SysOrganizationView(); SysOrganizationView view = new SysOrganizationView();
view.setId(item.getId()); view.setId(item.getId());
view.setOuName(item.getStationName()); view.setOuName(item.getStationName());
...@@ -184,4 +189,21 @@ public class BasePhotovoltaicPlantService extends BaseService{ ...@@ -184,4 +189,21 @@ public class BasePhotovoltaicPlantService extends BaseService{
return XListResult.success(outputs); return XListResult.success(outputs);
} }
/*-----------------------------------private-----------------------------------*/
/**
* 检查光伏电站是否被引用
*
* @param context 上下文
* @param plantId 电站ID
* @return boolean
*/
private boolean checkPhotovoltaicIsReference(XContext context, String plantId) {
BasePowerLinePlantMapper mapper = context.getBean(BasePowerLinePlantMapper.class);
Long count = mapper.selectCount(new LambdaQueryWrapper<BasePowerLinePlantEnt>()
.eq(BasePowerLinePlantEnt::getPlantId, plantId)
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
);
return count > 0;
}
} }
package pps.core.base.service; package pps.core.base.service;
import cn.hutool.core.collection.CollUtil; 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.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -68,9 +70,8 @@ public class BasePriceStrategyService { ...@@ -68,9 +70,8 @@ public class BasePriceStrategyService {
String strategyId = entity.getId(); String strategyId = entity.getId();
List<CreateBasePriceStrategyMonthInput> inputMonths = input.getMonths(); List<CreateBasePriceStrategyMonthInput> inputMonths = input.getMonths();
if (CollUtil.isNotEmpty(inputMonths)) { if (CollUtil.isNotEmpty(inputMonths)) {
List<BasePriceStrategyMonthEnt> monthList = XCopyUtils.copyNewList(inputMonths, BasePriceStrategyMonthEnt.class); List<BasePriceStrategyMonthView> monthList = XCopyUtils.copyNewList(inputMonths, BasePriceStrategyMonthView.class);
BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class); this.saveStrategyMonthDetail(context, monthList, strategyId, session);
this.saveStrategyMonthDetail(monthMapper, monthList, strategyId, session);
} }
return XServiceResult.OK; return XServiceResult.OK;
}); });
...@@ -98,9 +99,9 @@ public class BasePriceStrategyService { ...@@ -98,9 +99,9 @@ public class BasePriceStrategyService {
} }
List<UpdateBasePriceStrategyMonthInput> inputMonths = input.getMonths(); List<UpdateBasePriceStrategyMonthInput> inputMonths = input.getMonths();
if (CollUtil.isNotEmpty(inputMonths)) { 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() List<String> collect = monthList.stream()
.map(BasePriceStrategyMonthEnt::getStrategyMonth) .map(BasePriceStrategyMonthView::getStrategyMonth)
.collect(Collectors.toList()); .collect(Collectors.toList());
BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class); BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class);
//删除月信息 //删除月信息
...@@ -116,7 +117,7 @@ public class BasePriceStrategyService { ...@@ -116,7 +117,7 @@ public class BasePriceStrategyService {
.eq(BasePriceStrategyDetailEnt::getStrategyId, strategyId) .eq(BasePriceStrategyDetailEnt::getStrategyId, strategyId)
.in(BasePriceStrategyDetailEnt::getStrategyMonth, collect) .in(BasePriceStrategyDetailEnt::getStrategyMonth, collect)
); );
this.saveStrategyMonthDetail(monthMapper, monthList, strategyId, session); this.saveStrategyMonthDetail(context, monthList, strategyId, session);
} }
XCopyUtils.copyObject(input, entity); XCopyUtils.copyObject(input, entity);
BaseUtils.setBaseModelDefault(entity, session); BaseUtils.setBaseModelDefault(entity, session);
...@@ -148,17 +149,23 @@ public class BasePriceStrategyService { ...@@ -148,17 +149,23 @@ public class BasePriceStrategyService {
if (Objects.isNull(entity)) { if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound); return XServiceResult.error(context, XError.NotFound);
} }
//删除策略
mapper.update(null, new LambdaUpdateWrapper<BasePriceStrategyEnt>()
.eq(BaseModel::getId, strategyId)
.set(BaseModel::getIsDeleted, BusinessConstant.ZERO)
);
//删除月数据 //删除月数据
BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class); BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class);
monthMapper.delete(new QueryWrapper<BasePriceStrategyMonthEnt>() monthMapper.update(null, new LambdaUpdateWrapper<BasePriceStrategyMonthEnt>()
.lambda() .eq(BasePriceStrategyMonthEnt::getStrategyId, strategyId)
.eq(BasePriceStrategyMonthEnt::getStrategyId, strategyId)); .set(BaseModel::getIsDeleted, BusinessConstant.ZERO)
);
//删除明细数据 //删除明细数据
BasePriceStrategyDetailMapper detailMapper = context.getBean(BasePriceStrategyDetailMapper.class); BasePriceStrategyDetailMapper detailMapper = context.getBean(BasePriceStrategyDetailMapper.class);
detailMapper.delete(new QueryWrapper<BasePriceStrategyDetailEnt>() detailMapper.update(null, new LambdaUpdateWrapper<BasePriceStrategyDetailEnt>()
.lambda() .eq(BasePriceStrategyDetailEnt::getStrategyId, strategyId)
.eq(BasePriceStrategyDetailEnt::getStrategyId, strategyId)); .set(BaseModel::getIsDeleted, BusinessConstant.ZERO)
mapper.deleteById(entity); );
return XServiceResult.OK; return XServiceResult.OK;
}); });
} }
...@@ -303,6 +310,7 @@ public class BasePriceStrategyService { ...@@ -303,6 +310,7 @@ public class BasePriceStrategyService {
BasePowerLineMapper mapper = context.getBean(BasePowerLineMapper.class); BasePowerLineMapper mapper = context.getBean(BasePowerLineMapper.class);
Long count = mapper.selectCount(new LambdaQueryWrapper<BasePowerLineEnt>() Long count = mapper.selectCount(new LambdaQueryWrapper<BasePowerLineEnt>()
.eq(BasePowerLineEnt::getStrategyId, strategyId) .eq(BasePowerLineEnt::getStrategyId, strategyId)
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
); );
return count > 0; return count > 0;
} }
...@@ -310,26 +318,36 @@ public class BasePriceStrategyService { ...@@ -310,26 +318,36 @@ public class BasePriceStrategyService {
/** /**
* 保存策略明细 * 保存策略明细
* *
* @param monthMapper 月映射器 * @param context 上下文
* @param monthList 月清单 * @param monthList 月份列表
* @param strategyId 略id * @param strategyId 略id
* @param session 会话 * @param session 一场
*/ */
private void saveStrategyMonthDetail(BasePriceStrategyMonthMapper monthMapper, List<BasePriceStrategyMonthEnt> monthList, String strategyId, PpsUserSession session) { private void saveStrategyMonthDetail(XContext context, List<BasePriceStrategyMonthView> monthList, String strategyId, PpsUserSession session) {
String strategyMonth; BasePriceStrategyMonthViewMapper monthMapper = context.getBean(BasePriceStrategyMonthViewMapper.class);
List<BasePriceStrategyDetailEnt> detailList; BasePriceStrategyDetailViewMapper detailMapper = context.getBean(BasePriceStrategyDetailViewMapper.class);
for (BasePriceStrategyMonthEnt monthEnt : monthList) { List<BasePriceStrategyDetailView> detailViewList = new ArrayList<>(256);
monthEnt.setStrategyId(strategyId); List<BasePriceStrategyMonthView> monthViewList = new ArrayList<>(16);
BaseUtils.setBaseModelDefault(monthEnt, session); List<BasePriceStrategyDetailView> details;
monthMapper.insert(monthEnt); for (BasePriceStrategyMonthView monthView : monthList) {
strategyMonth = monthEnt.getStrategyMonth(); monthView.setStrategyId(strategyId);
detailList = monthEnt.getDetails(); BaseUtils.setBaseModelDefault(monthView, session);
for (BasePriceStrategyDetailEnt detailEnt : detailList) { monthView.setId(UUID.randomUUID().toString());
detailEnt.setStrategyId(strategyId); monthViewList.add(monthView);
detailEnt.setStrategyMonth(strategyMonth); details = monthView.getDetails();
BaseUtils.setBaseModelDefault(detailEnt, session); if (CollUtil.isNotEmpty(details)) {
details.forEach(d -> {
d.setStrategyId(strategyId);
d.setStrategyMonth(monthView.getStrategyMonth());
BaseUtils.setBaseModelDefault(d, session);
d.setId(UUID.randomUUID().toString());
detailViewList.add(d);
});
} }
BaseUtils.batchInsert(BasePriceStrategyDetailMapper.class, BasePriceStrategyDetailEnt.class, detailList); }
monthMapper.batchInsertList(monthViewList);
if (CollUtil.isNotEmpty(detailViewList)) {
detailMapper.batchInsertList(detailViewList);
} }
} }
} }
\ No newline at end of file
package pps.core.base.service; package pps.core.base.service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
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 pps.core.base.constant.ScadaConstant; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.apache.commons.lang3.StringUtils;
import pps.core.base.entity.BasePowerLineWellheadEnt;
import pps.core.base.entity.BaseWellheadEnt; import pps.core.base.entity.BaseWellheadEnt;
import pps.core.base.mapper.BasePowerLineWellheadMapper;
import pps.core.base.mapper.BaseWellheadMapper; import pps.core.base.mapper.BaseWellheadMapper;
import pps.core.base.service.data.base_wellhead.*; import pps.core.base.service.data.base_wellhead.*;
import pps.core.base.utils.SessionSimulation; import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.common.session.PpsUserSession; import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.BaseUtils;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.XContext; import xstartup.base.XContext;
...@@ -20,78 +26,79 @@ import xstartup.feature.api.annotation.XApiAnonymous; ...@@ -20,78 +26,79 @@ import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet; import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost; import xstartup.feature.api.annotation.XApiPost;
import xstartup.feature.mybatis.helper.XMapperHelper; import xstartup.feature.mybatis.helper.XMapperHelper;
import xstartup.helper.XTransactionHelper;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
* @Author luoxiangyang * 井口配置模块
* @Description: 井口配置 *
* @Date 2023/8/24 * @author ZWT
**/ * @date 2023/09/08
*/
@XService @XService
public class BaseWellheadService extends BaseService { public class BaseWellheadService extends BaseService {
//todo 模拟登陆
private final PpsUserSession session = SessionSimulation.getSession();
@XText("新增") @XText("新增")
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
public XServiceResult createBaseWellhead(XContext context, CreateBaseWellheadInput input) { public XServiceResult createBaseWellhead(XContext context, CreateBaseWellheadInput input) {
BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class); return XTransactionHelper.begin(context, () -> {
BaseWellheadEnt entity = new BaseWellheadEnt(); BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class);
XCopyUtils.copyObject(input, entity); BaseWellheadEnt entity = XCopyUtils.copyNewObject(input, BaseWellheadEnt.class);
//PpsUserSession session = context.getSession(PpsUserSession.class); PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setCreateById(session.getId()); BaseUtils.setBaseModelDefault(entity, session);
entity.setCreateByName(session.getUserName()); mapper.insert(entity);
entity.setCreateTime(new Date()); return XServiceResult.OK;
entity.setModifyById(session.getId()); });
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
mapper.insert(entity);
return XServiceResult.OK;
} }
@XText("更新") @XText("更新")
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
public XServiceResult updateBaseWellhead(XContext context, UpdateBaseWellheadInput input) { public XServiceResult updateBaseWellhead(XContext context, UpdateBaseWellheadInput input) {
BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class); return XTransactionHelper.begin(context, () -> {
QueryWrapper<BaseWellheadEnt> queryWrapper = new QueryWrapper<>(); BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class);
queryWrapper.lambda().eq(BaseWellheadEnt::getId, input.getId()); BaseWellheadEnt entity = mapper.selectOne(new LambdaUpdateWrapper<BaseWellheadEnt>()
BaseWellheadEnt entity = mapper.selectOne(queryWrapper); .eq(BaseModel::getId, input.getId())
if (entity == null) { );
return XServiceResult.error(context, XError.NotFound); if (Objects.isNull(entity)) {
} return XServiceResult.error(context, XError.NotFound);
XCopyUtils.copyObject(input, entity); }
//PpsUserSession session = context.getSession(PpsUserSession.class); XCopyUtils.copyObject(input, entity);
entity.setModifyById(session.getId()); PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setModifyByName(session.getUserName()); BaseUtils.setBaseModelDefault(entity, session);
entity.setModifyTime(new Date()); mapper.updateById(entity);
mapper.updateById(entity); return XServiceResult.OK;
return XServiceResult.OK; });
} }
@XText("删除") @XText("删除")
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
public XServiceResult deleteBaseWellhead(XContext context, DeleteBaseWellheadInput input) { public XServiceResult deleteBaseWellhead(XContext context, DeleteBaseWellheadInput input) {
BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class); String wellheadId = input.getId();
QueryWrapper<BaseWellheadEnt> queryWrapper = new QueryWrapper<>(); if (this.checkWellheadIsReference(context, wellheadId)) {
queryWrapper.lambda().eq(BaseWellheadEnt::getId, input.getId()); return XServiceResult.error(992, "当前井口已被引用");
BaseWellheadEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XServiceResult.error(context, XError.NotFound);
} }
entity = new BaseWellheadEnt(); return XTransactionHelper.begin(context, () -> {
entity.setId(input.getId()); BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class);
entity.setIsDeleted(ScadaConstant.IS_DELETE_TRUE); BaseWellheadEnt entity = mapper.selectOne(new LambdaUpdateWrapper<BaseWellheadEnt>()
//PpsUserSession session = context.getSession(PpsUserSession.class); .eq(BaseModel::getId, wellheadId)
entity.setModifyById(session.getId()); );
entity.setModifyByName(session.getUserName()); if (Objects.isNull(entity)) {
entity.setModifyTime(new Date()); return XServiceResult.error(context, XError.NotFound);
mapper.updateById(entity); }
return XServiceResult.OK; entity = new BaseWellheadEnt();
entity.setId(input.getId());
entity.setIsDeleted(BusinessConstant.ZERO);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
});
} }
@XText("根据ID获取详情") @XText("根据ID获取详情")
...@@ -102,7 +109,7 @@ public class BaseWellheadService extends BaseService { ...@@ -102,7 +109,7 @@ public class BaseWellheadService extends BaseService {
QueryWrapper<BaseWellheadEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BaseWellheadEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda() queryWrapper.lambda()
.eq(BaseWellheadEnt::getId, input.getId()) .eq(BaseWellheadEnt::getId, input.getId())
.eq(BaseWellheadEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE); .eq(BaseWellheadEnt::getIsDeleted, BusinessConstant.ONE);
BaseWellheadEnt entity = mapper.selectOne(queryWrapper); BaseWellheadEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) { if (entity == null) {
return XSingleResult.error(context, XError.NotFound); return XSingleResult.error(context, XError.NotFound);
...@@ -121,10 +128,28 @@ public class BaseWellheadService extends BaseService { ...@@ -121,10 +128,28 @@ public class BaseWellheadService extends BaseService {
QueryWrapper<BaseWellheadEnt> queryWrapper = new QueryWrapper<>(); QueryWrapper<BaseWellheadEnt> queryWrapper = new QueryWrapper<>();
List<String> allListByOuId = this.getAllListByOuId(context, input.getOuId()); List<String> allListByOuId = this.getAllListByOuId(context, input.getOuId());
queryWrapper.lambda() queryWrapper.lambda()
.notExists("1".equals(excludeIdFlag), "SELECT 1 FROM base_power_line_wellhead w WHERE w.ou_id = {0} AND base_wellhead.id = w.wellhead_id", input.getOuId()) .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, ScadaConstant.IS_DELETE_FLASE) .eq(BaseWellheadEnt::getIsDeleted, BusinessConstant.ONE)
.in(CollUtil.isNotEmpty(allListByOuId),BaseWellheadEnt::getOuId, allListByOuId) .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);
} }
/*-----------------------------------private-----------------------------------*/
/**
* 检查井口是否被引用
*
* @param context 上下文
* @param wellheadId 井口ID
* @return boolean
*/
private boolean checkWellheadIsReference(XContext context, String wellheadId) {
BasePowerLineWellheadMapper mapper = context.getBean(BasePowerLineWellheadMapper.class);
Long count = mapper.selectCount(new LambdaQueryWrapper<BasePowerLineWellheadEnt>()
.eq(BasePowerLineWellheadEnt::getWellheadId, wellheadId)
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
);
return count > 0;
}
} }
package pps.core.base.utils; package pps.core.base.utils;
import com.baomidou.mybatisplus.core.enums.SqlMethod;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import pps.cloud.space.service.ISpaceInstitutionDetailCloudService; import pps.cloud.space.service.ISpaceInstitutionDetailCloudService;
import pps.cloud.system.service.SysOrganizationCloudService; import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.SystemAreaService; import pps.cloud.system.service.SystemAreaService;
...@@ -9,6 +11,7 @@ import xstartup.base.XContext; ...@@ -9,6 +11,7 @@ import xstartup.base.XContext;
import xstartup.data.XListResult; import xstartup.data.XListResult;
import xstartup.data.XSingleResult; import xstartup.data.XSingleResult;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
...@@ -125,4 +128,18 @@ public class ServiceUtil { ...@@ -125,4 +128,18 @@ public class ServiceUtil {
result.throwIfFail(); result.throwIfFail();
return result.getResult() > 0; return result.getResult() > 0;
} }
/**
* 批量插入
*
* @param mapper 映射器
* @param entityClass 实体类
* @param list 列表
*/
public static <E> void batchInsert(Class<?> mapper, Class<?> entityClass, Collection<E> list) {
String sqlStatement = SqlHelper.getSqlStatement(mapper, SqlMethod.INSERT_ONE);
SqlHelper.executeBatch(entityClass, null, list, 1000, (sqlSession, ent) -> {
sqlSession.insert(sqlStatement, ent);
});
}
} }
\ No newline at end of file
package pps.core.base.utils;
import pps.core.common.session.PpsUserSession;
/**
* @Description 模拟
* @Author luoxiangyang
* @Date 2023/8/24 16:32
**/
public class SessionSimulation {
public static PpsUserSession getSession (){
PpsUserSession session = new PpsUserSession();
session.setId("123");
session.setUserName("ceshi");
return session;
}
}
...@@ -52,4 +52,24 @@ ...@@ -52,4 +52,24 @@
AND g.is_deleted = 1 AND g.is_deleted = 1
WHERE l.line_id = #{lineId} WHERE l.line_id = #{lineId}
</select> </select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO base_power_line_diesel ( id, create_by_id, create_by_name, create_time, modify_by_id,
modify_by_name, modify_time, line_id, diesel_id, ou_id )
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.createById},
#{item.createByName},
#{item.createTime},
#{item.modifyById},
#{item.modifyByName},
#{item.modifyTime},
#{item.lineId},
#{item.dieselId},
#{item.ouId}
)
</foreach>
</insert>
</mapper> </mapper>
\ No newline at end of file
...@@ -52,4 +52,24 @@ ...@@ -52,4 +52,24 @@
AND p.is_deleted = 1 AND p.is_deleted = 1
WHERE l.line_id = #{lineId} WHERE l.line_id = #{lineId}
</select> </select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO base_power_line_plant ( id, create_by_id, create_by_name, create_time, modify_by_id,
modify_by_name, modify_time, line_id, plant_id, ou_id )
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.createById},
#{item.createByName},
#{item.createTime},
#{item.modifyById},
#{item.modifyByName},
#{item.modifyTime},
#{item.lineId},
#{item.plantId},
#{item.ouId}
)
</foreach>
</insert>
</mapper> </mapper>
\ No newline at end of file
...@@ -52,4 +52,24 @@ ...@@ -52,4 +52,24 @@
AND d.is_deleted = 1 AND d.is_deleted = 1
WHERE l.line_id = #{lineId} WHERE l.line_id = #{lineId}
</select> </select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO base_power_line_storage ( id, create_by_id, create_by_name, create_time, modify_by_id,
modify_by_name, modify_time, line_id, storage_id, ou_id )
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.createById},
#{item.createByName},
#{item.createTime},
#{item.modifyById},
#{item.modifyByName},
#{item.modifyTime},
#{item.lineId},
#{item.storageId},
#{item.ouId}
)
</foreach>
</insert>
</mapper> </mapper>
\ No newline at end of file
...@@ -64,7 +64,8 @@ ...@@ -64,7 +64,8 @@
, ( SELECT COUNT( 1 ) FROM base_power_line_wellhead w WHERE base_power_line.id = w.line_id ) AS wellhead_count , ( SELECT COUNT( 1 ) FROM base_power_line_wellhead w WHERE base_power_line.id = w.line_id ) AS wellhead_count
from base_power_line from base_power_line
where where
ou_id in is_deleted = 1
AND ou_id in
<foreach collection="ouList" open="(" close=")" separator="," item="item"> <foreach collection="ouList" open="(" close=")" separator="," item="item">
#{item} #{item}
</foreach> </foreach>
......
...@@ -81,4 +81,25 @@ ...@@ -81,4 +81,25 @@
</foreach> </foreach>
</if> </if>
</select> </select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO base_power_line_wellhead ( id, create_by_id, create_by_name, create_time, modify_by_id,
modify_by_name, modify_time, line_id, wellhead_id, ou_id, start_seq )
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.createById},
#{item.createByName},
#{item.createTime},
#{item.modifyById},
#{item.modifyByName},
#{item.modifyTime},
#{item.lineId},
#{item.wellheadId},
#{item.ouId},
#{item.startSeq}
)
</foreach>
</insert>
</mapper> </mapper>
\ No newline at end of file
...@@ -50,4 +50,42 @@ ...@@ -50,4 +50,42 @@
where where
id=#{id} id=#{id}
</select> </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> </mapper>
\ No newline at end of file
...@@ -40,4 +40,23 @@ ...@@ -40,4 +40,23 @@
where where
id=#{id} id=#{id}
</select> </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> </mapper>
\ No newline at end of file
...@@ -58,11 +58,11 @@ ...@@ -58,11 +58,11 @@
ELSE '否' ELSE '否'
END is_fixed_price_value END is_fixed_price_value
FROM base_price_strategy FROM base_price_strategy
<where> WHERE
<if test=" param.policyName != null and param.policyName != '' "> is_deleted = 1
policy_name LIKE CONCAT( '%', #{param.policyName}, '%' ) <if test=" param.policyName != null and param.policyName != '' ">
</if> AND policy_name LIKE CONCAT( '%', #{param.policyName}, '%' )
</where> </if>
ORDER BY modify_time DESC ORDER BY modify_time DESC
</select> </select>
</mapper> </mapper>
\ No newline at end of file
package pps.core.space.entity; package pps.core.space.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import pps.core.common.entity.BaseModel; import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
...@@ -15,6 +18,9 @@ import java.util.Date; ...@@ -15,6 +18,9 @@ import java.util.Date;
* @date 2023/09/05 * @date 2023/09/05
*/ */
@Data @Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class SpaceInstitutionDetailView extends BaseModel implements Serializable { public class SpaceInstitutionDetailView extends BaseModel implements Serializable {
@XText("组织机构ID") @XText("组织机构ID")
...@@ -56,4 +62,46 @@ public class SpaceInstitutionDetailView extends BaseModel implements Serializabl ...@@ -56,4 +62,46 @@ public class SpaceInstitutionDetailView extends BaseModel implements Serializabl
@XText("启动间隔(分钟)") @XText("启动间隔(分钟)")
@TableField @TableField
private Integer startInterval; private Integer startInterval;
/**
* 长期优化周期ID
*/
@XText("长期优化周期ID")
@TableField(exist = false)
private String longPeriodId;
/**
* 长期优化周期
*/
@XText("长期优化周期")
@TableField(exist = false)
private String longExecutionCycle;
/**
* 长期优化时间
*/
@XText("长期优化时间")
@TableField(exist = false)
private String longOptimizeDeadline;
/**
* 中短期优化周期ID
*/
@XText("中短期优化周期ID")
@TableField(exist = false)
private String midPeriodId;
/**
* 中短期优化周期
*/
@XText("中短期优化周期")
@TableField(exist = false)
private String midExecutionCycle;
/**
* 中短期优化时间
*/
@XText("中短期优化时间")
@TableField(exist = false)
private String midOptimizeDeadline;
} }
package pps.core.space.entity; package pps.core.space.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import pps.core.common.entity.BaseModel; import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText; import xstartup.annotation.XText;
...@@ -17,7 +16,6 @@ import java.util.List; ...@@ -17,7 +16,6 @@ import java.util.List;
* @date 2023/09/05 * @date 2023/09/05
*/ */
@Data @Data
@TableName("space_institution_wellhead")
public class SpaceInstitutionWellheadView extends BaseModel implements Serializable { public class SpaceInstitutionWellheadView extends BaseModel implements Serializable {
@XText("间开制度ID") @XText("间开制度ID")
...@@ -65,5 +63,5 @@ public class SpaceInstitutionWellheadView extends BaseModel implements Serializa ...@@ -65,5 +63,5 @@ public class SpaceInstitutionWellheadView extends BaseModel implements Serializa
*/ */
@XText("启动间隔(分钟)") @XText("启动间隔(分钟)")
@TableField(exist = false) @TableField(exist = false)
private List<SpaceInstitutionDurationEnt> durationList; private List<SpaceInstitutionDurationView> durationList;
} }
...@@ -16,4 +16,12 @@ public interface SpaceInstitutionDetailViewMapper { ...@@ -16,4 +16,12 @@ public interface SpaceInstitutionDetailViewMapper {
SpaceInstitutionDetailView selectOne(SpaceInstitutionDetailView record); SpaceInstitutionDetailView selectOne(SpaceInstitutionDetailView record);
List<SpaceInstitutionDetailView> selectList(SpaceInstitutionDetailView record); List<SpaceInstitutionDetailView> selectList(SpaceInstitutionDetailView record);
/**
* 查询优化历史记录列表
*
* @param record 记录
* @return {@link List}<{@link SpaceInstitutionDetailView}>
*/
List<SpaceInstitutionDetailView> selectOptimizeHistoryList(SpaceInstitutionDetailView record);
} }
package pps.core.space.mapper; package pps.core.space.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import pps.core.space.entity.SpaceInstitutionDurationView; import pps.core.space.entity.SpaceInstitutionDurationView;
...@@ -16,4 +17,12 @@ public interface SpaceInstitutionDurationViewMapper { ...@@ -16,4 +17,12 @@ public interface SpaceInstitutionDurationViewMapper {
SpaceInstitutionDurationView selectOne(SpaceInstitutionDurationView record); SpaceInstitutionDurationView selectOne(SpaceInstitutionDurationView record);
List<SpaceInstitutionDurationView> selectList(SpaceInstitutionDurationView record); List<SpaceInstitutionDurationView> selectList(SpaceInstitutionDurationView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<SpaceInstitutionDurationView> list);
} }
package pps.core.space.mapper; package pps.core.space.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import pps.core.space.entity.SpaceInstitutionWellheadView; import pps.core.space.entity.SpaceInstitutionWellheadView;
...@@ -13,8 +13,16 @@ import java.util.List; ...@@ -13,8 +13,16 @@ import java.util.List;
* @date 2023/09/05 * @date 2023/09/05
*/ */
@Repository(value = "pps.core.space.mapper.SpaceInstitutionWellheadViewMapper") @Repository(value = "pps.core.space.mapper.SpaceInstitutionWellheadViewMapper")
public interface SpaceInstitutionWellheadViewMapper extends BaseMapper<SpaceInstitutionWellheadView> { public interface SpaceInstitutionWellheadViewMapper {
SpaceInstitutionWellheadView selectOne(SpaceInstitutionWellheadView record); SpaceInstitutionWellheadView selectOne(SpaceInstitutionWellheadView record);
List<SpaceInstitutionWellheadView> selectList(SpaceInstitutionWellheadView record); List<SpaceInstitutionWellheadView> selectList(SpaceInstitutionWellheadView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<SpaceInstitutionWellheadView> list);
} }
...@@ -64,10 +64,7 @@ public class SpaceCalibrationService { ...@@ -64,10 +64,7 @@ public class SpaceCalibrationService {
@XApiPost @XApiPost
@XText("校准周期--新增") @XText("校准周期--新增")
public XServiceResult createSpaceCalibrationPeriod(XContext context, CreateSpaceCalibrationPeriodInput input) { public XServiceResult createSpaceCalibrationPeriod(XContext context, CreateSpaceCalibrationPeriodInput input) {
PpsUserSession session = new PpsUserSession(); PpsUserSession session = context.getSession(PpsUserSession.class);
session.setId("123");
session.setUserName("ceshi");
// PpsUserSession session = context.getSession(PpsUserSession.class);
return XTransactionHelper.begin(context, () -> { return XTransactionHelper.begin(context, () -> {
SpaceCalibrationPeriodMapper mapper = context.getBean(SpaceCalibrationPeriodMapper.class); SpaceCalibrationPeriodMapper mapper = context.getBean(SpaceCalibrationPeriodMapper.class);
SpaceCalibrationPeriodEnt periodEnt = this.getPeriodEntByParam(mapper, input.getLineId(), input.getOuId()); SpaceCalibrationPeriodEnt periodEnt = this.getPeriodEntByParam(mapper, input.getLineId(), input.getOuId());
...@@ -92,10 +89,7 @@ public class SpaceCalibrationService { ...@@ -92,10 +89,7 @@ public class SpaceCalibrationService {
@XApiPost @XApiPost
@XText("校准周期--修改") @XText("校准周期--修改")
public XServiceResult updateSpaceCalibrationPeriod(XContext context, UpdateSpaceCalibrationPeriodInput input) { public XServiceResult updateSpaceCalibrationPeriod(XContext context, UpdateSpaceCalibrationPeriodInput input) {
PpsUserSession session = new PpsUserSession(); PpsUserSession session = context.getSession(PpsUserSession.class);
session.setId("123");
session.setUserName("ceshi");
// PpsUserSession session = context.getSession(PpsUserSession.class);
return XTransactionHelper.begin(context, () -> { return XTransactionHelper.begin(context, () -> {
SpaceCalibrationPeriodMapper mapper = context.getBean(SpaceCalibrationPeriodMapper.class); SpaceCalibrationPeriodMapper mapper = context.getBean(SpaceCalibrationPeriodMapper.class);
SpaceCalibrationPeriodEnt entity = mapper.selectOne( SpaceCalibrationPeriodEnt entity = mapper.selectOne(
......
package pps.core.space.service.data.space_institution_detail;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import xstartup.annotation.XText;
import xstartup.base.data.XPageInput;
/**
* 间开优化历史
*
* @author ZWT
* @date 2023/09/08
*/
@Data
public class QueryOptimizeHistoryViewInput extends XPageInput {
@XText("组织机构ID")
@NotBlank(message = "缺少组织机构ID")
private String ouId;
@XText("线路ID")
private String lineId;
}
package pps.core.space.service.data.space_institution_detail;
import lombok.Data;
import xstartup.annotation.XText;
/**
* 间开优化历史
*
* @author ZWT
* @date 2023/09/08
*/
@Data
public class QueryOptimizeHistoryViewOutput {
@XText("ID")
private String id;
@XText("组织机构ID")
private String ouId;
@XText("线路ID")
private String lineId;
@XText("线路名称")
private String lineName;
@XText("电网类型key(字典获取)")
private String gridTypeKey;
@XText("制度名称")
private String institutionName;
@XText("长期优化周期ID")
private String longPeriodId;
@XText("长期优化周期")
private String longExecutionCycle;
@XText("长期优化时间")
private String longOptimizeDeadline;
@XText("中短期优化周期ID")
private String midPeriodId;
@XText("中短期优化周期")
private String midExecutionCycle;
@XText("中短期优化时间")
private String midOptimizeDeadline;
}
...@@ -22,6 +22,7 @@ public class UpdateSpaceInstitutionDetailInput { ...@@ -22,6 +22,7 @@ public class UpdateSpaceInstitutionDetailInput {
private String id; private String id;
@XText("组织机构ID") @XText("组织机构ID")
@NotBlank(message = "缺少组织机构ID")
private String ouId; private String ouId;
@XText("线路ID") @XText("线路ID")
......
...@@ -58,4 +58,63 @@ ...@@ -58,4 +58,63 @@
where where
id=#{id} id=#{id}
</select> </select>
<resultMap id="ExtendResultMap" type="pps.core.space.entity.SpaceInstitutionDetailView" extends="BaseResultMap">
<result column="long_period_id" property="longPeriodId" jdbcType="VARCHAR"/>
<result column="long_execution_cycle" property="longExecutionCycle" jdbcType="VARCHAR"/>
<result column="long_optimize_deadline" property="longOptimizeDeadline" jdbcType="VARCHAR"/>
<result column="mid_period_id" property="midPeriodId" jdbcType="VARCHAR"/>
<result column="mid_execution_cycle" property="midExecutionCycle" jdbcType="VARCHAR"/>
<result column="mid_optimize_deadline" property="midOptimizeDeadline" jdbcType="VARCHAR"/>
</resultMap>
<select id="selectOptimizeHistoryList" parameterType="pps.core.space.entity.SpaceInstitutionDetailView"
resultMap="ExtendResultMap">
WITH institution_detail AS (SELECT id,
ou_id,
line_id,
grid_type_key,
institution_name,
institution_start_date,
institution_end_date,
optimize_deadline,
optimize_state,
is_current_basic,
start_interval
FROM space_institution_detail
WHERE is_current_basic = 0
AND ou_id = #{ouId}),
long_period
AS (SELECT row_number() over ( PARTITION BY institution_id ORDER BY optimize_deadline DESC ) AS line_number,id,
institution_id,
execution_cycle,
optimize_state,
optimize_deadline
FROM space_optimize_long_period
WHERE institution_id IN (SELECT id FROM institution_detail)),
mid_period
AS (SELECT row_number() over ( PARTITION BY institution_id ORDER BY optimize_deadline DESC ) AS line_number,id,
institution_id,
execution_cycle,
optimize_state,
optimize_deadline
FROM space_optimize_mid_period
WHERE institution_id IN (SELECT id FROM institution_detail))
SELECT d.id,
d.ou_id,
d.line_id,
d.grid_type_key,
d.institution_name,
l.id AS long_period_id,
l.execution_cycle AS long_execution_cycle,
l.optimize_deadline AS long_optimize_deadline,
m.id AS mid_period_id,
m.execution_cycle AS mid_execution_cycle,
m.optimize_deadline AS mid_optimize_deadline
FROM institution_detail d
LEFT JOIN long_period l ON d.id = l.institution_id
AND l.line_number = 1
LEFT JOIN mid_period m ON d.id = m.institution_id
AND m.line_number = 1
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -49,4 +49,40 @@ ...@@ -49,4 +49,40 @@
where where
id=#{id} id=#{id}
</select> </select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO space_institution_duration (
id,
create_by_id,
create_by_name,
create_time,
modify_by_id,
modify_by_name,
modify_time,
institution_id,
config_id,
wellhead_id,
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.institutionId},
#{item.configId},
#{item.wellheadId},
#{item.generationTypeKey},
#{item.openWellTime},
#{item.closeWellTime}
)
</foreach>
</insert>
</mapper> </mapper>
\ No newline at end of file
...@@ -57,4 +57,48 @@ ...@@ -57,4 +57,48 @@
where where
id=#{id} id=#{id}
</select> </select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO space_institution_wellhead (
id,
create_by_id,
create_by_name,
create_time,
modify_by_id,
modify_by_name,
modify_time,
institution_id,
wellhead_id,
well_number,
run_type_key,
interval_type_key,
interval_describe,
start_seq,
open_well_day,
close_well_day,
run_duration
)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.createById},
#{item.createByName},
#{item.createTime},
#{item.modifyById},
#{item.modifyByName},
#{item.modifyTime},
#{item.institutionId},
#{item.wellheadId},
#{item.wellNumber},
#{item.runTypeKey},
#{item.intervalTypeKey},
#{item.intervalDescribe},
#{item.startSeq},
#{item.openWellDay},
#{item.closeWellDay},
#{item.runDuration}
)
</foreach>
</insert>
</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