Browse Source

bi大屏接口

develop
bobol 6 months ago
parent
commit
7cc08085d8
  1. 9
      lzbi-common/src/main/java/com/lzbi/common/constant/BizConstants.java
  2. 212
      lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiDataScreenMainController.java
  3. 32
      lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiDataScreenNewController.java
  4. 38
      lzbi-module/src/main/java/com/lzbi/bi/mapper/DcBusiDataScreenMainMapper.java
  5. 430
      lzbi-module/src/main/java/com/lzbi/bi/service/DcBusiDataScreenMainService.java
  6. 66
      lzbi-module/src/main/java/com/lzbi/bi/service/DcBusiDataScreenNewService.java
  7. 2
      lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamDraftDay.java
  8. 24
      lzbi-module/src/main/java/com/lzbi/draft/domain/dto/SomeOrgSomedayMultiReportDataDTO.java
  9. 33
      lzbi-module/src/main/java/com/lzbi/draft/domain/dto/SomeTypeChildrenOrgSomedayMultiReportDataDTO.java
  10. 8
      lzbi-module/src/main/java/com/lzbi/draft/domain/req/ReportDataReq.java
  11. 29
      lzbi-module/src/main/java/com/lzbi/draft/domain/vo/ChildrenOrgSomedaySomeReportDataVO.java
  12. 21
      lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomeReportYearlyDataVO.java
  13. 24
      lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomedayMultiReportDataVO.java
  14. 22
      lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomedaySomeReportDataVO.java
  15. 8
      lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamDraftDayMapper.java
  16. 9
      lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiTargetDraftDaynewMapper.java
  17. 6
      lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiTargetDraftMonthMapper.java
  18. 8
      lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiTargetDraftDaynewService.java
  19. 18
      lzbi-module/src/main/java/com/lzbi/external/service/ParamsService.java
  20. 2
      lzbi-module/src/main/java/com/lzbi/report/service/AjReportService.java
  21. 123
      lzbi-module/src/main/resources/mapper/DcBusiDataScreenMainMapper.xml
  22. 8
      lzbi-module/src/main/resources/mapper/asset/DcBusiParamDraftDayMapper.xml
  23. 6
      lzbi-module/src/main/resources/mapper/asset/DcBusiTargetDraftDaynewMapper.xml
  24. 2
      lzbi-module/src/main/resources/mapper/asset/DcBusiTargetDraftMonthMapper.xml

9
lzbi-common/src/main/java/com/lzbi/common/constant/BizConstants.java

@ -120,7 +120,10 @@ public interface BizConstants {
* 部门类别
*/
interface DcDeptAttr {
/**
* 集团
*/
String BLOC = "1001";
/**
* 公司
*/
@ -130,6 +133,10 @@ public interface BizConstants {
* 热源
*/
String HEAT_SOURCE = "1003";
/**
* 供热部
*/
String HEATING_DEPARTMENT = "1005";
}
/**

212
lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiDataScreenMainController.java

@ -1,35 +1,27 @@
package com.lzbi.bi.controller;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.lzbi.bi.domain.DcBusiDataScreenVo;
import com.lzbi.bi.service.DcBusiDataScreenMainService;
import com.lzbi.common.core.controller.BaseController;
import com.lzbi.common.core.domain.AjaxResult;
import com.lzbi.common.core.domain.TreeSelect;
import com.lzbi.common.core.domain.entity.SysDept;
import com.lzbi.common.enums.ReportNameEnum;
import com.lzbi.common.utils.StringUtils;
import com.lzbi.draft.domain.vo.TargetDraftDaynewReqVo;
import com.lzbi.draft.domain.req.ReportDataReq;
import com.lzbi.system.service.impl.SysDeptServiceImpl;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.lang.Nullable;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 主数据大屏的页面接口
@ -41,17 +33,7 @@ import java.util.stream.Stream;
@RestController
@RequestMapping("/assetData/dataScreenMain")
public class DcBusiDataScreenMainController extends BaseController{
// {
// "code": "200",
// "data": {
// "list": [
// ["product", "合力供热站", "浑南热力", "国润低碳", "新环保", "节能环保"],
// ["计划数", 41.1, 30.4, 65.1, 53.3, 69],
// ["实际数", 35.5, 92.1, 85.7, 83.1, 72]
// ]
// },
// "msg": "seccess"
// }
@Autowired
private DcBusiDataScreenMainService dcBusiDataScreenMainService;
@ -59,40 +41,75 @@ public class DcBusiDataScreenMainController extends BaseController{
private SysDeptServiceImpl sysDeptService;
/**
* 大屏数据煤耗
* 获取某个组织某天的某个图表数据
* @param reportDataReq
* @return
*/
@PostMapping("/coalLostRate")
public AjaxResult getCoalLostRate(@RequestBody TargetDraftDaynewReqVo vo)
{
return AjaxResult.success(dcBusiDataScreenMainService.getCoalLostRate(vo));
@PostMapping("/getSomeOrgSomedaySomeReportData")
public AjaxResult selectSomeOrgSomedaySomeReportData(@Validated @RequestBody ReportDataReq reportDataReq) {
return AjaxResult.success(dcBusiDataScreenMainService.selectSomeOrgSomedaySomeReportData(reportDataReq));
}
/**
* 总发电量和总耗电量
*
* */
@PostMapping("/powerInfoAll")
public AjaxResult getPowerInfoAll(@RequestBody TargetDraftDaynewReqVo vo)
{
return AjaxResult.success(dcBusiDataScreenMainService.selectPowerAll(vo));
* 查询下级组织某天的某个图表数据列表
* @param reportDataReq
* @return
*/
@PostMapping("/getChildrenOrgSomedaySomeReportDataList")
public AjaxResult selectChildrenOrgSomedaySomeReportDataList(@Validated @RequestBody ReportDataReq reportDataReq) {
return AjaxResult.success(dcBusiDataScreenMainService.selectChildrenOrgSomedaySomeReportDataList(reportDataReq));
}
/**
* 查询下级组织某天的某个图表的图形数据
* @param reportDataReq
* @return
*/
@PostMapping("/getChildrenOrgSomedaySomeReportDataEchart")
public AjaxResult selectChildrenOrgSomedaySomeReportDataEchart(@Validated @RequestBody ReportDataReq reportDataReq) {
return AjaxResult.success(dcBusiDataScreenMainService.selectChildrenOrgSomedaySomeReportDataEchart(reportDataReq));
}
/**
* 供热公司面积
*
* */
@PostMapping("/squareInfoCompany")
public AjaxResult getSquareInfoCompany(@RequestBody TargetDraftDaynewReqVo vo)
{
return AjaxResult.success(dcBusiDataScreenMainService.getSquareInfoCompany(vo));
* 查询某组织某天的多个图表数据列表
* @param reportDataReq
* @return
*/
@PostMapping("/getSomeOrgSomedayMultiReportDataList")
public AjaxResult selectSomeOrgSomedayMultiReportDataList(@Validated @RequestBody ReportDataReq reportDataReq) {
return AjaxResult.success(dcBusiDataScreenMainService.selectSomeOrgSomedayMultiReportDataList(reportDataReq));
}
/**
* 集团面积饼状图
* */
@PostMapping("/squareInfoGroup")
public AjaxResult getSquareInfoGroup(@RequestBody TargetDraftDaynewReqVo vo)
{
return AjaxResult.success(dcBusiDataScreenMainService.getSquareInfoGroup(vo));
* 查询某类型的下级组织某天的多图表数据--多柱形图
* @param reportDataReq
* @return
*/
@PostMapping("/getChildrenOrgSomedayMultiReportDataBar")
public AjaxResult selectSomeTypeChildrenOrgSomedayMultiReportDataBar(@Validated @RequestBody ReportDataReq reportDataReq) {
return AjaxResult.success(dcBusiDataScreenMainService.selectChildrenOrgSomedayMultiReportDataBar(reportDataReq));
}
/**
* 查询下级组织某天的某个图表的堆叠图形数据
* @param reportDataReq
* @return
*/
@PostMapping("/getChildrenOrgSomedaySomeReportDataEchartStacking")
public AjaxResult selectChildrenOrgSomedaySomeReportDataEchartStacking(@Validated @RequestBody ReportDataReq reportDataReq) {
return AjaxResult.success(dcBusiDataScreenMainService.selectChildrenOrgSomedaySomeReportDataEchartStacking(reportDataReq));
}
/**
* 查询某组织某个图表年度数据列表
* @param reportDataReq
* @return
*/
@PostMapping("/getSomeOrgSomeReportYearlyDataList")
public AjaxResult selectSomeOrgSomeReportYearlyDataList(@Validated @RequestBody ReportDataReq reportDataReq) {
return AjaxResult.success(dcBusiDataScreenMainService.selectSomeOrgSomeReportYearlyDataList(reportDataReq));
}
/**
* 获取天气信息
*/
@ -138,39 +155,13 @@ public class DcBusiDataScreenMainController extends BaseController{
}
return AjaxResult.success(ret);
}
/**
* 获取电耗
* */
@PostMapping("/powerLostRate")
public AjaxResult getPowerLostRate(@RequestBody TargetDraftDaynewReqVo vo){
return AjaxResult.success(dcBusiDataScreenMainService.getPowerLostRate(vo));
}
/**
* 获取水耗
* */
@PostMapping("/waterInfo")
public AjaxResult getWaterInfo(@RequestBody TargetDraftDaynewReqVo vo){
return AjaxResult.success(dcBusiDataScreenMainService.getWaterInfo(vo));
}
@PostMapping("/mapInfo")
public AjaxResult getMapInfo(@RequestBody TargetDraftDaynewReqVo vo){
public AjaxResult getMapInfo(@RequestBody ReportDataReq vo){
return AjaxResult.success(dcBusiDataScreenMainService.getMapInfo(vo));
}
@PostMapping("/heatRateRange")
public AjaxResult getHeatRateRange(@RequestBody TargetDraftDaynewReqVo vo){
vo.setReportNames(Stream.of(ReportNameEnum.HEAT_RATE.getName()).collect(Collectors.toList()));
return AjaxResult.success(dcBusiDataScreenMainService.getHeatingPeriodData(vo));
}
@PostMapping("/coalConsumptionRange")
public AjaxResult getCoalConsumptionRange(@RequestBody TargetDraftDaynewReqVo vo){
vo.setReportNames(Stream.of(ReportNameEnum.COAL_CONSUMPTION_PER_UNIT.getName()).collect(Collectors.toList()));
return AjaxResult.success(dcBusiDataScreenMainService.getHeatingPeriodData(vo));
}
@GetMapping("/company/tree/{depId}")
public AjaxResult getCompanyTreeList(@Nullable @PathVariable Long depId){
if(depId==0){
@ -180,77 +171,4 @@ public class DcBusiDataScreenMainController extends BaseController{
List<TreeSelect> treeSelects = sysDeptService.buildDeptTreeSelect(lsysDept);
return AjaxResult.success( treeSelects) ;
}
}
/**
* {
* "nums": 0,
* "cityid": "101190101",
* "city": "南京",
* "update_time": "2023-11-16 20:13:34",
* "data": [
* {
* "date": "2023-11-16",
* "wea": "雾转晴",
* "wea_img": "qing",
* "tem_day": "14",
* "tem_night": "4",
* "win": "西北风",
* "win_speed": "3-4级"
* },
* {
* "date": "2023-11-17",
* "wea": "晴",
* "wea_img": "qing",
* "tem_day": "14",
* "tem_night": "1",
* "win": "西北风",
* "win_speed": "4-5级转<3级"
* },
* {
* "date": "2023-11-18",
* "wea": "多云转晴",
* "wea_img": "yun",
* "tem_day": "13",
* "tem_night": "4",
* "win": "西南风",
* "win_speed": "3-4级转<3级"
* },
* {
* "date": "2023-11-19",
* "wea": "晴",
* "wea_img": "qing",
* "tem_day": "19",
* "tem_night": "4",
* "win": "西南风",
* "win_speed": "3-4级转<3级"
* },
* {
* "date": "2023-11-20",
* "wea": "晴",
* "wea_img": "qing",
* "tem_day": "19",
* "tem_night": "6",
* "win": "东南风",
* "win_speed": "<3级"
* },
* {
* "date": "2023-11-21",
* "wea": "晴",
* "wea_img": "qing",
* "tem_day": "20",
* "tem_night": "7",
* "win": "东南风",
* "win_speed": "<3级"
* },
* {
* "date": "2023-11-22",
* "wea": "多云转阴",
* "wea_img": "yun",
* "tem_day": "21",
* "tem_night": "8",
* "win": "西风",
* "win_speed": "4-5级转3-4级"
* }
* ]
* }
* */
}

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

@ -3,7 +3,7 @@ package com.lzbi.bi.controller;
import com.lzbi.bi.service.DcBusiDataScreenNewService;
import com.lzbi.common.core.controller.BaseController;
import com.lzbi.common.core.domain.AjaxResult;
import com.lzbi.draft.domain.vo.TargetDraftDaynewReqVo;
import com.lzbi.draft.domain.req.ReportDataReq;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
@ -28,7 +28,7 @@ public class DcBusiDataScreenNewController extends BaseController {
* @return
*/
@PostMapping("/userOverview")
public AjaxResult userOverview (@RequestBody TargetDraftDaynewReqVo vo) {
public AjaxResult userOverview (@RequestBody ReportDataReq vo) {
return success(dcBusiDataScreenNewService.getUserOverview(vo));
}
@ -38,7 +38,7 @@ public class DcBusiDataScreenNewController extends BaseController {
* @return
*/
@PostMapping("/provideAnswerWaterAverageTemperature")
public AjaxResult provideAnswerWaterAverageTemperature(@RequestBody TargetDraftDaynewReqVo vo) {
public AjaxResult provideAnswerWaterAverageTemperature(@RequestBody ReportDataReq vo) {
return success(dcBusiDataScreenNewService.getProvideAnswerWaterAverageTemperature(vo));
}
@ -47,49 +47,49 @@ public class DcBusiDataScreenNewController extends BaseController {
* @return
*/
@PostMapping("/boilerStatistics")
public AjaxResult boilerStatistics(@RequestBody TargetDraftDaynewReqVo vo) {
public AjaxResult boilerStatistics(@RequestBody ReportDataReq vo) {
return success(dcBusiDataScreenNewService.getBoilerStatistics(vo));
}
/**
* 消耗
* @param targetDraftDaynewReqVo
* @param reportDataReq
* @return
*/
@PostMapping("/consumeStatistics")
public AjaxResult consumeStatistics(@Validated @RequestBody TargetDraftDaynewReqVo targetDraftDaynewReqVo) {
return success(dcBusiDataScreenNewService.getConsumesStatistics(targetDraftDaynewReqVo));
public AjaxResult consumeStatistics(@Validated @RequestBody ReportDataReq reportDataReq) {
return success(dcBusiDataScreenNewService.getConsumesStatistics(reportDataReq));
}
/**
* 发热量
* @param targetDraftDaynewReqVo
* @param reportDataReq
* @return
*/
@PostMapping("/calorificValue")
public AjaxResult calorificValue(@Validated @RequestBody TargetDraftDaynewReqVo targetDraftDaynewReqVo) {
return success(dcBusiDataScreenNewService.getCalorificValue(targetDraftDaynewReqVo));
public AjaxResult calorificValue(@Validated @RequestBody ReportDataReq reportDataReq) {
return success(dcBusiDataScreenNewService.getCalorificValue(reportDataReq));
}
/**
* 完成率
* @param targetDraftDaynewReqVo
* @param reportDataReq
* @return
*/
@PostMapping("/finishingRate")
public AjaxResult finishingRate(@Validated @RequestBody TargetDraftDaynewReqVo targetDraftDaynewReqVo) {
return success(dcBusiDataScreenNewService.getFinishingRate(targetDraftDaynewReqVo));
public AjaxResult finishingRate(@Validated @RequestBody ReportDataReq reportDataReq) {
return success(dcBusiDataScreenNewService.getFinishingRate(reportDataReq));
}
/**
* 公司统计
* @param targetDraftDaynewReqVo
* @param reportDataReq
* @return
*/
@PostMapping("/corporateStatistics")
public AjaxResult corporateStatistics(@Validated @RequestBody TargetDraftDaynewReqVo targetDraftDaynewReqVo) {
return success(dcBusiDataScreenNewService.getCorporateStatistics(targetDraftDaynewReqVo));
public AjaxResult corporateStatistics(@Validated @RequestBody ReportDataReq reportDataReq) {
return success(dcBusiDataScreenNewService.getCorporateStatistics(reportDataReq));
}
}

38
lzbi-module/src/main/java/com/lzbi/bi/mapper/DcBusiDataScreenMainMapper.java

@ -4,9 +4,14 @@ import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lzbi.bi.domain.DcBusiDataScreenDto;
import com.lzbi.bi.domain.DcBusiDataScreenVo;
import com.lzbi.draft.domain.dto.SomeOrgSomedayMultiReportDataDTO;
import com.lzbi.draft.domain.dto.SomeTypeChildrenOrgSomedayMultiReportDataDTO;
import com.lzbi.draft.domain.req.ReportDataReq;
import com.lzbi.draft.domain.vo.ChildrenOrgSomedaySomeReportDataVO;
import com.lzbi.draft.domain.vo.SomeOrgSomeReportYearlyDataVO;
import com.lzbi.draft.domain.vo.SomeOrgSomedaySomeReportDataVO;
import java.util.List;
import java.util.Map;
/**
@ -26,7 +31,38 @@ public interface DcBusiDataScreenMainMapper extends BaseMapper<DcBusiDataScreenD
List<DcBusiDataScreenVo> selectSquareSelfDetail(String qdate);
List<DcBusiDataScreenVo> selectSquareGroup(String qdate);
/**
* 查询某个组织某天的某个图表数据
* @param reportDataReq
* @return
*/
SomeOrgSomedaySomeReportDataVO selectSomeOrgSomedaySomeReportData(ReportDataReq reportDataReq);
/**
* 查询下级组织某天的某个图表数据列表
* @param reportDataReq
* @return
*/
List<ChildrenOrgSomedaySomeReportDataVO> selectChildrenOrgSomedaySomeReportDataList(ReportDataReq reportDataReq);
/**
* 查询某组织某天多图表数据列表
* @param reportDataReq
* @return
*/
List<SomeOrgSomedayMultiReportDataDTO> selectSomeOrgSomedayMultiReportDataList(ReportDataReq reportDataReq);
/**
* 查询某类型的下级组织某天的多图表数据列表
* @param reportDataReq
* @return
*/
List<SomeTypeChildrenOrgSomedayMultiReportDataDTO> selectSomeTypeChildrenOrgSomedayMultiReportDataList(ReportDataReq reportDataReq);
/**
* 查询某组织某个图表年度数据列表
* @param reportDataReq
* @return
*/
List<SomeOrgSomeReportYearlyDataVO> selectSomeOrgSomeReportYearlyDataList(ReportDataReq reportDataReq);
}

430
lzbi-module/src/main/java/com/lzbi/bi/service/DcBusiDataScreenMainService.java

@ -1,32 +1,26 @@
package com.lzbi.bi.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lzbi.bi.domain.DcBusiDataScreenDto;
import com.lzbi.bi.domain.DcBusiDataScreenVo;
import com.lzbi.bi.domain.SysDeptLocation;
import com.lzbi.bi.mapper.DcBusiDataScreenMainMapper;
import com.lzbi.common.constant.BizConstants;
import com.lzbi.common.core.domain.entity.SysDept;
import com.lzbi.common.enums.HeatingPeriodEnum;
import com.lzbi.common.enums.ReportNameEnum;
import com.lzbi.common.utils.StringUtils;
import com.lzbi.draft.domain.vo.TargetDraftDayRangeResVo;
import com.lzbi.draft.domain.vo.TargetDraftDaynewReqVo;
import com.lzbi.draft.domain.vo.TargetDraftDaynewResVo;
import com.lzbi.draft.domain.dto.SomeOrgSomedayMultiReportDataDTO;
import com.lzbi.draft.domain.dto.SomeTypeChildrenOrgSomedayMultiReportDataDTO;
import com.lzbi.draft.domain.req.ReportDataReq;
import com.lzbi.draft.domain.vo.*;
import com.lzbi.draft.service.DcBusiTargetDraftDaynewService;
import com.lzbi.system.service.ISysDeptService;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
@ -51,222 +45,194 @@ public class DcBusiDataScreenMainService extends ServiceImpl<DcBusiDataScreenMai
@Resource
private DcBusiTargetDraftDaynewService dcBusiTargetDraftDaynewService;
public List<DcBusiDataScreenVo> selectCoalLostByDate(String qdate){
return baseMapper.selectCoalLostByDate(qdate);
/**
* 查询某个组织某天的某个图表数据
* @param reportDataReq
* @return
*/
public SomeOrgSomedaySomeReportDataVO selectSomeOrgSomedaySomeReportData(ReportDataReq reportDataReq) {
this.buildReportDataReq(reportDataReq);
return baseMapper.selectSomeOrgSomedaySomeReportData(reportDataReq);
}
public List<DcBusiDataScreenVo> selectDatainTaget(String qdate){
return baseMapper.selectDataPowerLost(qdate);
}
public List<DcBusiDataScreenVo> selectDataPowerLost(String qdate){
return baseMapper.selectDataPowerLost(qdate);
}
public List<DcBusiDataScreenVo> selectDataWaterLostFirst(String qdate){
return baseMapper.selectDataWaterLostFirst(qdate);
}
public List<DcBusiDataScreenVo> selectDataWaterLostSecond(String qdate){
return baseMapper.selectDataWaterLostSecond(qdate);
}
public List<DcBusiDataScreenVo> selectDataWaterLostStationAll(String qdate){
return baseMapper.selectDataWaterLostStationAll(qdate);
/**
* 查询下级组织某天的某个图表数据列表
* @param reportDataReq
* @return
*/
public List<ChildrenOrgSomedaySomeReportDataVO> selectChildrenOrgSomedaySomeReportDataList(ReportDataReq reportDataReq) {
this.buildChildrenOrgReportDataReq(reportDataReq);
return baseMapper.selectChildrenOrgSomedaySomeReportDataList(reportDataReq);
}
public JSONObject selectPowerAll(TargetDraftDaynewReqVo vo){
JSONObject ret=new JSONObject();
List<String> reportNames = Stream.of(ReportNameEnum.TOTAL_GENERATING_CAPACITY.getName(), ReportNameEnum.TOTAL_ELECTRICITY_CONSUMPTION.getName()).collect(Collectors.toList());
vo.setAssetType("0").setAssetLevel("0").setReportNames(reportNames).setOrgIds(Stream.of(vo.getOrgId()).collect(Collectors.toList()));
List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(vo);
if (CollUtil.isEmpty(targetDraftDaynewResVos)) {
return ret;
public List<JSONArray> selectChildrenOrgSomedaySomeReportDataEchart(ReportDataReq reportDataReq) {
List<JSONArray> result = new ArrayList<>();
List<ChildrenOrgSomedaySomeReportDataVO> data = this.selectChildrenOrgSomedaySomeReportDataList(reportDataReq);
if (!CollectionUtils.isEmpty(data)) {
JSONArray head = new JSONArray();
JSONArray body = new JSONArray();
data.forEach(item -> {
head.add(item.getOrgName());
body.add(item.getValueResult());
});
result.add(head);
result.add(body);
}
JSONArray list=new JSONArray();
targetDraftDaynewResVos.forEach(item->{
JSONObject jsb=new JSONObject();
jsb.put("name",item.getReportName());
jsb.put("value", item.getValueResult().toString());
jsb.put("unit",item.getTargetUnit());
list.add(jsb);
});
ret.put("source",list);
return ret;
return result;
}
public JSONObject getSquareInfoCompany(TargetDraftDaynewReqVo vo){
JSONObject ret=new JSONObject();
List<SysDept> sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.COMANY).build());
if (CollUtil.isEmpty(sysDepts)) {
return ret;
}
List<String> reportNames = Stream.of(ReportNameEnum.OPENING_AREA.getName(), ReportNameEnum.HEATING_AREA.getName()).collect(Collectors.toList());
List<Long> orgIds = sysDepts.stream().map(SysDept::getDeptId).distinct().collect(Collectors.toList());
vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(orgIds);
List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(vo);
if (CollUtil.isEmpty(targetDraftDaynewResVos)) {
return ret;
}
JSONArray product=new JSONArray();
JSONArray realcost=new JSONArray();
JSONArray realcost_2=new JSONArray();
product.add("real_name");
realcost.add(ReportNameEnum.OPENING_AREA.getName());
realcost_2.add(ReportNameEnum.HEATING_AREA.getName());
targetDraftDaynewResVos.stream().collect(Collectors.toList()).sort(Comparator.comparing(TargetDraftDaynewResVo::getOrganizeName));
product.addAll(targetDraftDaynewResVos.stream().map(TargetDraftDaynewResVo::getOrganizeName).distinct().collect(Collectors.toList()));
for (int i = 1; i < product.size(); i++) {
int finalI = i;
realcost.add(targetDraftDaynewResVos.stream().filter(t->ReportNameEnum.OPENING_AREA.getName().equals(t.getReportName())&&t.getOrganizeName().equals(product.get(finalI))).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult());
realcost_2.add(targetDraftDaynewResVos.stream().filter(t->ReportNameEnum.HEATING_AREA.getName().equals(t.getReportName())&&t.getOrganizeName().equals(product.get(finalI))).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult());
public List<JSONArray> selectChildrenOrgSomedaySomeReportDataEchartStacking(ReportDataReq reportDataReq) {
List<JSONArray> result = new ArrayList<>();
JSONArray head = new JSONArray();
head.add("product");
head.add("实际");
head.add("指标");
result.add(head);
List<ChildrenOrgSomedaySomeReportDataVO> data = this.selectChildrenOrgSomedaySomeReportDataList(reportDataReq);
if (!CollectionUtils.isEmpty(data)) {
data.forEach(item -> {
JSONArray body = new JSONArray();
body.add(item.getOrgName());
body.add(item.getValueResult());
body.add(item.getValuePlan());
result.add(body);
});
}
JSONArray list=new JSONArray();
list.add(product);
list.add(realcost);
list.add(realcost_2);
ret.put("source",list);
ret.put("unit",targetDraftDaynewResVos.get(0).getTargetUnit());
ret.put("concatSquare",targetDraftDaynewResVos.stream().filter(x->ReportNameEnum.OPENING_AREA.getName().equals(x.getReportName())).map(TargetDraftDaynewResVo::getValueResult).reduce(BigDecimal.ZERO,BigDecimal::add));
ret.put("realSquare",targetDraftDaynewResVos.stream().filter(x->ReportNameEnum.HEATING_AREA.getName().equals(x.getReportName())).map(TargetDraftDaynewResVo::getValueResult).reduce(BigDecimal.ZERO,BigDecimal::add));
return ret;
return result;
}
public JSONObject getSquareInfoGroup(TargetDraftDaynewReqVo vo){
JSONObject ret=new JSONObject();
List<SysDept> sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.COMANY).build());
if (CollUtil.isEmpty(sysDepts)) {
return ret;
/**
* 查询某组织某天多图表数据列表
* @param reportDataReq
* @return
*/
public List<SomeOrgSomedayMultiReportDataVO> selectSomeOrgSomedayMultiReportDataList(ReportDataReq reportDataReq) {
List<SomeOrgSomedayMultiReportDataDTO> someOrgSomedayMultiReportDataDTOS = this.selectSomeOrgSomedayMultiReportDataDTOList(reportDataReq);
if (!CollectionUtils.isEmpty(someOrgSomedayMultiReportDataDTOS)) {
return JSONArray.parseArray(JSONArray.toJSONString(someOrgSomedayMultiReportDataDTOS), SomeOrgSomedayMultiReportDataVO.class);
}
List<String> reportNames = Stream.of(ReportNameEnum.OPENING_AREA.getName(), ReportNameEnum.HEATING_AREA.getName()).collect(Collectors.toList());
List<Long> orgIds = sysDepts.stream().map(SysDept::getDeptId).distinct().collect(Collectors.toList());
vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(orgIds);
List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(vo);
if (CollUtil.isEmpty(targetDraftDaynewResVos)) {
return ret;
}
JSONArray inCircle=new JSONArray();
JSONArray outCircle=new JSONArray();
targetDraftDaynewResVos.stream().filter(x->ReportNameEnum.OPENING_AREA.getName().equals(x.getReportName())).forEach(x->{
JSONObject jo = new JSONObject();
jo.put("name", x.getOrganizeName());
jo.put("unit", x.getTargetUnit());
jo.put("value", x.getValueResult());
inCircle.add(jo);
});
targetDraftDaynewResVos.stream().filter(x->ReportNameEnum.HEATING_AREA.getName().equals(x.getReportName())).forEach(x->{
JSONObject jo = new JSONObject();
jo.put("name", x.getOrganizeName());
jo.put("unit", x.getTargetUnit());
jo.put("value", x.getValueResult());
outCircle.add(jo);
});;
ret.put("inCircle",inCircle);
ret.put("outCircle",outCircle);
JSONObject allJo=new JSONObject();
allJo.put("unit",targetDraftDaynewResVos.get(0).getTargetUnit());
allJo.put("concatSquare",targetDraftDaynewResVos.stream().filter(x->ReportNameEnum.OPENING_AREA.getName().equals(x.getReportName())).map(TargetDraftDaynewResVo::getValueResult).reduce(BigDecimal.ZERO,BigDecimal::add));
allJo.put("realSquare",targetDraftDaynewResVos.stream().filter(x->ReportNameEnum.HEATING_AREA.getName().equals(x.getReportName())).map(TargetDraftDaynewResVo::getValueResult).reduce(BigDecimal.ZERO,BigDecimal::add));
ret.put("all", allJo);
return ret;
return new ArrayList<>();
}
public JSONObject getCoalLostRate(TargetDraftDaynewReqVo vo){
JSONObject ret=new JSONObject();
List<SysDept> sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.COMANY).build());
if (CollUtil.isEmpty(sysDepts)) {
return ret;
}
List<String> reportNames = Stream.of(ReportNameEnum.COAL_CONSUMPTION.getName(), ReportNameEnum.COAL_CONSUMPTION_PER_UNIT.getName()).collect(Collectors.toList());
List<Long> orgIds = sysDepts.stream().map(SysDept::getDeptId).distinct().collect(Collectors.toList());
vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(orgIds);
List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(vo);
if (CollUtil.isEmpty(targetDraftDaynewResVos)) {
return ret;
}
JSONArray product=new JSONArray();
JSONArray realcost=new JSONArray();
JSONArray realcost_2=new JSONArray();
product.add("name");
realcost.add(ReportNameEnum.COAL_CONSUMPTION.getName());
realcost_2.add(ReportNameEnum.COAL_CONSUMPTION_PER_UNIT.getName());
targetDraftDaynewResVos.stream().collect(Collectors.toList()).sort(Comparator.comparing(TargetDraftDaynewResVo::getOrganizeName));
product.addAll(targetDraftDaynewResVos.stream().map(TargetDraftDaynewResVo::getOrganizeName).distinct().collect(Collectors.toList()));
for (int i = 1; i < product.size(); i++) {
int finalI = i;
realcost.add(targetDraftDaynewResVos.stream().filter(t->ReportNameEnum.COAL_CONSUMPTION.getName().equals(t.getReportName())&&t.getOrganizeName().equals(product.get(finalI))).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult());
realcost_2.add(targetDraftDaynewResVos.stream().filter(t->ReportNameEnum.COAL_CONSUMPTION_PER_UNIT.getName().equals(t.getReportName())&&t.getOrganizeName().equals(product.get(finalI))).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult());
public List<JSONArray> selectChildrenOrgSomedayMultiReportDataBar(ReportDataReq reportDataReq) {
List<JSONArray> result = new ArrayList<>();
List<String> reportNames = reportDataReq.getReportNames();
JSONArray head = new JSONArray();
head.add("product");
head.addAll(reportNames);
result.add(head);
this.buildChildrenOrgReportDataReq(reportDataReq);
List<SomeTypeChildrenOrgSomedayMultiReportDataDTO> data = this.selectSomeTypeChildrenOrgSomedayMultiReportDataDTOList(reportDataReq);
if (!CollectionUtils.isEmpty(data)) {
Map<Long, List<SomeTypeChildrenOrgSomedayMultiReportDataDTO>> orgIdGroupMap = data.stream().collect(groupingBy(SomeTypeChildrenOrgSomedayMultiReportDataDTO::getOrgId));
orgIdGroupMap.forEach((orgId, orgDataList) -> {
JSONArray body = new JSONArray();
body.add(orgDataList.get(0).getOrgName());
Map<String, BigDecimal> reportValueMap = orgDataList.stream().collect(Collectors.toMap(SomeTypeChildrenOrgSomedayMultiReportDataDTO::getReportName, SomeTypeChildrenOrgSomedayMultiReportDataDTO::getValueResult, (v1, v2) -> v2));
reportNames.forEach(reportName -> {
body.add(reportValueMap.get(reportName));
});
result.add(body);
});
}
JSONArray list=new JSONArray();
list.add(product);
list.add(realcost);
list.add(realcost_2);
ret.put("source",list);
ret.put("unit",targetDraftDaynewResVos.get(0).getTargetUnit());
return ret;
return result;
}
public JSONObject getWaterInfo(TargetDraftDaynewReqVo vo){
JSONObject ret=new JSONObject();
List<SysDept> sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.COMANY).build());
if (CollUtil.isEmpty(sysDepts)) {
return ret;
/**
* 查询某组织某天多图表数据DTO列表
* @param reportDataReq
* @return
*/
private List<SomeOrgSomedayMultiReportDataDTO> selectSomeOrgSomedayMultiReportDataDTOList(ReportDataReq reportDataReq) {
this.buildReportDataReq(reportDataReq);
return baseMapper.selectSomeOrgSomedayMultiReportDataList(reportDataReq);
}
/**
* 查询某类型的下级组织某天的多图表数据列表
* @param reportDataReq
* @return
*/
private List<SomeTypeChildrenOrgSomedayMultiReportDataDTO> selectSomeTypeChildrenOrgSomedayMultiReportDataDTOList(ReportDataReq reportDataReq) {
return baseMapper.selectSomeTypeChildrenOrgSomedayMultiReportDataList(reportDataReq);
}
/**
* 查询某组织某个图表年度数据列表
* @param reportDataReq
* @return
*/
public List<SomeOrgSomeReportYearlyDataVO> selectSomeOrgSomeReportYearlyDataList(ReportDataReq reportDataReq) {
this.buildReportDataReq(reportDataReq);
return baseMapper.selectSomeOrgSomeReportYearlyDataList(reportDataReq);
}
/**
* 构建统计单元级别和类型
* @param reportDataReq
*/
private void buildReportDataReq(ReportDataReq reportDataReq) {
Long orgId = reportDataReq.getOrgId();
if (orgId == null) {
return;
}
List<String> reportNames = Stream.of(ReportNameEnum.FIRST_NETWORK_WATER_CONSUMPTION_RATE.getName(), ReportNameEnum.SECOND_NETWORK_WATER_CONSUMPTION_RATE.getName(),
ReportNameEnum.PRIMARY_NET_RECHARGE_WATER.getName(), ReportNameEnum.DATANG_PRIMARY_NET_RECHARGE_WATER.getName(), ReportNameEnum.WATER_CONSUMPTION_OF_SECONDARY_NETWORK.getName()).collect(Collectors.toList());
List<Long> orgIds = sysDepts.stream().map(SysDept::getDeptId).distinct().collect(Collectors.toList());
vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(orgIds);
List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(vo);
if (CollUtil.isEmpty(targetDraftDaynewResVos)) {
return ret;
SysDept sysDept = iSysDeptService.selectDeptById(orgId);
if (null != sysDept) {
String orgType = sysDept.getOrgType();
switch (orgType) {
case BizConstants.DcDeptAttr.BLOC:
reportDataReq.setAssetLevel("0");
reportDataReq.setAssetType("0");
break;
case BizConstants.DcDeptAttr.COMANY:
reportDataReq.setAssetLevel("10");
reportDataReq.setAssetType("0");
break;
case BizConstants.DcDeptAttr.HEAT_SOURCE:
reportDataReq.setAssetLevel("20");
reportDataReq.setAssetType("0");
break;
default:
break;
}
}
JSONArray list=new JSONArray();
targetDraftDaynewResVos.stream().collect(groupingBy(TargetDraftDaynewResVo::getOrganizeName)).entrySet().forEach(entry->{
JSONObject jo = new JSONObject();
jo.put("name", entry.getKey());
jo.put("field1", entry.getValue().stream().filter(x -> x.getReportName().equals(ReportNameEnum.FIRST_NETWORK_WATER_CONSUMPTION_RATE.getName())).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult());
jo.put("field2", entry.getValue().stream().filter(x -> x.getReportName().equals(ReportNameEnum.SECOND_NETWORK_WATER_CONSUMPTION_RATE.getName())).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult());
BigDecimal primary_net_recharge_water_value = entry.getValue().stream().filter(x -> x.getReportName().equals(ReportNameEnum.PRIMARY_NET_RECHARGE_WATER.getName())).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult();
BigDecimal datang_primary_net_recharge_water_value = entry.getValue().stream().filter(x -> x.getReportName().equals(ReportNameEnum.PRIMARY_NET_RECHARGE_WATER.getName())).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult();
primary_net_recharge_water_value = ObjUtil.isNotEmpty(primary_net_recharge_water_value)?primary_net_recharge_water_value:BigDecimal.ZERO;
datang_primary_net_recharge_water_value = ObjUtil.isNotEmpty(datang_primary_net_recharge_water_value)?datang_primary_net_recharge_water_value:BigDecimal.ZERO;
jo.put("field3", primary_net_recharge_water_value.add(datang_primary_net_recharge_water_value));
jo.put("field4", entry.getValue().stream().filter(x -> x.getReportName().equals(ReportNameEnum.WATER_CONSUMPTION_OF_SECONDARY_NETWORK.getName())).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult());
list.add(jo);
});
ret.put("source",list);
return ret;
}
public JSONObject getPowerLostRate(TargetDraftDaynewReqVo vo){
JSONObject ret=new JSONObject();
List<SysDept> sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.COMANY).build());
if (CollUtil.isEmpty(sysDepts)) {
return ret;
}
List<String> reportNames = Stream.of(ReportNameEnum.POWER_CONSUMPTION_RATE_OF_HEAT_SOURCE_PLANT.getName(), ReportNameEnum.TOTAL_ELECTRICITY_CONSUMPTION.getName()).collect(Collectors.toList());
List<Long> orgIds = sysDepts.stream().map(SysDept::getDeptId).distinct().collect(Collectors.toList());
vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(orgIds);
List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(vo);
if (CollUtil.isEmpty(targetDraftDaynewResVos)) {
return ret;
/**
* 构建下级组织的统计单元级别和类型
* @param reportDataReq
*/
private void buildChildrenOrgReportDataReq(ReportDataReq reportDataReq) {
Long orgId = reportDataReq.getOrgId();
if (orgId == null) {
return;
}
JSONArray product=new JSONArray();
JSONArray realcost=new JSONArray();
JSONArray realcost_2=new JSONArray();
product.add("name");
realcost.add(ReportNameEnum.POWER_CONSUMPTION_RATE_OF_HEAT_SOURCE_PLANT.getName());
realcost_2.add(ReportNameEnum.TOTAL_ELECTRICITY_CONSUMPTION.getName());
targetDraftDaynewResVos.stream().collect(Collectors.toList()).sort(Comparator.comparing(TargetDraftDaynewResVo::getOrganizeName));
product.addAll(targetDraftDaynewResVos.stream().map(TargetDraftDaynewResVo::getOrganizeName).distinct().collect(Collectors.toList()));
for (int i = 1; i < product.size(); i++) {
int finalI = i;
realcost.add(targetDraftDaynewResVos.stream().filter(t->ReportNameEnum.POWER_CONSUMPTION_RATE_OF_HEAT_SOURCE_PLANT.getName().equals(t.getReportName())&&t.getOrganizeName().equals(product.get(finalI))).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult());
realcost_2.add(targetDraftDaynewResVos.stream().filter(t->ReportNameEnum.TOTAL_ELECTRICITY_CONSUMPTION.getName().equals(t.getReportName())&&t.getOrganizeName().equals(product.get(finalI))).findFirst().orElse(new TargetDraftDaynewResVo()).getValueResult());
SysDept sysDept = iSysDeptService.selectDeptById(orgId);
if (null != sysDept) {
switch (sysDept.getOrgType()) {
case BizConstants.DcDeptAttr.BLOC:
reportDataReq.setAssetLevel("10");
reportDataReq.setAssetType("0");
reportDataReq.setOrgType(BizConstants.DcDeptAttr.COMANY);
break;
case BizConstants.DcDeptAttr.COMANY:
reportDataReq.setAssetLevel("20");
reportDataReq.setAssetType("0");
reportDataReq.setOrgType(BizConstants.DcDeptAttr.HEAT_SOURCE);
break;
case BizConstants.DcDeptAttr.HEAT_SOURCE:
reportDataReq.setAssetLevel("30");
reportDataReq.setAssetType("0");
reportDataReq.setOrgType(BizConstants.DcDeptAttr.HEAT_SOURCE);
break;
default:
break;
}
}
JSONArray list=new JSONArray();
list.add(product);
list.add(realcost);
list.add(realcost_2);
ret.put("source",list);
ret.put("unit",targetDraftDaynewResVos.get(0).getTargetUnit());
return ret;
}
public JSONObject getMapInfo(TargetDraftDaynewReqVo vo){
public JSONObject getMapInfo(ReportDataReq vo){
JSONObject ret=new JSONObject();
List<SysDept> sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.COMANY).build());
if (CollUtil.isEmpty(sysDepts)) {
@ -305,54 +271,4 @@ public class DcBusiDataScreenMainService extends ServiceImpl<DcBusiDataScreenMai
ret.put("source", jsonArray);
return ret;
}
public List<DcBusiDataScreenVo> selectSquareRealDetail(String qdate) {
return baseMapper.selectSquareRealDetail(qdate);
}
public List<DcBusiDataScreenVo> selectSquareSelfDetail(String qdate){
return baseMapper.selectSquareSelfDetail(qdate);
}
public List<DcBusiDataScreenVo> selectSquareGroup(String qdate){
return baseMapper.selectSquareGroup(qdate);
}
public List<TargetDraftDayRangeResVo> getHeatingPeriodData(TargetDraftDaynewReqVo vo){
List<TargetDraftDayRangeResVo> res = Lists.newArrayList();
if (!HeatingPeriodEnum.HEATING_ALL_PERIOD.getMonths().contains(Integer.parseInt(vo.getDateMonth()))) {
return res;
}
List<SysDept> sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.COMANY).build());
if (CollUtil.isEmpty(sysDepts)) {
return res;
}
List<Long> orgIds = sysDepts.stream().map(SysDept::getDeptId).distinct().collect(Collectors.toList());
vo.setAssetType("0").setAssetLevel("10").setOrgIds(orgIds);
String dateYear = vo.getDateYear();
if (HeatingPeriodEnum.HEATING_NEXT_YREA_PERIOD.getMonths().contains(Integer.parseInt(vo.getDateMonth()))) {
dateYear = String.valueOf(Integer.parseInt(vo.getDateYear())-1);
}
vo.setBeginDate(StringUtils.join(dateYear, "1101")).setAssetType("0").setAssetLevel("10").setOrgIds(orgIds)
.setEndDate(StringUtils.join(vo.getDateYear(),vo.getDateMonth(),vo.getDateDay()));
List<TargetDraftDayRangeResVo> list = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewRangeList(vo);
List<SysDept> depts = sysDepts.stream().filter(x -> list.stream().map(TargetDraftDayRangeResVo::getCname).distinct().collect(Collectors.toList()).contains(x.getDeptName())).collect(Collectors.toList());
List<TargetDraftDayRangeResVo> totalList = Lists.newArrayList();
list.stream().collect(groupingBy(TargetDraftDayRangeResVo::getCdate)).entrySet().forEach(entry->{
depts.forEach(dept->{
TargetDraftDayRangeResVo dayVo = entry.getValue().stream().filter(x -> x.getCname().equals(dept.getDeptName())).findFirst().orElse(null);
if (ObjectUtil.isNull(dayVo)) {
totalList.add(TargetDraftDayRangeResVo.builder().cdate(entry.getKey()).cname(dept.getDeptName()).valueResult(BigDecimal.ZERO).build());
} else {
totalList.add(dayVo);
}
});
});
totalList.stream().collect(groupingBy(TargetDraftDayRangeResVo::getCdate)).entrySet().forEach(entry->{
res.add(TargetDraftDayRangeResVo.builder().cdate(entry.getKey())
.cut(CollectionUtil.join(entry.getValue().stream().map(TargetDraftDayRangeResVo::getValueResult).collect(Collectors.toList()), ","))
.cname(CollectionUtil.join(entry.getValue().stream().map(TargetDraftDayRangeResVo::getCname).collect(Collectors.toList()), ","))
.build());
});
res.sort(Comparator.comparing(TargetDraftDayRangeResVo::getCdate));
return res;
}
}

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

@ -6,7 +6,7 @@ import com.lzbi.common.constant.BizConstants;
import com.lzbi.common.core.domain.entity.SysDept;
import com.lzbi.common.enums.ReportNameEnum;
import com.lzbi.draft.domain.vo.TargetDraftDaynewAggregateResVo;
import com.lzbi.draft.domain.vo.TargetDraftDaynewReqVo;
import com.lzbi.draft.domain.req.ReportDataReq;
import com.lzbi.draft.domain.vo.TargetDraftDaynewResVo;
import com.lzbi.draft.domain.vo.TargetDraftMonthAggregateResVo;
import com.lzbi.draft.mapper.DcBusiTargetDraftMonthMapper;
@ -47,7 +47,7 @@ public class DcBusiDataScreenNewService {
@Resource
private ISysDeptService iSysDeptService;
public List<UserIOverViewVO> getUserOverview(TargetDraftDaynewReqVo vo) {
public List<UserIOverViewVO> getUserOverview(ReportDataReq vo) {
List<UserIOverViewVO> list = new ArrayList<>();
List<String> reportNames = Stream.of(ReportNameEnum.OPENING_AREA.getName(), ReportNameEnum.HEATING_AREA.getName()).collect(Collectors.toList());
vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(Stream.of(vo.getOrgId()).collect(Collectors.toList()));
@ -63,7 +63,7 @@ public class DcBusiDataScreenNewService {
return list;
}
public ProvideAnswerWaterAverageTemperatureVO getProvideAnswerWaterAverageTemperature(TargetDraftDaynewReqVo vo) {
public ProvideAnswerWaterAverageTemperatureVO getProvideAnswerWaterAverageTemperature(ReportDataReq vo) {
ProvideAnswerWaterAverageTemperatureVO resVO = new ProvideAnswerWaterAverageTemperatureVO();
List<SysDept> sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.HEAT_SOURCE).build());
if (CollUtil.isEmpty(sysDepts)) {
@ -90,7 +90,7 @@ public class DcBusiDataScreenNewService {
return resVO;
}
public List<BoilerStatisticsVO> getBoilerStatistics(TargetDraftDaynewReqVo vo) {
public List<BoilerStatisticsVO> getBoilerStatistics(ReportDataReq vo) {
List<BoilerStatisticsVO> list = new ArrayList<>();
List<String> reportNames = Stream.of(ReportNameEnum.NUMBER_OF_STEAM_FURNACES_IN_OPERATION.getName(), ReportNameEnum.NUMBER_OF_WATER_FURNACES_IN_OPERATION.getName()).collect(Collectors.toList());
vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(Stream.of(vo.getOrgId()).collect(Collectors.toList()));
@ -109,10 +109,10 @@ public class DcBusiDataScreenNewService {
return list;
}
public List<ConsumesStatisticsVO> getConsumesStatistics(TargetDraftDaynewReqVo targetDraftDaynewReqVo) {
public List<ConsumesStatisticsVO> getConsumesStatistics(ReportDataReq reportDataReq) {
List<ConsumesStatisticsVO> list = new ArrayList<>();
SysDept deptParams = new SysDept();
deptParams.setParentId(targetDraftDaynewReqVo.getOrgId());
deptParams.setParentId(reportDataReq.getOrgId());
deptParams.setOrgType(BizConstants.DcDeptAttr.HEAT_SOURCE);
List<SysDept> childrenDept = iSysDeptService.selecttList(deptParams);
if (CollectionUtils.isEmpty(childrenDept)) {
@ -124,11 +124,11 @@ public class DcBusiDataScreenNewService {
names.add(ReportNameEnum.DATANG_PRIMARY_NET_RECHARGE_WATER.getName());
names.add(ReportNameEnum.TOTAL_ELECTRICITY_CONSUMPTION.getName());
names.add(ReportNameEnum.COAL_CONSUMPTION.getName());
targetDraftDaynewReqVo.setReportNames(names);
targetDraftDaynewReqVo.setAssetLevel(BizConstants.DcAssetLevel.HEAT_SOURCE);
targetDraftDaynewReqVo.setAssetType(BizConstants.DcAssetType.REPORT);
targetDraftDaynewReqVo.setOrgIds(orgIds);
List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(targetDraftDaynewReqVo);
reportDataReq.setReportNames(names);
reportDataReq.setAssetLevel(BizConstants.DcAssetLevel.HEAT_SOURCE);
reportDataReq.setAssetType(BizConstants.DcAssetType.REPORT);
reportDataReq.setOrgIds(orgIds);
List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(reportDataReq);
if (CollectionUtils.isNotEmpty(targetDraftDaynewResVos)) {
Map<String, List<TargetDraftDaynewResVo>> orgNameMap = targetDraftDaynewResVos.stream().collect(Collectors.groupingBy(TargetDraftDaynewResVo::getOrganizeName));
orgNameMap.forEach((orgName, targetDraftDaynewResVoList) -> {
@ -155,10 +155,10 @@ public class DcBusiDataScreenNewService {
return list;
}
public List<CalorificValueVO> getCalorificValue(TargetDraftDaynewReqVo targetDraftDaynewReqVo) {
public List<CalorificValueVO> getCalorificValue(ReportDataReq reportDataReq) {
List<CalorificValueVO> list = new ArrayList<>();
SysDept deptParams = new SysDept();
deptParams.setParentId(targetDraftDaynewReqVo.getOrgId());
deptParams.setParentId(reportDataReq.getOrgId());
deptParams.setOrgType(BizConstants.DcDeptAttr.HEAT_SOURCE);
List<SysDept> childrenDept = iSysDeptService.selecttList(deptParams);
if (CollectionUtils.isEmpty(childrenDept)) {
@ -167,11 +167,11 @@ public class DcBusiDataScreenNewService {
List<Long> orgIds = childrenDept.stream().map(SysDept::getDeptId).collect(Collectors.toList());
List<String> names = new ArrayList<>();
names.add(ReportNameEnum.TOTAL_HEAT_PRODUCTION.getName());
targetDraftDaynewReqVo.setReportNames(names);
targetDraftDaynewReqVo.setAssetLevel(BizConstants.DcAssetLevel.HEAT_SOURCE);
targetDraftDaynewReqVo.setAssetType(BizConstants.DcAssetType.REPORT);
targetDraftDaynewReqVo.setOrgIds(orgIds);
List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(targetDraftDaynewReqVo);
reportDataReq.setReportNames(names);
reportDataReq.setAssetLevel(BizConstants.DcAssetLevel.HEAT_SOURCE);
reportDataReq.setAssetType(BizConstants.DcAssetType.REPORT);
reportDataReq.setOrgIds(orgIds);
List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(reportDataReq);
if (CollectionUtils.isNotEmpty(targetDraftDaynewResVos)) {
final BigDecimal[] sum = {new BigDecimal(0)};
targetDraftDaynewResVos.stream().forEach(item -> sum[0] = sum[0].add(item.getValueResult()));
@ -197,7 +197,7 @@ public class DcBusiDataScreenNewService {
return list;
}
public FinishingRate getFinishingRate(TargetDraftDaynewReqVo targetDraftDaynewReqVo) {
public FinishingRate getFinishingRate(ReportDataReq reportDataReq) {
FinishingRate finishingRate = new FinishingRate();
List<String> names = new ArrayList<>();
names.add(ReportNameEnum.FIRST_NETWORK_WATER_CONSUMPTION_RATE.getName());
@ -205,18 +205,18 @@ public class DcBusiDataScreenNewService {
names.add(ReportNameEnum.POWER_CONSUMPTION_RATE_OF_HEAT_SOURCE_PLANT.getName());
names.add(ReportNameEnum.SECOND_NETWORK_ELECTRICITY_CONSUMPTION_RATE.getName());
names.add(ReportNameEnum.COAL_CONSUMPTION_PER_UNIT.getName());
targetDraftDaynewReqVo.setReportNames(names);
targetDraftDaynewReqVo.setAssetLevel(BizConstants.DcAssetLevel.COMPANY);
targetDraftDaynewReqVo.setAssetType(BizConstants.DcAssetType.REPORT);
reportDataReq.setReportNames(names);
reportDataReq.setAssetLevel(BizConstants.DcAssetLevel.COMPANY);
reportDataReq.setAssetType(BizConstants.DcAssetType.REPORT);
List<Long> orgIds = new ArrayList<>();
orgIds.add(targetDraftDaynewReqVo.getOrgId());
targetDraftDaynewReqVo.setOrgIds(orgIds);
List<TargetDraftDaynewAggregateResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewAggregateList(targetDraftDaynewReqVo);
orgIds.add(reportDataReq.getOrgId());
reportDataReq.setOrgIds(orgIds);
List<TargetDraftDaynewAggregateResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewAggregateList(reportDataReq);
if (CollectionUtils.isEmpty(targetDraftDaynewResVos)) {
log.error("日底稿无数据");
throw new RuntimeException("无数据");
}
List<TargetDraftMonthAggregateResVo> targetDraftMonthAggregateResVos = dcBusiTargetDraftMonthMapper.selectDcBusiTargetDraftMontAggregateList(targetDraftDaynewReqVo);
List<TargetDraftMonthAggregateResVo> targetDraftMonthAggregateResVos = dcBusiTargetDraftMonthMapper.selectDcBusiTargetDraftMontAggregateList(reportDataReq);
if (CollectionUtils.isEmpty(targetDraftMonthAggregateResVos)) {
log.error("月底稿无数据");
throw new RuntimeException("无数据");
@ -240,20 +240,20 @@ public class DcBusiDataScreenNewService {
return finishingRate;
}
public CorporateStatisticsVO getCorporateStatistics(TargetDraftDaynewReqVo targetDraftDaynewReqVo) {
public CorporateStatisticsVO getCorporateStatistics(ReportDataReq reportDataReq) {
CorporateStatisticsVO corporateStatisticsVO = new CorporateStatisticsVO();
List<String> names = new ArrayList<>();
names.add(ReportNameEnum.HEATING_AREA.getName());
names.add(ReportNameEnum.TOTAL_GENERATING_CAPACITY.getName());
names.add(ReportNameEnum.TOTAL_HEAT_PRODUCTION.getName());
names.add(ReportNameEnum.TOTAL_HEAT_SUPPLIED.getName());
targetDraftDaynewReqVo.setReportNames(names);
targetDraftDaynewReqVo.setAssetLevel(BizConstants.DcAssetLevel.COMPANY);
targetDraftDaynewReqVo.setAssetType(BizConstants.DcAssetType.REPORT);
reportDataReq.setReportNames(names);
reportDataReq.setAssetLevel(BizConstants.DcAssetLevel.COMPANY);
reportDataReq.setAssetType(BizConstants.DcAssetType.REPORT);
List<Long> orgIds = new ArrayList<>();
orgIds.add(targetDraftDaynewReqVo.getOrgId());
targetDraftDaynewReqVo.setOrgIds(orgIds);
List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(targetDraftDaynewReqVo);
orgIds.add(reportDataReq.getOrgId());
reportDataReq.setOrgIds(orgIds);
List<TargetDraftDaynewResVo> targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(reportDataReq);
if (CollectionUtils.isNotEmpty(targetDraftDaynewResVos)) {
Map<String, BigDecimal> reportMap = targetDraftDaynewResVos.stream().collect(Collectors.toMap(TargetDraftDaynewResVo::getReportName, TargetDraftDaynewResVo::getValueResult));
corporateStatisticsVO.setAcreage(reportMap.get(ReportNameEnum.HEATING_AREA.getName()));

2
lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamDraftDay.java

@ -59,7 +59,7 @@ public class DcBusiParamDraftDay extends BaseModuleEntity
private String targetUint;
/** 统计日期[ */
@Excel(name = "统计日期[")
@Excel(name = "统计日期")
private String countDate;
/** 均值 */

24
lzbi-module/src/main/java/com/lzbi/draft/domain/dto/SomeOrgSomedayMultiReportDataDTO.java

@ -0,0 +1,24 @@
package com.lzbi.draft.domain.dto;
import lombok.Data;
import java.math.BigDecimal;
/**
* 某组织某天多图表数据
*/
@Data
public class SomeOrgSomedayMultiReportDataDTO {
/**
* 图表名称
*/
private String reportName;
/**
* 结果值
*/
private BigDecimal valueResult;
/**
* 计划值
*/
private BigDecimal valuePlan;
}

33
lzbi-module/src/main/java/com/lzbi/draft/domain/dto/SomeTypeChildrenOrgSomedayMultiReportDataDTO.java

@ -0,0 +1,33 @@
package com.lzbi.draft.domain.dto;
import lombok.Data;
import java.math.BigDecimal;
/**
* 某类型的下级组织某天的多图表数据
*/
@Data
public class SomeTypeChildrenOrgSomedayMultiReportDataDTO {
/**
* 下级组织id
*/
private Long orgId;
/**
* 下级组织名称
*/
private String orgName;
/**
* 图表名称
*/
private String reportName;
/**
* 结果值
*/
private BigDecimal valueResult;
/**
* 计划值
*/
private BigDecimal valuePlan;
}

8
lzbi-module/src/main/java/com/lzbi/draft/domain/vo/TargetDraftDaynewReqVo.java → lzbi-module/src/main/java/com/lzbi/draft/domain/req/ReportDataReq.java

@ -1,4 +1,4 @@
package com.lzbi.draft.domain.vo;
package com.lzbi.draft.domain.req;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -14,10 +14,12 @@ import java.util.List;
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class TargetDraftDaynewReqVo {
public class ReportDataReq {
private List<String> reportNames;
private String reportName;
@NotNull
private String dateYear;
@ -40,4 +42,6 @@ public class TargetDraftDaynewReqVo {
private String endDate;
private String orgType;
}

29
lzbi-module/src/main/java/com/lzbi/draft/domain/vo/ChildrenOrgSomedaySomeReportDataVO.java

@ -0,0 +1,29 @@
package com.lzbi.draft.domain.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* 下级组织某日某图表数据
*/
@Data
public class ChildrenOrgSomedaySomeReportDataVO {
/**
* 下级组织id
*/
private Long orgId;
/**
* 下级组织名称
*/
private String orgName;
/**
* 结果值
*/
private BigDecimal valueResult;
/**
* 计划值
*/
private BigDecimal valuePlan;
}

21
lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomeReportYearlyDataVO.java

@ -0,0 +1,21 @@
package com.lzbi.draft.domain.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* 某组织某报告某年度数据
*/
@Data
public class SomeOrgSomeReportYearlyDataVO {
/**
*
*/
private String dateYear;
/**
* 最大实际值
*/
private BigDecimal maxValueResult;
}

24
lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomedayMultiReportDataVO.java

@ -0,0 +1,24 @@
package com.lzbi.draft.domain.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* 某组织某天多图表数据
*/
@Data
public class SomeOrgSomedayMultiReportDataVO {
/**
* 图表名称
*/
private String reportName;
/**
* 结果值
*/
private BigDecimal valueResult;
/**
* 计划值
*/
private BigDecimal valuePlan;
}

22
lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomedaySomeReportDataVO.java

@ -0,0 +1,22 @@
package com.lzbi.draft.domain.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* 某个组织某天某个图表数据
*/
@Data
public class SomeOrgSomedaySomeReportDataVO {
/**
* 实际值
*/
private BigDecimal valueResult;
/**
* 计划值
*/
private BigDecimal valuePlan;
}

8
lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamDraftDayMapper.java

@ -35,12 +35,14 @@ public interface DcBusiParamDraftDayMapper extends BaseMapper<DcBusiParamDraftDa
/**
* 查询最后一天的参数底稿
* @param assetCodeList
* @param paramsModelCode
* @param assetCodeList 统计单元编码列表
* @param paramsModelCode 参数模板编码
* @param countDate 统计日期
* @return
*/
List<DcBusiParamDraftDay> selectLastDataByAssetCodeListAndParamsModelCode(@Param("assetCodeList") List<String> assetCodeList,
@Param("paramsModelCode") String paramsModelCode);
@Param("paramsModelCode") String paramsModelCode,
@Param("countDate") String countDate);
/**
* 查询参数数据底稿列表
*

9
lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiTargetDraftDaynewMapper.java

@ -5,12 +5,11 @@ import com.lzbi.bill.domain.DcBusiTargetInputMaster;
import com.lzbi.draft.domain.DcBusiTargetDraftDaynew;
import com.lzbi.draft.domain.vo.TargetDraftDayRangeResVo;
import com.lzbi.draft.domain.vo.TargetDraftDaynewAggregateResVo;
import com.lzbi.draft.domain.vo.TargetDraftDaynewReqVo;
import com.lzbi.draft.domain.req.ReportDataReq;
import com.lzbi.draft.domain.vo.TargetDraftDaynewResVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 指标数据底稿日-新结构Mapper接口
@ -75,9 +74,9 @@ public interface DcBusiTargetDraftDaynewMapper extends BaseMapper<DcBusiTargetDr
*/
public int deleteDcBusiTargetDraftDaynewByIds(String[] ids);
List<TargetDraftDaynewResVo> selectTargetDraftDaynewList(TargetDraftDaynewReqVo vo);
List<TargetDraftDaynewResVo> selectTargetDraftDaynewList(ReportDataReq vo);
List<TargetDraftDayRangeResVo> selectTargetDraftDaynewRangeList(TargetDraftDaynewReqVo vo);
List<TargetDraftDayRangeResVo> selectTargetDraftDaynewRangeList(ReportDataReq vo);
List<TargetDraftDaynewAggregateResVo> selectTargetDraftDaynewAggregateList(TargetDraftDaynewReqVo vo);
List<TargetDraftDaynewAggregateResVo> selectTargetDraftDaynewAggregateList(ReportDataReq vo);
}

6
lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiTargetDraftMonthMapper.java

@ -5,7 +5,7 @@ import java.util.List;
import com.lzbi.bill.domain.DcBusiTargetInputMaster;
import com.lzbi.draft.domain.DcBusiTargetDraftMonth;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lzbi.draft.domain.vo.TargetDraftDaynewReqVo;
import com.lzbi.draft.domain.req.ReportDataReq;
import com.lzbi.draft.domain.vo.TargetDraftMonthAggregateResVo;
import org.apache.ibatis.annotations.Param;
@ -36,10 +36,10 @@ public interface DcBusiTargetDraftMonthMapper extends BaseMapper<DcBusiTargetDra
/**
* 查询月指标累计值
* @param targetDraftDaynewReqVo
* @param reportDataReq
* @return
*/
List<TargetDraftMonthAggregateResVo> selectDcBusiTargetDraftMontAggregateList(TargetDraftDaynewReqVo targetDraftDaynewReqVo);
List<TargetDraftMonthAggregateResVo> selectDcBusiTargetDraftMontAggregateList(ReportDataReq reportDataReq);
/**
* 根据录入单查询

8
lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiTargetDraftDaynewService.java

@ -6,7 +6,7 @@ import com.lzbi.common.utils.DateUtils;
import com.lzbi.draft.domain.DcBusiTargetDraftDaynew;
import com.lzbi.draft.domain.vo.TargetDraftDayRangeResVo;
import com.lzbi.draft.domain.vo.TargetDraftDaynewAggregateResVo;
import com.lzbi.draft.domain.vo.TargetDraftDaynewReqVo;
import com.lzbi.draft.domain.req.ReportDataReq;
import com.lzbi.draft.domain.vo.TargetDraftDaynewResVo;
import com.lzbi.draft.mapper.DcBusiTargetDraftDaynewMapper;
import org.springframework.stereotype.Service;
@ -94,15 +94,15 @@ public class DcBusiTargetDraftDaynewService extends ServiceImpl<DcBusiTargetDraf
return baseMapper.deleteDcBusiTargetDraftDaynewById(id);
}
public List<TargetDraftDaynewResVo> selectTargetDraftDaynewList(TargetDraftDaynewReqVo vo){
public List<TargetDraftDaynewResVo> selectTargetDraftDaynewList(ReportDataReq vo){
return baseMapper.selectTargetDraftDaynewList(vo);
}
public List<TargetDraftDayRangeResVo> selectTargetDraftDaynewRangeList(TargetDraftDaynewReqVo vo){
public List<TargetDraftDayRangeResVo> selectTargetDraftDaynewRangeList(ReportDataReq vo){
return baseMapper.selectTargetDraftDaynewRangeList(vo);
}
public List<TargetDraftDaynewAggregateResVo> selectTargetDraftDaynewAggregateList(TargetDraftDaynewReqVo vo){
public List<TargetDraftDaynewAggregateResVo> selectTargetDraftDaynewAggregateList(ReportDataReq vo){
return baseMapper.selectTargetDraftDaynewAggregateList(vo);
}
}

18
lzbi-module/src/main/java/com/lzbi/external/service/ParamsService.java

@ -1,6 +1,7 @@
package com.lzbi.external.service;
import com.lzbi.common.constant.ParamsModelCodeConstants;
import com.lzbi.common.utils.StringUtils;
import com.lzbi.draft.domain.DcBusiParamDraftDay;
import com.lzbi.draft.mapper.DcBusiParamDraftDayMapper;
import lombok.extern.slf4j.Slf4j;
@ -27,7 +28,22 @@ public class ParamsService {
if (CollectionUtils.isEmpty(assetCodeList)) {
throw new RuntimeException("资产编码列表不能为空");
}
List<DcBusiParamDraftDay> list = dcBusiParamDraftDayMapper.selectLastDataByAssetCodeListAndParamsModelCode(assetCodeList, ParamsModelCodeConstants.供暖面积);
List<DcBusiParamDraftDay> list = dcBusiParamDraftDayMapper.selectLastDataByAssetCodeListAndParamsModelCode(assetCodeList, ParamsModelCodeConstants.供暖面积, null);
if (CollectionUtils.isEmpty(list)) {
log.warn("暂无数据");
return new HashMap<>();
}
return list.stream().collect(Collectors.toMap(DcBusiParamDraftDay::getAssetCode, DcBusiParamDraftDay::getValLast));
}
public Map<String, Double> getMultipleAssetSupplyArea(List<String> assetCodeList, String countDate) {
if (CollectionUtils.isEmpty(assetCodeList)) {
throw new RuntimeException("资产编码列表不能为空");
}
if (StringUtils.isBlank(countDate)) {
throw new RuntimeException("统计日期不能为空");
}
List<DcBusiParamDraftDay> list = dcBusiParamDraftDayMapper.selectLastDataByAssetCodeListAndParamsModelCode(assetCodeList, ParamsModelCodeConstants.供暖面积, countDate);
if (CollectionUtils.isEmpty(list)) {
log.warn("暂无数据");
return new HashMap<>();

2
lzbi-module/src/main/java/com/lzbi/report/service/AjReportService.java

@ -175,7 +175,7 @@ public class AjReportService {
Map<String, List<ReportDTO>> reportDataMap = reportDataList.stream().collect(Collectors.groupingBy(item -> StringUtils.join(item.getAssetCode(), "-", item.getPartition())));
List<String> assetCodeList = reportDataList.stream().map(ReportDTO::getAssetCode).collect(Collectors.toList());
// 获取供热面积
Map<String, Double> multipleAssetSupplyArea = paramsService.getMultipleAssetSupplyArea(assetCodeList);
Map<String, Double> multipleAssetSupplyArea = paramsService.getMultipleAssetSupplyArea(assetCodeList, reportQuery.getCountDate());
assetAndPartitionList.forEach(assetAndPartition -> {
if (reportDataMap.containsKey(assetAndPartition)) {
Map<String, Object> reportVO = new HashMap<>();

123
lzbi-module/src/main/resources/mapper/DcBusiDataScreenMainMapper.xml

@ -313,4 +313,127 @@
and target_name in ('供暖面积-自管开栓面积', '实际自管供热面积')
group by count_date, target_unit
</select>
<select id="selectSomeOrgSomedaySomeReportData"
parameterType="com.lzbi.draft.domain.req.ReportDataReq"
resultType="com.lzbi.draft.domain.vo.SomeOrgSomedaySomeReportDataVO">
SELECT
t1.value_result,
t1.value_plan
FROM
dc_busi_target_draft_daynew t1
INNER JOIN dc_base_asset_target t2 ON t1.target_code = t2.target_code
INNER JOIN dc_busi_report_target_config t3 ON t2.target_model_code = t3.target_model_code
AND t3.report_name = #{reportName}
INNER JOIN dc_base_asset_info t4 ON t2.asset_code = t4.asset_code
AND t4.org_id = #{orgId}
AND t4.asset_level = #{assetLevel}
AND t4.asset_type = #{assetType}
WHERE
t1.date_year = #{dateYear}
AND t1.date_month = #{dateMonth}
AND t1.date_day = #{dateDay}
</select>
<select id="selectChildrenOrgSomedaySomeReportDataList"
parameterType="com.lzbi.draft.domain.req.ReportDataReq"
resultType="com.lzbi.draft.domain.vo.ChildrenOrgSomedaySomeReportDataVO">
SELECT
t5.dept_id as "orgId",
t5.dept_name as "orgName",
t1.value_result
FROM
dc_busi_target_draft_daynew t1
INNER JOIN dc_base_asset_target t2 ON t1.target_code = t2.target_code
INNER JOIN dc_busi_report_target_config t3 ON t2.target_model_code = t3.target_model_code
AND t3.report_name = #{reportName}
INNER JOIN dc_base_asset_info t4 ON t2.asset_code = t4.asset_code
AND t4.asset_level = #{assetLevel}
AND t4.asset_type = #{assetType}
INNER JOIN sys_dept t5 ON t4.org_id = t5.dept_id
AND t5.parent_id = #{orgId}
WHERE
t1.date_year = #{dateYear}
AND t1.date_month = #{dateMonth}
AND t1.date_day = #{dateDay}
ORDER BY t5.dept_id
</select>
<select id="selectSomeOrgSomedayMultiReportDataList"
parameterType="com.lzbi.draft.domain.req.ReportDataReq"
resultType="com.lzbi.draft.domain.dto.SomeOrgSomedayMultiReportDataDTO">
SELECT
t3.report_name,
t1.value_result,
t1.value_plan
FROM
dc_busi_target_draft_daynew t1
INNER JOIN dc_base_asset_target t2 ON t1.target_code = t2.target_code
INNER JOIN dc_busi_report_target_config t3 ON t2.target_model_code = t3.target_model_code
AND t3.report_name IN
<foreach collection="reportNames" item="reportName" open="(" separator="," close=")">
#{reportName}
</foreach>
INNER JOIN dc_base_asset_info t4 ON t2.asset_code = t4.asset_code
AND t4.org_id = #{orgId}
AND t4.asset_level = #{assetLevel}
AND t4.asset_type = #{assetType}
WHERE
t1.date_year = #{dateYear}
AND t1.date_month = #{dateMonth}
AND t1.date_day = #{dateDay}
ORDER BY
t3.report_name
</select>
<select id="selectSomeTypeChildrenOrgSomedayMultiReportDataList"
parameterType="com.lzbi.draft.domain.req.ReportDataReq"
resultType="com.lzbi.draft.domain.dto.SomeTypeChildrenOrgSomedayMultiReportDataDTO">
SELECT
t4.org_id,
t5.dept_name AS "orgName",
t3.report_name,
t1.value_result,
t1.value_plan
FROM
dc_busi_target_draft_daynew t1
INNER JOIN dc_base_asset_target t2 ON t1.target_code = t2.target_code
INNER JOIN dc_busi_report_target_config t3 ON t2.target_model_code = t3.target_model_code
AND t3.report_name IN
<foreach collection="reportNames" item="reportName" open="(" separator="," close=")">
#{reportName}
</foreach>
INNER JOIN dc_base_asset_info t4 ON t2.asset_code = t4.asset_code
AND t4.asset_level = #{assetLevel}
AND t4.asset_type = #{assetType}
INNER JOIN sys_dept t5 ON t4.org_id = t5.dept_id
AND FIND_IN_SET( #{orgId}, t5.ancestors )
AND t5.org_type = #{orgType}
WHERE
t1.date_year = #{dateYear}
AND t1.date_month = #{dateMonth}
AND t1.date_day = #{dateDay}
ORDER BY
t5.dept_id,
t3.report_name
</select>
<select id="selectSomeOrgSomeReportYearlyDataList"
parameterType="com.lzbi.draft.domain.req.ReportDataReq"
resultType="com.lzbi.draft.domain.vo.SomeOrgSomeReportYearlyDataVO">
SELECT
t1.date_year,
max( t1.value_result ) as "maxValueResult"
FROM
dc_busi_target_draft_daynew t1
INNER JOIN dc_base_asset_target t2 ON t1.target_code = t2.target_code
INNER JOIN dc_busi_report_target_config t3 ON t2.target_model_code = t3.target_model_code
AND t3.report_name = #{reportName}
INNER JOIN dc_base_asset_info t4 ON t2.asset_code = t4.asset_code
AND t4.org_id = #{orgId}
AND t4.asset_level = #{assetLevel}
AND t4.asset_type = #{assetType}
GROUP BY
t1.date_year
</select>
</mapper>

8
lzbi-module/src/main/resources/mapper/asset/DcBusiParamDraftDayMapper.xml

@ -124,15 +124,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM
dc_busi_param_draft_day t1
INNER JOIN dc_base_asset_target t2 ON t1.param_code = t2.target_code
WHERE
<where>
t2.target_model_code = #{paramsModelCode}
AND t2.asset_code IN
<foreach collection="assetCodeList" item="assetCode" open="(" separator="," close=")">
#{assetCode}
</foreach>
<if test="countDate != null and countDate != ''">
AND t1.count_date = #{countDate}
</if>
AND t2.column_type = "P"
</where>
GROUP BY
t1.asset_code
t1.asset_code
) tt1
ON t.id = tt1.id
</select>

6
lzbi-module/src/main/resources/mapper/asset/DcBusiTargetDraftDaynewMapper.xml

@ -221,7 +221,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
</delete>
<select id="selectTargetDraftDaynewList" parameterType="com.lzbi.draft.domain.vo.TargetDraftDaynewReqVo" resultType="com.lzbi.draft.domain.vo.TargetDraftDaynewResVo">
<select id="selectTargetDraftDaynewList" parameterType="com.lzbi.draft.domain.req.ReportDataReq" resultType="com.lzbi.draft.domain.vo.TargetDraftDaynewResVo">
select
d.organize_name, d.organize_id, c.report_name, d.value_result, m.target_unit
from
@ -273,7 +273,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectTargetDraftDaynewRangeList" parameterType="com.lzbi.draft.domain.vo.TargetDraftDaynewReqVo" resultType="com.lzbi.draft.domain.vo.TargetDraftDayRangeResVo">
<select id="selectTargetDraftDaynewRangeList" parameterType="com.lzbi.draft.domain.req.ReportDataReq" resultType="com.lzbi.draft.domain.vo.TargetDraftDayRangeResVo">
select
d.organize_name as cname,
d.value_result as value_result,
@ -328,7 +328,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
order by md.max_date
</select>
<select id="selectTargetDraftDaynewAggregateList" parameterType="com.lzbi.draft.domain.vo.TargetDraftDaynewReqVo" resultType="com.lzbi.draft.domain.vo.TargetDraftDaynewAggregateResVo">
<select id="selectTargetDraftDaynewAggregateList" parameterType="com.lzbi.draft.domain.req.ReportDataReq" resultType="com.lzbi.draft.domain.vo.TargetDraftDaynewAggregateResVo">
select
d.organize_name,
d.organize_id,

2
lzbi-module/src/main/resources/mapper/asset/DcBusiTargetDraftMonthMapper.xml

@ -62,7 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where id = #{id}
</select>
<select id="selectDcBusiTargetDraftMontAggregateList" parameterType="com.lzbi.draft.domain.vo.TargetDraftDaynewReqVo" resultType="com.lzbi.draft.domain.vo.TargetDraftMonthAggregateResVo">
<select id="selectDcBusiTargetDraftMontAggregateList" parameterType="com.lzbi.draft.domain.req.ReportDataReq" resultType="com.lzbi.draft.domain.vo.TargetDraftMonthAggregateResVo">
select
d.org_name,
d.org_id,

Loading…
Cancel
Save