From 7cc08085d8d029441b391d5aa1c525f3ac7743f7 Mon Sep 17 00:00:00 2001 From: bobol Date: Wed, 29 May 2024 17:39:33 +0800 Subject: [PATCH] =?UTF-8?q?bi=E5=A4=A7=E5=B1=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lzbi/common/constant/BizConstants.java | 9 +- .../DcBusiDataScreenMainController.java | 212 +++------ .../DcBusiDataScreenNewController.java | 32 +- .../bi/mapper/DcBusiDataScreenMainMapper.java | 38 +- .../service/DcBusiDataScreenMainService.java | 430 +++++++----------- .../service/DcBusiDataScreenNewService.java | 66 +-- .../draft/domain/DcBusiParamDraftDay.java | 2 +- .../dto/SomeOrgSomedayMultiReportDataDTO.java | 24 + ...eChildrenOrgSomedayMultiReportDataDTO.java | 33 ++ .../ReportDataReq.java} | 8 +- .../ChildrenOrgSomedaySomeReportDataVO.java | 29 ++ .../vo/SomeOrgSomeReportYearlyDataVO.java | 21 + .../vo/SomeOrgSomedayMultiReportDataVO.java | 24 + .../vo/SomeOrgSomedaySomeReportDataVO.java | 22 + .../mapper/DcBusiParamDraftDayMapper.java | 8 +- .../mapper/DcBusiTargetDraftDaynewMapper.java | 9 +- .../mapper/DcBusiTargetDraftMonthMapper.java | 6 +- .../DcBusiTargetDraftDaynewService.java | 8 +- .../lzbi/external/service/ParamsService.java | 18 +- .../lzbi/report/service/AjReportService.java | 2 +- .../mapper/DcBusiDataScreenMainMapper.xml | 123 +++++ .../asset/DcBusiParamDraftDayMapper.xml | 8 +- .../asset/DcBusiTargetDraftDaynewMapper.xml | 6 +- .../asset/DcBusiTargetDraftMonthMapper.xml | 2 +- 24 files changed, 659 insertions(+), 481 deletions(-) create mode 100644 lzbi-module/src/main/java/com/lzbi/draft/domain/dto/SomeOrgSomedayMultiReportDataDTO.java create mode 100644 lzbi-module/src/main/java/com/lzbi/draft/domain/dto/SomeTypeChildrenOrgSomedayMultiReportDataDTO.java rename lzbi-module/src/main/java/com/lzbi/draft/domain/{vo/TargetDraftDaynewReqVo.java => req/ReportDataReq.java} (84%) create mode 100644 lzbi-module/src/main/java/com/lzbi/draft/domain/vo/ChildrenOrgSomedaySomeReportDataVO.java create mode 100644 lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomeReportYearlyDataVO.java create mode 100644 lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomedayMultiReportDataVO.java create mode 100644 lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomedaySomeReportDataVO.java diff --git a/lzbi-common/src/main/java/com/lzbi/common/constant/BizConstants.java b/lzbi-common/src/main/java/com/lzbi/common/constant/BizConstants.java index 569184d..19c0a5a 100644 --- a/lzbi-common/src/main/java/com/lzbi/common/constant/BizConstants.java +++ b/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"; } /** diff --git a/lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiDataScreenMainController.java b/lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiDataScreenMainController.java index c3b6a17..c5f28c9 100644 --- a/lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiDataScreenMainController.java +++ b/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 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级" - * } - * ] - * } - * */ \ No newline at end of file +} \ No newline at end of file diff --git a/lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiDataScreenNewController.java b/lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiDataScreenNewController.java index 5a9d6d2..aa93542 100644 --- a/lzbi-module/src/main/java/com/lzbi/bi/controller/DcBusiDataScreenNewController.java +++ b/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)); } } diff --git a/lzbi-module/src/main/java/com/lzbi/bi/mapper/DcBusiDataScreenMainMapper.java b/lzbi-module/src/main/java/com/lzbi/bi/mapper/DcBusiDataScreenMainMapper.java index 31fdbcb..2e5f1ab 100644 --- a/lzbi-module/src/main/java/com/lzbi/bi/mapper/DcBusiDataScreenMainMapper.java +++ b/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 selectSquareSelfDetail(String qdate); List selectSquareGroup(String qdate); + /** + * 查询某个组织某天的某个图表数据 + * @param reportDataReq + * @return + */ + SomeOrgSomedaySomeReportDataVO selectSomeOrgSomedaySomeReportData(ReportDataReq reportDataReq); + /** + * 查询下级组织某天的某个图表数据列表 + * @param reportDataReq + * @return + */ + List selectChildrenOrgSomedaySomeReportDataList(ReportDataReq reportDataReq); + /** + * 查询某组织某天多图表数据列表 + * @param reportDataReq + * @return + */ + List selectSomeOrgSomedayMultiReportDataList(ReportDataReq reportDataReq); + /** + * 查询某类型的下级组织某天的多图表数据列表 + * @param reportDataReq + * @return + */ + List selectSomeTypeChildrenOrgSomedayMultiReportDataList(ReportDataReq reportDataReq); + + /** + * 查询某组织某个图表年度数据列表 + * @param reportDataReq + * @return + */ + List selectSomeOrgSomeReportYearlyDataList(ReportDataReq reportDataReq); } \ No newline at end of file diff --git a/lzbi-module/src/main/java/com/lzbi/bi/service/DcBusiDataScreenMainService.java b/lzbi-module/src/main/java/com/lzbi/bi/service/DcBusiDataScreenMainService.java index c8c96a3..3efb3ff 100644 --- a/lzbi-module/src/main/java/com/lzbi/bi/service/DcBusiDataScreenMainService.java +++ b/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 selectCoalLostByDate(String qdate){ - return baseMapper.selectCoalLostByDate(qdate); + /** + * 查询某个组织某天的某个图表数据 + * @param reportDataReq + * @return + */ + public SomeOrgSomedaySomeReportDataVO selectSomeOrgSomedaySomeReportData(ReportDataReq reportDataReq) { + this.buildReportDataReq(reportDataReq); + return baseMapper.selectSomeOrgSomedaySomeReportData(reportDataReq); } - public List selectDatainTaget(String qdate){ - return baseMapper.selectDataPowerLost(qdate); - } - public List selectDataPowerLost(String qdate){ - return baseMapper.selectDataPowerLost(qdate); - } - public List selectDataWaterLostFirst(String qdate){ - return baseMapper.selectDataWaterLostFirst(qdate); - } - public List selectDataWaterLostSecond(String qdate){ - return baseMapper.selectDataWaterLostSecond(qdate); - } - public List selectDataWaterLostStationAll(String qdate){ - return baseMapper.selectDataWaterLostStationAll(qdate); + + /** + * 查询下级组织某天的某个图表数据列表 + * @param reportDataReq + * @return + */ + public List selectChildrenOrgSomedaySomeReportDataList(ReportDataReq reportDataReq) { + this.buildChildrenOrgReportDataReq(reportDataReq); + return baseMapper.selectChildrenOrgSomedaySomeReportDataList(reportDataReq); } - public JSONObject selectPowerAll(TargetDraftDaynewReqVo vo){ - JSONObject ret=new JSONObject(); - List 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 targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(vo); - if (CollUtil.isEmpty(targetDraftDaynewResVos)) { - return ret; + + public List selectChildrenOrgSomedaySomeReportDataEchart(ReportDataReq reportDataReq) { + List result = new ArrayList<>(); + List 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 sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.COMANY).build()); - if (CollUtil.isEmpty(sysDepts)) { - return ret; - } - List reportNames = Stream.of(ReportNameEnum.OPENING_AREA.getName(), ReportNameEnum.HEATING_AREA.getName()).collect(Collectors.toList()); - List orgIds = sysDepts.stream().map(SysDept::getDeptId).distinct().collect(Collectors.toList()); - vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(orgIds); - List 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 selectChildrenOrgSomedaySomeReportDataEchartStacking(ReportDataReq reportDataReq) { + List result = new ArrayList<>(); + JSONArray head = new JSONArray(); + head.add("product"); + head.add("实际"); + head.add("指标"); + result.add(head); + List 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 sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.COMANY).build()); - if (CollUtil.isEmpty(sysDepts)) { - return ret; + /** + * 查询某组织某天多图表数据列表 + * @param reportDataReq + * @return + */ + public List selectSomeOrgSomedayMultiReportDataList(ReportDataReq reportDataReq) { + List someOrgSomedayMultiReportDataDTOS = this.selectSomeOrgSomedayMultiReportDataDTOList(reportDataReq); + if (!CollectionUtils.isEmpty(someOrgSomedayMultiReportDataDTOS)) { + return JSONArray.parseArray(JSONArray.toJSONString(someOrgSomedayMultiReportDataDTOS), SomeOrgSomedayMultiReportDataVO.class); } - List reportNames = Stream.of(ReportNameEnum.OPENING_AREA.getName(), ReportNameEnum.HEATING_AREA.getName()).collect(Collectors.toList()); - List orgIds = sysDepts.stream().map(SysDept::getDeptId).distinct().collect(Collectors.toList()); - vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(orgIds); - List 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 sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.COMANY).build()); - if (CollUtil.isEmpty(sysDepts)) { - return ret; - } - List reportNames = Stream.of(ReportNameEnum.COAL_CONSUMPTION.getName(), ReportNameEnum.COAL_CONSUMPTION_PER_UNIT.getName()).collect(Collectors.toList()); - List orgIds = sysDepts.stream().map(SysDept::getDeptId).distinct().collect(Collectors.toList()); - vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(orgIds); - List 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 selectChildrenOrgSomedayMultiReportDataBar(ReportDataReq reportDataReq) { + List result = new ArrayList<>(); + List reportNames = reportDataReq.getReportNames(); + JSONArray head = new JSONArray(); + head.add("product"); + head.addAll(reportNames); + result.add(head); + this.buildChildrenOrgReportDataReq(reportDataReq); + List data = this.selectSomeTypeChildrenOrgSomedayMultiReportDataDTOList(reportDataReq); + if (!CollectionUtils.isEmpty(data)) { + Map> orgIdGroupMap = data.stream().collect(groupingBy(SomeTypeChildrenOrgSomedayMultiReportDataDTO::getOrgId)); + orgIdGroupMap.forEach((orgId, orgDataList) -> { + JSONArray body = new JSONArray(); + body.add(orgDataList.get(0).getOrgName()); + Map 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 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 selectSomeOrgSomedayMultiReportDataDTOList(ReportDataReq reportDataReq) { + this.buildReportDataReq(reportDataReq); + return baseMapper.selectSomeOrgSomedayMultiReportDataList(reportDataReq); + } + + /** + * 查询某类型的下级组织某天的多图表数据列表 + * @param reportDataReq + * @return + */ + private List selectSomeTypeChildrenOrgSomedayMultiReportDataDTOList(ReportDataReq reportDataReq) { + return baseMapper.selectSomeTypeChildrenOrgSomedayMultiReportDataList(reportDataReq); + } + + /** + * 查询某组织某个图表年度数据列表 + * @param reportDataReq + * @return + */ + public List 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 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 orgIds = sysDepts.stream().map(SysDept::getDeptId).distinct().collect(Collectors.toList()); - vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(orgIds); - List 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 sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.COMANY).build()); - if (CollUtil.isEmpty(sysDepts)) { - return ret; - } - List reportNames = Stream.of(ReportNameEnum.POWER_CONSUMPTION_RATE_OF_HEAT_SOURCE_PLANT.getName(), ReportNameEnum.TOTAL_ELECTRICITY_CONSUMPTION.getName()).collect(Collectors.toList()); - List orgIds = sysDepts.stream().map(SysDept::getDeptId).distinct().collect(Collectors.toList()); - vo.setAssetType("0").setAssetLevel("10").setReportNames(reportNames).setOrgIds(orgIds); - List 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 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 selectSquareRealDetail(String qdate) { - return baseMapper.selectSquareRealDetail(qdate); - } - public List selectSquareSelfDetail(String qdate){ - return baseMapper.selectSquareSelfDetail(qdate); - } - public List selectSquareGroup(String qdate){ - return baseMapper.selectSquareGroup(qdate); - } - - public List getHeatingPeriodData(TargetDraftDaynewReqVo vo){ - List res = Lists.newArrayList(); - if (!HeatingPeriodEnum.HEATING_ALL_PERIOD.getMonths().contains(Integer.parseInt(vo.getDateMonth()))) { - return res; - } - List sysDepts = iSysDeptService.selecttList(SysDept.builder().parentId(vo.getOrgId()).orgType(BizConstants.DcDeptAttr.COMANY).build()); - if (CollUtil.isEmpty(sysDepts)) { - return res; - } - List 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 list = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewRangeList(vo); - List depts = sysDepts.stream().filter(x -> list.stream().map(TargetDraftDayRangeResVo::getCname).distinct().collect(Collectors.toList()).contains(x.getDeptName())).collect(Collectors.toList()); - List 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; - } } \ No newline at end of file diff --git a/lzbi-module/src/main/java/com/lzbi/bi/service/DcBusiDataScreenNewService.java b/lzbi-module/src/main/java/com/lzbi/bi/service/DcBusiDataScreenNewService.java index 9797c37..4c96400 100644 --- a/lzbi-module/src/main/java/com/lzbi/bi/service/DcBusiDataScreenNewService.java +++ b/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 getUserOverview(TargetDraftDaynewReqVo vo) { + public List getUserOverview(ReportDataReq vo) { List list = new ArrayList<>(); List 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 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 getBoilerStatistics(TargetDraftDaynewReqVo vo) { + public List getBoilerStatistics(ReportDataReq vo) { List list = new ArrayList<>(); List 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 getConsumesStatistics(TargetDraftDaynewReqVo targetDraftDaynewReqVo) { + public List getConsumesStatistics(ReportDataReq reportDataReq) { List list = new ArrayList<>(); SysDept deptParams = new SysDept(); - deptParams.setParentId(targetDraftDaynewReqVo.getOrgId()); + deptParams.setParentId(reportDataReq.getOrgId()); deptParams.setOrgType(BizConstants.DcDeptAttr.HEAT_SOURCE); List 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 targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(targetDraftDaynewReqVo); + reportDataReq.setReportNames(names); + reportDataReq.setAssetLevel(BizConstants.DcAssetLevel.HEAT_SOURCE); + reportDataReq.setAssetType(BizConstants.DcAssetType.REPORT); + reportDataReq.setOrgIds(orgIds); + List targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(reportDataReq); if (CollectionUtils.isNotEmpty(targetDraftDaynewResVos)) { Map> orgNameMap = targetDraftDaynewResVos.stream().collect(Collectors.groupingBy(TargetDraftDaynewResVo::getOrganizeName)); orgNameMap.forEach((orgName, targetDraftDaynewResVoList) -> { @@ -155,10 +155,10 @@ public class DcBusiDataScreenNewService { return list; } - public List getCalorificValue(TargetDraftDaynewReqVo targetDraftDaynewReqVo) { + public List getCalorificValue(ReportDataReq reportDataReq) { List list = new ArrayList<>(); SysDept deptParams = new SysDept(); - deptParams.setParentId(targetDraftDaynewReqVo.getOrgId()); + deptParams.setParentId(reportDataReq.getOrgId()); deptParams.setOrgType(BizConstants.DcDeptAttr.HEAT_SOURCE); List childrenDept = iSysDeptService.selecttList(deptParams); if (CollectionUtils.isEmpty(childrenDept)) { @@ -167,11 +167,11 @@ public class DcBusiDataScreenNewService { List orgIds = childrenDept.stream().map(SysDept::getDeptId).collect(Collectors.toList()); List 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 targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(targetDraftDaynewReqVo); + reportDataReq.setReportNames(names); + reportDataReq.setAssetLevel(BizConstants.DcAssetLevel.HEAT_SOURCE); + reportDataReq.setAssetType(BizConstants.DcAssetType.REPORT); + reportDataReq.setOrgIds(orgIds); + List 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 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 orgIds = new ArrayList<>(); - orgIds.add(targetDraftDaynewReqVo.getOrgId()); - targetDraftDaynewReqVo.setOrgIds(orgIds); - List targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewAggregateList(targetDraftDaynewReqVo); + orgIds.add(reportDataReq.getOrgId()); + reportDataReq.setOrgIds(orgIds); + List targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewAggregateList(reportDataReq); if (CollectionUtils.isEmpty(targetDraftDaynewResVos)) { log.error("日底稿无数据"); throw new RuntimeException("无数据"); } - List targetDraftMonthAggregateResVos = dcBusiTargetDraftMonthMapper.selectDcBusiTargetDraftMontAggregateList(targetDraftDaynewReqVo); + List 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 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 orgIds = new ArrayList<>(); - orgIds.add(targetDraftDaynewReqVo.getOrgId()); - targetDraftDaynewReqVo.setOrgIds(orgIds); - List targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(targetDraftDaynewReqVo); + orgIds.add(reportDataReq.getOrgId()); + reportDataReq.setOrgIds(orgIds); + List targetDraftDaynewResVos = dcBusiTargetDraftDaynewService.selectTargetDraftDaynewList(reportDataReq); if (CollectionUtils.isNotEmpty(targetDraftDaynewResVos)) { Map reportMap = targetDraftDaynewResVos.stream().collect(Collectors.toMap(TargetDraftDaynewResVo::getReportName, TargetDraftDaynewResVo::getValueResult)); corporateStatisticsVO.setAcreage(reportMap.get(ReportNameEnum.HEATING_AREA.getName())); diff --git a/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamDraftDay.java b/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamDraftDay.java index a9864a2..f887609 100644 --- a/lzbi-module/src/main/java/com/lzbi/draft/domain/DcBusiParamDraftDay.java +++ b/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; /** 均值 */ diff --git a/lzbi-module/src/main/java/com/lzbi/draft/domain/dto/SomeOrgSomedayMultiReportDataDTO.java b/lzbi-module/src/main/java/com/lzbi/draft/domain/dto/SomeOrgSomedayMultiReportDataDTO.java new file mode 100644 index 0000000..723a628 --- /dev/null +++ b/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; +} diff --git a/lzbi-module/src/main/java/com/lzbi/draft/domain/dto/SomeTypeChildrenOrgSomedayMultiReportDataDTO.java b/lzbi-module/src/main/java/com/lzbi/draft/domain/dto/SomeTypeChildrenOrgSomedayMultiReportDataDTO.java new file mode 100644 index 0000000..b8a23ec --- /dev/null +++ b/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; +} diff --git a/lzbi-module/src/main/java/com/lzbi/draft/domain/vo/TargetDraftDaynewReqVo.java b/lzbi-module/src/main/java/com/lzbi/draft/domain/req/ReportDataReq.java similarity index 84% rename from lzbi-module/src/main/java/com/lzbi/draft/domain/vo/TargetDraftDaynewReqVo.java rename to lzbi-module/src/main/java/com/lzbi/draft/domain/req/ReportDataReq.java index bd6df37..00caab8 100644 --- a/lzbi-module/src/main/java/com/lzbi/draft/domain/vo/TargetDraftDaynewReqVo.java +++ b/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 reportNames; + private String reportName; + @NotNull private String dateYear; @@ -40,4 +42,6 @@ public class TargetDraftDaynewReqVo { private String endDate; + private String orgType; + } diff --git a/lzbi-module/src/main/java/com/lzbi/draft/domain/vo/ChildrenOrgSomedaySomeReportDataVO.java b/lzbi-module/src/main/java/com/lzbi/draft/domain/vo/ChildrenOrgSomedaySomeReportDataVO.java new file mode 100644 index 0000000..b446703 --- /dev/null +++ b/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; +} diff --git a/lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomeReportYearlyDataVO.java b/lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomeReportYearlyDataVO.java new file mode 100644 index 0000000..795d49f --- /dev/null +++ b/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; +} diff --git a/lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomedayMultiReportDataVO.java b/lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomedayMultiReportDataVO.java new file mode 100644 index 0000000..a6c745e --- /dev/null +++ b/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; +} diff --git a/lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomedaySomeReportDataVO.java b/lzbi-module/src/main/java/com/lzbi/draft/domain/vo/SomeOrgSomedaySomeReportDataVO.java new file mode 100644 index 0000000..814ccbb --- /dev/null +++ b/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; +} diff --git a/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamDraftDayMapper.java b/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamDraftDayMapper.java index 6692f15..0ac344e 100644 --- a/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamDraftDayMapper.java +++ b/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiParamDraftDayMapper.java @@ -35,12 +35,14 @@ public interface DcBusiParamDraftDayMapper extends BaseMapper selectLastDataByAssetCodeListAndParamsModelCode(@Param("assetCodeList") List assetCodeList, - @Param("paramsModelCode") String paramsModelCode); + @Param("paramsModelCode") String paramsModelCode, + @Param("countDate") String countDate); /** * 查询参数数据底稿(日)列表 * diff --git a/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiTargetDraftDaynewMapper.java b/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiTargetDraftDaynewMapper.java index aaa9679..2180a85 100644 --- a/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiTargetDraftDaynewMapper.java +++ b/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 selectTargetDraftDaynewList(TargetDraftDaynewReqVo vo); + List selectTargetDraftDaynewList(ReportDataReq vo); - List selectTargetDraftDaynewRangeList(TargetDraftDaynewReqVo vo); + List selectTargetDraftDaynewRangeList(ReportDataReq vo); - List selectTargetDraftDaynewAggregateList(TargetDraftDaynewReqVo vo); + List selectTargetDraftDaynewAggregateList(ReportDataReq vo); } diff --git a/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiTargetDraftMonthMapper.java b/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiTargetDraftMonthMapper.java index 4550c80..bc07e3e 100644 --- a/lzbi-module/src/main/java/com/lzbi/draft/mapper/DcBusiTargetDraftMonthMapper.java +++ b/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 selectDcBusiTargetDraftMontAggregateList(TargetDraftDaynewReqVo targetDraftDaynewReqVo); + List selectDcBusiTargetDraftMontAggregateList(ReportDataReq reportDataReq); /** * 根据录入单查询 diff --git a/lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiTargetDraftDaynewService.java b/lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiTargetDraftDaynewService.java index 13ea433..5a882f1 100644 --- a/lzbi-module/src/main/java/com/lzbi/draft/service/DcBusiTargetDraftDaynewService.java +++ b/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 selectTargetDraftDaynewList(TargetDraftDaynewReqVo vo){ + public List selectTargetDraftDaynewList(ReportDataReq vo){ return baseMapper.selectTargetDraftDaynewList(vo); } - public List selectTargetDraftDaynewRangeList(TargetDraftDaynewReqVo vo){ + public List selectTargetDraftDaynewRangeList(ReportDataReq vo){ return baseMapper.selectTargetDraftDaynewRangeList(vo); } - public List selectTargetDraftDaynewAggregateList(TargetDraftDaynewReqVo vo){ + public List selectTargetDraftDaynewAggregateList(ReportDataReq vo){ return baseMapper.selectTargetDraftDaynewAggregateList(vo); } } diff --git a/lzbi-module/src/main/java/com/lzbi/external/service/ParamsService.java b/lzbi-module/src/main/java/com/lzbi/external/service/ParamsService.java index b53cb38..480f4bd 100644 --- a/lzbi-module/src/main/java/com/lzbi/external/service/ParamsService.java +++ b/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 list = dcBusiParamDraftDayMapper.selectLastDataByAssetCodeListAndParamsModelCode(assetCodeList, ParamsModelCodeConstants.供暖面积); + List 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 getMultipleAssetSupplyArea(List assetCodeList, String countDate) { + if (CollectionUtils.isEmpty(assetCodeList)) { + throw new RuntimeException("资产编码列表不能为空"); + } + if (StringUtils.isBlank(countDate)) { + throw new RuntimeException("统计日期不能为空"); + } + List list = dcBusiParamDraftDayMapper.selectLastDataByAssetCodeListAndParamsModelCode(assetCodeList, ParamsModelCodeConstants.供暖面积, countDate); if (CollectionUtils.isEmpty(list)) { log.warn("暂无数据"); return new HashMap<>(); diff --git a/lzbi-module/src/main/java/com/lzbi/report/service/AjReportService.java b/lzbi-module/src/main/java/com/lzbi/report/service/AjReportService.java index a0813e3..01450d1 100644 --- a/lzbi-module/src/main/java/com/lzbi/report/service/AjReportService.java +++ b/lzbi-module/src/main/java/com/lzbi/report/service/AjReportService.java @@ -175,7 +175,7 @@ public class AjReportService { Map> reportDataMap = reportDataList.stream().collect(Collectors.groupingBy(item -> StringUtils.join(item.getAssetCode(), "-", item.getPartition()))); List assetCodeList = reportDataList.stream().map(ReportDTO::getAssetCode).collect(Collectors.toList()); // 获取供热面积 - Map multipleAssetSupplyArea = paramsService.getMultipleAssetSupplyArea(assetCodeList); + Map multipleAssetSupplyArea = paramsService.getMultipleAssetSupplyArea(assetCodeList, reportQuery.getCountDate()); assetAndPartitionList.forEach(assetAndPartition -> { if (reportDataMap.containsKey(assetAndPartition)) { Map reportVO = new HashMap<>(); diff --git a/lzbi-module/src/main/resources/mapper/DcBusiDataScreenMainMapper.xml b/lzbi-module/src/main/resources/mapper/DcBusiDataScreenMainMapper.xml index cfdbe35..9d83842 100644 --- a/lzbi-module/src/main/resources/mapper/DcBusiDataScreenMainMapper.xml +++ b/lzbi-module/src/main/resources/mapper/DcBusiDataScreenMainMapper.xml @@ -313,4 +313,127 @@ and target_name in ('供暖面积-自管开栓面积', '实际自管供热面积') group by count_date, target_unit + + + + + + + + + + \ No newline at end of file diff --git a/lzbi-module/src/main/resources/mapper/asset/DcBusiParamDraftDayMapper.xml b/lzbi-module/src/main/resources/mapper/asset/DcBusiParamDraftDayMapper.xml index 31b568a..e5a2a1f 100644 --- a/lzbi-module/src/main/resources/mapper/asset/DcBusiParamDraftDayMapper.xml +++ b/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 + t2.target_model_code = #{paramsModelCode} AND t2.asset_code IN #{assetCode} + + AND t1.count_date = #{countDate} + AND t2.column_type = "P" + GROUP BY - t1.asset_code + t1.asset_code ) tt1 ON t.id = tt1.id diff --git a/lzbi-module/src/main/resources/mapper/asset/DcBusiTargetDraftDaynewMapper.xml b/lzbi-module/src/main/resources/mapper/asset/DcBusiTargetDraftDaynewMapper.xml index 2691e36..49ecc20 100644 --- a/lzbi-module/src/main/resources/mapper/asset/DcBusiTargetDraftDaynewMapper.xml +++ b/lzbi-module/src/main/resources/mapper/asset/DcBusiTargetDraftDaynewMapper.xml @@ -221,7 +221,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - 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 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 d.organize_name, d.organize_id, diff --git a/lzbi-module/src/main/resources/mapper/asset/DcBusiTargetDraftMonthMapper.xml b/lzbi-module/src/main/resources/mapper/asset/DcBusiTargetDraftMonthMapper.xml index 90f91aa..4830fc7 100644 --- a/lzbi-module/src/main/resources/mapper/asset/DcBusiTargetDraftMonthMapper.xml +++ b/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 d.org_name, d.org_id,