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 {
* 时段类型
*/
public static final String TIME_FRAME = "time_frame";
/**
* 校准策略
*/
public static final String CALIBRATION_STRATEGY = "calibration_strategy";
}
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.ibatis.binding.MapperMethod;
import pps.core.common.entity.BaseModel;
import pps.core.common.session.PpsUserSession;
import java.io.Serializable;
import java.util.Collection;
import java.util.Date;
import java.util.Objects;
/**
* 封装工具类
......@@ -44,40 +34,4 @@ public class BaseUtils {
model.setModifyByName(userName);
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;
import xstartup.data.XServiceResult;
import xstartup.data.XSingleResult;
import xstartup.error.XError;
import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost;
import xstartup.helper.XTransactionHelper;
......@@ -456,6 +457,7 @@ public class SysOrganizationService {
* @param input 输入
* @return {@link XListResult}<{@link DynamicQuerySysOrganizationOutput}>
*/
@XApiAnonymous
@XText("组织机构管理--查询组织和线路列表")
@XApiGet
public XListResult<DynamicQuerySysOrganizationOutput> queryOrgAndLineList(XContext context, DynamicQuerySysOrganizationInput input) {
......
......@@ -578,23 +578,22 @@
FROM sys_organization_rel r
LEFT JOIN sys_organization o ON o.id = r.ou_id
WHERE r.parent_ou_id = #{id}
AND o.is_deleted = 1
ORDER BY r.sort)
UNION ALL
(SELECT ou_id AS id, line_name AS ou_name, id AS line_id, 'LINE' AS ou_level
FROM base_power_line
WHERE ou_id = #{id}
AND is_deleted = 1
ORDER BY modify_time DESC)
</select>
<select id="selectOrgProvince" parameterType="pps.core.system.entity.SysOrganizationView" resultMap="BaseResultMap">
SELECT
province ,
SELECT province,
sa.name province_name
from
sys_organization so
from sys_organization so
left join sys_area sa on
sa.id = so.province
where
so.id = #{id}
where so.id = #{id}
</select>
</mapper>
package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 柴发设备
*
* @author ZWT
* @date 2023/09/08
*/
@Data
@TableName("base_diesel_generator")
public class BaseDieselGeneratorEnt 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;
public class BaseDieselGeneratorEnt extends BaseModel implements Serializable {
@XText("组织机构ID")
@TableField
......@@ -76,5 +50,4 @@ public class BaseDieselGeneratorEnt implements Serializable {
@XText("备用功率(KW)")
@TableField
private BigDecimal standbyPower;
}
......@@ -2,44 +2,20 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
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;
@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;
/**
* 柴发设备
*
* @author ZWT
* @date 2023/09/08
*/
@Data
public class BaseDieselGeneratorView extends BaseModel implements Serializable {
@XText("组织机构ID")
@TableField
......@@ -72,5 +48,4 @@ public class BaseDieselGeneratorView implements Serializable {
@XText("备用功率(KW)")
@TableField
private BigDecimal standbyPower;
}
package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 储能设备
*
* @author ZWT
* @date 2023/09/08
*/
@Data
@TableName("base_energy_storage_device")
public class BaseEnergyStorageDeviceEnt 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;
public class BaseEnergyStorageDeviceEnt extends BaseModel implements Serializable {
@XText("组织机构ID")
@TableField
......
......@@ -2,44 +2,20 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
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;
@XText("修改人ID")
@TableField
private String modifyById;
@XText("修改人名称")
@TableField
private String modifyByName;
@XText("修改时间")
@TableField
private Date modifyTime;
/**
* 储能设备
*
* @author ZWT
* @date 2023/09/08
*/
@Data
public class BaseEnergyStorageDeviceView extends BaseModel implements Serializable {
@XText("组织机构ID")
@TableField
......
package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 光伏电站
*
* @author ZWT
* @date 2023/09/08
*/
@Data
@TableName("base_photovoltaic_plant")
public class BasePhotovoltaicPlantEnt 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;
public class BasePhotovoltaicPlantEnt extends BaseModel implements Serializable {
@XText("组织机构ID")
@TableField
......
......@@ -2,45 +2,20 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 光伏电站
*
* @author ZWT
* @date 2023/09/08
*/
@Data
public class BasePhotovoltaicPlantView 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;
public class BasePhotovoltaicPlantView extends BaseModel implements Serializable {
@XText("组织机构ID")
@TableField
......@@ -84,5 +59,4 @@ public class BasePhotovoltaicPlantView implements Serializable {
@XText("所属省份")
@TableField(exist = false)
private String provinceCode;
}
......@@ -5,11 +5,11 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 输电线路柴发设备配置
......@@ -21,38 +21,7 @@ import java.util.Date;
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class BasePowerLineDieselView 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;
public class BasePowerLineDieselView extends BaseModel implements Serializable {
@XText("线路ID")
@TableField
......
......@@ -5,11 +5,11 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 输电线路光伏配置
......@@ -21,38 +21,7 @@ import java.util.Date;
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class BasePowerLinePlantView 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;
public class BasePowerLinePlantView extends BaseModel implements Serializable {
@XText("线路ID")
@TableField
......
......@@ -5,11 +5,11 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 输电线路储能配置
......@@ -21,38 +21,7 @@ import java.util.Date;
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class BasePowerLineStorageView 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;
public class BasePowerLineStorageView extends BaseModel implements Serializable {
@XText("线路ID")
@TableField
......
......@@ -5,10 +5,10 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
......@@ -21,38 +21,7 @@ import java.util.List;
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class BasePowerLineView 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;
public class BasePowerLineView extends BaseModel implements Serializable {
@XText("组织机构ID")
@TableField
......
......@@ -2,45 +2,20 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 市电峰谷当月明细配置
*
* @author ZWT
* @date 2023/09/08
*/
@Data
public class BasePriceStrategyDetailView 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;
public class BasePriceStrategyDetailView extends BaseModel implements Serializable {
@XText("市电峰谷配置ID")
@TableField
......
......@@ -2,13 +2,11 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.Valid;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.util.List;
/**
* 市电峰谷月配置表
......@@ -27,11 +25,4 @@ public class BasePriceStrategyMonthEnt extends BaseModel implements Serializable
@XText("市电峰谷月(1-12)")
@TableField
private String strategyMonth;
/**
* 策略明细入参
*/
@TableField(exist = false)
@Valid
private List<BasePriceStrategyDetailEnt> details;
}
package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import jakarta.validation.Valid;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 市电峰谷月配置表
*
* @author ZWT
* @date 2023/09/08
*/
@Data
public class BasePriceStrategyMonthView 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;
public class BasePriceStrategyMonthView extends BaseModel implements Serializable {
@XText("市电峰谷配置ID")
@TableField
......@@ -48,4 +25,11 @@ public class BasePriceStrategyMonthView implements Serializable {
@XText("市电峰谷月(1-12)")
@TableField
private String strategyMonth;
/**
* 策略明细入参
*/
@TableField(exist = false)
@Valid
private List<BasePriceStrategyDetailView> details;
}
......@@ -2,11 +2,11 @@ package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 市电峰谷策略
......@@ -15,38 +15,7 @@ import java.util.Date;
* @date 2023/08/25
*/
@Data
public class BasePriceStrategyView 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;
public class BasePriceStrategyView extends BaseModel implements Serializable {
@XText("策略名称")
@TableField
......
package pps.core.base.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 井口配置表
*
* @author ZWT
* @date 2023/09/08
*/
@Data
@TableName("base_wellhead")
public class BaseWellheadEnt 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;
public class BaseWellheadEnt extends BaseModel implements Serializable {
@XText("组织机构ID")
@TableField
private String ouId;
@XText("组织机构名称")
@TableField
private String ouName;
......@@ -66,116 +42,4 @@ public class BaseWellheadEnt implements Serializable {
@XText("运行功率(KW)")
@TableField
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;
import com.baomidou.mybatisplus.annotation.TableField;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
public class BaseWellheadView implements Serializable {
/**
* 井口配置表
*
* @author ZWT
* @date 2023/09/08
*/
public class BaseWellheadView extends BaseModel implements Serializable {
@XText("ID")
@TableField
private String id;
......
......@@ -4,6 +4,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
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> {
}
package pps.core.base.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePowerLineDieselView;
......@@ -22,4 +23,12 @@ public interface BasePowerLineDieselViewMapper {
* @return {@link List}<{@link BasePowerLineDieselView}>
*/
List<BasePowerLineDieselView> selectList(BasePowerLineDieselView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePowerLineDieselView> list);
}
package pps.core.base.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePowerLinePlantView;
......@@ -22,4 +23,12 @@ public interface BasePowerLinePlantViewMapper {
* @return {@link List}<{@link BasePowerLinePlantView}>
*/
List<BasePowerLinePlantView> selectList(BasePowerLinePlantView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePowerLinePlantView> list);
}
package pps.core.base.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePowerLineStorageView;
......@@ -22,4 +23,12 @@ public interface BasePowerLineStorageViewMapper {
* @return {@link List}<{@link BasePowerLineStorageView}>
*/
List<BasePowerLineStorageView> selectList(BasePowerLineStorageView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePowerLineStorageView> list);
}
package pps.core.base.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePowerLineWellheadView;
......@@ -30,4 +31,12 @@ public interface BasePowerLineWellheadViewMapper {
* @return {@link List}<{@link BasePowerLineWellheadView}>
*/
List<BasePowerLineWellheadView> selectWellheadListByParam(BasePowerLineWellheadView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePowerLineWellheadView> list);
}
package pps.core.base.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePriceStrategyDetailView;
......@@ -16,4 +17,12 @@ public interface BasePriceStrategyDetailViewMapper {
BasePriceStrategyDetailView selectOne(BasePriceStrategyDetailView record);
List<BasePriceStrategyDetailView> selectList(BasePriceStrategyDetailView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePriceStrategyDetailView> list);
}
package pps.core.base.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.base.entity.BasePriceStrategyMonthView;
......@@ -16,4 +17,12 @@ public interface BasePriceStrategyMonthViewMapper {
BasePriceStrategyMonthView selectOne(BasePriceStrategyMonthView record);
List<BasePriceStrategyMonthView> selectList(BasePriceStrategyMonthView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<BasePriceStrategyMonthView> list);
}
......@@ -2,13 +2,17 @@ package pps.core.base.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.BasePowerLineDieselEnt;
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.utils.SessionSimulation;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.BaseUtils;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
......@@ -22,18 +26,17 @@ import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost;
import xstartup.feature.mybatis.helper.XMapperHelper;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @Author luoxiangyang
* @Description: 柴发设备
* @Date 2023/8/25
**/
* 柴发设备模块
*
* @author ZWT
* @date 2023/09/08
*/
@XService
public class BaseDieselGeneratorService extends BaseService {
//todo 模拟登陆
private final PpsUserSession session = SessionSimulation.getSession();
@XText("新增")
@XApiAnonymous
......@@ -42,12 +45,8 @@ public class BaseDieselGeneratorService extends BaseService {
BaseDieselGeneratorMapper mapper = context.getBean(BaseDieselGeneratorMapper.class);
BaseDieselGeneratorEnt entity = new BaseDieselGeneratorEnt();
XCopyUtils.copyObject(input, entity);
entity.setCreateById(session.getId());
entity.setCreateByName(session.getUserName());
entity.setCreateTime(new Date());
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.insert(entity);
return XServiceResult.OK;
}
......@@ -60,15 +59,14 @@ public class BaseDieselGeneratorService extends BaseService {
QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.eq(BaseDieselGeneratorEnt::getId, input.getId())
.eq(BaseDieselGeneratorEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE);
.eq(BaseDieselGeneratorEnt::getIsDeleted, BusinessConstant.ONE);
BaseDieselGeneratorEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XServiceResult.error(context, XError.NotFound);
}
XCopyUtils.copyObject(input, entity);
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
}
......@@ -77,21 +75,24 @@ public class BaseDieselGeneratorService extends BaseService {
@XApiAnonymous
@XApiPost
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);
QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.eq(BaseDieselGeneratorEnt::getId, input.getId())
.eq(BaseDieselGeneratorEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE);
.eq(BaseDieselGeneratorEnt::getIsDeleted, BusinessConstant.ONE);
BaseDieselGeneratorEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
entity = new BaseDieselGeneratorEnt();
entity.setId(input.getId());
entity.setIsDeleted(ScadaConstant.IS_DELETE_TRUE);
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
entity.setIsDeleted(BusinessConstant.ZERO);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
}
......@@ -104,7 +105,7 @@ public class BaseDieselGeneratorService extends BaseService {
QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.eq(BaseDieselGeneratorEnt::getId, input.getId())
.eq(BaseDieselGeneratorEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE);
.eq(BaseDieselGeneratorEnt::getIsDeleted, BusinessConstant.ONE);
BaseDieselGeneratorEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XSingleResult.error(context, XError.NotFound);
......@@ -126,12 +127,30 @@ public class BaseDieselGeneratorService extends BaseService {
List<String> allListByOuId = this.getAllListByOuId(context, input.getOuId());
QueryWrapper<BaseDieselGeneratorEnt> queryWrapper = new QueryWrapper<>();
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())
.eq(BaseDieselGeneratorEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE)
.notExists("1".equals(excludeIdFlag), "SELECT 1 FROM base_power_line_diesel w WHERE w.ou_id = {0} AND base_diesel_generator.id = w.diesel_id AND w.is_deleted = 1", input.getOuId())
.eq(BaseDieselGeneratorEnt::getIsDeleted, BusinessConstant.ONE)
.in(CollUtil.isNotEmpty(allListByOuId), BaseDieselGeneratorEnt::getOuId, allListByOuId)
.like(StrUtil.isNotEmpty(ouName), BaseDieselGeneratorEnt::getOuName, ouName)
.like(StrUtil.isNotEmpty(deviceName), BaseDieselGeneratorEnt::getDeviceName, deviceName)
.orderByDesc(BaseDieselGeneratorEnt::getModifyTime);
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;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.BasePowerLineStorageEnt;
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.utils.SessionSimulation;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.BaseUtils;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
......@@ -22,18 +26,17 @@ import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost;
import xstartup.feature.mybatis.helper.XMapperHelper;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @Author luoxiangyang
* @Description: 储能设备
* @Date 2023/8/25
**/
* 储能设备模块
*
* @author ZWT
* @date 2023/09/08
*/
@XService
public class BaseEnergyStorageDeviceService extends BaseService {
//todo 模拟登陆
private final PpsUserSession session = SessionSimulation.getSession();
@XText("新增")
@XApiAnonymous
......@@ -42,12 +45,8 @@ public class BaseEnergyStorageDeviceService extends BaseService {
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
BaseEnergyStorageDeviceEnt entity = new BaseEnergyStorageDeviceEnt();
XCopyUtils.copyObject(input, entity);
entity.setCreateById(session.getId());
entity.setCreateByName(session.getUserName());
entity.setCreateTime(new Date());
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.insert(entity);
return XServiceResult.OK;
}
......@@ -60,15 +59,14 @@ public class BaseEnergyStorageDeviceService extends BaseService {
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.eq(BaseEnergyStorageDeviceEnt::getId, input.getId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted,ScadaConstant.IS_DELETE_FLASE);
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE);
BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XServiceResult.error(context, XError.NotFound);
}
XCopyUtils.copyObject(input, entity);
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
}
......@@ -77,21 +75,24 @@ public class BaseEnergyStorageDeviceService extends BaseService {
@XApiAnonymous
@XApiPost
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);
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.eq(BaseEnergyStorageDeviceEnt::getId, input.getId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE);
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE);
BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
entity = new BaseEnergyStorageDeviceEnt();
entity.setId(input.getId());
entity.setIsDeleted(ScadaConstant.IS_DELETE_TRUE);
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
entity.setIsDeleted(BusinessConstant.ZERO);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
}
......@@ -104,7 +105,7 @@ public class BaseEnergyStorageDeviceService extends BaseService {
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.eq(BaseEnergyStorageDeviceEnt::getId, input.getId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE);
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE);
BaseEnergyStorageDeviceEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XSingleResult.error(context, XError.NotFound);
......@@ -126,12 +127,30 @@ public class BaseEnergyStorageDeviceService extends BaseService {
List<String> allListByOuId = this.getAllListByOuId(context, input.getOuId());
QueryWrapper<BaseEnergyStorageDeviceEnt> queryWrapper = new QueryWrapper<>();
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())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE)
.notExists("1".equals(excludeIdFlag), "SELECT 1 FROM base_power_line_storage w WHERE w.ou_id = {0} AND base_energy_storage_device.id = w.storage_id AND w.is_deleted = 1", input.getOuId())
.eq(BaseEnergyStorageDeviceEnt::getIsDeleted, BusinessConstant.ONE)
.in(CollUtil.isNotEmpty(allListByOuId), BaseEnergyStorageDeviceEnt::getOuId, allListByOuId)
.like(StrUtil.isNotEmpty(ouName),BaseEnergyStorageDeviceEnt::getOuName, ouName)
.like(StrUtil.isNotEmpty(deviceName),BaseEnergyStorageDeviceEnt::getDeviceName, deviceName)
.like(StrUtil.isNotEmpty(ouName), BaseEnergyStorageDeviceEnt::getOuName, ouName)
.like(StrUtil.isNotEmpty(deviceName), BaseEnergyStorageDeviceEnt::getDeviceName, deviceName)
.orderByDesc(BaseEnergyStorageDeviceEnt::getModifyTime);
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;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.BasePowerLinePlantEnt;
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.utils.SessionSimulation;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.constant.UserConstant;
import pps.core.common.entity.BaseModel;
import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.BaseUtils;
import pps.core.system.constant.SysOrganizationCode;
import pps.core.system.entity.SysOrganizationView;
import pps.core.system.mapper.SysOrganizationViewMapper;
......@@ -28,18 +32,18 @@ import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost;
import xstartup.feature.mybatis.helper.XMapperHelper;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @Author luoxiangyang
* @Description: 光伏电站配置
* @Date 2023/8/24
**/
* 光伏电站模块
*
* @author ZWT
* @date 2023/09/08
*/
@XService
public class BasePhotovoltaicPlantService extends BaseService{
//todo 模拟登陆
private final PpsUserSession session = SessionSimulation.getSession();
public class BasePhotovoltaicPlantService extends BaseService {
@XText("新增")
@XApiAnonymous
......@@ -48,15 +52,12 @@ public class BasePhotovoltaicPlantService extends BaseService{
BasePhotovoltaicPlantMapper mapper = context.getBean(BasePhotovoltaicPlantMapper.class);
BasePhotovoltaicPlantEnt entity = new BasePhotovoltaicPlantEnt();
XCopyUtils.copyObject(input, entity);
entity.setCreateById(session.getId());
entity.setCreateByName(session.getUserName());
entity.setCreateTime(new Date());
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.insert(entity);
return XServiceResult.OK;
}
@XText("更新")
@XApiAnonymous
@XApiPost
......@@ -65,41 +66,44 @@ public class BasePhotovoltaicPlantService extends BaseService{
QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.eq(BasePhotovoltaicPlantEnt::getId, input.getId())
.eq(BasePhotovoltaicPlantEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE);
.eq(BasePhotovoltaicPlantEnt::getIsDeleted, BusinessConstant.ONE);
BasePhotovoltaicPlantEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XServiceResult.error(context, XError.NotFound);
}
XCopyUtils.copyObject(input, entity);
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
}
@XText("删除")
@XApiAnonymous
@XApiPost
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);
QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.eq(BasePhotovoltaicPlantEnt::getId, input.getId())
.eq(BasePhotovoltaicPlantEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE);
.eq(BasePhotovoltaicPlantEnt::getId, plantId)
.eq(BasePhotovoltaicPlantEnt::getIsDeleted, BusinessConstant.ONE);
BasePhotovoltaicPlantEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
entity = new BasePhotovoltaicPlantEnt();
entity.setId(input.getId());
entity.setIsDeleted(ScadaConstant.IS_DELETE_TRUE);
//PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
entity.setIsDeleted(BusinessConstant.ZERO);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
}
@XText("根据id获取详情")
@XApiAnonymous
@XApiGet
......@@ -108,7 +112,7 @@ public class BasePhotovoltaicPlantService extends BaseService{
QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.eq(BasePhotovoltaicPlantEnt::getId, input.getId())
.eq(BasePhotovoltaicPlantEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE);
.eq(BasePhotovoltaicPlantEnt::getIsDeleted, BusinessConstant.ONE);
BasePhotovoltaicPlantEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XSingleResult.error(context, XError.NotFound);
......@@ -120,10 +124,11 @@ public class BasePhotovoltaicPlantService extends BaseService{
SysOrganizationView organizationView = new SysOrganizationView();
organizationView.setId(entity.getOuId());
organizationView = organizationViewMapper.selectOrgProvince(organizationView);
if(null != organizationView)
if (null != organizationView)
output.setProvince(organizationView.getProvinceName());
return XSingleResult.success(output);
}
@XText("分页查询")
@XApiAnonymous
@XApiGet
......@@ -135,10 +140,10 @@ public class BasePhotovoltaicPlantService extends BaseService{
List<String> allListByOuId = this.getAllListByOuId(context, ouId);
QueryWrapper<BasePhotovoltaicPlantEnt> queryWrapper = new QueryWrapper<>();
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())
.eq(BasePhotovoltaicPlantEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE)
.notExists("1".equals(excludeIdFlag), "SELECT 1 FROM base_power_line_plant w WHERE w.ou_id = {0} AND base_photovoltaic_plant.id = w.plant_id AND w.is_deleted = 1", input.getOuId())
.eq(BasePhotovoltaicPlantEnt::getIsDeleted, BusinessConstant.ONE)
.in(CollUtil.isNotEmpty(allListByOuId), BasePhotovoltaicPlantEnt::getOuId, allListByOuId)
.like(StrUtil.isNotEmpty(stationName),BasePhotovoltaicPlantEnt::getStationName,stationName )
.like(StrUtil.isNotEmpty(stationName), BasePhotovoltaicPlantEnt::getStationName, stationName)
.orderByDesc(BasePhotovoltaicPlantEnt::getModifyTime);
return XMapperHelper.query(mapper, input, queryWrapper, QueryBasePhotovoltaicPlantOutput.class);
}
......@@ -170,9 +175,9 @@ public class BasePhotovoltaicPlantService extends BaseService{
ouId = input.getParentOuId();
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);
plantList.forEach(item->{
plantList.forEach(item -> {
SysOrganizationView view = new SysOrganizationView();
view.setId(item.getId());
view.setOuName(item.getStationName());
......@@ -184,4 +189,21 @@ public class BasePhotovoltaicPlantService extends BaseService{
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;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod;
import org.apache.commons.lang3.StringUtils;
......@@ -61,7 +63,9 @@ public class BasePowerLineService {
@XApiPost
@XText("输电线路配置--新增")
public XServiceResult createBasePowerLine(XContext context, CreateBasePowerLineInput input) {
PpsUserSession session = context.getSession(PpsUserSession.class);
PpsUserSession session = new PpsUserSession();
session.setId("123");
session.setUserName("ceshi");
return XTransactionHelper.begin(context, () -> {
BasePowerLineMapper mapper = context.getBean(BasePowerLineMapper.class);
BasePowerLineEnt entity = XCopyUtils.copyNewObject(input, BasePowerLineEnt.class);
......@@ -71,7 +75,7 @@ public class BasePowerLineService {
String lineId = entity.getId();
String ouId = entity.getOuId();
//新增关联信息
this.saveLineRelation(lineId, ouId, session, input.getWellheadInputs(), input.getPlantInputs(), input.getStorageInputs(), input.getDieselInputs());
this.saveLineRelation(context, lineId, ouId, session, input.getWellheadInputs(), input.getPlantInputs(), input.getStorageInputs(), input.getDieselInputs());
return XServiceResult.OK;
});
}
......@@ -96,10 +100,28 @@ public class BasePowerLineService {
if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
//删除线路关联信息
this.deleteLineRelation(context, lineId);
//删除井口关联信息
BasePowerLineWellheadMapper wellheadMapper = context.getBean(BasePowerLineWellheadMapper.class);
wellheadMapper.delete(new LambdaQueryWrapper<BasePowerLineWellheadEnt>()
.eq(BasePowerLineWellheadEnt::getLineId, lineId)
);
//删除光伏关联信息
BasePowerLinePlantMapper plantMapper = context.getBean(BasePowerLinePlantMapper.class);
plantMapper.delete(new LambdaQueryWrapper<BasePowerLinePlantEnt>()
.eq(BasePowerLinePlantEnt::getLineId, lineId)
);
//删除储能关联信息
BasePowerLineStorageMapper storageMapper = context.getBean(BasePowerLineStorageMapper.class);
storageMapper.delete(new LambdaQueryWrapper<BasePowerLineStorageEnt>()
.eq(BasePowerLineStorageEnt::getLineId, lineId)
);
//删除柴发关联信息
BasePowerLineDieselMapper dieselMapper = context.getBean(BasePowerLineDieselMapper.class);
dieselMapper.delete(new LambdaQueryWrapper<BasePowerLineDieselEnt>()
.eq(BasePowerLineDieselEnt::getLineId, lineId)
);
//新增关联信息
this.saveLineRelation(lineId, ouId, session, input.getWellheadInputs(), input.getPlantInputs(), input.getStorageInputs(), input.getDieselInputs());
this.saveLineRelation(context, lineId, ouId, session, input.getWellheadInputs(), input.getPlantInputs(), input.getStorageInputs(), input.getDieselInputs());
XCopyUtils.copyObject(input, entity);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
......@@ -129,9 +151,35 @@ public class BasePowerLineService {
if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
//删除线路关联信息
this.deleteLineRelation(context, lineId);
mapper.deleteById(entity);
//删除线路配置
mapper.update(null, new LambdaUpdateWrapper<BasePowerLineEnt>()
.eq(BaseModel::getId, lineId)
.set(BaseModel::getIsDeleted, BusinessConstant.ZERO)
);
//删除井口关联信息
BasePowerLineWellheadMapper wellheadMapper = context.getBean(BasePowerLineWellheadMapper.class);
wellheadMapper.update(null, new LambdaUpdateWrapper<BasePowerLineWellheadEnt>()
.eq(BasePowerLineWellheadEnt::getLineId, lineId)
.set(BaseModel::getIsDeleted, BusinessConstant.ZERO)
);
//删除光伏关联信息
BasePowerLinePlantMapper plantMapper = context.getBean(BasePowerLinePlantMapper.class);
plantMapper.update(null, new LambdaUpdateWrapper<BasePowerLinePlantEnt>()
.eq(BasePowerLinePlantEnt::getLineId, lineId)
.set(BaseModel::getIsDeleted, BusinessConstant.ZERO)
);
//删除储能关联信息
BasePowerLineStorageMapper storageMapper = context.getBean(BasePowerLineStorageMapper.class);
storageMapper.update(null, new LambdaUpdateWrapper<BasePowerLineStorageEnt>()
.eq(BasePowerLineStorageEnt::getLineId, lineId)
.set(BaseModel::getIsDeleted, BusinessConstant.ZERO)
);
//删除柴发关联信息
BasePowerLineDieselMapper dieselMapper = context.getBean(BasePowerLineDieselMapper.class);
dieselMapper.update(null, new LambdaUpdateWrapper<BasePowerLineDieselEnt>()
.eq(BasePowerLineDieselEnt::getLineId, lineId)
.set(BaseModel::getIsDeleted, BusinessConstant.ZERO)
);
return XServiceResult.OK;
});
}
......@@ -149,9 +197,9 @@ public class BasePowerLineService {
public XSingleResult<GetBasePowerLineViewOutput> getBasePowerLineView(XContext context, GetBasePowerLineInput input) {
String lineId = input.getId();
BasePowerLineViewMapper mapper = context.getBean(BasePowerLineViewMapper.class);
BasePowerLineView entity = mapper.selectOne(BasePowerLineView.builder()
.id(lineId)
.build());
BasePowerLineView basePowerLineView = new BasePowerLineView();
basePowerLineView.setId(lineId);
BasePowerLineView entity = mapper.selectOne(basePowerLineView);
if (Objects.isNull(entity)) {
return XSingleResult.error(context, XError.NotFound);
}
......@@ -279,6 +327,7 @@ public class BasePowerLineService {
.eq(StringUtils.isNotBlank(gridTypeKey), BasePowerLineEnt::getGridTypeKey, gridTypeKey)
.eq(StringUtils.isNotBlank(lineTypeKey), BasePowerLineEnt::getLineTypeKey, lineTypeKey)
.eq(StringUtils.isNotBlank(strategyId), BasePowerLineEnt::getStrategyId, strategyId)
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.orderByDesc(BaseModel::getModifyTime)
);
List<DynamicQueryBasePowerLineOutput> lineOutputList = XCopyUtils.copyNewList(selectList, DynamicQueryBasePowerLineOutput.class);
......@@ -334,84 +383,68 @@ public class BasePowerLineService {
/**
* 保存线路关联信息
*
* @param context 上下文
* @param lineId 线路id
* @param ouId 组织id
* @param session 会话
* @param wellheadInputs 井口列表
* @param plantInputs 光伏列表
* @param storageInputs 储能列表
* @param dieselInputs 柴发列表
* @param ouId ou-id
* @param session 一场
* @param wellheadInputs 井口输入
* @param plantInputs 电厂投入
* @param storageInputs 存储输入
* @param dieselInputs 柴油机输入
*/
private void saveLineRelation(String lineId, String ouId, PpsUserSession session,
private void saveLineRelation(XContext context, String lineId, String ouId, PpsUserSession session,
List wellheadInputs, List plantInputs, List storageInputs, List dieselInputs) {
//新增井口配置
if (CollUtil.isNotEmpty(wellheadInputs)) {
List<BasePowerLineWellheadEnt> wellheads = XCopyUtils.copyNewList(wellheadInputs, BasePowerLineWellheadEnt.class);
for (BasePowerLineWellheadEnt wellhead : wellheads) {
BasePowerLineWellheadViewMapper wellheadMapper = context.getBean(BasePowerLineWellheadViewMapper.class);
List<BasePowerLineWellheadView> wellheads = new ArrayList<>(32);
for (BasePowerLineWellheadView wellhead : (List<BasePowerLineWellheadView>) XCopyUtils.copyNewList(wellheadInputs, BasePowerLineWellheadView.class)) {
wellhead.setLineId(lineId);
wellhead.setOuId(ouId);
BaseUtils.setBaseModelDefault(wellhead, session);
wellhead.setId(UUID.randomUUID().toString());
wellheads.add(wellhead);
}
BaseUtils.batchInsert(BasePowerLineWellheadMapper.class, BasePowerLineWellheadEnt.class, wellheads);
wellheadMapper.batchInsertList(wellheads);
}
//新增光伏配置
if (CollUtil.isNotEmpty(plantInputs)) {
List<BasePowerLinePlantEnt> plants = XCopyUtils.copyNewList(plantInputs, BasePowerLinePlantEnt.class);
for (BasePowerLinePlantEnt plant : plants) {
BasePowerLinePlantViewMapper plantMapper = context.getBean(BasePowerLinePlantViewMapper.class);
List<BasePowerLinePlantView> plants = new ArrayList<>(32);
for (BasePowerLinePlantView plant : (List<BasePowerLinePlantView>) XCopyUtils.copyNewList(plantInputs, BasePowerLinePlantView.class)) {
plant.setLineId(lineId);
plant.setOuId(ouId);
BaseUtils.setBaseModelDefault(plant, session);
plant.setId(UUID.randomUUID().toString());
plants.add(plant);
}
BaseUtils.batchInsert(BasePowerLinePlantMapper.class, BasePowerLinePlantEnt.class, plants);
plantMapper.batchInsertList(plants);
}
//新增储能配置
if (CollUtil.isNotEmpty(storageInputs)) {
List<BasePowerLineStorageEnt> storages = XCopyUtils.copyNewList(storageInputs, BasePowerLineStorageEnt.class);
for (BasePowerLineStorageEnt storage : storages) {
BasePowerLineStorageViewMapper storageMapper = context.getBean(BasePowerLineStorageViewMapper.class);
List<BasePowerLineStorageView> storages = new ArrayList<>(32);
for (BasePowerLineStorageView storage : (List<BasePowerLineStorageView>) XCopyUtils.copyNewList(storageInputs, BasePowerLineStorageView.class)) {
storage.setLineId(lineId);
storage.setOuId(ouId);
BaseUtils.setBaseModelDefault(storage, session);
storage.setId(UUID.randomUUID().toString());
storages.add(storage);
}
BaseUtils.batchInsert(BasePowerLineStorageMapper.class, BasePowerLineStorageEnt.class, storages);
storageMapper.batchInsertList(storages);
}
//新增柴发配置
if (CollUtil.isNotEmpty(dieselInputs)) {
List<BasePowerLineDieselEnt> diesels = XCopyUtils.copyNewList(dieselInputs, BasePowerLineDieselEnt.class);
for (BasePowerLineDieselEnt diesel : diesels) {
BasePowerLineDieselViewMapper dieselMapper = context.getBean(BasePowerLineDieselViewMapper.class);
List<BasePowerLineDieselView> diesels = new ArrayList<>(32);
for (BasePowerLineDieselView diesel : (List<BasePowerLineDieselView>) XCopyUtils.copyNewList(dieselInputs, BasePowerLineDieselView.class)) {
diesel.setLineId(lineId);
diesel.setOuId(ouId);
BaseUtils.setBaseModelDefault(diesel, session);
diesel.setId(UUID.randomUUID().toString());
diesels.add(diesel);
}
BaseUtils.batchInsert(BasePowerLineDieselMapper.class, BasePowerLineDieselEnt.class, diesels);
}
dieselMapper.batchInsertList(diesels);
}
/**
* 删除线路关系信息
*
* @param context 上下文
* @param lineId 行id
*/
private void deleteLineRelation(XContext context, String lineId) {
//删除井口关联信息
BasePowerLineWellheadMapper wellheadMapper = context.getBean(BasePowerLineWellheadMapper.class);
wellheadMapper.delete(new LambdaQueryWrapper<BasePowerLineWellheadEnt>()
.eq(BasePowerLineWellheadEnt::getLineId, lineId)
);
//删除光伏关联信息
BasePowerLinePlantMapper plantMapper = context.getBean(BasePowerLinePlantMapper.class);
plantMapper.delete(new LambdaQueryWrapper<BasePowerLinePlantEnt>()
.eq(BasePowerLinePlantEnt::getLineId, lineId)
);
//删除储能关联信息
BasePowerLineStorageMapper storageMapper = context.getBean(BasePowerLineStorageMapper.class);
storageMapper.delete(new LambdaQueryWrapper<BasePowerLineStorageEnt>()
.eq(BasePowerLineStorageEnt::getLineId, lineId)
);
//删除柴发关联信息
BasePowerLineDieselMapper dieselMapper = context.getBean(BasePowerLineDieselMapper.class);
dieselMapper.delete(new LambdaQueryWrapper<BasePowerLineDieselEnt>()
.eq(BasePowerLineDieselEnt::getLineId, lineId)
);
}
}
package pps.core.base.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod;
import org.apache.commons.lang3.StringUtils;
......@@ -68,9 +70,8 @@ public class BasePriceStrategyService {
String strategyId = entity.getId();
List<CreateBasePriceStrategyMonthInput> inputMonths = input.getMonths();
if (CollUtil.isNotEmpty(inputMonths)) {
List<BasePriceStrategyMonthEnt> monthList = XCopyUtils.copyNewList(inputMonths, BasePriceStrategyMonthEnt.class);
BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class);
this.saveStrategyMonthDetail(monthMapper, monthList, strategyId, session);
List<BasePriceStrategyMonthView> monthList = XCopyUtils.copyNewList(inputMonths, BasePriceStrategyMonthView.class);
this.saveStrategyMonthDetail(context, monthList, strategyId, session);
}
return XServiceResult.OK;
});
......@@ -98,9 +99,9 @@ public class BasePriceStrategyService {
}
List<UpdateBasePriceStrategyMonthInput> inputMonths = input.getMonths();
if (CollUtil.isNotEmpty(inputMonths)) {
List<BasePriceStrategyMonthEnt> monthList = XCopyUtils.copyNewList(inputMonths, BasePriceStrategyMonthEnt.class);
List<BasePriceStrategyMonthView> monthList = XCopyUtils.copyNewList(inputMonths, BasePriceStrategyMonthView.class);
List<String> collect = monthList.stream()
.map(BasePriceStrategyMonthEnt::getStrategyMonth)
.map(BasePriceStrategyMonthView::getStrategyMonth)
.collect(Collectors.toList());
BasePriceStrategyMonthMapper monthMapper = context.getBean(BasePriceStrategyMonthMapper.class);
//删除月信息
......@@ -116,7 +117,7 @@ public class BasePriceStrategyService {
.eq(BasePriceStrategyDetailEnt::getStrategyId, strategyId)
.in(BasePriceStrategyDetailEnt::getStrategyMonth, collect)
);
this.saveStrategyMonthDetail(monthMapper, monthList, strategyId, session);
this.saveStrategyMonthDetail(context, monthList, strategyId, session);
}
XCopyUtils.copyObject(input, entity);
BaseUtils.setBaseModelDefault(entity, session);
......@@ -148,17 +149,23 @@ public class BasePriceStrategyService {
if (Objects.isNull(entity)) {
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);
monthMapper.delete(new QueryWrapper<BasePriceStrategyMonthEnt>()
.lambda()
.eq(BasePriceStrategyMonthEnt::getStrategyId, strategyId));
monthMapper.update(null, new LambdaUpdateWrapper<BasePriceStrategyMonthEnt>()
.eq(BasePriceStrategyMonthEnt::getStrategyId, strategyId)
.set(BaseModel::getIsDeleted, BusinessConstant.ZERO)
);
//删除明细数据
BasePriceStrategyDetailMapper detailMapper = context.getBean(BasePriceStrategyDetailMapper.class);
detailMapper.delete(new QueryWrapper<BasePriceStrategyDetailEnt>()
.lambda()
.eq(BasePriceStrategyDetailEnt::getStrategyId, strategyId));
mapper.deleteById(entity);
detailMapper.update(null, new LambdaUpdateWrapper<BasePriceStrategyDetailEnt>()
.eq(BasePriceStrategyDetailEnt::getStrategyId, strategyId)
.set(BaseModel::getIsDeleted, BusinessConstant.ZERO)
);
return XServiceResult.OK;
});
}
......@@ -303,6 +310,7 @@ public class BasePriceStrategyService {
BasePowerLineMapper mapper = context.getBean(BasePowerLineMapper.class);
Long count = mapper.selectCount(new LambdaQueryWrapper<BasePowerLineEnt>()
.eq(BasePowerLineEnt::getStrategyId, strategyId)
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
);
return count > 0;
}
......@@ -310,26 +318,36 @@ public class BasePriceStrategyService {
/**
* 保存策略明细
*
* @param monthMapper 月映射器
* @param monthList 月清单
* @param strategyId 略id
* @param session 会话
* @param context 上下文
* @param monthList 月份列表
* @param strategyId 略id
* @param session 一场
*/
private void saveStrategyMonthDetail(BasePriceStrategyMonthMapper monthMapper, List<BasePriceStrategyMonthEnt> monthList, String strategyId, PpsUserSession session) {
String strategyMonth;
List<BasePriceStrategyDetailEnt> detailList;
for (BasePriceStrategyMonthEnt monthEnt : monthList) {
monthEnt.setStrategyId(strategyId);
BaseUtils.setBaseModelDefault(monthEnt, session);
monthMapper.insert(monthEnt);
strategyMonth = monthEnt.getStrategyMonth();
detailList = monthEnt.getDetails();
for (BasePriceStrategyDetailEnt detailEnt : detailList) {
detailEnt.setStrategyId(strategyId);
detailEnt.setStrategyMonth(strategyMonth);
BaseUtils.setBaseModelDefault(detailEnt, session);
private void saveStrategyMonthDetail(XContext context, List<BasePriceStrategyMonthView> monthList, String strategyId, PpsUserSession session) {
BasePriceStrategyMonthViewMapper monthMapper = context.getBean(BasePriceStrategyMonthViewMapper.class);
BasePriceStrategyDetailViewMapper detailMapper = context.getBean(BasePriceStrategyDetailViewMapper.class);
List<BasePriceStrategyDetailView> detailViewList = new ArrayList<>(256);
List<BasePriceStrategyMonthView> monthViewList = new ArrayList<>(16);
List<BasePriceStrategyDetailView> details;
for (BasePriceStrategyMonthView monthView : monthList) {
monthView.setStrategyId(strategyId);
BaseUtils.setBaseModelDefault(monthView, session);
monthView.setId(UUID.randomUUID().toString());
monthViewList.add(monthView);
details = monthView.getDetails();
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;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.mapper.BasePowerLineWellheadMapper;
import pps.core.base.mapper.BaseWellheadMapper;
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.utils.BaseUtils;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
......@@ -20,78 +26,79 @@ import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost;
import xstartup.feature.mybatis.helper.XMapperHelper;
import xstartup.helper.XTransactionHelper;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @Author luoxiangyang
* @Description: 井口配置
* @Date 2023/8/24
**/
* 井口配置模块
*
* @author ZWT
* @date 2023/09/08
*/
@XService
public class BaseWellheadService extends BaseService {
//todo 模拟登陆
private final PpsUserSession session = SessionSimulation.getSession();
@XText("新增")
@XApiAnonymous
@XApiPost
public XServiceResult createBaseWellhead(XContext context, CreateBaseWellheadInput input) {
return XTransactionHelper.begin(context, () -> {
BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class);
BaseWellheadEnt entity = new BaseWellheadEnt();
XCopyUtils.copyObject(input, entity);
//PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setCreateById(session.getId());
entity.setCreateByName(session.getUserName());
entity.setCreateTime(new Date());
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
BaseWellheadEnt entity = XCopyUtils.copyNewObject(input, BaseWellheadEnt.class);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.insert(entity);
return XServiceResult.OK;
});
}
@XText("更新")
@XApiAnonymous
@XApiPost
public XServiceResult updateBaseWellhead(XContext context, UpdateBaseWellheadInput input) {
return XTransactionHelper.begin(context, () -> {
BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class);
QueryWrapper<BaseWellheadEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(BaseWellheadEnt::getId, input.getId());
BaseWellheadEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
BaseWellheadEnt entity = mapper.selectOne(new LambdaUpdateWrapper<BaseWellheadEnt>()
.eq(BaseModel::getId, input.getId())
);
if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
XCopyUtils.copyObject(input, entity);
//PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
});
}
@XText("删除")
@XApiAnonymous
@XApiPost
public XServiceResult deleteBaseWellhead(XContext context, DeleteBaseWellheadInput input) {
String wellheadId = input.getId();
if (this.checkWellheadIsReference(context, wellheadId)) {
return XServiceResult.error(992, "当前井口已被引用");
}
return XTransactionHelper.begin(context, () -> {
BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class);
QueryWrapper<BaseWellheadEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(BaseWellheadEnt::getId, input.getId());
BaseWellheadEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
BaseWellheadEnt entity = mapper.selectOne(new LambdaUpdateWrapper<BaseWellheadEnt>()
.eq(BaseModel::getId, wellheadId)
);
if (Objects.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
entity = new BaseWellheadEnt();
entity.setId(input.getId());
entity.setIsDeleted(ScadaConstant.IS_DELETE_TRUE);
//PpsUserSession session = context.getSession(PpsUserSession.class);
entity.setModifyById(session.getId());
entity.setModifyByName(session.getUserName());
entity.setModifyTime(new Date());
entity.setIsDeleted(BusinessConstant.ZERO);
PpsUserSession session = context.getSession(PpsUserSession.class);
BaseUtils.setBaseModelDefault(entity, session);
mapper.updateById(entity);
return XServiceResult.OK;
});
}
@XText("根据ID获取详情")
......@@ -102,7 +109,7 @@ public class BaseWellheadService extends BaseService {
QueryWrapper<BaseWellheadEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.eq(BaseWellheadEnt::getId, input.getId())
.eq(BaseWellheadEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE);
.eq(BaseWellheadEnt::getIsDeleted, BusinessConstant.ONE);
BaseWellheadEnt entity = mapper.selectOne(queryWrapper);
if (entity == null) {
return XSingleResult.error(context, XError.NotFound);
......@@ -121,10 +128,28 @@ public class BaseWellheadService extends BaseService {
QueryWrapper<BaseWellheadEnt> queryWrapper = new QueryWrapper<>();
List<String> allListByOuId = this.getAllListByOuId(context, input.getOuId());
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())
.eq(BaseWellheadEnt::getIsDeleted, ScadaConstant.IS_DELETE_FLASE)
.in(CollUtil.isNotEmpty(allListByOuId),BaseWellheadEnt::getOuId, allListByOuId)
.notExists(StringUtils.equals("1", excludeIdFlag), "SELECT 1 FROM base_power_line_wellhead w WHERE w.ou_id = {0} AND base_wellhead.id = w.wellhead_id AND w.is_deleted = 1", input.getOuId())
.eq(BaseWellheadEnt::getIsDeleted, BusinessConstant.ONE)
.in(CollUtil.isNotEmpty(allListByOuId), BaseWellheadEnt::getOuId, allListByOuId)
.orderByDesc(BaseWellheadEnt::getModifyTime);
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;
import com.baomidou.mybatisplus.core.enums.SqlMethod;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import pps.cloud.space.service.ISpaceInstitutionDetailCloudService;
import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.SystemAreaService;
......@@ -9,6 +11,7 @@ import xstartup.base.XContext;
import xstartup.data.XListResult;
import xstartup.data.XSingleResult;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;
......@@ -125,4 +128,18 @@ public class ServiceUtil {
result.throwIfFail();
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 @@
AND g.is_deleted = 1
WHERE l.line_id = #{lineId}
</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>
\ No newline at end of file
......@@ -52,4 +52,24 @@
AND p.is_deleted = 1
WHERE l.line_id = #{lineId}
</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>
\ No newline at end of file
......@@ -52,4 +52,24 @@
AND d.is_deleted = 1
WHERE l.line_id = #{lineId}
</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>
\ No newline at end of file
......@@ -64,7 +64,8 @@
, ( SELECT COUNT( 1 ) FROM base_power_line_wellhead w WHERE base_power_line.id = w.line_id ) AS wellhead_count
from base_power_line
where
ou_id in
is_deleted = 1
AND ou_id in
<foreach collection="ouList" open="(" close=")" separator="," item="item">
#{item}
</foreach>
......
......@@ -81,4 +81,25 @@
</foreach>
</if>
</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>
\ No newline at end of file
......@@ -50,4 +50,42 @@
where
id=#{id}
</select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO base_price_strategy_detail (
id,
create_by_id,
create_by_name,
create_time,
modify_by_id,
modify_by_name,
modify_time,
strategy_id,
strategy_month,
period_type_key,
start_time,
end_time,
electrovalence,
internal_settlement_price
)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.createById},
#{item.createByName},
#{item.createTime},
#{item.modifyById},
#{item.modifyByName},
#{item.modifyTime},
#{item.strategyId},
#{item.strategyMonth},
#{item.periodTypeKey},
#{item.startTime},
#{item.endTime},
#{item.electrovalence},
#{item.internalSettlementPrice}
)
</foreach>
</insert>
</mapper>
\ No newline at end of file
......@@ -40,4 +40,23 @@
where
id=#{id}
</select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO base_price_strategy_month ( id, create_by_id, create_by_name, create_time, modify_by_id,
modify_by_name, modify_time, strategy_id, strategy_month )
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.id},
#{item.createById},
#{item.createByName},
#{item.createTime},
#{item.modifyById},
#{item.modifyByName},
#{item.modifyTime},
#{item.strategyId},
#{item.strategyMonth}
)
</foreach>
</insert>
</mapper>
\ No newline at end of file
......@@ -58,11 +58,11 @@
ELSE '否'
END is_fixed_price_value
FROM base_price_strategy
<where>
WHERE
is_deleted = 1
<if test=" param.policyName != null and param.policyName != '' ">
policy_name LIKE CONCAT( '%', #{param.policyName}, '%' )
AND policy_name LIKE CONCAT( '%', #{param.policyName}, '%' )
</if>
</where>
ORDER BY modify_time DESC
</select>
</mapper>
\ No newline at end of file
package pps.core.space.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
......@@ -15,6 +18,9 @@ import java.util.Date;
* @date 2023/09/05
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class SpaceInstitutionDetailView extends BaseModel implements Serializable {
@XText("组织机构ID")
......@@ -56,4 +62,46 @@ public class SpaceInstitutionDetailView extends BaseModel implements Serializabl
@XText("启动间隔(分钟)")
@TableField
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;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XText;
......@@ -17,7 +16,6 @@ import java.util.List;
* @date 2023/09/05
*/
@Data
@TableName("space_institution_wellhead")
public class SpaceInstitutionWellheadView extends BaseModel implements Serializable {
@XText("间开制度ID")
......@@ -65,5 +63,5 @@ public class SpaceInstitutionWellheadView extends BaseModel implements Serializa
*/
@XText("启动间隔(分钟)")
@TableField(exist = false)
private List<SpaceInstitutionDurationEnt> durationList;
private List<SpaceInstitutionDurationView> durationList;
}
......@@ -16,4 +16,12 @@ public interface SpaceInstitutionDetailViewMapper {
SpaceInstitutionDetailView selectOne(SpaceInstitutionDetailView record);
List<SpaceInstitutionDetailView> selectList(SpaceInstitutionDetailView record);
/**
* 查询优化历史记录列表
*
* @param record 记录
* @return {@link List}<{@link SpaceInstitutionDetailView}>
*/
List<SpaceInstitutionDetailView> selectOptimizeHistoryList(SpaceInstitutionDetailView record);
}
package pps.core.space.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.space.entity.SpaceInstitutionDurationView;
......@@ -16,4 +17,12 @@ public interface SpaceInstitutionDurationViewMapper {
SpaceInstitutionDurationView selectOne(SpaceInstitutionDurationView record);
List<SpaceInstitutionDurationView> selectList(SpaceInstitutionDurationView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<SpaceInstitutionDurationView> list);
}
package pps.core.space.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.space.entity.SpaceInstitutionWellheadView;
......@@ -13,8 +13,16 @@ import java.util.List;
* @date 2023/09/05
*/
@Repository(value = "pps.core.space.mapper.SpaceInstitutionWellheadViewMapper")
public interface SpaceInstitutionWellheadViewMapper extends BaseMapper<SpaceInstitutionWellheadView> {
public interface SpaceInstitutionWellheadViewMapper {
SpaceInstitutionWellheadView selectOne(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 {
@XApiPost
@XText("校准周期--新增")
public XServiceResult createSpaceCalibrationPeriod(XContext context, CreateSpaceCalibrationPeriodInput input) {
PpsUserSession session = new PpsUserSession();
session.setId("123");
session.setUserName("ceshi");
// PpsUserSession session = context.getSession(PpsUserSession.class);
PpsUserSession session = context.getSession(PpsUserSession.class);
return XTransactionHelper.begin(context, () -> {
SpaceCalibrationPeriodMapper mapper = context.getBean(SpaceCalibrationPeriodMapper.class);
SpaceCalibrationPeriodEnt periodEnt = this.getPeriodEntByParam(mapper, input.getLineId(), input.getOuId());
......@@ -92,10 +89,7 @@ public class SpaceCalibrationService {
@XApiPost
@XText("校准周期--修改")
public XServiceResult updateSpaceCalibrationPeriod(XContext context, UpdateSpaceCalibrationPeriodInput input) {
PpsUserSession session = new PpsUserSession();
session.setId("123");
session.setUserName("ceshi");
// PpsUserSession session = context.getSession(PpsUserSession.class);
PpsUserSession session = context.getSession(PpsUserSession.class);
return XTransactionHelper.begin(context, () -> {
SpaceCalibrationPeriodMapper mapper = context.getBean(SpaceCalibrationPeriodMapper.class);
SpaceCalibrationPeriodEnt entity = mapper.selectOne(
......
package pps.core.space.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.github.pagehelper.PageHelper;
......@@ -12,14 +13,8 @@ import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.BaseUtils;
import pps.core.space.entity.SpaceInstitutionDetailEnt;
import pps.core.space.entity.SpaceInstitutionDurationEnt;
import pps.core.space.entity.SpaceInstitutionWellheadEnt;
import pps.core.space.entity.SpaceInstitutionWellheadView;
import pps.core.space.mapper.SpaceInstitutionDetailMapper;
import pps.core.space.mapper.SpaceInstitutionDurationMapper;
import pps.core.space.mapper.SpaceInstitutionWellheadMapper;
import pps.core.space.mapper.SpaceInstitutionWellheadViewMapper;
import pps.core.space.entity.*;
import pps.core.space.mapper.*;
import pps.core.space.service.data.space_institution_detail.*;
import pps.core.space.service.data.space_institution_duration.GetSpaceInstitutionDurationViewOutput;
import pps.core.space.service.data.space_institution_wellhead.CreateSpaceInstitutionWellheadInput;
......@@ -63,10 +58,7 @@ public class SpaceInstitutionDetailService {
@XApiPost
@XText("基础间开配置--新增")
public XServiceResult createSpaceInstitutionDetail(XContext context, CreateSpaceInstitutionDetailInput input) {
PpsUserSession session = new PpsUserSession();
session.setId("123");
session.setUserName("ceshi");
// PpsUserSession session = context.getSession(PpsUserSession.class);
PpsUserSession session = context.getSession(PpsUserSession.class);
return XTransactionHelper.begin(context, () -> {
//新增间开配置
SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class);
......@@ -76,8 +68,7 @@ public class SpaceInstitutionDetailService {
String institutionId = entity.getId();
List<CreateSpaceInstitutionWellheadInput> wellheadList = input.getWellheadList();
if (CollUtil.isNotEmpty(wellheadList)) {
SpaceInstitutionWellheadViewMapper wellheadMapper = context.getBean(SpaceInstitutionWellheadViewMapper.class);
this.saveInstitutionWellhead(session, institutionId, wellheadList, wellheadMapper);
this.saveInstitutionWellhead(context, session, institutionId, wellheadList);
}
return XServiceResult.OK;
});
......@@ -94,10 +85,6 @@ public class SpaceInstitutionDetailService {
@XApiPost
@XText("基础间开配置--修改")
public XServiceResult updateSpaceInstitutionDetail(XContext context, UpdateSpaceInstitutionDetailInput input) {
PpsUserSession session = new PpsUserSession();
session.setId("123");
session.setUserName("ceshi");
// PpsUserSession session = context.getSession(PpsUserSession.class);
String institutionId = input.getId();
return XTransactionHelper.begin(context, () -> {
SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class);
......@@ -109,6 +96,7 @@ public class SpaceInstitutionDetailService {
if (isCurrentBasic.equals(0)) {
return XServiceResult.error(992, "基础制度无法修改");
}
PpsUserSession session = context.getSession(PpsUserSession.class);
this.updateInstitutionDetail(context, session, mapper, institutionId, input, entity);
return XServiceResult.OK;
});
......@@ -125,10 +113,6 @@ public class SpaceInstitutionDetailService {
@XApiPost
@XText("基础间开配置--删除")
public XServiceResult deleteSpaceInstitutionDetail(XContext context, DeleteSpaceInstitutionDetailInput input) {
PpsUserSession session = new PpsUserSession();
session.setId("123");
session.setUserName("ceshi");
// PpsUserSession session = context.getSession(PpsUserSession.class);
String institutionId = input.getId();
return XTransactionHelper.begin(context, () -> {
SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class);
......@@ -140,6 +124,7 @@ public class SpaceInstitutionDetailService {
if (isCurrentBasic.equals(0)) {
return XServiceResult.error(992, "基础制度无法删除");
}
PpsUserSession session = context.getSession(PpsUserSession.class);
SpaceInstitutionDurationMapper durationMapper = context.getBean(SpaceInstitutionDurationMapper.class);
durationMapper.update(null, new LambdaUpdateWrapper<SpaceInstitutionDurationEnt>()
.eq(SpaceInstitutionDurationEnt::getInstitutionId, institutionId)
......@@ -341,10 +326,7 @@ public class SpaceInstitutionDetailService {
@XApiPost
@XText("校准历史--重新优化")
public XServiceResult anewOptimizeInstitution(XContext context, UpdateSpaceInstitutionDetailInput input) {
PpsUserSession session = new PpsUserSession();
session.setId("123");
session.setUserName("ceshi");
// PpsUserSession session = context.getSession(PpsUserSession.class);
PpsUserSession session = context.getSession(PpsUserSession.class);
String institutionId = input.getId();
return XTransactionHelper.begin(context, () -> {
SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class);
......@@ -358,6 +340,36 @@ public class SpaceInstitutionDetailService {
});
}
/**
* 间开优化历史--分页列表
*
* @param context 上下文
* @param input 输入
* @return {@link XPageResult}<{@link QueryOptimizeHistoryViewOutput}>
*/
@XApiAnonymous
@XApiGet
@XText("间开优化历史--分页列表")
public XPageResult<QueryOptimizeHistoryViewOutput> queryOptimizeHistoryView(XContext context, QueryOptimizeHistoryViewInput input) {
SpaceInstitutionDetailViewMapper mapper = context.getBean(SpaceInstitutionDetailViewMapper.class);
PageHelper.startPage(input.getPage(), input.getLimit());
List<SpaceInstitutionDetailView> historyList = mapper.selectOptimizeHistoryList(SpaceInstitutionDetailView.builder()
.ouId(input.getOuId())
.build()
);
PageInfo<SpaceInstitutionDetailView> pageInfo = new PageInfo<>(historyList);
List<QueryOptimizeHistoryViewOutput> outputs = XCopyUtils.copyNewList(pageInfo.getList(), QueryOptimizeHistoryViewOutput.class);
if (CollUtil.isNotEmpty(outputs)) {
Map<String, String> lineNameMap = ServiceUtil.getPowerLineNameMap(context, outputs.stream()
.map(QueryOptimizeHistoryViewOutput::getLineId)
.distinct()
.collect(Collectors.toList())
);
outputs.forEach(o -> o.setLineName(lineNameMap.get(o.getLineId())));
}
return XPageResult.success(outputs, input, pageInfo.getTotal());
}
/*-----------------------------------private-----------------------------------*/
/**
......@@ -366,29 +378,34 @@ public class SpaceInstitutionDetailService {
* @param session 一场
* @param institutionId 机构id
* @param wellheadList 井口一览表
* @param wellheadMapper 井口测绘仪
*/
private void saveInstitutionWellhead(PpsUserSession session, String institutionId, List wellheadList,
SpaceInstitutionWellheadViewMapper wellheadMapper) {
List<SpaceInstitutionWellheadView> wellheads = XCopyUtils.copyNewList(wellheadList, SpaceInstitutionWellheadView.class);
List<SpaceInstitutionDurationEnt> durationList;
for (SpaceInstitutionWellheadView wellhead : wellheads) {
private void saveInstitutionWellhead(XContext context, PpsUserSession session, String institutionId, List wellheadList) {
SpaceInstitutionWellheadViewMapper wellheadViewMapper = context.getBean(SpaceInstitutionWellheadViewMapper.class);
SpaceInstitutionDurationViewMapper durationViewMapper = context.getBean(SpaceInstitutionDurationViewMapper.class);
List<SpaceInstitutionDurationView> durationViewList = new ArrayList<>(128);
List<SpaceInstitutionWellheadView> wellheadViewList = new ArrayList<>(32);
List<SpaceInstitutionDurationView> durationList;
for (SpaceInstitutionWellheadView wellhead : (List<SpaceInstitutionWellheadView>) XCopyUtils.copyNewList(wellheadList, SpaceInstitutionWellheadView.class)) {
wellhead.setInstitutionId(institutionId);
BaseUtils.setBaseModelDefault(wellhead, session);
wellheadMapper.insert(wellhead);
String wellheadId = wellhead.getWellheadId();
String configId = wellhead.getId();
wellhead.setId(UUID.randomUUID().toString());
wellheadViewList.add(wellhead);
durationList = wellhead.getDurationList();
if (CollUtil.isNotEmpty(durationList)) {
durationList.forEach(d -> {
d.setWellheadId(wellheadId);
d.setConfigId(configId);
d.setWellheadId(wellhead.getWellheadId());
d.setConfigId(wellhead.getId());
d.setInstitutionId(institutionId);
BaseUtils.setBaseModelDefault(d, session);
d.setId(UUID.randomUUID().toString());
durationViewList.add(d);
});
BaseUtils.batchInsert(SpaceInstitutionDurationMapper.class, SpaceInstitutionDurationEnt.class, durationList);
}
}
wellheadViewMapper.batchInsertList(wellheadViewList);
if (CollUtil.isNotEmpty(durationViewList)) {
durationViewMapper.batchInsertList(durationViewList);
}
}
/**
......@@ -419,16 +436,16 @@ public class SpaceInstitutionDetailService {
List<UpdateSpaceInstitutionWellheadInput> wellheadList = input.getWellheadList();
if (CollUtil.isNotEmpty(wellheadList)) {
//删除之前关联的信息
SpaceInstitutionWellheadViewMapper wellheadMapper = context.getBean(SpaceInstitutionWellheadViewMapper.class);
wellheadMapper.delete(new LambdaQueryWrapper<SpaceInstitutionWellheadView>()
.eq(SpaceInstitutionWellheadView::getInstitutionId, institutionId)
SpaceInstitutionWellheadMapper wellheadMapper = context.getBean(SpaceInstitutionWellheadMapper.class);
wellheadMapper.delete(new LambdaQueryWrapper<SpaceInstitutionWellheadEnt>()
.eq(SpaceInstitutionWellheadEnt::getInstitutionId, institutionId)
);
SpaceInstitutionDurationMapper durationMapper = context.getBean(SpaceInstitutionDurationMapper.class);
durationMapper.delete(new LambdaQueryWrapper<SpaceInstitutionDurationEnt>()
.eq(SpaceInstitutionDurationEnt::getInstitutionId, institutionId)
);
//重新添加关联信息
this.saveInstitutionWellhead(session, institutionId, wellheadList, wellheadMapper);
this.saveInstitutionWellhead(context, session, institutionId, wellheadList);
}
XCopyUtils.copyObject(input, entity);
BaseUtils.setBaseModelDefault(entity, session);
......
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 {
private String id;
@XText("组织机构ID")
@NotBlank(message = "缺少组织机构ID")
private String ouId;
@XText("线路ID")
......
......@@ -58,4 +58,63 @@
where
id=#{id}
</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>
\ No newline at end of file
......@@ -49,4 +49,40 @@
where
id=#{id}
</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>
\ No newline at end of file
......@@ -57,4 +57,48 @@
where
id=#{id}
</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>
\ 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