Browse Source

Merge remote-tracking branch 'origin/develop' into develop

# Conflicts:
#	lzbi-common/src/main/java/com/lzbi/common/enums/ReportNameEnum.java
#	lzbi-module/src/main/java/com/lzbi/bi/service/DcBusiDataScreenNewService.java
develop
bobol 10 months ago
parent
commit
3e790c178c
  1. 6
      lzbi-common/src/main/java/com/lzbi/common/enums/ReportNameEnum.java
  2. 21
      lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiDataScreenNewController.java
  3. 4
      lzbi-module/src/main/java/com/lzbi/bi/domain/BoilerStatisticsVO.java
  4. 147
      lzbi-module/src/main/java/com/lzbi/bi/service/DcBusiDataScreenNewService.java

6
lzbi-common/src/main/java/com/lzbi/common/enums/ReportNameEnum.java

@ -21,7 +21,11 @@ public enum ReportNameEnum
PRIMARY_NET_RECHARGE_WATER("一次网补水量"), PRIMARY_NET_RECHARGE_WATER("一次网补水量"),
DATANG_PRIMARY_NET_RECHARGE_WATER("从大唐补一次网水量"), DATANG_PRIMARY_NET_RECHARGE_WATER("从大唐补一次网水量"),
POWER_CONSUMPTION_RATE_OF_HEAT_SOURCE_PLANT("热源厂电耗率"), POWER_CONSUMPTION_RATE_OF_HEAT_SOURCE_PLANT("热源厂电耗率"),
TOTAL_HEAT_SUPPLIED("总供热量"); TOTAL_HEAT_SUPPLIED("总供热量"),
WATER_SUPPLY_TEMPERATURE("供水温度"),
RETURN_WATER_TEMPERATURE("回水温度"),
NUMBER_OF_STEAM_FURNACES_IN_OPERATION("汽炉运行台数"),
NUMBER_OF_WATER_FURNACES_IN_OPERATION("水炉运行台数");
private final String name; private final String name;

21
lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiDataScreenNewController.java

@ -23,33 +23,30 @@ public class DcBusiDataScreenNewController extends BaseController {
/** /**
* 用户总览 * 用户总览
* @param dcBusDataScreenNewReq
* @return * @return
*/ */
@GetMapping("/userOverview") @PostMapping("/userOverview")
public AjaxResult userOverview (@Validated DcBusDataScreenNewReq dcBusDataScreenNewReq) { public AjaxResult userOverview (@RequestBody TargetDraftDaynewReqVo vo) {
return success(dcBusiDataScreenNewService.getUserOverview(dcBusDataScreenNewReq)); return success(dcBusiDataScreenNewService.getUserOverview(vo));
} }
/** /**
* /回水均温 * /回水均温
* @param dcBusDataScreenNewReq
* @return * @return
*/ */
@GetMapping("/provideAnswerWaterAverageTemperature") @PostMapping("/provideAnswerWaterAverageTemperature")
public AjaxResult provideAnswerWaterAverageTemperature(@Validated DcBusDataScreenNewReq dcBusDataScreenNewReq) { public AjaxResult provideAnswerWaterAverageTemperature(@RequestBody TargetDraftDaynewReqVo vo) {
return success(dcBusiDataScreenNewService.getProvideAnswerWaterAverageTemperature(dcBusDataScreenNewReq)); return success(dcBusiDataScreenNewService.getProvideAnswerWaterAverageTemperature(vo));
} }
/** /**
* 锅炉统计 * 锅炉统计
* @param dcBusDataScreenNewReq
* @return * @return
*/ */
@GetMapping("/boilerStatistics") @PostMapping("/boilerStatistics")
public AjaxResult boilerStatistics(@Validated DcBusDataScreenNewReq dcBusDataScreenNewReq) { public AjaxResult boilerStatistics(@RequestBody TargetDraftDaynewReqVo vo) {
return success(dcBusiDataScreenNewService.getBoilerStatistics(dcBusDataScreenNewReq)); return success(dcBusiDataScreenNewService.getBoilerStatistics(vo));
} }
/** /**

4
lzbi-module/src/main/java/com/lzbi/bi/domain/BoilerStatisticsVO.java

@ -1,8 +1,10 @@
package com.lzbi.bi.domain; package com.lzbi.bi.domain;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -10,8 +12,10 @@ import java.math.BigDecimal;
* 锅炉统计结果 * 锅炉统计结果
*/ */
@Data @Data
@Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Accessors(chain = true)
public class BoilerStatisticsVO { public class BoilerStatisticsVO {
private String label; private String label;

147
lzbi-module/src/main/java/com/lzbi/bi/service/DcBusiDataScreenNewService.java

@ -1,5 +1,6 @@
package com.lzbi.bi.service; package com.lzbi.bi.service;
import cn.hutool.core.collection.CollUtil;
import com.lzbi.bi.domain.*; import com.lzbi.bi.domain.*;
import com.lzbi.common.config.TargetModelConfig; import com.lzbi.common.config.TargetModelConfig;
import com.lzbi.common.constant.BizConstants; import com.lzbi.common.constant.BizConstants;
@ -22,10 +23,14 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
import static java.util.stream.Collectors.groupingBy;
/** /**
* 大屏业务 * 大屏业务
@ -47,112 +52,68 @@ public class DcBusiDataScreenNewService {
@Resource @Resource
private DcBusiTargetDraftDaynewService dcBusiTargetDraftDaynewService; private DcBusiTargetDraftDaynewService dcBusiTargetDraftDaynewService;
@Autowired @Resource
private ISysDeptService deptService; private ISysDeptService iSysDeptService;
public List<UserIOverViewVO> getUserOverview(DcBusDataScreenNewReq dcBusDataScreenNewReq) { public List<UserIOverViewVO> getUserOverview(TargetDraftDaynewReqVo vo) {
List<UserIOverViewVO> list = new ArrayList<>(); List<UserIOverViewVO> list = new ArrayList<>();
DcBusiTargetDraftDay params = new DcBusiTargetDraftDay(); List<String> reportNames = Stream.of(ReportNameEnum.OPENING_AREA.getName(), ReportNameEnum.HEATING_AREA.getName()).collect(Collectors.toList());
BeanUtils.copyBeanProp(params, dcBusDataScreenNewReq); vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(Stream.of(vo.getOrgId()).collect(Collectors.toList()));
String yearMonthDay = dcBusDataScreenNewReq.getYearMonthDay(); List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(vo);
String[] yearMonthDayArr = yearMonthDay.split("-"); if (CollUtil.isEmpty(targetDraftDaynewResVos)) {
if (yearMonthDayArr.length > 1) { return list;
params.setCountYear(yearMonthDayArr[0]);
params.setCountMonth(yearMonthDayArr[1]);
}
params.setTargetModelCode(targetModelConfig.getUser());
List<DcBusiTargetDraftDay> dcBusiTargetDraftDayList = dcBusiTargetDraftDayMapper.selectDcBusiTargetDraftDayList(params);
if (CollectionUtils.isNotEmpty(dcBusiTargetDraftDayList)) {
Map<Object, List<DcBusiTargetDraftDay>> map;
if (ObjectUtils.isEmpty(dcBusDataScreenNewReq.getOrgId())) {
map = dcBusiTargetDraftDayList.stream().collect(Collectors.groupingBy(DcBusiTargetDraftDay::getOrgId));
} else {
map = dcBusiTargetDraftDayList.stream().collect(Collectors.groupingBy(DcBusiTargetDraftDay::getAssetCode));
}
map.forEach((key, value) -> {
UserIOverViewVO userIOverViewVO = new UserIOverViewVO();
if (ObjectUtils.isEmpty(dcBusDataScreenNewReq.getOrgId())) {
userIOverViewVO.setTitle(value.get(0).getOrgName());
} else {
userIOverViewVO.setTitle(value.get(0).getAssetName());
}
BigDecimal plan = new BigDecimal(0);
BigDecimal sum = new BigDecimal(0);
for (int i = 0, len = value.size(); i < len; i++) {
plan = plan.add(value.get(i).getValPlan());
sum = sum.add(value.get(i).getValSum());
}
userIOverViewVO.setTotal(plan);
userIOverViewVO.setReal(sum);
list.add(userIOverViewVO);
});
} }
list.add(UserIOverViewVO.builder()
.real(targetDraftDaynewResVos.stream().filter(t->ReportNameEnum.OPENING_AREA.getName().equals(t.getReportName())).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult())
.total(targetDraftDaynewResVos.stream().filter(t->ReportNameEnum.HEATING_AREA.getName().equals(t.getReportName())).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult())
.title("供暖面积")
.build());
return list; return list;
} }
public ProvideAnswerWaterAverageTemperatureVO getProvideAnswerWaterAverageTemperature(DcBusDataScreenNewReq dcBusDataScreenNewReq) { public ProvideAnswerWaterAverageTemperatureVO getProvideAnswerWaterAverageTemperature(TargetDraftDaynewReqVo vo) {
ProvideAnswerWaterAverageTemperatureVO provideAnswerWaterAverageTemperatureVO = new ProvideAnswerWaterAverageTemperatureVO(); ProvideAnswerWaterAverageTemperatureVO resVO = new ProvideAnswerWaterAverageTemperatureVO();
ProvideAnswerWaterAverageTemperatureReq params = new ProvideAnswerWaterAverageTemperatureReq(); List<SysDept> sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.HEAT_SOURCE).build());
params.setCompanyId(dcBusDataScreenNewReq.getCompanyId()); if (CollUtil.isEmpty(sysDepts)) {
String yearMonthDay = dcBusDataScreenNewReq.getYearMonthDay(); return resVO;
String[] yearMonthDayArr = yearMonthDay.split("-"); }
if (yearMonthDayArr.length > 1) { List<String> reportNames = Stream.of(ReportNameEnum.WATER_SUPPLY_TEMPERATURE.getName(), ReportNameEnum.RETURN_WATER_TEMPERATURE.getName()).collect(Collectors.toList());
params.setYear(yearMonthDayArr[0]); List<Long> orgIds = sysDepts.stream().map(SysDept::getDeptId).distinct().collect(Collectors.toList());
params.setMonth(yearMonthDayArr[1]); vo.setAssetType("0").setAssetLevel("20").setReportNames(reportNames).setOrgIds(orgIds);
List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(vo);
if (CollUtil.isEmpty(targetDraftDaynewResVos)) {
return resVO;
} }
params.setProvideWaterAverageTemperature(targetModelConfig.getProvideWaterAverageTemperature());
params.setAnswerWaterAverageTemperature(targetModelConfig.getAnswerWaterAverageTemperature());
List<ProvideAnswerWaterAverageTemperatureDTO> provideAnswerWaterAverageTemperatureDTOS = dcBusiTargetDraftDayMapper.selectProvideAnswerWaterAverageTemperatureList(params);
if (CollectionUtils.isNotEmpty(provideAnswerWaterAverageTemperatureDTOS)) {
List<String> xArr = new ArrayList<>(); List<String> xArr = new ArrayList<>();
List<BigDecimal> yArr1 = new ArrayList<>(); List<BigDecimal> yArr1 = new ArrayList<>();
List<BigDecimal> yArr2 = new ArrayList<>(); List<BigDecimal> yArr2 = new ArrayList<>();
provideAnswerWaterAverageTemperatureDTOS.forEach(value -> { targetDraftDaynewResVos.stream().collect(groupingBy(TargetDraftDaynewResVo::getOrganizeName)).entrySet().forEach(entry->{
xArr.add(value.getTitle()); xArr.add(entry.getKey());
yArr1.add(value.getProvideWaterAverageTemperature()); yArr1.add(entry.getValue().stream().filter(x -> x.getReportName().equals(ReportNameEnum.WATER_SUPPLY_TEMPERATURE.getName())).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult());
yArr2.add(value.getAnswerWaterAverageTemperature()); yArr2.add(entry.getValue().stream().filter(x -> x.getReportName().equals(ReportNameEnum.RETURN_WATER_TEMPERATURE.getName())).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult());
}); });
provideAnswerWaterAverageTemperatureVO.setXArr(xArr); resVO.setXArr(xArr);
provideAnswerWaterAverageTemperatureVO.setYArr1(yArr1); resVO.setYArr1(yArr1);
provideAnswerWaterAverageTemperatureVO.setYArr2(yArr2); resVO.setYArr2(yArr2);
} return resVO;
return provideAnswerWaterAverageTemperatureVO;
} }
public List<BoilerStatisticsVO> getBoilerStatistics(DcBusDataScreenNewReq dcBusDataScreenNewReq) { public List<BoilerStatisticsVO> getBoilerStatistics(TargetDraftDaynewReqVo vo) {
List<BoilerStatisticsVO> list = new ArrayList<>(); List<BoilerStatisticsVO> list = new ArrayList<>();
DcBusiTargetDraftMonth params = new DcBusiTargetDraftMonth(); List<String> reportNames = Stream.of(ReportNameEnum.WATER_SUPPLY_TEMPERATURE.getName(), ReportNameEnum.RETURN_WATER_TEMPERATURE.getName()).collect(Collectors.toList());
BeanUtils.copyBeanProp(params, dcBusDataScreenNewReq); vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(Stream.of(vo.getOrgId()).collect(Collectors.toList()));
String yearMonthDay = dcBusDataScreenNewReq.getYearMonthDay(); List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(vo);
String[] yearMonthDayArr = yearMonthDay.split("-"); if (CollUtil.isEmpty(targetDraftDaynewResVos)) {
if (yearMonthDayArr.length > 1) { return list;
params.setCountYear(yearMonthDayArr[0]);
params.setCountMonth(yearMonthDayArr[1]);
}
params.setTargetModelCode(targetModelConfig.getBoiler());
List<DcBusiTargetDraftMonth> dcBusiTargetDraftMonths = dcBusiTargetDraftMonthMapper.selectDcBusiTargetDraftMonthList(params);
if (CollectionUtils.isNotEmpty(dcBusiTargetDraftMonths)) {
Map<Object, List<DcBusiTargetDraftMonth>> map;
if (ObjectUtils.isEmpty(dcBusDataScreenNewReq.getOrgId())) {
map = dcBusiTargetDraftMonths.stream().collect(Collectors.groupingBy(DcBusiTargetDraftMonth::getOrgId));
} else {
map = dcBusiTargetDraftMonths.stream().collect(Collectors.groupingBy(DcBusiTargetDraftMonth::getAssetCode));
}
map.forEach((key, value) -> {
BoilerStatisticsVO boilerStatisticsVO = new BoilerStatisticsVO();
if (ObjectUtils.isEmpty(dcBusDataScreenNewReq.getOrgId())) {
boilerStatisticsVO.setLabel(value.get(0).getOrgName());
} else {
boilerStatisticsVO.setLabel(value.get(0).getAssetName());
}
BigDecimal sum = new BigDecimal(0);
for (int i = 0, len = value.size(); i < len; i++) {
sum = sum.add(value.get(i).getValResult());
}
boilerStatisticsVO.setValue(sum);
list.add(boilerStatisticsVO);
});
} }
list.add(BoilerStatisticsVO.builder()
.label(ReportNameEnum.WATER_SUPPLY_TEMPERATURE.getName())
.value(targetDraftDaynewResVos.stream().filter(x -> x.getReportName().equals(ReportNameEnum.WATER_SUPPLY_TEMPERATURE.getName())).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult())
.build());
list.add(BoilerStatisticsVO.builder()
.label(ReportNameEnum.RETURN_WATER_TEMPERATURE.getName())
.value(targetDraftDaynewResVos.stream().filter(x -> x.getReportName().equals(ReportNameEnum.RETURN_WATER_TEMPERATURE.getName())).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult())
.build());
return list; return list;
} }
@ -161,7 +122,7 @@ public class DcBusiDataScreenNewService {
SysDept deptParams = new SysDept(); SysDept deptParams = new SysDept();
deptParams.setParentId(targetDraftDaynewReqVo.getOrgId()); deptParams.setParentId(targetDraftDaynewReqVo.getOrgId());
deptParams.setOrgType(BizConstants.DcDeptAttr.HEAT_SOURCE); deptParams.setOrgType(BizConstants.DcDeptAttr.HEAT_SOURCE);
List<SysDept> childrenDept = deptService.selectDeptList(deptParams); List<SysDept> childrenDept = iSysDeptService.selectDeptList(deptParams);
if (CollectionUtils.isEmpty(childrenDept)) { if (CollectionUtils.isEmpty(childrenDept)) {
throw new RuntimeException("该公司无热源"); throw new RuntimeException("该公司无热源");
} }
@ -207,7 +168,7 @@ public class DcBusiDataScreenNewService {
SysDept deptParams = new SysDept(); SysDept deptParams = new SysDept();
deptParams.setParentId(targetDraftDaynewReqVo.getOrgId()); deptParams.setParentId(targetDraftDaynewReqVo.getOrgId());
deptParams.setOrgType(BizConstants.DcDeptAttr.HEAT_SOURCE); deptParams.setOrgType(BizConstants.DcDeptAttr.HEAT_SOURCE);
List<SysDept> childrenDept = deptService.selectDeptList(deptParams); List<SysDept> childrenDept = iSysDeptService.selectDeptList(deptParams);
if (CollectionUtils.isEmpty(childrenDept)) { if (CollectionUtils.isEmpty(childrenDept)) {
throw new RuntimeException("该公司无热源"); throw new RuntimeException("该公司无热源");
} }

Loading…
Cancel
Save