1.pms主网测点数据统计功能调整

This commit is contained in:
2024-10-23 18:15:16 +08:00
parent b3f553c450
commit c80e2cd825
5 changed files with 89 additions and 74 deletions

View File

@@ -7,6 +7,7 @@ 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.harmonic.pojo.dto.upload.RUploadMainMonitorDataDTO;
import com.njcn.harmonic.pojo.param.UploadDataParam;
import com.njcn.harmonic.pojo.po.upload.RUploadCommPointBus;
import com.njcn.harmonic.pojo.po.upload.RUploadMainMonitorData;
@@ -42,9 +43,9 @@ public class RUploadMainMonitorController extends BaseController {
@PostMapping("/getMainMonitorPage")
@ApiOperation("分页查询主网监测点")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public HttpResult<Page<RUploadMainMonitorData>> getMainMonitorPage(@RequestBody @Validated UploadDataParam param) {
public HttpResult<Page<RUploadMainMonitorDataDTO>> getMainMonitorPage(@RequestBody @Validated UploadDataParam param) {
String methodDescribe = getMethodDescribe("getMainMonitorPage");
Page<RUploadMainMonitorData> page = rUploadMainMonitorService.getMainMonitorPage(param);
Page<RUploadMainMonitorDataDTO> page = rUploadMainMonitorService.getMainMonitorPage(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);
}

View File

@@ -3,6 +3,7 @@ package com.njcn.harmonic.service.upload;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.harmonic.pojo.dto.upload.RUploadMainMonitorDataDTO;
import com.njcn.harmonic.pojo.param.UploadDataParam;
import com.njcn.harmonic.pojo.po.upload.RUploadCommPointBus;
import com.njcn.harmonic.pojo.po.upload.RUploadMainMonitorData;
@@ -15,7 +16,7 @@ import com.njcn.harmonic.pojo.po.upload.RUploadMainMonitorData;
public interface RUploadMainMonitorService extends IService<RUploadMainMonitorData> {
Page<RUploadMainMonitorData> getMainMonitorPage(UploadDataParam param);
Page<RUploadMainMonitorDataDTO> getMainMonitorPage(UploadDataParam param);
Boolean upGwMainMonitor(UploadDataParam param);
}

View File

@@ -60,20 +60,21 @@ public class RUploadCommPointBusServiceImpl extends ServiceImpl<RUploadCommPoint
}
LambdaQueryWrapper<RUploadCommPointBus> lambdaQueryWrapper = new LambdaQueryWrapper<>();
String temDate = param.getSearchBeginTime();
if(StrUtil.isBlank(param.getDataType())){
//类型为空则上送日月年数据
DateTime dateTime = DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATE_PATTERN);
String month = DateUtil.format(dateTime,DatePattern.NORM_MONTH_PATTERN);
String year = DateUtil.format(dateTime,DatePattern.NORM_YEAR_PATTERN);
lambdaQueryWrapper.in(RUploadCommPointBus::getStatisticalDate, Stream.of(param.getSearchBeginTime(),month,year).collect(Collectors.toList()));
lambdaQueryWrapper.in(RUploadCommPointBus::getStatisticalDate, Stream.of(temDate,month,year).collect(Collectors.toList()));
}else {
if(param.getDataType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())){
param.setSearchBeginTime(DateUtil.format(DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATE_PATTERN),DatePattern.NORM_MONTH_PATTERN));
temDate = DateUtil.format(DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATE_PATTERN),DatePattern.NORM_MONTH_PATTERN);
}else if(param.getDataType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())){
param.setSearchBeginTime(DateUtil.format(DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATE_PATTERN),DatePattern.NORM_YEAR_PATTERN));
temDate = DateUtil.format(DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATE_PATTERN),DatePattern.NORM_YEAR_PATTERN);
}
lambdaQueryWrapper.eq(RUploadCommPointBus::getStatisticalType,param.getDataType())
.eq(RUploadCommPointBus::getStatisticalDate,param.getSearchBeginTime());
.eq(RUploadCommPointBus::getStatisticalDate,temDate);
}
List<RUploadCommPointBus> rUploadCommPointBusList = this.list(lambdaQueryWrapper);
if(CollUtil.isEmpty(rUploadCommPointBusList)){
@@ -93,15 +94,8 @@ public class RUploadCommPointBusServiceImpl extends ServiceImpl<RUploadCommPoint
}
if(StrUtil.isNotBlank(param.getDataType())){
DateTime dateTime = DateUtil.parse(param.getSearchBeginTime(), DatePattern.NORM_DATE_PATTERN);
sendParam.setStatisticalType(param.getDataType());
if(param.getDataType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())){
param.setSearchBeginTime(DateUtil.format(dateTime,DatePattern.NORM_MONTH_PATTERN));
}else if(param.getDataType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())){
param.setSearchBeginTime(DateUtil.format(dateTime,DatePattern.NORM_YEAR_PATTERN));
}
sendParam.setStatisticalDate(param.getSearchBeginTime());
sendParam.setStatisticalDate(temDate);
}
sendParam.setStats(list.get(i));
Map<String, String> sendRes = GwSendUtil.newSend(sendParam, GWSendEnum.COMM_POINT);

View File

@@ -75,7 +75,9 @@ public class RUploadMainMonitorServiceImpl extends ServiceImpl<RUploadMainMonito
@Override
public Page<RUploadMainMonitorData> getMainMonitorPage(UploadDataParam param) {
public Page<RUploadMainMonitorDataDTO> getMainMonitorPage(UploadDataParam param) {
Page<RUploadMainMonitorDataDTO> result = new Page<>(param.getPageNum(),param.getPageSize());
DateTime dateTime = DateUtil.parse(param.getSearchBeginTime(), DatePattern.NORM_DATE_PATTERN);
if(param.getDataType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())){
param.setSearchBeginTime(DateUtil.format(dateTime,DatePattern.NORM_MONTH_PATTERN));
@@ -85,7 +87,16 @@ public class RUploadMainMonitorServiceImpl extends ServiceImpl<RUploadMainMonito
LambdaQueryWrapper<RUploadMainMonitorData> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(RUploadMainMonitorData::getStatisticalType,param.getDataType())
.eq(RUploadMainMonitorData::getStatisticalDate,param.getSearchBeginTime());
return this.page(new Page<>(PageFactory.getPageNum(param),PageFactory.getPageSize(param)),lambdaQueryWrapper);
Page<RUploadMainMonitorData> page = this.page(new Page<>(PageFactory.getPageNum(param),PageFactory.getPageSize(param)),lambdaQueryWrapper);
if(CollUtil.isEmpty(page.getRecords())){
return result;
}
List<RUploadMainMonitorData> rUploadMainMonitorDataList = page.getRecords();
List<RUploadMainMonitorDataDTO> rUploadMainMonitorDataDTOList = new ArrayList<>();
dataToResult(rUploadMainMonitorDataList,rUploadMainMonitorDataDTOList);
result.setRecords(rUploadMainMonitorDataDTOList);
result.setTotal(page.getTotal());
return result;
}
@Override
@@ -95,30 +106,88 @@ public class RUploadMainMonitorServiceImpl extends ServiceImpl<RUploadMainMonito
}
LambdaQueryWrapper<RUploadMainMonitorData> lambdaQueryWrapper = new LambdaQueryWrapper<>();
String temDate = param.getSearchBeginTime();
if(StrUtil.isBlank(param.getDataType())){
//类型为空则上送日月年数据
DateTime dateTime = DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATE_PATTERN);
String month = DateUtil.format(dateTime,DatePattern.NORM_MONTH_PATTERN);
String year = DateUtil.format(dateTime,DatePattern.NORM_YEAR_PATTERN);
lambdaQueryWrapper.in(RUploadMainMonitorData::getStatisticalDate, Stream.of(param.getSearchBeginTime(),month,year).collect(Collectors.toList()));
lambdaQueryWrapper.in(RUploadMainMonitorData::getStatisticalDate, Stream.of(temDate,month,year).collect(Collectors.toList()));
}else {
if(param.getDataType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())){
param.setSearchBeginTime(DateUtil.format(DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATE_PATTERN),DatePattern.NORM_MONTH_PATTERN));
temDate = DateUtil.format(DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATE_PATTERN),DatePattern.NORM_MONTH_PATTERN);
}else if(param.getDataType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())){
param.setSearchBeginTime(DateUtil.format(DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATE_PATTERN),DatePattern.NORM_YEAR_PATTERN));
temDate = DateUtil.format(DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATE_PATTERN),DatePattern.NORM_YEAR_PATTERN);
}
lambdaQueryWrapper.eq(RUploadMainMonitorData::getStatisticalType,param.getDataType())
.eq(RUploadMainMonitorData::getStatisticalDate,param.getSearchBeginTime());
.eq(RUploadMainMonitorData::getStatisticalDate,temDate);
}
List<RUploadMainMonitorData> rUploadMainMonitorDataList = this.list(lambdaQueryWrapper);
if(CollUtil.isEmpty(rUploadMainMonitorDataList)){
throw new BusinessException("查询数据为空");
}
List<RUploadMainMonitorDataDTO> rUploadMainMonitorDataDTOList = new ArrayList<>();
dataToResult(rUploadMainMonitorDataList,rUploadMainMonitorDataDTOList);
List<List<RUploadMainMonitorDataDTO>> list = CollUtil.split(rUploadMainMonitorDataDTOList,100);
for(int i=0;i<list.size();i++){
SendParam sendParam = new SendParam();
if(i==0){
sendParam.setIsAppend("0");
}else if(i==list.size()-1){
sendParam.setIsAppend("2");
}else {
sendParam.setIsAppend("1");
}
if(StrUtil.isNotBlank(param.getDataType())){
sendParam.setStatisticalType(param.getDataType());
sendParam.setStatisticalDate(temDate);
}
sendParam.setStats(list.get(i));
Map<String, String> sendRes = GwSendUtil.newSend(sendParam, GWSendEnum.COMM_POINT);
List<String> ids = list.get(i).stream().map(RUploadMainMonitorDataDTO::getObjId).collect(Collectors.toList());
int count = GwSendUtil.returnInfoMsg(ids,sendRes);
System.out.println("上送成功,上送成功返回"+count+"");
if(count == list.get(i).size()){
LambdaUpdateWrapper<RUploadMainMonitorData> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.set(RUploadMainMonitorData::getUploadStatus,1).in(RUploadMainMonitorData::getObjId,ids);
this.update(lambdaUpdateWrapper);
}
}
return true;
}
private void assOrg(Map<String,PvTerminalTreeVO> pvTerminalTreeVOCodeMap,Map<String,PvTerminalTreeVO> pvTerminalTreeVOIdMap,RUploadMainMonitorDataDTO rUploadMainMonitorDataDTO,Monitor monitor){
PvTerminalTreeVO pvTerminalTreeVO = pvTerminalTreeVOCodeMap.get(monitor.getOrgId());
rUploadMainMonitorDataDTO.setMaintOrg(pvTerminalTreeVO.getCode());
rUploadMainMonitorDataDTO.setMaintOrgName(pvTerminalTreeVO.getName());
PvTerminalTreeVO pvTerminalTreeCity = pvTerminalTreeVOIdMap.get(pvTerminalTreeVO.getPid());
rUploadMainMonitorDataDTO.setCityOrg(pvTerminalTreeCity.getCode());
rUploadMainMonitorDataDTO.setCityOrgName(pvTerminalTreeCity.getName());
PvTerminalTreeVO pvTerminalTreeProvince = pvTerminalTreeVOIdMap.get(pvTerminalTreeCity.getPid());
rUploadMainMonitorDataDTO.setProvinceOrg(pvTerminalTreeProvince.getCode());
rUploadMainMonitorDataDTO.setProvinceOrgName(pvTerminalTreeProvince.getName());
}
/**
* 数据赋值
* @param rUploadMainMonitorDataList
* @param rUploadMainMonitorDataDTOList
*/
private void dataToResult(List<RUploadMainMonitorData> rUploadMainMonitorDataList,List<RUploadMainMonitorDataDTO> rUploadMainMonitorDataDTOList){
List<PvTerminalTreeVO> deptTreeVOList = deptFeignClient.allDeptList().getData();
Map<String,PvTerminalTreeVO> pvTerminalTreeVOCodeMap = deptTreeVOList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getCode,Function.identity()));
Map<String,PvTerminalTreeVO> pvTerminalTreeVOIdMap = deptTreeVOList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId,Function.identity()));
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
Map<String,DictData> voltageMap = dictDataList.stream().collect(Collectors.toMap(DictData::getId,Function.identity()));
@@ -136,7 +205,6 @@ public class RUploadMainMonitorServiceImpl extends ServiceImpl<RUploadMainMonito
List<SysDicTreePO> sysDicTreePOList = dictTreeFeignClient.queryAllByType(Integer.valueOf(DicTreeEnum.HB_PMS_TYPE.getCode())).getData();
Map<String,SysDicTreePO> dicTreeMap = sysDicTreePOList.stream().collect(Collectors.toMap(SysDicTreePO::getId,Function.identity()));
//获取测点map
List<String> monitorIds = rUploadMainMonitorDataList.stream().map(RUploadMainMonitorData::getMonitorId).distinct().collect(Collectors.toList());
List<Monitor> monitorList = monitorClient.getMonitorListByMid(monitorIds).getData();
@@ -146,7 +214,7 @@ public class RUploadMainMonitorServiceImpl extends ServiceImpl<RUploadMainMonito
List<PmsTerminal> pmsTerminalList = pmsTerminalClient.getTerminalSelectByIds(terminalIds).getData();
Map<String,PmsTerminal> pmsTerminalMap = pmsTerminalList.stream().collect(Collectors.toMap(PmsTerminal::getId,Function.identity()));
List<RUploadMainMonitorDataDTO> rUploadMainMonitorDataDTOList = new ArrayList<>();
rUploadMainMonitorDataList.forEach(item->{
RUploadMainMonitorDataDTO rUploadMainMonitorDataDTO = new RUploadMainMonitorDataDTO();
BeanUtil.copyProperties(item,rUploadMainMonitorDataDTO);
@@ -184,57 +252,6 @@ public class RUploadMainMonitorServiceImpl extends ServiceImpl<RUploadMainMonito
rUploadMainMonitorDataDTOList.add(rUploadMainMonitorDataDTO);
});
List<List<RUploadMainMonitorDataDTO>> list = CollUtil.split(rUploadMainMonitorDataDTOList,100);
for(int i=0;i<list.size();i++){
SendParam sendParam = new SendParam();
if(i==0){
sendParam.setIsAppend("0");
}else if(i==list.size()-1){
sendParam.setIsAppend("2");
}else {
sendParam.setIsAppend("1");
}
if(StrUtil.isNotBlank(param.getDataType())){
DateTime dateTime = DateUtil.parse(param.getSearchBeginTime(), DatePattern.NORM_DATE_PATTERN);
sendParam.setStatisticalType(param.getDataType());
if(param.getDataType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())){
param.setSearchBeginTime(DateUtil.format(dateTime,DatePattern.NORM_MONTH_PATTERN));
}else if(param.getDataType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())){
param.setSearchBeginTime(DateUtil.format(dateTime,DatePattern.NORM_YEAR_PATTERN));
}
sendParam.setStatisticalDate(param.getSearchBeginTime());
}
sendParam.setStats(list.get(i));
Map<String, String> sendRes = GwSendUtil.newSend(sendParam, GWSendEnum.COMM_POINT);
List<String> ids = list.get(i).stream().map(RUploadMainMonitorDataDTO::getObjId).collect(Collectors.toList());
int count = GwSendUtil.returnInfoMsg(ids,sendRes);
System.out.println("上送成功,上送成功返回"+count+"");
if(count == list.get(i).size()){
LambdaUpdateWrapper<RUploadMainMonitorData> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.set(RUploadMainMonitorData::getUploadStatus,1).in(RUploadMainMonitorData::getObjId,ids);
this.update(lambdaUpdateWrapper);
}
}
return true;
}
private void assOrg(Map<String,PvTerminalTreeVO> pvTerminalTreeVOCodeMap,Map<String,PvTerminalTreeVO> pvTerminalTreeVOIdMap,RUploadMainMonitorDataDTO rUploadMainMonitorDataDTO,Monitor monitor){
PvTerminalTreeVO pvTerminalTreeVO = pvTerminalTreeVOCodeMap.get(monitor.getOrgId());
rUploadMainMonitorDataDTO.setMaintOrg(pvTerminalTreeVO.getCode());
rUploadMainMonitorDataDTO.setMaintOrgName(pvTerminalTreeVO.getName());
PvTerminalTreeVO pvTerminalTreeCity = pvTerminalTreeVOIdMap.get(pvTerminalTreeVO.getPid());
rUploadMainMonitorDataDTO.setCityOrg(pvTerminalTreeCity.getCode());
rUploadMainMonitorDataDTO.setCityOrgName(pvTerminalTreeCity.getName());
PvTerminalTreeVO pvTerminalTreeProvince = pvTerminalTreeVOIdMap.get(pvTerminalTreeCity.getPid());
rUploadMainMonitorDataDTO.setProvinceOrg(pvTerminalTreeProvince.getCode());
rUploadMainMonitorDataDTO.setProvinceOrgName(pvTerminalTreeProvince.getName());
}