1.下发接口修改

2.工单接口开发
This commit is contained in:
cdf
2024-06-18 17:04:22 +08:00
parent c508070c15
commit 0dd324c7ef
21 changed files with 1630 additions and 189 deletions

View File

@@ -38,53 +38,63 @@ public class EvaluationDownController extends BaseController {
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getBaseEvaOnlineBusDetail")
@ApiOperation("国网上送-接收总部基准水平评估在运母线数量详情下穿接口")
@ApiOperation("国网上送-在运母线数量详情下穿接口")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public PmsHttpResult<Page<DimBusBarVO>> getBaseEvaOnlineBusDetail(@RequestBody DimBusBarParam param) {
public PmsHttpResult<PmsPage<DimBusBarVO>> getBaseEvaOnlineBusDetail(@RequestBody DimBusBarParam param) {
String methodDescribe = getMethodDescribe("getBaseEvaOnlineBusDetail");
Page<DimBusBarVO> page = evaluationDataService.getBaseEvaOnlineBusDetail(param);
PmsPage<DimBusBarVO> page = evaluationDataService.getBaseEvaOnlineBusDetail(param);
return new PmsHttpResult<>(0, page);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getBaseEvaMonitorBusDetail")
@ApiOperation("国网上送-接收总部基准水平评估监测母线列表详情下穿接口")
@ApiOperation("国网上送-监测母线列表详情下穿接口")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public PmsHttpResult<Page<DimBusBarVO>> getBaseEvaMonitorBusDetail(@RequestBody DimBusBarParam param) {
String methodDescribe = getMethodDescribe("getBaseEvaOnlineBusDetail");
Page<DimBusBarVO> page = evaluationDataService.getBaseEvaMonitorBusDetail(param);
public PmsHttpResult<PmsPage<DimBusBarVO>> getBaseEvaMonitorBusDetail(@RequestBody DimBusBarParam param) {
String methodDescribe = getMethodDescribe("getBaseEvaMonitorBusDetail");
PmsPage<DimBusBarVO> page = evaluationDataService.getBaseEvaMonitorBusDetail(param);
return new PmsHttpResult<>(0, page);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getBusListByVoltageLevel")
@ApiOperation("国网上送-接收总部基准水平评估监测母线列表详情下穿接口")
@ApiOperation("国网上送-根据交流均值查询母线详情下穿接口")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public PmsHttpResult<Page<DimBusBarVO>> getBusListByVoltageLevel(@RequestBody DimBusBarParam param) {
public PmsHttpResult<PmsPage<DimBusBarVO>> getBusListByVoltageLevel(@RequestBody DimBusBarParam param) {
String methodDescribe = getMethodDescribe("getBusListByVoltageLevel");
Page<DimBusBarVO> page = evaluationDataService.getBusListByVoltageLevel(param);
PmsPage<DimBusBarVO> page = evaluationDataService.getBusListByVoltageLevel(param);
return new PmsHttpResult<>(0, page);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getMonitorListByBus")
@ApiOperation("国网上送-接收总部基准水平评估监测母线下有效监测点详情下穿接口")
@ApiOperation("国网上送-监测母线下有效监测点详情下穿接口")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public PmsHttpResult<PmsPage<DimBusBarVO.DimBusBarMonitorVO>> getMonitorListByBus(@RequestBody DimBusBarParam param) {
public PmsHttpResult<PmsPage<DimBusBarVO.DimBusBarEffectMonitorVO>> getMonitorListByBus(@RequestBody DimBusBarParam param) {
String methodDescribe = getMethodDescribe("getMonitorListByBus");
PmsPage<DimBusBarVO.DimBusBarMonitorVO> page = evaluationDataService.getMonitorListByBus(param);
PmsPage<DimBusBarVO.DimBusBarEffectMonitorVO> page = evaluationDataService.getMonitorListByBus(param);
return new PmsHttpResult<>(0, page);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getBaseEvaBusMonitorList")
@ApiOperation("国网上送-接收总部基准水平评估电压等级母线监测点列表详情下穿接口")
@ApiOperation("国网上送-电压等级母线监测点列表详情下穿接口")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public PmsHttpResult<PmsPage<DimBusBarVO.DimBusBarMonitorVoltageVO>> getBaseEvaBusMonitorList(@RequestBody DimBusBarParam param) {
public PmsHttpResult<PmsPage<DimBusBarVO.DimBusBarMonitorVO>> getBaseEvaBusMonitorList(@RequestBody DimBusBarParam param) {
String methodDescribe = getMethodDescribe("getBaseEvaBusMonitorList");
PmsPage<DimBusBarVO.DimBusBarMonitorVoltageVO> page = evaluationDataService.getBaseEvaBusMonitorList(param);
PmsPage<DimBusBarVO.DimBusBarMonitorVO> page = evaluationDataService.getBaseEvaBusMonitorList(param);
return new PmsHttpResult<>(0, page);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getBusAvgListByMonitorId")
@ApiOperation("国网上送-根据母线id查询均值列表详情下穿接口")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public PmsHttpResult<PmsPage<DimBusBarVO.DimBusBarMonitorAvgVO>> getBusAvgListByMonitorId(@RequestBody DimBusBarParam param) {
String methodDescribe = getMethodDescribe("getBusAvgListByMonitorId");
PmsPage<DimBusBarVO.DimBusBarMonitorAvgVO> page = evaluationDataService.getBusAvgListByMonitorId(param);
return new PmsHttpResult<>(0, page);
}

View File

@@ -0,0 +1,135 @@
package com.njcn.harmonic.controller.upload;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import com.njcn.harmonic.pojo.param.UploadDataParam;
import com.njcn.harmonic.pojo.param.upload.RUploadWorkOrderParam;
import com.njcn.harmonic.pojo.po.upload.RUploadWorkOrderPO;
import com.njcn.harmonic.pojo.vo.upload.UploadEvaluationDataVo;
import com.njcn.harmonic.service.upload.IRUploadWorkOrderService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.njcn.web.controller.BaseController;
import java.util.List;
import static org.reflections.Reflections.log;
/**
* <p>
* 用于存储总部下发的工单信息 前端控制器
* </p>
*
* @author cdf
* @since 2024-06-18
*/
@RestController
@RequestMapping("/pms-tech-powerquality-start/pqWorkorderDistributeSuperviseController/")
@RequiredArgsConstructor
@Slf4j
public class RUploadWorkOrderController extends BaseController {
private final IRUploadWorkOrderService irUploadWorkOrderService;
/**
* 用于总部调用省级下发工单信息(总部调用)
* @author cdf
* @date 2024/6/18
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
@PostMapping("/insertWorkorderDistributeSupervise")
@ApiOperation("用于总部调用省级下发工单信息")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public HttpResult<Object> insertWorkorderDistributeSupervise(@RequestBody RUploadWorkOrderParam param) {
String methodDescribe = getMethodDescribe("insertWorkorderDistributeSupervise");
LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param);
boolean result = irUploadWorkOrderService.insertWorkorderDistributeSupervise(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
/**
* 总部下发工单后的闭环操作(总部调用)
* @author cdf
* @date 2024/6/18
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE)
@PostMapping("/closeWorkorderDistributeSupervise")
@ApiOperation("总部下发工单后的闭环操作")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public HttpResult<Object> closeWorkorderDistributeSupervise(@RequestBody RUploadWorkOrderParam param) {
String methodDescribe = getMethodDescribe("closeWorkorderDistributeSupervise");
LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param);
boolean result = irUploadWorkOrderService.closeWorkorderDistributeSupervise(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
/**
* 调用总部反馈接口(总部调用)
* @author cdf
* @date 2024/6/18
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/receiveFeedbackInfo")
@ApiOperation("上送反馈工单处理措施")
@ApiImplicitParam(name = "ids", value = "工单主键", required = true)
public HttpResult<Object> receiveFeedbackInfo(@RequestBody List<String> ids) {
String methodDescribe = getMethodDescribe("receiveFeedbackInfo");
LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, ids);
boolean result = irUploadWorkOrderService.receiveFeedbackInfo(ids);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
/**
* 分页查询
* @author cdf
* @date 2024/6/18
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/pageList")
@ApiOperation("分页查询工单")
@ApiImplicitParam(name = "rUploadWorkOrderQuery", value = "请求参数", required = true)
public HttpResult<Page<RUploadWorkOrderPO>> pageList(@RequestBody RUploadWorkOrderParam.RUploadWorkOrderQuery rUploadWorkOrderQuery) {
String methodDescribe = getMethodDescribe("pageList");
Page<RUploadWorkOrderPO> result = irUploadWorkOrderService.pageList(rUploadWorkOrderQuery);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
/**
* 填写反馈措施
* @author cdf
* @date 2024/6/18
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPDATE)
@PostMapping("/feedBackAdd")
@ApiOperation("填写反馈措施")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public HttpResult<Object> feedBackAdd(@RequestBody RUploadWorkOrderParam param) {
String methodDescribe = getMethodDescribe("feedBackAdd");
LogUtil.njcnDebug(log, "{},实体参数:{}", methodDescribe, param);
boolean result = irUploadWorkOrderService.feedBackAdd(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
}

View File

@@ -5,23 +5,31 @@
<select id="getBaseEvaOnlineBusDetail" resultType="DimBusBarVO">
select
mid.id astId,
mid.id midId,
wire.id lineId,
mid.Name busName,
mid.voltage_Level busVoltageLevel,
dicVoltage.name busVoltageLevelName,
mid.SectionId cityOrg,
mid.Section cityOrgName,
mid.Run_Status deviceStatus,
station.Power_Id stationId,
station.Power_Name stationName,
station.Voltage_Level stationVoltageLevel
mid.id astId,
mid.voltage_Level busVoltageLevel,
mid.maintCrew,
mid.maintCrewName,
mid.Operation_Id maintOrg,
mid.Operation_Name maintOrgName,
mid.Operation_Date,
mid.Run_Status psrStateName,
station.Id stationId,
station.name stationName,
station.voltage_Level stationVoltageLevel,
'zf01' stationType
from pms_mid_ledger mid
left join pms_mid_ledger station on mid.pid = station.id
left join pms_generatrix_wire wire on mid.id = wire.Mid_Bus_Id
left join sys_dict_data dicVoltage on mid.voltage_Level = dicVoltage.id
left join pms_statation_stat station on wire.Station_Id = station.Power_Id
where mid.level = 1
<if test="param.busId!=null and param.busId!='' ">
@@ -55,10 +63,86 @@
and mid.Run_Status = #{param.deployState}
</if>
<if test="param.busName!=null and param.busName!='' ">
and mid.name = #{param.busName}
</if>
<if test="param.stationName!=null and param.stationName!='' ">
and station.name = #{param.stationName}
</if>
</select>
<select id="getDetail" resultType="DimBusBarVO">
select
mid.id midId,
wire.id lineId,
mid.Name busName,
mid.voltage_Level busVoltageLevel,
dicVoltage.name busVoltageLevelName,
mid.SectionId cityOrg,
mid.Section cityOrgName,
mid.Run_Status deviceStatus,
mid.id astId,
mid.voltage_Level busVoltageLevel,
mid.maintCrew,
mid.maintCrewName,
mid.Operation_Id maintOrg,
mid.Operation_Name maintOrgName,
mid.Operation_Date,
mid.Run_Status psrStateName,
station.Id stationId,
station.name stationName,
station.voltage_Level stationVoltageLevel,
'zf01' stationType
from pms_mid_ledger mid
left join pms_mid_ledger station on mid.pid = station.id
left join pms_generatrix_wire wire on mid.id = wire.Mid_Bus_Id
left join sys_dict_data dicVoltage on mid.voltage_Level = dicVoltage.id
where mid.level = 1
<if test="param.busId!=null and param.busId!='' ">
and mid.id = #{param.busId}
</if>
<if test="param.busName!=null and param.busName!='' ">
and mid.name = #{param.busName}
</if>
<if test="param.busIds!=null and param.busIds.size>0">
and mid.id in
<foreach collection="param.busIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="param.onlineBusIds!=null and param.onlineBusIds.size>0">
and mid.id in
<foreach collection="param.onlineBusIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="param.orgIds!=null and param.orgIds.size>0">
and mid.SectionId in
<foreach collection="param.orgIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="param.deployState!=null and param.deployState!='' ">
and mid.Run_Status = #{param.deployState}
</if>
<if test="param.busName!=null and param.busName!='' ">
and mid.name = #{param.busName}
</if>
<if test="param.stationName!=null and param.stationName!='' ">
and station.name = #{param.stationName}
</if>
</select>
</mapper>

View File

@@ -20,4 +20,5 @@ public interface RUploadEvaluationDataDMapper extends BaseMapper<RUploadEvaluati
Page<DimBusBarVO> getBaseEvaOnlineBusDetail(@Param("page") Page<DimBusBarVO> page, @Param("param") DimBusBarParam param);
DimBusBarVO getDetail(@Param("param") DimBusBarParam param);
}

View File

@@ -0,0 +1,17 @@
package com.njcn.harmonic.mapper.upload;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.po.upload.RUploadWorkOrderPO;
/**
* <p>
* 用于存储总部下发的工单信息 Mapper 接口
* </p>
*
* @author cdf
* @since 2024-06-18
*/
public interface RUploadWorkOrderMapper extends BaseMapper<RUploadWorkOrderPO> {
}

View File

@@ -32,22 +32,28 @@ public interface IEvaluationDataService extends IService<RUploadEvaluationDataD>
*/
String uploadEvaluationData(UploadParam param);
/**
*接收总部基准水平评估在运母线数量详情下穿接口
*/
Page<DimBusBarVO> getBaseEvaOnlineBusDetail(DimBusBarParam param);
PmsPage<DimBusBarVO> getBaseEvaOnlineBusDetail(DimBusBarParam param);
/**
*接收总部基准水平评估监测母线列表详情下穿接口
*/
Page<DimBusBarVO>getBaseEvaMonitorBusDetail(DimBusBarParam param);
PmsPage<DimBusBarVO>getBaseEvaMonitorBusDetail(DimBusBarParam param);
Page<DimBusBarVO> getBusListByVoltageLevel(DimBusBarParam param);
PmsPage<DimBusBarVO> getBusListByVoltageLevel(DimBusBarParam param);
PmsPage<DimBusBarVO.DimBusBarMonitorVO> getMonitorListByBus(DimBusBarParam param);
PmsPage<DimBusBarVO.DimBusBarEffectMonitorVO> getMonitorListByBus(DimBusBarParam param);
PmsPage<DimBusBarVO.DimBusBarMonitorVO> getBaseEvaBusMonitorList(DimBusBarParam param);
PmsPage<DimBusBarVO.DimBusBarMonitorAvgVO> getBusAvgListByMonitorId(DimBusBarParam param);
PmsPage<DimBusBarVO.DimBusBarMonitorVoltageVO> getBaseEvaBusMonitorList(DimBusBarParam param);
}

View File

@@ -0,0 +1,36 @@
package com.njcn.harmonic.service.upload;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.harmonic.pojo.param.upload.RUploadWorkOrderParam;
import com.njcn.harmonic.pojo.po.upload.RUploadWorkOrderPO;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* <p>
* 用于存储总部下发的工单信息 服务类
* </p>
*
* @author cdf
* @since 2024-06-18
*/
public interface IRUploadWorkOrderService extends IService<RUploadWorkOrderPO> {
Boolean insertWorkorderDistributeSupervise(RUploadWorkOrderParam param);
Boolean closeWorkorderDistributeSupervise(RUploadWorkOrderParam param);
Boolean receiveFeedbackInfo(List<String> ids);
Page<RUploadWorkOrderPO> pageList(RUploadWorkOrderParam.RUploadWorkOrderQuery query);
Boolean feedBackAdd(RUploadWorkOrderParam param);
}

View File

@@ -13,20 +13,29 @@ 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.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.pms.api.LineIntegrityDataClient;
import com.njcn.device.pms.api.MonitorClient;
import com.njcn.device.pms.api.PmsMidLedgerClient;
import com.njcn.device.pms.pojo.param.DataQualityDetailsParam;
import com.njcn.device.pms.pojo.param.TerminalQueryParam;
import com.njcn.device.pms.pojo.po.Monitor;
import com.njcn.device.pms.pojo.po.PmsMidLedger;
import com.njcn.device.pq.pojo.po.RStatIntegrityD;
import com.njcn.harmonic.mapper.RStatDataVDMapper;
import com.njcn.harmonic.mapper.RStatLimitRateDMapper;
import com.njcn.harmonic.mapper.upload.*;
import com.njcn.harmonic.pojo.dto.upload.PqEvaluationCreateDTO;
import com.njcn.harmonic.pojo.dto.upload.RDimUpDTO;
import com.njcn.harmonic.pojo.param.UploadDataParam;
import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.harmonic.pojo.param.upload.DimBusBarParam;
import com.njcn.harmonic.pojo.po.RStatDataVD;
import com.njcn.harmonic.pojo.po.day.RStatDataVDPO;
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
import com.njcn.harmonic.pojo.po.upload.*;
import com.njcn.harmonic.pojo.vo.upload.DimBusBarVO;
import com.njcn.harmonic.pojo.vo.upload.UploadEvaluationDataVo;
@@ -34,6 +43,7 @@ import com.njcn.harmonic.service.upload.IEvaluationDataService;
import com.njcn.harmonic.service.upload.IRUploadDataLogService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
@@ -48,6 +58,8 @@ import org.apache.commons.collections4.ListUtils;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -91,7 +103,11 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
private final IRUploadDataLogService irUploadDataLogService;
private final LineIntegrityDataClient lineIntegrityDataClient;
private final RStatLimitRateDMapper rStatLimitRateDMapper;
private final RStatDataVDMapper rStatDataVDMapper;
@Override
@@ -142,7 +158,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
else {
list = this.lambdaQuery()
.eq(RUploadEvaluationDataD::getComputeDate, param.getTime())
.in(RUploadEvaluationDataD::getStatisticalLevel, Stream.of("3", "4","5").collect(Collectors.toList()))
.in(RUploadEvaluationDataD::getStatisticalLevel, Stream.of("3", "4", "5").collect(Collectors.toList()))
.list();
}
@@ -192,34 +208,34 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
//获取返回结果
List<String> l = dtoList.stream().map(PqEvaluationCreateDTO::getId).collect(Collectors.toList());
returnInformation(i, l, send,resultLog,resultFlag,localDate);
returnInformation(i, l, send, resultLog, resultFlag, localDate);
}
if(resultFlag.get()){
resultLog.append(" 上送" + list.size()+ "条数据成功");
assUploadLog(localDate,resultLog,resultFlag);
if (resultFlag.get()) {
resultLog.append(" 上送" + list.size() + "条数据成功");
assUploadLog(localDate, resultLog, resultFlag);
}
return "上送成功:成功数据" + list.size() + "";
}
private void assUploadLog(LocalDate statisticDate,StrBuilder msg,AtomicBoolean resultFlag){
private void assUploadLog(LocalDate statisticDate, StrBuilder msg, AtomicBoolean resultFlag) {
RUploadDataLog rUploadDataLog = new RUploadDataLog();
rUploadDataLog.setStatisticDate(statisticDate);
rUploadDataLog.setBigType(0);
rUploadDataLog.setSmallType(0);
rUploadDataLog.setCreateTime(LocalDateTime.now());
rUploadDataLog.setResult(resultFlag.get()?1:0);
rUploadDataLog.setResult(resultFlag.get() ? 1 : 0);
rUploadDataLog.setResultMsg(msg.toString());
irUploadDataLogService.saveOrUpdateByMultiId(rUploadDataLog);
}
@Override
public Page<DimBusBarVO> getBaseEvaOnlineBusDetail(DimBusBarParam param) {
public PmsPage<DimBusBarVO> getBaseEvaOnlineBusDetail(DimBusBarParam param) {
PmsPage<DimBusBarVO> pmsPage = new PmsPage<>(param.getPageNum(), param.getPageSize());
List<String> temBusIds = new ArrayList<>();
LocalDate begin = LocalDate.parse(param.getStartTime());
if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_D.getCode())) {
//具体日期投运,监测台账查询
@@ -228,7 +244,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
.eq(PmsRunStatisticD::getStatisticDate, begin).eq(PmsRunStatisticD::getDeptId, param.getOrgId());
PmsRunStatisticD pmsRunStatisticD = pmsRunStatisticDMapper.selectOne(dayLam);
if (Objects.nonNull(pmsRunStatisticD)) {
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticD.getRunBusIds().split(StrUtil.COMMA)));
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticD.getRunBusIds().split(StrUtil.COMMA)));
}
} else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())) {
@@ -238,7 +254,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
.eq(PmsRunStatisticM::getStatisticDate, begin).eq(PmsRunStatisticM::getDeptId, param.getOrgId());
PmsRunStatisticM pmsRunStatisticM = pmsRunStatisticMMapper.selectOne(dayLam);
if (Objects.nonNull(pmsRunStatisticM)) {
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticM.getRunBusIds().split(StrUtil.COMMA)));
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticM.getRunBusIds().split(StrUtil.COMMA)));
}
} else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())) {
@@ -248,62 +264,135 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
.eq(PmsRunStatisticY::getStatisticDate, begin).eq(PmsRunStatisticY::getDeptId, param.getNodeId());
PmsRunStatisticY pmsRunStatisticY = pmsRunStatisticYMapper.selectOne(dayLam);
if (Objects.nonNull(pmsRunStatisticY)) {
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticY.getOnlineBusMidIds().split(StrUtil.COMMA)));
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticY.getOnlineBusMidIds().split(StrUtil.COMMA)));
}
}
if (CollectionUtil.isEmpty(temBusIds)) {
return new Page<>();
return new PmsPage<>();
}
param.setOnlineBusIds(temBusIds);
return this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param);
Page<DimBusBarVO> page = this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param);
if (CollUtil.isNotEmpty(page.getRecords())) {
List<DictData> voltageDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
Map<String, DictData> voltageMap = voltageDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
List<DictData> monitorDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_STATE.getCode()).getData();
Map<String, DictData> monitorDicMap = monitorDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
for (DimBusBarVO dimBusBarVO : page.getRecords()) {
dimBusBarVO.setBusVoltageLevelName(voltageMap.get(dimBusBarVO.getBusVoltageLevel()).getName());
dimBusBarVO.setStationVoltageLevelName(voltageMap.get(dimBusBarVO.getStationVoltageLevel()).getName());
dimBusBarVO.setBusVoltageLevel(String.format("%02d", voltageMap.get(dimBusBarVO.getBusVoltageLevel()).getAlgoDescribe()));
dimBusBarVO.setStationVoltageLevel(String.format("%02d", voltageMap.get(dimBusBarVO.getStationVoltageLevel()).getAlgoDescribe()));
dimBusBarVO.setPsrStateName(monitorDicMap.get(dimBusBarVO.getPsrStateName()).getName());
}
}
BeanUtil.copyProperties(page, pmsPage);
pmsPage.setList(page.getRecords());
return pmsPage;
}
@Override
public Page<DimBusBarVO> getBaseEvaMonitorBusDetail(DimBusBarParam param) {
public PmsPage<DimBusBarVO> getBaseEvaMonitorBusDetail(DimBusBarParam param) {
PmsPage<DimBusBarVO> pmsPage = new PmsPage<>(param.getPageNum(), param.getPageSize());
List<String> temBusIds = new ArrayList<>();
Map<String, String> effectMap = new HashMap<>();
LocalDate begin = LocalDate.parse(param.getStartTime());
if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_D.getCode())) {
//具体日期投运,监测台账查询
LambdaQueryWrapper<PmsRunStatisticD> dayLam = new LambdaQueryWrapper<>();
dayLam.select(PmsRunStatisticD::getOnlineBusIds)
dayLam.select(PmsRunStatisticD::getOnlineBusMidIds)
.eq(PmsRunStatisticD::getStatisticDate, begin)
.eq(PmsRunStatisticD::getDeptId, param.getOrgId());
PmsRunStatisticD pmsRunStatisticD = pmsRunStatisticDMapper.selectOne(dayLam);
if (Objects.nonNull(pmsRunStatisticD)) {
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticD.getOnlineBusIds().split(StrUtil.COMMA)));
if (StrUtil.isNotBlank(pmsRunStatisticD.getOnlineBusMidIds())) {
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticD.getOnlineBusMidIds().split(StrUtil.COMMA)));
List<RDimBusUpD> rDimBusUpDList = rDimBusUpDMapper.selectList(new LambdaQueryWrapper<RDimBusUpD>().in(RDimBusUpD::getMidBusId, temBusIds)
.eq(RDimBusUpD::getStatisticDate, param.getStartTime()).eq(RDimBusUpD::getPhasicType, "A"));
effectMap = rDimBusUpDList.stream().collect(Collectors.toMap(RDimBusUpD::getBusId, RDimBusUpD::getEffectIds));
}
}
} else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())) {
//具体日期投运,监测台账查询
LambdaQueryWrapper<PmsRunStatisticM> dayLam = new LambdaQueryWrapper<>();
dayLam.select(PmsRunStatisticM::getOnlineBusIds)
dayLam.select(PmsRunStatisticM::getOnlineBusMidIds)
.eq(PmsRunStatisticM::getStatisticDate, begin).eq(PmsRunStatisticM::getDeptId, param.getOrgId());
PmsRunStatisticM pmsRunStatisticM = pmsRunStatisticMMapper.selectOne(dayLam);
if (Objects.nonNull(pmsRunStatisticM)) {
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticM.getOnlineBusIds().split(StrUtil.COMMA)));
if (StrUtil.isNotBlank(pmsRunStatisticM.getOnlineBusMidIds())) {
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticM.getOnlineBusMidIds().split(StrUtil.COMMA)));
List<RDimBusUpM> rDimBusUpDList = rDimBusUpMMapper.selectList(new LambdaQueryWrapper<RDimBusUpM>().in(RDimBusUpM::getMidBusId, temBusIds)
.eq(RDimBusUpM::getStatisticDate, param.getStartTime()).eq(RDimBusUpM::getPhasicType, "A"));
effectMap = rDimBusUpDList.stream().collect(Collectors.toMap(RDimBusUpM::getBusId, RDimBusUpM::getEffectIds));
}
}
} else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())) {
//具体日期投运,监测台账查询
LambdaQueryWrapper<PmsRunStatisticY> dayLam = new LambdaQueryWrapper<>();
dayLam.select(PmsRunStatisticY::getOnlineBusIds)
dayLam.select(PmsRunStatisticY::getOnlineBusMidIds)
.eq(PmsRunStatisticY::getStatisticDate, begin).eq(PmsRunStatisticY::getDeptId, param.getNodeId());
PmsRunStatisticY pmsRunStatisticY = pmsRunStatisticYMapper.selectOne(dayLam);
if (Objects.nonNull(pmsRunStatisticY)) {
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticY.getOnlineBusIds().split(StrUtil.COMMA)));
if (StrUtil.isNotBlank(pmsRunStatisticY.getOnlineBusMidIds())) {
temBusIds = new ArrayList<>(Arrays.asList(pmsRunStatisticY.getOnlineBusMidIds().split(StrUtil.COMMA)));
List<RDimBusUpY> rDimBusUpDList = rDimBusUpYMapper.selectList(new LambdaQueryWrapper<RDimBusUpY>().in(RDimBusUpY::getMidBusId, temBusIds)
.eq(RDimBusUpY::getStatisticDate, param.getStartTime()).eq(RDimBusUpY::getPhasicType, "A"));
effectMap = rDimBusUpDList.stream().collect(Collectors.toMap(RDimBusUpY::getBusId, RDimBusUpY::getEffectIds));
}
}
}
if (CollectionUtil.isEmpty(temBusIds)) {
return new Page<>();
return new PmsPage<>();
}
param.setOnlineBusIds(temBusIds);
return this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param);
Page<DimBusBarVO> page = this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param);
if (CollUtil.isNotEmpty(page.getRecords())) {
List<DictData> voltageDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
Map<String, DictData> voltageMap = voltageDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
List<DictData> monitorDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_STATE.getCode()).getData();
Map<String, DictData> monitorDicMap = monitorDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
for (DimBusBarVO dimBusBarVO : page.getRecords()) {
dimBusBarVO.setBusVoltageLevelName(voltageMap.get(dimBusBarVO.getBusVoltageLevel()).getName());
dimBusBarVO.setStationVoltageLevelName(voltageMap.get(dimBusBarVO.getStationVoltageLevel()).getName());
dimBusBarVO.setBusVoltageLevel(String.format("%02d", voltageMap.get(dimBusBarVO.getBusVoltageLevel()).getAlgoDescribe()));
dimBusBarVO.setStationVoltageLevel(String.format("%02d", voltageMap.get(dimBusBarVO.getStationVoltageLevel()).getAlgoDescribe()));
dimBusBarVO.setPsrStateName(monitorDicMap.get(dimBusBarVO.getPsrStateName()).getName());
String tem = effectMap.get(dimBusBarVO.getLineId());
int count = 0;
if (tem.length() > 0) {
for (int i = 0; i < tem.length(); i++) {
if (tem.charAt(i) == ',') {
count++;
}
}
}
dimBusBarVO.setBusEfectiveMnitorNum(count);
}
}
BeanUtil.copyProperties(page, pmsPage);
pmsPage.setList(page.getRecords());
return pmsPage;
}
@Override
public Page<DimBusBarVO> getBusListByVoltageLevel(DimBusBarParam param) {
public PmsPage<DimBusBarVO> getBusListByVoltageLevel(DimBusBarParam param) {
PmsPage<DimBusBarVO> result = new PmsPage<>(param.getPageNum(), param.getPageSize());
List<String> temBusIds = new ArrayList<>();
List<RDimUpDTO> rDimUpDTOList = new ArrayList<>();
@@ -320,12 +409,20 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
}
temBusIds = this.busTargetAss(param, temBusIds, rDimUpDTOList);
if (CollectionUtil.isEmpty(temBusIds)) {
return new Page<>();
return result;
}
param.setOnlineBusIds(temBusIds);
Page<DimBusBarVO> page = this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param);
if (CollectionUtil.isNotEmpty(page.getRecords())) {
Map<String, RDimUpDTO> map = rDimUpDTOList.stream().collect(Collectors.toMap(RDimUpDTO::getBusMidId, Function.identity()));
List<DictData> voltageDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
Map<String, DictData> voltageMap = voltageDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
List<DictData> monitorDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_STATE.getCode()).getData();
Map<String, DictData> monitorDicMap = monitorDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
page.getRecords().forEach(it -> {
if (map.containsKey(it.getAstId())) {
RDimUpDTO rDimUpDTO = map.get(it.getAstId());
@@ -333,74 +430,309 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
it.setMonitorId(rDimUpDTO.getEffectId());
it.setIndexAvgValue(rDimUpDTO.getV().toString());
}
it.setBusVoltageLevelName(voltageMap.get(it.getBusVoltageLevel()).getName());
it.setStationVoltageLevelName(voltageMap.get(it.getStationVoltageLevel()).getName());
it.setBusVoltageLevel(String.format("%02d", voltageMap.get(it.getBusVoltageLevel()).getAlgoDescribe()));
it.setStationVoltageLevel(String.format("%02d", voltageMap.get(it.getStationVoltageLevel()).getAlgoDescribe()));
it.setPsrStateName(monitorDicMap.get(it.getPsrStateName()).getName());
});
}
return page;
}
@Override
public PmsPage<DimBusBarVO.DimBusBarMonitorVO> getMonitorListByBus(DimBusBarParam param) {
if(StrUtil.isBlank(param.getBusId())){
return new PmsPage<>();
}
PmsPage<DimBusBarVO.DimBusBarMonitorVO> result = new PmsPage<>(param.getPageNum(),param.getPageSize());
List<RDimUpDTO> rDimUpDTOList = new ArrayList<>();
List<String> midBusIds = this.busTargetAss(param, Stream.of(param.getBusId()).collect(Collectors.toList()), rDimUpDTOList);
if(CollectionUtil.isEmpty(midBusIds)){
return new PmsPage<>();
}
List<PmsMidLedger> pmsMidLedgerList = pmsMidLedgerClient.getPmsMidLedgerList(midBusIds).getData();
if(CollectionUtil.isEmpty(pmsMidLedgerList)){
return new PmsPage<>();
}
Map<String,PmsMidLedger> midLedgerMap = pmsMidLedgerList.stream().collect(Collectors.toMap(PmsMidLedger::getId,Function.identity()));
List<String> effectIds = rDimUpDTOList.stream().map(RDimUpDTO::getEffectIds).filter(Objects::nonNull).collect(Collectors.toList());
List<String> effectId = rDimUpDTOList.stream().map(RDimUpDTO::getEffectId).filter(Objects::nonNull).collect(Collectors.toList());
Map<String,RDimUpDTO> busMap = rDimUpDTOList.stream().collect(Collectors.toMap(RDimUpDTO::getBusId,Function.identity()));
List<String> monitorIds = new ArrayList<>();
effectIds.forEach(it-> monitorIds.addAll(Arrays.asList(it.split(StrUtil.COMMA))));
TerminalQueryParam terminalQueryParam = new TerminalQueryParam();
terminalQueryParam.setMonitorIds(monitorIds);
Page<Monitor> page = monitorClient.getMonitorPage(terminalQueryParam).getData();
List<DimBusBarVO.DimBusBarMonitorVO> temList = new ArrayList<>();
page.getRecords().forEach(it->{
DimBusBarVO.DimBusBarMonitorVO tem = new DimBusBarVO.DimBusBarMonitorVO();
tem.setMonitorId(it.getMonitorId());
RDimUpDTO rDimUpDTO = busMap.get(it.getLineId());
PmsMidLedger pmsMidLedger = midLedgerMap.get(rDimUpDTO.getBusMidId());
tem.setBusId(pmsMidLedger.getId());
tem.setBusName(pmsMidLedger.getName());
tem.setId(IdUtil.simpleUUID());
tem.setCityOrg(pmsMidLedger.getCityOrg());
tem.setCityOrgName(pmsMidLedger.getCityOrgName());
tem.setMaintOrg(pmsMidLedger.getSectionId());
tem.setMaintOrgName(pmsMidLedger.getSection());
tem.setStatDate(param.getStatDate());
tem.setStatus("01");
tem.setStatusName("投运");
if(effectId.contains(it.getId())){
tem.setWhetherOptimal("");
tem.setWhetherOptimalName(it.getName());
}
tem.setMonitorName(it.getName());
temList.add(tem);
});
result.setTotal(page.getTotal());
result.setList(temList);
BeanUtil.copyProperties(page, result);
result.setList(page.getRecords());
return result;
}
@Override
public PmsPage<DimBusBarVO.DimBusBarMonitorVoltageVO> getBaseEvaBusMonitorList(DimBusBarParam param) {
return null;
public PmsPage<DimBusBarVO.DimBusBarEffectMonitorVO> getMonitorListByBus(DimBusBarParam param) {
PmsPage<DimBusBarVO.DimBusBarEffectMonitorVO> result = new PmsPage<>(param.getPageNum(), param.getPageSize());
if (StrUtil.isBlank(param.getBusId())) {
return result;
}
List<DimBusBarVO.DimBusBarEffectMonitorVO> voList = new ArrayList<>();
Page<DimBusBarVO> page = this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param);
if (CollUtil.isNotEmpty(page.getRecords())) {
Map<String, String> effectMap = new HashMap<>();
if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_D.getCode())) {
//具体日期投运,监测台账查询
List<RDimBusUpD> rDimBusUpDList = rDimBusUpDMapper.selectList(new LambdaQueryWrapper<RDimBusUpD>().eq(RDimBusUpD::getMidBusId, param.getBusId())
.eq(RDimBusUpD::getStatisticDate, param.getStartTime()).eq(RDimBusUpD::getPhasicType, "A"));
effectMap = rDimBusUpDList.stream().collect(Collectors.toMap(RDimBusUpD::getBusId, RDimBusUpD::getEffectIds));
} else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())) {
List<RDimBusUpM> rDimBusUpDList = rDimBusUpMMapper.selectList(new LambdaQueryWrapper<RDimBusUpM>().eq(RDimBusUpM::getMidBusId, param.getBusId())
.eq(RDimBusUpM::getStatisticDate, param.getStartTime()).eq(RDimBusUpM::getPhasicType, "A"));
effectMap = rDimBusUpDList.stream().collect(Collectors.toMap(RDimBusUpM::getBusId, RDimBusUpM::getEffectIds));
} else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())) {
List<RDimBusUpY> rDimBusUpDList = rDimBusUpYMapper.selectList(new LambdaQueryWrapper<RDimBusUpY>().eq(RDimBusUpY::getMidBusId, param.getBusId())
.eq(RDimBusUpY::getStatisticDate, param.getStartTime()).eq(RDimBusUpY::getPhasicType, "A"));
effectMap = rDimBusUpDList.stream().collect(Collectors.toMap(RDimBusUpY::getBusId, RDimBusUpY::getEffectIds));
}
DimBusBarVO dimBusBarVO = page.getRecords().get(0);
if (effectMap.containsKey(dimBusBarVO.getLineId())) {
String effectIds = effectMap.get(dimBusBarVO.getLineId());
if (StrUtil.isNotBlank(effectIds)) {
List<String> monitorIds = new ArrayList<>(Arrays.asList(effectIds.split(StrUtil.COMMA)));
List<Monitor> monitorList = monitorClient.getMonitorList(monitorIds).getData();
if (CollUtil.isNotEmpty(monitorList)) {
List<String> ids = monitorList.stream().map(Monitor::getId).collect(Collectors.toList());
QueryWrapper<RStatLimitRateDPO> queryWrapper = new QueryWrapper<>();
harmMonitorTarget(param, queryWrapper);
queryWrapper.in("my_index", ids);
List<RStatLimitRateDPO> rStatLimitRateDPOList = rStatLimitRateDMapper.selectList(queryWrapper);
if (CollUtil.isNotEmpty(rStatLimitRateDPOList)) {
Map<String, List<RStatLimitRateDPO>> map = rStatLimitRateDPOList.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId));
List<DictData> voltageDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
Map<String, DictData> voltageMap = voltageDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
for (Monitor monitor : monitorList) {
if (map.containsKey(monitor.getId())) {
DimBusBarVO.DimBusBarEffectMonitorVO vo = new DimBusBarVO.DimBusBarEffectMonitorVO();
vo.setBusId(dimBusBarVO.getMidId());
vo.setBusName(dimBusBarVO.getBusName());
vo.setBusVoltageLevelName(voltageMap.get(dimBusBarVO.getBusVoltageLevel()).getName());
vo.setBusVoltageLevel(String.format("%02d", voltageMap.get(dimBusBarVO.getBusVoltageLevel()).getAlgoDescribe()));
vo.setCityOrg(dimBusBarVO.getCityOrg());
vo.setCityOrgName(dimBusBarVO.getCityOrgName());
vo.setMaintOrg(dimBusBarVO.getMaintOrg());
vo.setMaintOrgName(dimBusBarVO.getMaintOrgName());
vo.setMonitorId(monitor.getMonitorId());
vo.setMonitorName(monitor.getName());
vo.setStationId(dimBusBarVO.getStationId());
vo.setStationName(dimBusBarVO.getStationName());
vo.setStatus("01");
vo.setStatusName("运行");
voList.add(vo);
}
}
}
}
}
}
}
result.setTotal(voList.size());
result.setList(voList);
return result;
}
@Override
public PmsPage<DimBusBarVO.DimBusBarMonitorVO> getBaseEvaBusMonitorList(DimBusBarParam param) {
PmsPage<DimBusBarVO.DimBusBarMonitorVO> result = new PmsPage<>(param.getPageNum(), param.getPageSize());
if (StrUtil.isBlank(param.getBusId())) {
return result;
}
Page<DimBusBarVO> page = this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param);
if (CollUtil.isNotEmpty(page.getRecords())) {
List<DimBusBarVO.DimBusBarMonitorVO> voList = new ArrayList<>();
DimBusBarVO dimBusBarVO = page.getRecords().get(0);
Map<String, String> effectMap = new HashMap<>();
if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_D.getCode())) {
//具体日期投运,监测台账查询
List<RDimBusUpD> rDimBusUpDList = rDimBusUpDMapper.selectList(new LambdaQueryWrapper<RDimBusUpD>().eq(RDimBusUpD::getMidBusId, param.getBusId())
.eq(RDimBusUpD::getStatisticDate, param.getStartTime()).eq(RDimBusUpD::getPhasicType, "A"));
effectMap = rDimBusUpDList.stream().collect(Collectors.toMap(RDimBusUpD::getBusId, RDimBusUpD::getEffectIds));
} else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())) {
List<RDimBusUpM> rDimBusUpDList = rDimBusUpMMapper.selectList(new LambdaQueryWrapper<RDimBusUpM>().eq(RDimBusUpM::getMidBusId, param.getBusId())
.eq(RDimBusUpM::getStatisticDate, param.getStartTime()).eq(RDimBusUpM::getPhasicType, "A"));
effectMap = rDimBusUpDList.stream().collect(Collectors.toMap(RDimBusUpM::getBusId, RDimBusUpM::getEffectIds));
} else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())) {
List<RDimBusUpY> rDimBusUpDList = rDimBusUpYMapper.selectList(new LambdaQueryWrapper<RDimBusUpY>().eq(RDimBusUpY::getMidBusId, param.getBusId())
.eq(RDimBusUpY::getStatisticDate, param.getStartTime()).eq(RDimBusUpY::getPhasicType, "A"));
effectMap = rDimBusUpDList.stream().collect(Collectors.toMap(RDimBusUpY::getBusId, RDimBusUpY::getEffectIds));
}
if (effectMap.containsKey(dimBusBarVO.getLineId())) {
String effectIds = effectMap.get(dimBusBarVO.getLineId());
if (StrUtil.isNotBlank(effectIds)) {
List<String> monitorIds = new ArrayList<>(Arrays.asList(effectIds.split(StrUtil.COMMA)));
List<Monitor> monitorList = monitorClient.getMonitorList(monitorIds).getData();
if (CollUtil.isNotEmpty(monitorList)) {
List<String> ids = monitorList.stream().map(Monitor::getId).collect(Collectors.toList());
QueryWrapper<RStatLimitRateDPO> queryWrapper = new QueryWrapper<>();
harmMonitorTarget(param, queryWrapper);
queryWrapper.in("my_index", ids);
List<RStatLimitRateDPO> rStatLimitRateDPOList = rStatLimitRateDMapper.selectList(queryWrapper);
if (CollUtil.isNotEmpty(rStatLimitRateDPOList)) {
Map<String, List<RStatLimitRateDPO>> map = rStatLimitRateDPOList.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId));
if (CollUtil.isNotEmpty(monitorList)) {
DataQualityDetailsParam dataQualityDetailsParam = new DataQualityDetailsParam();
dataQualityDetailsParam.setCheckRules(monitorIds);
dataQualityDetailsParam.setStartTime(param.getStartTime());
dataQualityDetailsParam.setEndTime(param.getEndTime());
List<RStatIntegrityD> rStatIntegrityDList = lineIntegrityDataClient.getIntegrityData(dataQualityDetailsParam).getData();
Map<String, List<RStatIntegrityD>> stringListMap = rStatIntegrityDList.stream().collect(Collectors.groupingBy(RStatIntegrityD::getLineIndex));
List<DictData> voltageDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
Map<String, DictData> voltageMap = voltageDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
for (Monitor monitor : monitorList) {
if (map.containsKey(monitor.getId())) {
DimBusBarVO.DimBusBarMonitorVO tem = new DimBusBarVO.DimBusBarMonitorVO();
tem.setMonitorId(monitor.getMonitorId());
if (monitor.getId().equals(monitorIds.get(monitorIds.size() - 1))) {
tem.setWhetherOptimal("1");
tem.setWhetherOptimalName("");
} else {
tem.setWhetherOptimal("0");
tem.setWhetherOptimalName("");
}
List<RStatIntegrityD> temR = stringListMap.get(monitor.getId());
int due = temR.stream().mapToInt(RStatIntegrityD::getDueTime).sum();
int real = temR.stream().mapToInt(RStatIntegrityD::getRealTime).sum();
tem.setActualCollectNum(real);
tem.setExpectCollectNum(due);
if (due == 0) {
tem.setDataFullRate(0.000f);
} else {
DecimalFormat decimalFormat = new DecimalFormat("#0.000");
String rate = decimalFormat.format((float) real / due * 100);
tem.setDataFullRate(Float.valueOf(rate));
}
tem.setBusId(dimBusBarVO.getMidId());
tem.setBusName(dimBusBarVO.getBusName());
tem.setId(IdUtil.simpleUUID());
tem.setCityOrg(dimBusBarVO.getCityOrg());
tem.setCityOrgName(dimBusBarVO.getCityOrgName());
tem.setMaintOrg(dimBusBarVO.getCityOrg());
tem.setMaintOrgName(dimBusBarVO.getCityOrgName());
tem.setStationId(dimBusBarVO.getStationId());
tem.setStationName(dimBusBarVO.getStationName());
tem.setBusVoltageLevelName(voltageMap.get(dimBusBarVO.getBusVoltageLevel()).getName());
tem.setBusVoltageLevel(String.format("%02d", voltageMap.get(dimBusBarVO.getBusVoltageLevel()).getAlgoDescribe()));
tem.setStatus("01");
tem.setStatusName("运行");
tem.setMonitorName(monitor.getName());
tem.setStatDate(param.getStatDate());
voList.add(tem);
}
result.setList(voList);
result.setTotal(voList.size());
}
}
}
}
}
}
}
return result;
}
@Override
public PmsPage<DimBusBarVO.DimBusBarMonitorAvgVO> getBusAvgListByMonitorId(DimBusBarParam param) {
PmsPage<DimBusBarVO.DimBusBarMonitorAvgVO> result = new PmsPage<>(param.getPageNum(), param.getPageSize());
if (StrUtil.isBlank(param.getBusId())) {
return result;
}
List<DimBusBarVO.DimBusBarMonitorAvgVO> voList = new ArrayList<>();
Page<DimBusBarVO> page = this.baseMapper.getBaseEvaOnlineBusDetail(new Page<>(param.getPageNum(), param.getPageSize()), param);
if (CollUtil.isNotEmpty(page.getRecords())) {
Map<String, String> effectMap = new HashMap<>();
if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_D.getCode())) {
//具体日期投运,监测台账查询
List<RDimBusUpD> rDimBusUpDList = rDimBusUpDMapper.selectList(new LambdaQueryWrapper<RDimBusUpD>().eq(RDimBusUpD::getMidBusId, param.getBusId())
.eq(RDimBusUpD::getStatisticDate, param.getStartTime()).eq(RDimBusUpD::getPhasicType, "A"));
effectMap = rDimBusUpDList.stream().collect(Collectors.toMap(RDimBusUpD::getBusId, RDimBusUpD::getEffectIds));
} else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())) {
List<RDimBusUpM> rDimBusUpDList = rDimBusUpMMapper.selectList(new LambdaQueryWrapper<RDimBusUpM>().eq(RDimBusUpM::getMidBusId, param.getBusId())
.eq(RDimBusUpM::getStatisticDate, param.getStartTime()).eq(RDimBusUpM::getPhasicType, "A"));
effectMap = rDimBusUpDList.stream().collect(Collectors.toMap(RDimBusUpM::getBusId, RDimBusUpM::getEffectIds));
} else if (param.getStatType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())) {
List<RDimBusUpY> rDimBusUpDList = rDimBusUpYMapper.selectList(new LambdaQueryWrapper<RDimBusUpY>().eq(RDimBusUpY::getMidBusId, param.getBusId())
.eq(RDimBusUpY::getStatisticDate, param.getStartTime()).eq(RDimBusUpY::getPhasicType, "A"));
effectMap = rDimBusUpDList.stream().collect(Collectors.toMap(RDimBusUpY::getBusId, RDimBusUpY::getEffectIds));
}
DimBusBarVO dimBusBarVO = page.getRecords().get(0);
if (effectMap.containsKey(dimBusBarVO.getLineId())) {
String effectIds = effectMap.get(dimBusBarVO.getLineId());
if (StrUtil.isNotBlank(effectIds)) {
List<String> monitorIds = new ArrayList<>(Arrays.asList(effectIds.split(StrUtil.COMMA)));
List<Monitor> monitorList = monitorClient.getMonitorList(monitorIds).getData();
if (CollUtil.isNotEmpty(monitorList)) {
List<String> ids = monitorList.stream().map(Monitor::getId).collect(Collectors.toList());
Map<String, List<RStatLimitRateDPO>> map;
if (StrUtil.isNotBlank(param.getIndexType())) {
QueryWrapper<RStatLimitRateDPO> queryWrapper = new QueryWrapper<>();
harmMonitorTarget(param, queryWrapper);
queryWrapper.in("my_index", ids);
List<RStatLimitRateDPO> rStatLimitRateDPOList = rStatLimitRateDMapper.selectList(queryWrapper);
if (CollUtil.isNotEmpty(rStatLimitRateDPOList)) {
map = rStatLimitRateDPOList.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId));
} else {
map = new HashMap<>();
}
monitorList = monitorList.stream().filter(item -> map.containsKey(item.getId())).collect(Collectors.toList());
}
if (CollUtil.isNotEmpty(monitorList)) {
List<String> temIds = monitorList.stream().map(Monitor::getId).collect(Collectors.toList());
QueryWrapper<RStatDataVD> queryWrapper = new QueryWrapper<>();
queryWrapper.select("avg(rms) as rms,line_id").in("line_id", temIds).between("time", param.getStartTime(), param.getEndTime()).in("phasic_type", Stream.of("A", "B", "C").collect(Collectors.toList())).eq("value_type", "AVG").groupBy("line_id");
List<RStatDataVD> rStatDataVDPOList = rStatDataVDMapper.selectList(queryWrapper);
Map<String, RStatDataVD> rStatDataVDMap = rStatDataVDPOList.stream().collect(Collectors.toMap(RStatDataVD::getLineId, Function.identity()));
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_CONNECT.getCode()).getData();
Map<String, DictData> terminalWireMap = dictDataList.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
for (Monitor monitor : monitorList) {
DimBusBarVO.DimBusBarMonitorAvgVO vo = new DimBusBarVO.DimBusBarMonitorAvgVO();
vo.setBusName(dimBusBarVO.getBusName());
vo.setCityOrg(dimBusBarVO.getCityOrg());
vo.setCityOrgName(dimBusBarVO.getCityOrgName());
vo.setMaintOrg(dimBusBarVO.getMaintOrg());
vo.setMaintOrgName(dimBusBarVO.getMaintOrgName());
vo.setMonitorId(monitor.getMonitorId());
vo.setMonitorName(monitor.getName());
vo.setStationId(dimBusBarVO.getStationId());
vo.setStationName(dimBusBarVO.getStationName());
vo.setSeq(CollUtil.isNotEmpty(param.getSeqs()) ? String.join(StrUtil.COMMA, param.getSeqs()):"");
vo.setHarmonicNum(Objects.nonNull(param.getHarmonicNum())? param.getHarmonicNum().toString():"");
vo.setStatDate(param.getStatDate());
vo.setStatus("01");
vo.setStatusName("运行");
if (rStatDataVDMap.containsKey(monitor.getId())) {
RStatDataVD rStatDataVD = rStatDataVDMap.get(monitor.getId());
vo.setLineVoltage(rStatDataVD.getRms().setScale(4, RoundingMode.HALF_UP).toString());
vo.setIndexValue(rStatDataVD.getRms().divide(BigDecimal.valueOf(Math.sqrt(3)), 4, RoundingMode.HALF_UP).toString());
}
DictData dictData = terminalWireMap.get(monitor.getTerminalWiringMethod());
vo.setTerminalConnect(dictData.getValue());
vo.setTerminalConnectName(dictData.getName());
voList.add(vo);
}
}
}
}
}
}
result.setTotal(voList.size());
result.setList(voList);
return result;
}
@@ -411,62 +743,62 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
* @date 2024/5/14
*/
private List<String> busTargetAss(DimBusBarParam param, List<String> temBusIds, List<RDimUpDTO> rDimUpDTOList) {
String statisticType = param.getStatType();
if (DicDataEnum.STATISTICAL_TYPE_D.getCode().equals(statisticType)) {
QueryWrapper<RDimBusUpD> queryWrapper = new QueryWrapper<>();
this.harmTarget(param, temBusIds, queryWrapper);
List<RDimBusUpD> rDimBusUpDList = rDimBusUpDMapper.selectList(queryWrapper);
Map<String,List<RDimBusUpD>> map = rDimBusUpDList.stream().collect(Collectors.groupingBy(RDimBusUpD::getBusId));
map.forEach((key,val)->{
RDimUpDTO rDimUpDTO = new RDimUpDTO();
rDimUpDTO.setBusMidId(val.get(0).getMidBusId());
rDimUpDTO.setEffectId(val.get(0).getEffectId());
rDimUpDTO.setEffectIds(val.get(0).getEffectIds());
rDimUpDTO.setBusId(val.get(0).getBusId());
rDimUpDTO.setV(val.stream().mapToDouble(RDimBusUpD::getV).filter(it->it!=3.14159).average().orElse(3.14159));
rDimUpDTOList.add(rDimUpDTO);
});
String statisticType = param.getStatType();
if (DicDataEnum.STATISTICAL_TYPE_D.getCode().equals(statisticType)) {
QueryWrapper<RDimBusUpD> queryWrapper = new QueryWrapper<>();
this.harmTarget(param, temBusIds, queryWrapper);
List<RDimBusUpD> rDimBusUpDList = rDimBusUpDMapper.selectList(queryWrapper);
Map<String, List<RDimBusUpD>> map = rDimBusUpDList.stream().collect(Collectors.groupingBy(RDimBusUpD::getBusId));
map.forEach((key, val) -> {
RDimUpDTO rDimUpDTO = new RDimUpDTO();
rDimUpDTO.setBusMidId(val.get(0).getMidBusId());
rDimUpDTO.setEffectId(val.get(0).getEffectId());
rDimUpDTO.setEffectIds(val.get(0).getEffectIds());
rDimUpDTO.setBusId(val.get(0).getBusId());
rDimUpDTO.setV(val.stream().mapToDouble(RDimBusUpD::getV).filter(it -> it != 3.14159).average().orElse(3.14159));
rDimUpDTOList.add(rDimUpDTO);
});
temBusIds = rDimBusUpDList.stream().map(RDimBusUpD::getMidBusId).distinct().collect(Collectors.toList());
this.harmTarget(param, temBusIds, queryWrapper);
} else if (DicDataEnum.STATISTICAL_TYPE_M.getCode().equals(statisticType)) {
QueryWrapper<RDimBusUpM> queryWrapper = new QueryWrapper<>();
this.harmTarget(param, temBusIds, queryWrapper);
List<RDimBusUpM> rDimBusUpMList = rDimBusUpMMapper.selectList(queryWrapper);
Map<String,List<RDimBusUpM>> map = rDimBusUpMList.stream().collect(Collectors.groupingBy(RDimBusUpM::getBusId));
map.forEach((key,val)->{
RDimUpDTO rDimUpDTO = new RDimUpDTO();
rDimUpDTO.setBusMidId(val.get(0).getMidBusId());
rDimUpDTO.setBusId(val.get(0).getBusId());
rDimUpDTO.setEffectId(val.get(0).getEffectId());
rDimUpDTO.setEffectIds(val.get(0).getEffectIds());
rDimUpDTO.setV(val.stream().mapToDouble(RDimBusUpM::getV).filter(it->it!=3.14159).average().orElse(3.14159));
rDimUpDTOList.add(rDimUpDTO);
});
temBusIds = rDimBusUpMList.stream().map(RDimBusUpM::getMidBusId).distinct().collect(Collectors.toList());
} else if (DicDataEnum.STATISTICAL_TYPE_Y.getCode().equals(statisticType)) {
QueryWrapper<RDimBusUpY> queryWrapper = new QueryWrapper<>();
this.harmTarget(param, temBusIds, queryWrapper);
List<RDimBusUpY> rDimBusUpYList = rDimBusUpYMapper.selectList(queryWrapper);
Map<String,List<RDimBusUpY>> map = rDimBusUpYList.stream().collect(Collectors.groupingBy(RDimBusUpY::getBusId));
map.forEach((key,val)->{
RDimUpDTO rDimUpDTO = new RDimUpDTO();
rDimUpDTO.setBusMidId(val.get(0).getMidBusId());
rDimUpDTO.setBusId(val.get(0).getBusId());
rDimUpDTO.setEffectId(val.get(0).getEffectId());
rDimUpDTO.setEffectIds(val.get(0).getEffectIds());
rDimUpDTO.setV(val.stream().mapToDouble(RDimBusUpY::getV).filter(it->it!=3.14159).average().orElse(3.14159));
rDimUpDTOList.add(rDimUpDTO);
});
temBusIds = rDimBusUpYList.stream().map(RDimBusUpY::getMidBusId).distinct().collect(Collectors.toList());
}
temBusIds = rDimBusUpDList.stream().map(RDimBusUpD::getMidBusId).distinct().collect(Collectors.toList());
this.harmTarget(param, temBusIds, queryWrapper);
} else if (DicDataEnum.STATISTICAL_TYPE_M.getCode().equals(statisticType)) {
QueryWrapper<RDimBusUpM> queryWrapper = new QueryWrapper<>();
this.harmTarget(param, temBusIds, queryWrapper);
List<RDimBusUpM> rDimBusUpMList = rDimBusUpMMapper.selectList(queryWrapper);
Map<String, List<RDimBusUpM>> map = rDimBusUpMList.stream().collect(Collectors.groupingBy(RDimBusUpM::getBusId));
map.forEach((key, val) -> {
RDimUpDTO rDimUpDTO = new RDimUpDTO();
rDimUpDTO.setBusMidId(val.get(0).getMidBusId());
rDimUpDTO.setBusId(val.get(0).getBusId());
rDimUpDTO.setEffectId(val.get(0).getEffectId());
rDimUpDTO.setEffectIds(val.get(0).getEffectIds());
rDimUpDTO.setV(val.stream().mapToDouble(RDimBusUpM::getV).filter(it -> it != 3.14159).average().orElse(3.14159));
rDimUpDTOList.add(rDimUpDTO);
});
temBusIds = rDimBusUpMList.stream().map(RDimBusUpM::getMidBusId).distinct().collect(Collectors.toList());
} else if (DicDataEnum.STATISTICAL_TYPE_Y.getCode().equals(statisticType)) {
QueryWrapper<RDimBusUpY> queryWrapper = new QueryWrapper<>();
this.harmTarget(param, temBusIds, queryWrapper);
List<RDimBusUpY> rDimBusUpYList = rDimBusUpYMapper.selectList(queryWrapper);
Map<String, List<RDimBusUpY>> map = rDimBusUpYList.stream().collect(Collectors.groupingBy(RDimBusUpY::getBusId));
map.forEach((key, val) -> {
RDimUpDTO rDimUpDTO = new RDimUpDTO();
rDimUpDTO.setBusMidId(val.get(0).getMidBusId());
rDimUpDTO.setBusId(val.get(0).getBusId());
rDimUpDTO.setEffectId(val.get(0).getEffectId());
rDimUpDTO.setEffectIds(val.get(0).getEffectIds());
rDimUpDTO.setV(val.stream().mapToDouble(RDimBusUpY::getV).filter(it -> it != 3.14159).average().orElse(3.14159));
rDimUpDTOList.add(rDimUpDTO);
});
temBusIds = rDimBusUpYList.stream().map(RDimBusUpY::getMidBusId).distinct().collect(Collectors.toList());
}
return temBusIds;
}
private List<String> getOnlineBusIds(String nodeId, LocalDate begin, Class<?> clazz) {
QueryWrapper<?> dayLam = new QueryWrapper<>();
dayLam.eq("statisticDate", begin).eq("deptId", nodeId);
dayLam.eq("statistic_Date", begin).eq("dept_Id", nodeId);
Object pmsRunStatistic = null;
if (PmsRunStatisticD.class.equals(clazz)) {
pmsRunStatistic = pmsRunStatisticDMapper.selectOne((QueryWrapper<PmsRunStatisticD>) dayLam);
@@ -484,7 +816,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
} else {
onlineBusMidIds = ((PmsRunStatisticY) pmsRunStatistic).getOnlineBusMidIds();
}
if (onlineBusMidIds != null) {
if (StrUtil.isNotBlank(onlineBusMidIds)) {
return Arrays.asList(onlineBusMidIds.split(StrUtil.COMMA));
}
}
@@ -492,6 +824,56 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
}
private void harmMonitorTarget(DimBusBarParam param, QueryWrapper queryWrapper) {
//稳态指标条件筛选
String target = "", harmV = "";
switch (param.getIndexType()) {
case "01":
target = "voltage_dev_overtime";
break;
case "02":
target = "flicker_overtime";
break;
case "03":
target = "ubalance_overtime";
break;
case "04":
target = "uaberrance_overtime";
break;
case "05":
target = "harm_v";
break;
}
if (CollectionUtil.isNotEmpty(param.getSeqs())) {
queryWrapper.in("phasic_type", param.getSeqs());
} else {
queryWrapper.eq("phasic_type", "T");
}
queryWrapper.between("time_id", LocalDate.parse(param.getStartTime()), LocalDate.parse(param.getEndTime()));
if (StrUtil.isNotBlank(param.getIndexType())) {
if (param.getIndexType().equals("05")) {
harmV = "uharm_" + param.getHarmonicNum() + "_overtime";
queryWrapper.gt(harmV, 0);
} else {
queryWrapper.gt(target, 0);
}
}
if (param.getIndexType().equals("05")) {
queryWrapper.select("time_id", "phasic_type", "my_index as lineId", harmV);
} else {
queryWrapper.select("time_id", "phasic_type", "my_index as lineId", target);
}
}
/**
* 母线层级的
*
* @author cdf
* @date 2024/6/17
*/
private void harmTarget(DimBusBarParam param, List<String> temBusIds, QueryWrapper queryWrapper) {
//稳态指标条件筛选
String target = "", harmV = "";
@@ -516,6 +898,12 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
if (CollectionUtil.isNotEmpty(param.getSeqs())) {
queryWrapper.in("phasic_type", param.getSeqs());
}
if (StrUtil.isNotBlank(param.getVoltageLevel())) {
List<DictData> voltageDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
Map<String, DictData> voltageMap = voltageDic.stream().collect(Collectors.toMap(item -> String.format("%02d", item.getAlgoDescribe()), Function.identity()));
String voltage = voltageMap.get(param.getVoltageLevel()).getId();
queryWrapper.in("voltage_level", voltage);
}
queryWrapper.in("mid_bus_id", temBusIds);
queryWrapper.eq("statistic_date", LocalDate.parse(param.getStartTime()));
@@ -559,9 +947,9 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
default:
break;
}
lambdaQueryWrapper.eq(StrUtil.isNotBlank(param.getVoltageLevel()),RUploadEvaluationDataD::getVoltageLevel,param.getVoltageLevel())
.eq(StrUtil.isNotBlank(param.getTargetType()),RUploadEvaluationDataD::getIndexType,param.getTargetType())
.eq(StrUtil.isNotBlank(param.getTargetType())&&param.getTargetType().equals("05"),RUploadEvaluationDataD::getHarmonicNum,param.getHarmCount());
lambdaQueryWrapper.eq(StrUtil.isNotBlank(param.getVoltageLevel()), RUploadEvaluationDataD::getVoltageLevel, param.getVoltageLevel())
.eq(StrUtil.isNotBlank(param.getTargetType()), RUploadEvaluationDataD::getIndexType, param.getTargetType())
.eq(StrUtil.isNotBlank(param.getTargetType()) && param.getTargetType().equals("05"), RUploadEvaluationDataD::getHarmonicNum, param.getHarmCount());
return lambdaQueryWrapper;
}
@@ -604,7 +992,7 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
* @param send 上送结果
* @return
*/
private void returnInformation(Integer step, List<String> ids, Map<String, String> send,StrBuilder resultLog,AtomicBoolean resultFlag,LocalDate localDate) {
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")) {
@@ -625,15 +1013,15 @@ public class REvaluationDataServiceImpl extends ServiceImpl<RUploadEvaluationDat
} else {
resultFlag.set(false);
String errors = mapData.get("errors").toString();
String errorMsg = " 上送" + start + "条至" + end + "条数据,上送失败:" + status + "_" + errors+" ;";
String errorMsg = " 上送" + start + "条至" + end + "条数据,上送失败:" + status + "_" + errors + " ;";
resultLog.append(errorMsg);
assUploadLog(localDate,resultLog,resultFlag);
assUploadLog(localDate, resultLog, resultFlag);
throw new BusinessException(errorMsg);
}
} else {
resultFlag.set(false);
resultLog.append(" 上送" + start + "条至" + end + "条数据网络异常;");
assUploadLog(localDate,resultLog,resultFlag);
assUploadLog(localDate, resultLog, resultFlag);
throw new BusinessException("当前时间段国网上送请求过多,请稍后再试");
}

View File

@@ -0,0 +1,109 @@
package com.njcn.harmonic.service.upload.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.harmonic.mapper.upload.RUploadWorkOrderMapper;
import com.njcn.harmonic.pojo.dto.upload.FeedbackInfoDTO;
import com.njcn.harmonic.pojo.param.upload.RUploadWorkOrderParam;
import com.njcn.harmonic.pojo.po.upload.RUploadWorkOrderPO;
import com.njcn.harmonic.service.upload.IRUploadWorkOrderService;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.web.enums.GWSendEnum;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.pojo.param.SendParam;
import com.njcn.web.utils.GwSendUtil;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* <p>
* 用于存储总部下发的工单信息 服务实现类
* </p>
*
* @author cdf
* @since 2024-06-18
*/
@Service
@RequiredArgsConstructor
public class RUploadWorkOrderServiceImpl extends ServiceImpl<RUploadWorkOrderMapper, RUploadWorkOrderPO> implements IRUploadWorkOrderService {
@Override
public Boolean insertWorkorderDistributeSupervise(RUploadWorkOrderParam param) {
RUploadWorkOrderPO rUploadWorkOrderPO = new RUploadWorkOrderPO();
BeanUtil.copyProperties(param,rUploadWorkOrderPO);
return this.saveOrUpdate(rUploadWorkOrderPO);
}
@Override
public Boolean closeWorkorderDistributeSupervise(RUploadWorkOrderParam param) {
LambdaUpdateWrapper<RUploadWorkOrderPO> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(RUploadWorkOrderPO::getOrderId,param.getOrderContent()).set(RUploadWorkOrderPO::getClosedLoopTime, LocalDate.now());
return this.update(updateWrapper);
}
@Override
public Boolean receiveFeedbackInfo(List<String> ids) {
List<RUploadWorkOrderPO> poList = this.listByIds(ids);
if(poList.size()>100){
throw new BusinessException(CommonResponseEnum.FAIL,"最多支持一百条工单同时反馈!");
}
long count = poList.stream().filter(item-> Objects.nonNull(item.getClosedLoopTime())).count();
if(count>0){
throw new BusinessException(CommonResponseEnum.FAIL,"请选择未完结的工单进行反馈!");
}
List<FeedbackInfoDTO> feedbackInfoDTOList = BeanUtil.copyToList(poList, FeedbackInfoDTO.class);
SendParam sendParam = new SendParam();
sendParam.setStats(feedbackInfoDTOList);
Map<String,String> result = GwSendUtil.send(sendParam, GWSendEnum.WORK_ORDER_FEEDBACK);
GwSendUtil.returnInfoMsg(ids,result);
List<RUploadWorkOrderPO> newPoList = new ArrayList<>();
for(RUploadWorkOrderPO rUploadWorkOrderPO : poList){
RUploadWorkOrderPO newPo = new RUploadWorkOrderPO();
newPo.setObjId(rUploadWorkOrderPO.getObjId());
newPo.setFeedbackTime(LocalDate.now());
newPoList.add(newPo);
}
this.updateBatchById(newPoList);
return true;
}
@Override
public Page<RUploadWorkOrderPO> pageList(RUploadWorkOrderParam.RUploadWorkOrderQuery query) {
LambdaQueryWrapper<RUploadWorkOrderPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.between(RUploadWorkOrderPO::getDistributeTime, DateUtil.beginOfDay(DateUtil.parse(query.getSearchBeginTime(), DatePattern.NORM_DATE_PATTERN)),DateUtil.endOfDay(DateUtil.parse(query.getSearchEndTime(), DatePattern.NORM_DATE_PATTERN)));
return this.page(new Page<>(PageFactory.getPageNum(query),PageFactory.getPageSize(query)),lambdaQueryWrapper);
}
@Override
public Boolean feedBackAdd(RUploadWorkOrderParam param) {
RUploadWorkOrderPO rUploadWorkOrderPO = new RUploadWorkOrderPO();
BeanUtil.copyProperties(param,rUploadWorkOrderPO);
rUploadWorkOrderPO.setObjId(param.getObjId());
rUploadWorkOrderPO.setIsFeedback("1");
rUploadWorkOrderPO.setFeedbackUser(RequestUtil.getUserNickname());
rUploadWorkOrderPO.setFeedbackTime(LocalDate.now());
rUploadWorkOrderPO.setHandlingMeasures(param.getHandlingMeasures());
rUploadWorkOrderPO.setOrderStatus(DicDataEnum.WORK_ORDER_STATUS_ING.getCode());
this.updateById(rUploadWorkOrderPO);
return true;
}
}