1.变电站上送逻辑修改
2.添加pms配网用户侧数据完整性接口 3.添加pms配网用户侧指标越限接口
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.device.pms.pojo.param;
|
package com.njcn.device.pms.pojo.param;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import io.swagger.models.auth.In;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
@@ -49,6 +50,9 @@ public class DistributionMonitorParam {
|
|||||||
@ApiModelProperty(value = "监测终端接线方式(字典)")
|
@ApiModelProperty(value = "监测终端接线方式(字典)")
|
||||||
private String terminalWiringMethod;
|
private String terminalWiringMethod;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "统计间隔分钟")
|
||||||
|
private Integer statisticalInterval;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pt变比
|
* pt变比
|
||||||
|
|||||||
@@ -199,7 +199,6 @@ public class PowerClientParam {
|
|||||||
* 用户标签
|
* 用户标签
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "用户标签",required = true)
|
@ApiModelProperty(value = "用户标签",required = true)
|
||||||
@NotBlank(message = "用户标签不可为空")
|
|
||||||
private String userTag;
|
private String userTag;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import lombok.Data;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@@ -17,5 +18,8 @@ public class PwUserMonitorParam extends BaseParam {
|
|||||||
|
|
||||||
private Double limitValue;
|
private Double limitValue;
|
||||||
|
|
||||||
|
private Integer comFlag;
|
||||||
|
|
||||||
|
private List<String> ids;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,21 +2,47 @@ package com.njcn.device.pms.pojo.vo.pwUser;
|
|||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class PwUserMonitorDataVO {
|
public class PwUserMonitorDataVO {
|
||||||
|
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监测点名称
|
||||||
|
*/
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 所属组织
|
||||||
|
*/
|
||||||
private String orgName;
|
private String orgName;
|
||||||
|
|
||||||
private String operationName;
|
private String operationName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否敏感用户
|
||||||
|
*/
|
||||||
private Integer ifSensitiveUser;
|
private Integer ifSensitiveUser;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户类型
|
||||||
|
*/
|
||||||
private String userType;
|
private String userType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 电压等级
|
||||||
|
*/
|
||||||
|
private String voltageLevel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据完整性
|
||||||
|
*/
|
||||||
private Float integrityRate;
|
private Float integrityRate;
|
||||||
|
|
||||||
|
private LocalDateTime localDateTime;
|
||||||
|
|
||||||
|
private Integer comFlag;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,4 +47,18 @@ public class PwUserMonitorDataController extends BaseController {
|
|||||||
Page<PwUserMonitorDataVO> page = pwUserMonitorDataService.pageIntegrityData(pwUserMonitorParam);
|
Page<PwUserMonitorDataVO> page = pwUserMonitorDataService.pageIntegrityData(pwUserMonitorParam);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,page,methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,page,methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取配网用户装置在线率
|
||||||
|
*/
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("getPwDeviceOnline")
|
||||||
|
@ApiOperation("获取配网用户侧监测点数据完整性")
|
||||||
|
@ApiImplicitParam(name = "pwUserMonitorParam",value = "请求头",required = true)
|
||||||
|
public HttpResult<Page<PwUserMonitorDataVO>> getPwDeviceOnline(@RequestBody @Validated PwUserMonitorParam pwUserMonitorParam){
|
||||||
|
String methodDescribe = getMethodDescribe("getPwDeviceOnline");
|
||||||
|
Page<PwUserMonitorDataVO> page = pwUserMonitorDataService.getPwDeviceOnline(pwUserMonitorParam);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,page,methodDescribe);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.njcn.device.pms.pojo.dto.PmsSimpleDTO;
|
|||||||
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
|
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
|
||||||
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
|
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
|
||||||
import com.njcn.device.pms.pojo.param.TaiZhangParam;
|
import com.njcn.device.pms.pojo.param.TaiZhangParam;
|
||||||
|
import com.njcn.device.pms.pojo.param.pwUser.PwUserMonitorParam;
|
||||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||||
import com.njcn.device.pms.pojo.po.Monitor;
|
import com.njcn.device.pms.pojo.po.Monitor;
|
||||||
import com.njcn.device.pms.pojo.po.PowerDistributionarea;
|
import com.njcn.device.pms.pojo.po.PowerDistributionarea;
|
||||||
@@ -126,5 +127,12 @@ public interface DistributionMonitorMapper extends MppBaseMapper<DistributionMon
|
|||||||
Boolean insertPmsDistributionArea(@Param("dic") String dic);
|
Boolean insertPmsDistributionArea(@Param("dic") String dic);
|
||||||
|
|
||||||
|
|
||||||
List<PwUserMonitorDataVO> getDistributionPage(@Param("ew")QueryWrapper<PwUserMonitorDataVO> ew);
|
/**
|
||||||
|
* pms临时处理方式,后续物联平台接口修改开放后修改
|
||||||
|
* @param deptIds
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
//TODO pms临时处理方式,后续物联平台接口修改开放后修改
|
||||||
|
List<PwUserMonitorDataVO> getDistributionList(@Param("deptIds")List<String> deptIds,@Param("param") PwUserMonitorParam param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -508,15 +508,28 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="getDistributionPage" resultType="com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO">
|
<select id="getDistributionList" resultType="com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO">
|
||||||
|
select * from (
|
||||||
SELECT
|
SELECT
|
||||||
pms_power_client.id,pms_power_client.name,pms_power_client.Org_Name,pms_power_client.Operation_Name,
|
pms_power_client.id,pms_power_client.name,pms_power_client.Org_Name,pms_power_client.Operation_Name,
|
||||||
pms_power_client.If_Sensitive_User,pms_power_client.User_Type
|
pms_power_client.If_Sensitive_User,pms_power_client.User_Type,pms_power_client.Voltage_Level,
|
||||||
|
IF(pms_real_data.time_Id IS NULL, 0, IF(TIMESTAMPDIFF(MINUTE, pms_real_data.time_Id, NOW()) > 30, 0, 1)) AS comFlag,
|
||||||
|
pms_real_data.time_Id updateTime
|
||||||
FROM
|
FROM
|
||||||
pms_distribution_monitor,
|
pms_distribution_monitor
|
||||||
pms_power_client
|
inner join pms_power_client on pms_distribution_monitor.Monitor_Id = pms_power_client.id
|
||||||
WHERE pms_distribution_monitor.Monitor_Id = pms_power_client.id
|
left join pms_real_data on pms_power_client.id = pms_real_data.line_id and pms_real_data.value_type = "AVG"
|
||||||
and ${ew.sqlSegment}
|
WHERE pms_power_client.org_id in
|
||||||
|
<foreach collection="deptIds" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
<if test="param.userName!=null and param.userName!=''">
|
||||||
|
and pms_power_client.name like CONCAT('%', #{param.userName}, '%')
|
||||||
|
</if>
|
||||||
|
) t where 1 = 1
|
||||||
|
<if test="param.comFlag!=null">
|
||||||
|
and comFlag = #{param.comFlag}
|
||||||
|
</if>
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|||||||
@@ -14,4 +14,7 @@ public interface PwUserMonitorDataService {
|
|||||||
*/
|
*/
|
||||||
Page<PwUserMonitorDataVO> pageIntegrityData(PwUserMonitorParam pwUserMonitorParam);
|
Page<PwUserMonitorDataVO> pageIntegrityData(PwUserMonitorParam pwUserMonitorParam);
|
||||||
|
|
||||||
|
Page<PwUserMonitorDataVO> getPwDeviceOnline(PwUserMonitorParam pwUserMonitorParam);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,6 +76,11 @@ public class PwUserMonitorDataServiceImpl implements PwUserMonitorDataService {
|
|||||||
return pageResult;
|
return pageResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Page<PwUserMonitorDataVO> getPwDeviceOnline(PwUserMonitorParam pwUserMonitorParam) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 超标情况
|
* 超标情况
|
||||||
|
|||||||
@@ -158,10 +158,11 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
|||||||
distributionMonitor.setCt2(distributionMonitorParam.getCt2());
|
distributionMonitor.setCt2(distributionMonitorParam.getCt2());
|
||||||
distributionMonitor.setPt1(distributionMonitorParam.getPt1());
|
distributionMonitor.setPt1(distributionMonitorParam.getPt1());
|
||||||
distributionMonitor.setPt2(distributionMonitorParam.getPt2());
|
distributionMonitor.setPt2(distributionMonitorParam.getPt2());
|
||||||
|
distributionMonitor.setStatisticalInterval(distributionMonitorParam.getStatisticalInterval());
|
||||||
this.save(distributionMonitor);
|
this.save(distributionMonitor);
|
||||||
|
|
||||||
//只有二三类需要填写限值,一类默认新建主网监测点时候已经新建限值
|
//只有二三类需要填写限值,一类默认新建主网监测点时候已经新建限值
|
||||||
overLimitAdd(distributionMonitor.getVoltageLevel(), distributionMonitor.getMonitorId());
|
overLimitAdd(distributionMonitor.getVoltageLevel(), distributionMonitor.getMonitorId(),false);
|
||||||
break;
|
break;
|
||||||
case DicDataConstant.THREE_LINE:
|
case DicDataConstant.THREE_LINE:
|
||||||
//三类监测点
|
//三类监测点
|
||||||
@@ -198,8 +199,9 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
|||||||
distributionMonitor.setCt2(distributionMonitorParam.getCt2());
|
distributionMonitor.setCt2(distributionMonitorParam.getCt2());
|
||||||
distributionMonitor.setPt1(distributionMonitorParam.getPt1());
|
distributionMonitor.setPt1(distributionMonitorParam.getPt1());
|
||||||
distributionMonitor.setPt2(distributionMonitorParam.getPt2());
|
distributionMonitor.setPt2(distributionMonitorParam.getPt2());
|
||||||
|
distributionMonitor.setStatisticalInterval(distributionMonitorParam.getStatisticalInterval());
|
||||||
this.save(distributionMonitor);
|
this.save(distributionMonitor);
|
||||||
overLimitAdd(distributionMonitor.getVoltageLevel(), distributionMonitor.getMonitorId());
|
overLimitAdd(distributionMonitor.getVoltageLevel(), distributionMonitor.getMonitorId(),false);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -216,6 +218,8 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
|||||||
}
|
}
|
||||||
LambdaUpdateWrapper<DistributionMonitor> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<DistributionMonitor> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorSort, dictData.getId());
|
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorSort, dictData.getId());
|
||||||
|
|
||||||
|
String voltageLevel;
|
||||||
switch (dictData.getCode()) {
|
switch (dictData.getCode()) {
|
||||||
case DicDataConstant.TWO_LINE:
|
case DicDataConstant.TWO_LINE:
|
||||||
//二类监测点(台区)
|
//二类监测点(台区)
|
||||||
@@ -223,6 +227,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
|||||||
if (Objects.isNull(powerDistributionarea)) {
|
if (Objects.isNull(powerDistributionarea)) {
|
||||||
throw new BusinessException(PmsDeviceResponseEnum.TWO_MONITOR_NOT_FIND);
|
throw new BusinessException(PmsDeviceResponseEnum.TWO_MONITOR_NOT_FIND);
|
||||||
}
|
}
|
||||||
|
voltageLevel = powerDistributionarea.getVoltageLevel();
|
||||||
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId, powerDistributionarea.getId());
|
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId, powerDistributionarea.getId());
|
||||||
break;
|
break;
|
||||||
case DicDataConstant.THREE_LINE:
|
case DicDataConstant.THREE_LINE:
|
||||||
@@ -233,6 +238,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
|||||||
if (Objects.isNull(powerGenerationUser)) {
|
if (Objects.isNull(powerGenerationUser)) {
|
||||||
throw new BusinessException(PmsDeviceResponseEnum.THREE_MONITOR_NOT_FIND);
|
throw new BusinessException(PmsDeviceResponseEnum.THREE_MONITOR_NOT_FIND);
|
||||||
}
|
}
|
||||||
|
voltageLevel = powerGenerationUser.getVoltageLevel();
|
||||||
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId, powerGenerationUser.getId());
|
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId, powerGenerationUser.getId());
|
||||||
} else {
|
} else {
|
||||||
//用电
|
//用电
|
||||||
@@ -240,6 +246,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
|||||||
if (Objects.isNull(powerClient)) {
|
if (Objects.isNull(powerClient)) {
|
||||||
throw new BusinessException(PmsDeviceResponseEnum.THREE_MONITOR_NOT_FIND);
|
throw new BusinessException(PmsDeviceResponseEnum.THREE_MONITOR_NOT_FIND);
|
||||||
}
|
}
|
||||||
|
voltageLevel = powerClient.getVoltageLevel();
|
||||||
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId, powerClient.getId());
|
lambdaUpdateWrapper.eq(DistributionMonitor::getMonitorId, powerClient.getId());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -252,8 +259,12 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
|||||||
.set(DistributionMonitor::getCt1, distributionMonitorParam.getCt1())
|
.set(DistributionMonitor::getCt1, distributionMonitorParam.getCt1())
|
||||||
.set(DistributionMonitor::getCt2, distributionMonitorParam.getCt2())
|
.set(DistributionMonitor::getCt2, distributionMonitorParam.getCt2())
|
||||||
.set(DistributionMonitor::getPt1, distributionMonitorParam.getPt1())
|
.set(DistributionMonitor::getPt1, distributionMonitorParam.getPt1())
|
||||||
.set(DistributionMonitor::getPt2, distributionMonitorParam.getPt2());
|
.set(DistributionMonitor::getPt2, distributionMonitorParam.getPt2())
|
||||||
return this.update(lambdaUpdateWrapper);
|
.set(DistributionMonitor::getStatisticalInterval, distributionMonitorParam.getStatisticalInterval());
|
||||||
|
|
||||||
|
this.update(lambdaUpdateWrapper);
|
||||||
|
overLimitAdd(voltageLevel,distributionMonitorParam.getMonitorId(),true);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -467,13 +478,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
|||||||
@Override
|
@Override
|
||||||
public List<PwUserMonitorDataVO> getPwUserIds(PwUserMonitorParam pwUserMonitorParam) {
|
public List<PwUserMonitorDataVO> getPwUserIds(PwUserMonitorParam pwUserMonitorParam) {
|
||||||
List<String> deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(pwUserMonitorParam.getOrgId()).getData();
|
List<String> deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(pwUserMonitorParam.getOrgId()).getData();
|
||||||
QueryWrapper<PwUserMonitorDataVO> queryWrapper = new QueryWrapper<>();
|
return this.distributionMonitorMapper.getDistributionList(deptIds,pwUserMonitorParam);
|
||||||
queryWrapper.in("pms_power_client.org_id", deptIds);
|
|
||||||
if (StrUtil.isNotBlank(pwUserMonitorParam.getUserName())) {
|
|
||||||
queryWrapper.eq("pms_power_client.name", pwUserMonitorParam.getUserName());
|
|
||||||
}
|
|
||||||
List<PwUserMonitorDataVO> pwUserMonitorDataVOList = this.distributionMonitorMapper.getDistributionPage(queryWrapper);
|
|
||||||
return pwUserMonitorDataVOList;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -499,12 +504,15 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void overLimitAdd(String voltageLevel, String id) {
|
private void overLimitAdd(String voltageLevel, String id,Boolean update) {
|
||||||
DictData voltageDic = dicDataFeignClient.getDicDataById(voltageLevel).getData();
|
DictData voltageDic = dicDataFeignClient.getDicDataById(voltageLevel).getData();
|
||||||
float voltageLevelValue = Float.parseFloat(voltageDic.getValue());
|
float voltageLevelValue = Float.parseFloat(voltageDic.getValue());
|
||||||
float capacity = COverlimitUtil.getDlCapByVoltageLevel(voltageLevelValue);
|
float capacity = COverlimitUtil.getDlCapByVoltageLevel(voltageLevelValue);
|
||||||
Overlimit overlimit = COverlimitUtil.globalAssemble(voltageLevelValue, capacity, capacity, capacity, 1, 1);
|
Overlimit overlimit = COverlimitUtil.globalAssemble(voltageLevelValue, capacity, capacity, capacity, 1, 1);
|
||||||
overlimit.setId(id);
|
overlimit.setId(id);
|
||||||
|
if(update){
|
||||||
|
overlimitMapper.deleteById(id);
|
||||||
|
}
|
||||||
overlimitMapper.insert(overlimit);
|
overlimitMapper.insert(overlimit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import org.springframework.beans.BeanUtils;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -157,6 +158,7 @@ public class TerminalServiceImpl extends ServiceImpl<TerminalMapper, PmsTerminal
|
|||||||
pmsTerminal.setStatus(DataStateEnum.ENABLE.getCode());
|
pmsTerminal.setStatus(DataStateEnum.ENABLE.getCode());
|
||||||
pmsTerminal.setVerificationDate(LocalDate.parse(terminalParam.getVerificationDate()));
|
pmsTerminal.setVerificationDate(LocalDate.parse(terminalParam.getVerificationDate()));
|
||||||
pmsTerminal.setUseDate(LocalDate.parse(terminalParam.getUseDate()));
|
pmsTerminal.setUseDate(LocalDate.parse(terminalParam.getUseDate()));
|
||||||
|
pmsTerminal.setUpdateTime(LocalDateTime.now());
|
||||||
return this.save(pmsTerminal);
|
return this.save(pmsTerminal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
package com.njcn.harmonic.pojo.vo;
|
package com.njcn.harmonic.pojo.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import com.njcn.device.pms.pojo.vo.pwUser.PwUserMonitorDataVO;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class MonitorLimitRateVO {
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class MonitorLimitRateVO extends PwUserMonitorDataVO {
|
||||||
/**
|
/**
|
||||||
* 监测点ID合格率的变电站/装置/母线/线路序号
|
* 监测点ID合格率的变电站/装置/母线/线路序号
|
||||||
*/
|
*/
|
||||||
@@ -19,17 +22,6 @@ public class MonitorLimitRateVO {
|
|||||||
private String phasicType;
|
private String phasicType;
|
||||||
|
|
||||||
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
private String orgName;
|
|
||||||
|
|
||||||
private String operationName;
|
|
||||||
|
|
||||||
private Integer ifSensitiveUser;
|
|
||||||
|
|
||||||
private String userType;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package com.njcn.harmonic.pojo.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class PwLimitDataVO {
|
||||||
|
|
||||||
|
private String lineId;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private List<LimitDetail> detailList;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public static class LimitDetail{
|
||||||
|
|
||||||
|
private Integer limitFlag;
|
||||||
|
|
||||||
|
private String day;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -11,6 +11,7 @@ import com.njcn.harmonic.pojo.param.RStatLimitQueryParam;
|
|||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||||
import com.njcn.harmonic.pojo.vo.MonitorLimitRateVO;
|
import com.njcn.harmonic.pojo.vo.MonitorLimitRateVO;
|
||||||
|
import com.njcn.harmonic.pojo.vo.PwLimitDataVO;
|
||||||
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
|
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
|
||||||
import com.njcn.harmonic.service.majornetwork.RStatLimitService;
|
import com.njcn.harmonic.service.majornetwork.RStatLimitService;
|
||||||
import com.njcn.web.controller.BaseController;
|
import com.njcn.web.controller.BaseController;
|
||||||
@@ -92,4 +93,13 @@ public class RStatLimitController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/pwMonitorLimitDataRange")
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@ApiOperation("获取配网指标超标详情")
|
||||||
|
public HttpResult<List<PwLimitDataVO>> pwMonitorLimitDataRange(@RequestBody @Validated PwUserMonitorParam pwUserMonitorParam){
|
||||||
|
String methodDescribe = getMethodDescribe("pwMonitorLimitDataRange");
|
||||||
|
List<PwLimitDataVO> page = rStatLimitService.pwMonitorLimitDataRange(pwUserMonitorParam);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import com.njcn.device.pq.pojo.vo.GridDiagramVO;
|
|||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||||
import com.njcn.harmonic.pojo.vo.MonitorLimitRateVO;
|
import com.njcn.harmonic.pojo.vo.MonitorLimitRateVO;
|
||||||
|
import com.njcn.harmonic.pojo.vo.PwLimitDataVO;
|
||||||
import com.njcn.harmonic.pojo.vo.RStatLimitRateDVO;
|
import com.njcn.harmonic.pojo.vo.RStatLimitRateDVO;
|
||||||
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
|
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
@@ -54,4 +55,6 @@ public interface RStatLimitService {
|
|||||||
|
|
||||||
Page<MonitorLimitRateVO> pwMonitorLimitData(PwUserMonitorParam pwUserMonitorParam);
|
Page<MonitorLimitRateVO> pwMonitorLimitData(PwUserMonitorParam pwUserMonitorParam);
|
||||||
|
|
||||||
|
List<PwLimitDataVO> pwMonitorLimitDataRange(PwUserMonitorParam pwUserMonitorParam);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,10 @@ package com.njcn.harmonic.service.majornetwork.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateUnit;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
import cn.hutool.core.lang.func.Func;
|
import cn.hutool.core.lang.func.Func;
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
@@ -32,6 +35,7 @@ import com.njcn.harmonic.pojo.po.RMpVThd;
|
|||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
||||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||||
import com.njcn.harmonic.pojo.vo.MonitorLimitRateVO;
|
import com.njcn.harmonic.pojo.vo.MonitorLimitRateVO;
|
||||||
|
import com.njcn.harmonic.pojo.vo.PwLimitDataVO;
|
||||||
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
|
import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO;
|
||||||
import com.njcn.harmonic.service.IRStatLimitTargetDService;
|
import com.njcn.harmonic.service.IRStatLimitTargetDService;
|
||||||
import com.njcn.harmonic.service.majornetwork.RStatLimitService;
|
import com.njcn.harmonic.service.majornetwork.RStatLimitService;
|
||||||
@@ -45,6 +49,8 @@ import java.lang.reflect.InvocationTargetException;
|
|||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.atomic.AtomicLong;
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
@@ -472,6 +478,91 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
|||||||
pageResult.setRecords(resultList);
|
pageResult.setRecords(resultList);
|
||||||
}
|
}
|
||||||
return pageResult;
|
return pageResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PwLimitDataVO> pwMonitorLimitDataRange(PwUserMonitorParam pwUserMonitorParam) {
|
||||||
|
List<PwLimitDataVO> result = new ArrayList<>();
|
||||||
|
if(CollUtil.isEmpty(pwUserMonitorParam.getIds())){
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
LambdaQueryWrapper<RStatLimitTargetDPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
|
||||||
|
LocalDate startDate = LocalDate.parse(pwUserMonitorParam.getSearchBeginTime(), DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||||
|
LocalDate endDate = LocalDate.parse(pwUserMonitorParam.getSearchEndTime(), DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||||
|
|
||||||
|
lambdaQueryWrapper.select(RStatLimitTargetDPO::getLineId,RStatLimitTargetDPO::getTime,RStatLimitTargetDPO::getAllTime).in(RStatLimitTargetDPO::getLineId,pwUserMonitorParam.getIds());
|
||||||
|
lambdaQueryWrapper.between(RStatLimitTargetDPO::getTime,pwUserMonitorParam.getSearchBeginTime(),pwUserMonitorParam.getSearchEndTime());
|
||||||
|
List<RStatLimitTargetDPO> rStatLimitTargetDPOList = rStatLimitTargetDMapper.selectList(lambdaQueryWrapper);
|
||||||
|
if(CollUtil.isNotEmpty(rStatLimitTargetDPOList)){
|
||||||
|
Map<String,List<RStatLimitTargetDPO>> map = rStatLimitTargetDPOList.stream().collect(Collectors.groupingBy(RStatLimitTargetDPO::getLineId));
|
||||||
|
processDateRange(startDate,endDate,map,result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void processDateRange(LocalDate startDate, LocalDate endDate,Map<String,List<RStatLimitTargetDPO>> map,List<PwLimitDataVO> result) {
|
||||||
|
map.forEach((lineKey,list)->{
|
||||||
|
PwLimitDataVO pwLimitDataVO = new PwLimitDataVO();
|
||||||
|
pwLimitDataVO.setLineId(lineKey);
|
||||||
|
pwLimitDataVO.setName(lineKey);
|
||||||
|
List<PwLimitDataVO.LimitDetail> detailList = new ArrayList<>();
|
||||||
|
|
||||||
|
if (startDate.getYear() == endDate.getYear() && startDate.getMonth() == endDate.getMonth()) {
|
||||||
|
Map<LocalDate, RStatLimitTargetDPO> targetDPOMap = list.stream().collect(Collectors.toMap(RStatLimitTargetDPO::getTime, Function.identity()));
|
||||||
|
// 如果在同一个月,则遍历每一天
|
||||||
|
for (LocalDate date = startDate; !date.isAfter(endDate.minusDays(1)); date = date.plusDays(1)) {
|
||||||
|
PwLimitDataVO.LimitDetail limitDetail = new PwLimitDataVO.LimitDetail();
|
||||||
|
if (targetDPOMap.containsKey(date)) {
|
||||||
|
limitDetail.setLimitFlag(targetDPOMap.get(date).getAllTime() > 0 ? 2 : 1);
|
||||||
|
} else {
|
||||||
|
limitDetail.setLimitFlag(0);
|
||||||
|
}
|
||||||
|
limitDetail.setDay(date.getDayOfMonth() +"日");
|
||||||
|
detailList.add(limitDetail);
|
||||||
|
}
|
||||||
|
|
||||||
|
}else {
|
||||||
|
Map<String,List<RStatLimitTargetDPO>> targetDPOMap = list.stream().collect(Collectors.groupingBy(it->LocalDateTimeUtil.format(it.getTime(),DatePattern.NORM_MONTH_PATTERN)));
|
||||||
|
// 如果在同一个月,则遍历每一天
|
||||||
|
|
||||||
|
// 如果不在同一个月,则遍历每个月(这里简化处理,只打印月份和年份)
|
||||||
|
LocalDate currentDate = startDate;
|
||||||
|
while (!currentDate.isAfter(endDate)) {
|
||||||
|
String date = LocalDateTimeUtil.format(currentDate,DatePattern.NORM_MONTH_PATTERN);
|
||||||
|
|
||||||
|
PwLimitDataVO.LimitDetail limitDetail = new PwLimitDataVO.LimitDetail();
|
||||||
|
if(targetDPOMap.containsKey(date)){
|
||||||
|
boolean res = targetDPOMap.get(date).stream().anyMatch(item->item.getAllTime()>0);
|
||||||
|
limitDetail.setLimitFlag(res ? 2:1);
|
||||||
|
}else {
|
||||||
|
limitDetail.setLimitFlag(0);
|
||||||
|
}
|
||||||
|
limitDetail.setDay(currentDate.getMonthValue() +"月");
|
||||||
|
detailList.add(limitDetail);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 跳到下一个月的第一天(注意:这里简化了处理,没有实际遍历这个月的每一天)
|
||||||
|
currentDate = currentDate.plusMonths(1).withDayOfMonth(1);
|
||||||
|
|
||||||
|
// 如果当前月已经超过了结束月,则退出循环
|
||||||
|
if (currentDate.isAfter(endDate)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pwLimitDataVO.setDetailList(detailList);
|
||||||
|
result.add(pwLimitDataVO);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import cn.hutool.core.text.StrBuilder;
|
|||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@@ -162,18 +163,28 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
|
|||||||
|
|
||||||
//以尺寸100分片
|
//以尺寸100分片
|
||||||
List<List<PqTypicalSourceCreatePO>> partition = ListUtils.partition(list, 100);
|
List<List<PqTypicalSourceCreatePO>> partition = ListUtils.partition(list, 100);
|
||||||
partition.forEach(temp->{
|
StrBuilder resultLog = new StrBuilder();
|
||||||
List<PqTypicalSourceCreateDTO> dtoList = BeanUtil.copyToList(temp, PqTypicalSourceCreateDTO.class);
|
AtomicBoolean resultFlag = new AtomicBoolean(true);
|
||||||
|
for (int i = 0; i < partition.size(); i++) {
|
||||||
|
List<PqTypicalSourceCreateDTO> dtoList = BeanUtil.copyToList(partition.get(i), PqTypicalSourceCreateDTO.class);
|
||||||
SendParam sendParam = new SendParam();
|
SendParam sendParam = new SendParam();
|
||||||
sendParam.setStats(dtoList);
|
sendParam.setStats(dtoList);
|
||||||
sendParam.setStatisticalDate(temp.get(0).getComputeDate());
|
sendParam.setStatisticalDate(partition.get(i).get(0).getComputeDate());
|
||||||
String s = JSONObject.toJSONStringWithDateFormat(sendParam, JSON.DEFFAULT_DATE_FORMAT);
|
if(i == 0){
|
||||||
|
sendParam.setIsAppend("0");
|
||||||
|
}else if(i==partition.size()-1){
|
||||||
|
sendParam.setIsAppend("2");
|
||||||
|
}else {
|
||||||
|
sendParam.setIsAppend("1");
|
||||||
|
}
|
||||||
Map<String, String> send = GwSendUtil.send(sendParam, GWSendEnum.TYPICAL_SOURCE);
|
Map<String, String> send = GwSendUtil.send(sendParam, GWSendEnum.TYPICAL_SOURCE);
|
||||||
List<String> trIds = dtoList.stream().map(PqTypicalSourceCreateDTO::getId).distinct().collect(Collectors.toList());
|
List<String> trIds = dtoList.stream().map(PqTypicalSourceCreateDTO::getId).distinct().collect(Collectors.toList());
|
||||||
returnInformation(1, trIds, send);
|
returnInformation(i, trIds, send,resultLog, resultFlag, localDate);
|
||||||
});
|
}
|
||||||
|
if (resultFlag.get()) {
|
||||||
assUploadLog(localDate,new StrBuilder("典型源荷指标统计上送成功"),new AtomicBoolean(true));
|
resultLog.append(" 上送" + list.size() + "条数据成功");
|
||||||
|
assUploadLog(localDate, resultLog, resultFlag);
|
||||||
|
}
|
||||||
return "成功";
|
return "成功";
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -192,34 +203,50 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
|
|||||||
/**
|
/**
|
||||||
* 国网上送返回信息
|
* 国网上送返回信息
|
||||||
*
|
*
|
||||||
* @param num
|
|
||||||
* @param ids
|
* @param ids
|
||||||
* @param send
|
* @param send
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private String returnInformation(Integer num, List<String> ids, Map<String, String> send) {
|
private void returnInformation(Integer step, List<String> ids, Map<String, String> send, StrBuilder resultLog, AtomicBoolean resultFlag, LocalDate localDate) {
|
||||||
|
int start = step * 100;
|
||||||
|
int end = (step + 1) * 100;
|
||||||
if (send.containsKey("succeed")) {
|
if (send.containsKey("succeed")) {
|
||||||
String succeed = send.get("succeed");
|
String succeed = send.get("succeed");
|
||||||
if (succeed.indexOf("\\\"") != -1) {
|
if (succeed.contains("\\\"")) {
|
||||||
succeed = succeed.replace("\\\"", "\"");
|
succeed = succeed.replace("\\\"", "\"");
|
||||||
}
|
}
|
||||||
Map mapData = JSON.parseObject(succeed, Map.class);
|
Map mapData = JSON.parseObject(succeed, Map.class);
|
||||||
String status = mapData.get("status").toString();
|
String status = mapData.get("status").toString();
|
||||||
|
|
||||||
if ("000000".equals(status)) {
|
if ("000000".equals(status)) {
|
||||||
//修改信息状态
|
//修改数据上送状态
|
||||||
this.lambdaUpdate().in(PqTypicalSourceCreatePO::getId,ids).set(PqTypicalSourceCreatePO::getIsUploadHead,num).update();
|
updateState(ids);
|
||||||
String result = mapData.get("result").toString();
|
String result = mapData.get("result").toString();
|
||||||
Map mapCount = JSON.parseObject(result, Map.class);
|
Map mapCount = JSON.parseObject(result, Map.class);
|
||||||
String count = mapCount.get("count").toString();
|
String count = mapCount.get("count").toString();
|
||||||
return "操作成功:成功数据" + count + "条";
|
|
||||||
} else {
|
} else {
|
||||||
|
resultFlag.set(false);
|
||||||
String errors = mapData.get("errors").toString();
|
String errors = mapData.get("errors").toString();
|
||||||
throw new BusinessException("操作失败:" + status + "_" + errors);
|
String errorMsg = " 上送" + start + "条至" + end + "条数据,上送失败:" + status + "_" + errors + " ;";
|
||||||
|
resultLog.append(errorMsg);
|
||||||
|
assUploadLog(localDate, resultLog, resultFlag);
|
||||||
|
throw new BusinessException(errorMsg);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// updateIsUploadHead(num, ids);
|
resultFlag.set(false);
|
||||||
|
resultLog.append(" 上送" + start + "条至" + end + "条数据网络异常;");
|
||||||
|
assUploadLog(localDate, resultLog, resultFlag);
|
||||||
throw new BusinessException("当前时间段国网上送请求过多,请稍后再试");
|
throw new BusinessException("当前时间段国网上送请求过多,请稍后再试");
|
||||||
// return "当前时间段国网上送请求过多,请稍后再试";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateState(List<String> ids) {
|
||||||
|
LambdaUpdateWrapper<PqTypicalSourceCreatePO> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
lambdaUpdateWrapper.in(PqTypicalSourceCreatePO::getId, ids)
|
||||||
|
.set(PqTypicalSourceCreatePO::getIsUploadHead, 1);
|
||||||
|
this.update(lambdaUpdateWrapper);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,10 +108,18 @@ public class PointStatisticalDataServiceImpl extends ServiceImpl<RUploadPointSta
|
|||||||
AtomicBoolean resultFlag = new AtomicBoolean(true);
|
AtomicBoolean resultFlag = new AtomicBoolean(true);
|
||||||
//分片上传
|
//分片上传
|
||||||
for (int i = 0; i < partition.size(); i++) {
|
for (int i = 0; i < partition.size(); i++) {
|
||||||
|
|
||||||
List<MonitorStatisticalDTO> dtoList = BeanUtil.copyToList(partition.get(i), MonitorStatisticalDTO.class);
|
List<MonitorStatisticalDTO> dtoList = BeanUtil.copyToList(partition.get(i), MonitorStatisticalDTO.class);
|
||||||
SendParam sp = new SendParam();
|
SendParam sp = new SendParam();
|
||||||
sp.setStats(dtoList);
|
sp.setStats(dtoList);
|
||||||
sp.setStatisticalDate(partition.get(i).get(0).getComputeDate());
|
sp.setStatisticalDate(partition.get(i).get(0).getComputeDate());
|
||||||
|
if(i == 0){
|
||||||
|
sp.setIsAppend("0");
|
||||||
|
}else if(i==partition.size()-1){
|
||||||
|
sp.setIsAppend("2");
|
||||||
|
}else {
|
||||||
|
sp.setIsAppend("1");
|
||||||
|
}
|
||||||
//上送数据
|
//上送数据
|
||||||
Map<String, String> send = GwSendUtil.send(sp, GWSendEnum.STATISTICAL_CREATE);
|
Map<String, String> send = GwSendUtil.send(sp, GWSendEnum.STATISTICAL_CREATE);
|
||||||
//获取返回结果
|
//获取返回结果
|
||||||
|
|||||||
@@ -203,6 +203,13 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
|
|||||||
SendParam sp = new SendParam();
|
SendParam sp = new SendParam();
|
||||||
sp.setStats(dtoList);
|
sp.setStats(dtoList);
|
||||||
sp.setStatisticalDate(collect.get(0).getComputeDate());
|
sp.setStatisticalDate(collect.get(0).getComputeDate());
|
||||||
|
if(i == 0){
|
||||||
|
sp.setIsAppend("0");
|
||||||
|
}else if(i==partition.size()-1){
|
||||||
|
sp.setIsAppend("2");
|
||||||
|
}else {
|
||||||
|
sp.setIsAppend("1");
|
||||||
|
}
|
||||||
//上送数据
|
//上送数据
|
||||||
Map<String, String> send = GwSendUtil.send(sp, GWSendEnum.EVALUATION);
|
Map<String, String> send = GwSendUtil.send(sp, GWSendEnum.EVALUATION);
|
||||||
//获取返回结果
|
//获取返回结果
|
||||||
|
|||||||
@@ -80,18 +80,21 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl<RUploadSu
|
|||||||
//(预防之前上送过,修改数据后需要再次上送)
|
//(预防之前上送过,修改数据后需要再次上送)
|
||||||
if (CollUtil.isNotEmpty(param.getList())){
|
if (CollUtil.isNotEmpty(param.getList())){
|
||||||
list = this.lambdaQuery()
|
list = this.lambdaQuery()
|
||||||
.eq(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getTime())
|
|
||||||
.in(RUploadSubstationStatisticalDataD::getId,param.getList())
|
.in(RUploadSubstationStatisticalDataD::getId,param.getList())
|
||||||
.isNotNull(RUploadSubstationStatisticalDataD::getComputeDate)
|
.eq(RUploadSubstationStatisticalDataD::getComputeDate,param.getTime())
|
||||||
.list();
|
.list();
|
||||||
}
|
}
|
||||||
//未指定数据上送,则将所有未上送的数据,上送上去
|
//未指定数据上送,则将所有未上送的数据,上送上去
|
||||||
else {
|
else {
|
||||||
list = this.lambdaQuery()
|
list = this.lambdaQuery()
|
||||||
.eq(RUploadSubstationStatisticalDataD::getStatisticalDate,param.getTime())
|
.eq(RUploadSubstationStatisticalDataD::getComputeDate,param.getTime())
|
||||||
.isNotNull(RUploadSubstationStatisticalDataD::getComputeDate)
|
|
||||||
.list();
|
.list();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(CollUtil.isEmpty(list)){
|
||||||
|
throw new BusinessException("数据为空,请联系管理员排查");
|
||||||
|
}
|
||||||
|
|
||||||
//以尺寸100分片
|
//以尺寸100分片
|
||||||
List<List<RUploadSubstationStatisticalDataD>> partition = ListUtils.partition(list, 100);
|
List<List<RUploadSubstationStatisticalDataD>> partition = ListUtils.partition(list, 100);
|
||||||
StrBuilder resultLog = new StrBuilder();
|
StrBuilder resultLog = new StrBuilder();
|
||||||
@@ -106,6 +109,13 @@ public class RSubstationStatisticalDataServiceImpl extends ServiceImpl<RUploadSu
|
|||||||
SendParam sp = new SendParam();
|
SendParam sp = new SendParam();
|
||||||
sp.setStats(dtoList);
|
sp.setStats(dtoList);
|
||||||
sp.setStatisticalDate(partition.get(i).get(0).getComputeDate());
|
sp.setStatisticalDate(partition.get(i).get(0).getComputeDate());
|
||||||
|
if(i == 0){
|
||||||
|
sp.setIsAppend("0");
|
||||||
|
}else if(i==partition.size()-1){
|
||||||
|
sp.setIsAppend("2");
|
||||||
|
}else {
|
||||||
|
sp.setIsAppend("1");
|
||||||
|
}
|
||||||
//上送数据
|
//上送数据
|
||||||
Map<String, String> send = GwSendUtil.send(sp, GWSendEnum.SUBSTATION_MONITOR);
|
Map<String, String> send = GwSendUtil.send(sp, GWSendEnum.SUBSTATION_MONITOR);
|
||||||
//获取返回结果
|
//获取返回结果
|
||||||
|
|||||||
@@ -124,14 +124,10 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl<RUploadEva
|
|||||||
|
|
||||||
List<DeptGetChildrenMoreDTO> list = calculatedParam.getIdList();
|
List<DeptGetChildrenMoreDTO> list = calculatedParam.getIdList();
|
||||||
list.forEach(item -> {
|
list.forEach(item -> {
|
||||||
if (Objects.equals(Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_1.getCode()), item.getDeptLevel())
|
if (Objects.equals(Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_1.getCode()), item.getDeptLevel())) {
|
||||||
//县数据
|
|
||||||
|| Objects.equals(Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_4.getCode()),item.getDeptLevel())
|
|
||||||
|| Objects.equals(Integer.parseInt(UploadEnum.NJCN_DEPT_LEVEL_4.getCode()), item.getDeptLevel())) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BusBarDto busBarDto = allDept.stream().filter(o -> Objects.equals(o.getOrgId(), item.getUnitId())).findFirst().orElse(null);
|
BusBarDto busBarDto = allDept.stream().filter(o -> Objects.equals(o.getOrgId(), item.getUnitId())).findFirst().orElse(null);
|
||||||
|
|
||||||
List<Monitor> deptMonitorList = monitorList.stream().filter(t->item.getUnitId().contains(t.getOrgId())).collect(Collectors.toList());
|
List<Monitor> deptMonitorList = monitorList.stream().filter(t->item.getUnitId().contains(t.getOrgId())).collect(Collectors.toList());
|
||||||
|
|||||||
@@ -26,12 +26,10 @@ public class UploadGwTaskSubstationRunner implements TimerTaskRunner {
|
|||||||
public void action(String date) {
|
public void action(String date) {
|
||||||
UploadParam param = new UploadParam();
|
UploadParam param = new UploadParam();
|
||||||
|
|
||||||
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_MONTH_PATTERN));
|
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_DATE_PATTERN));
|
||||||
uploadGwDataFeignClient.uploadSubstationStatisticalData(param);
|
uploadGwDataFeignClient.uploadSubstationStatisticalData(param);
|
||||||
|
|
||||||
//年
|
|
||||||
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_YEAR_PATTERN));
|
|
||||||
uploadGwDataFeignClient.uploadSubstationStatisticalData(param);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user