1.pms主网测点数据统计功能调整
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.njcn.common.pojo.exception;
|
||||
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
@@ -83,5 +84,6 @@ public class BusinessException extends RuntimeException {
|
||||
public BusinessException(String message) {
|
||||
super(message);
|
||||
this.message = message;
|
||||
this.code = CommonResponseEnum.FAIL.getCode();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user