From a8993d54a33db030fc17649777062f76043be7ea Mon Sep 17 00:00:00 2001 From: DYL0109 <dn18191638832@163.com> Date: 星期四, 20 三月 2025 21:41:38 +0800 Subject: [PATCH] Merge pull request #18 from Andy-Yin/develop1.0 --- zhitan-vue/src/views/keyEquipment/monthly/index.vue | 219 +++++ zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/DailyComprehensiveMapper.java | 5 zhitan-system/src/main/java/com/zhitan/keyequipment/service/IMonthlyKeyEquipmentService.java | 7 zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/MonthlyComprehensiveMapper.java | 5 zhitan-vue/src/views/processEnergy/monthly/index.vue | 226 +++++ zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/DailyKeyEquipmentMapper.java | 5 zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/MonthlyComprehensiveServiceImpl.java | 6 zhitan-vue/src/views/keyEquipment/comps/LineChart.vue | 177 ++++ zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/ImonthlyComprehensive.java | 5 zhitan-vue/src/views/keyEquipment/year/index.vue | 226 +++++ zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/DailyKeyEquipmentServiceImpl.java | 15 zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java | 43 + zhitan-common/src/main/java/com/zhitan/common/utils/TypeTime.java | 29 zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/YearComprehensiveMapper.java | 5 zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/YearKeyEquipmentController.java | 48 zhitan-system/src/main/java/com/zhitan/realtimedata/domain/dto/DataItemQueryDTO.java | 21 zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/MonthlyKeyEquipmentServiceImpl.java | 5 zhitan-vue/src/views/comprehensive/monthlyComprehensive/index.vue | 9 zhitan-vue/src/views/comprehensive/yearComprehensive/index.vue | 2 zhitan-vue/src/api/process/api.js | 51 + zhitan-vue/src/api/keyEquipment/api.js | 67 + zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/YearKeyEquipmentMapper.java | 10 zhitan-system/src/main/java/com/zhitan/keyequipment/service/IYearKeyEquipmentService.java | 7 zhitan-system/src/main/resources/mapper/keyequipment/YearKeyEquipmentMapper.xml | 39 zhitan-vue/src/views/comprehensive/dailyComprehensive/index.vue | 2 zhitan-vue/src/views/processEnergy/daily/index.vue | 220 +++++ zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/DailyComprehensiveServiceImpl.java | 5 zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/YearComprehensiveServiceImpl.java | 7 zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/MonthlyKeyEquipmentMapper.java | 5 zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/YearKeyEquipmentServiceImpl.java | 21 zhitan-vue/src/views/processEnergy/year/index.vue | 226 +++++ zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/IDailyComprehensiveService.java | 5 zhitan-system/src/main/java/com/zhitan/realtimedata/domain/DataItem.java | 7 zhitan-vue/src/views/keyEquipment/daily/index.vue | 232 ++++++ zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/MonthlyKeyEquipmentController.java | 104 +- zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/IyearComprehensive.java | 5 zhitan-system/src/main/java/com/zhitan/keyequipment/service/IDailyKeyEquipmentService.java | 5 zhitan-vue/src/views/processEnergy/comps/LineChart.vue | 177 ++++ zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/DailyKeyEquipmenteController.java | 14 39 files changed, 2,079 insertions(+), 188 deletions(-) diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/DailyKeyEquipmenteController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/DailyKeyEquipmenteController.java index 07dbc79..ac287f6 100644 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/DailyKeyEquipmenteController.java +++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/DailyKeyEquipmenteController.java @@ -3,7 +3,6 @@ import com.zhitan.basicdata.domain.FacilityArchives; import com.zhitan.common.core.controller.BaseController; import com.zhitan.common.core.domain.AjaxResult; -import com.zhitan.common.core.page.TableDataInfo; import com.zhitan.keyequipment.domain.DailyKeyEquipment; import com.zhitan.keyequipment.service.IDailyKeyEquipmentService; import com.zhitan.model.domain.EnergyIndex; @@ -43,14 +42,14 @@ @GetMapping("/list") @ApiOperation(value = "閲嶇偣璁惧鑳借�楀垎鏋愶紙鏃ワ級鍒楄〃") - public TableDataInfo list(DataItem dataItem) throws ParseException { + public AjaxResult list(DataItem dataItem) throws ParseException { List<ModelNode> nodeId = modelNodeService.getModelNodeByModelCode(dataItem.getIndexCode()); if(CollectionUtils.isEmpty(nodeId)){ - return getDataTable(new ArrayList<>()); + return success(new ArrayList<>()); } List<EnergyIndex> energyList = modelNodeService.getSettingIndex(nodeId.get(0).getNodeId()); if(CollectionUtils.isEmpty(energyList)){ - return getDataTable(new ArrayList<>()); + return success(new ArrayList<>()); } List<String> indexIds = energyList.stream().map(EnergyIndex::getIndexId).collect(Collectors.toList()); List<DailyKeyEquipment> dataList=new ArrayList<>(); @@ -74,9 +73,10 @@ dataList.add(report); i++; }; - startPage(); + List<DailyKeyEquipment> list = dailykeyEquipment.getdailyKeyEquipmentList(indexIds, dataList,dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); - return getDataTable(list); + + return success(list); } @GetMapping("/listChart") @@ -93,7 +93,7 @@ } /*鎵�鏈夎澶�*/ @GetMapping("/getFacilityArchives") - @ApiOperation(value = "鏌ヨ鎵�鏈夎澶囧垪琛�") + @ApiOperation(value = "鏌ヨ閲嶇偣璁惧鍒楄〃") public AjaxResult getFacilityArchives() { try { List<FacilityArchives> list=dailykeyEquipment.getFacilityArchives(); diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/MonthlyKeyEquipmentController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/MonthlyKeyEquipmentController.java index 7cb93ba..11164fc 100644 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/MonthlyKeyEquipmentController.java +++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/MonthlyKeyEquipmentController.java @@ -1,7 +1,6 @@ package com.zhitan.web.controller.keyequipment; -import com.github.pagehelper.PageInfo; import com.zhitan.common.core.controller.BaseController; import com.zhitan.common.core.domain.AjaxResult; import com.zhitan.keyequipment.domain.MonthlyKeyEquipment; @@ -25,14 +24,14 @@ import java.util.stream.Collectors; /** - *閲嶇偣璁惧鑳借�楃粺璁� 鏈� + * 閲嶇偣璁惧鑳借�楃粺璁� 鏈� * * @author sys * @date 2021-01-11 */ @RestController @RequestMapping("/keyEquipment/MonthlyKeyEquipment") -@Api(value = "閲嶇偣璁惧鑳借�楃粺璁★紙鏈堬級",tags = {"璁惧鍗曡�楀垎鏋�"}) +@Api(value = "閲嶇偣璁惧鑳借�楃粺璁★紙鏈堬級", tags = {"璁惧鍗曡�楀垎鏋�"}) public class MonthlyKeyEquipmentController extends BaseController { @Autowired @@ -42,59 +41,49 @@ @GetMapping("/list") @ApiOperation(value = "閲嶇偣璁惧鑳借�楃粺璁★紙鏈堬級鍒楄〃") - public AjaxResult list(DataItem dataItem) { - try { - List<MonthlyKeyEquipment> dataList=new ArrayList<>(); + public AjaxResult list(DataItem dataItem) throws ParseException { + List<MonthlyKeyEquipment> dataList = new ArrayList<>(); - Map tableColumn =new HashMap<>();//琛ㄦ暟鎹� - DateFormat df = new SimpleDateFormat("yyyy-MM"); - SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String aa= df.format(dataItem.getDataTime()); - String bb=""; - int i = 1; - String beginTime=aa+"-01 00:00:00"; - dataItem.setBeginTime(sf.parse(beginTime)); - String endTime=aa+"-"+Integer.valueOf(getLastDayOfMonth(aa).substring(getLastDayOfMonth(aa).length()-2))+" 00:00:00"; - dataItem.setEndTime(sf.parse(endTime)); - while (i <= Integer.valueOf(getLastDayOfMonth(aa).substring(getLastDayOfMonth(aa).length()-2))) { - if(i>9){ - bb=aa+"-"+i+" 00:00:00"; - }else{ - bb=aa+"-0"+i+" 00:00:00"; - } - MonthlyKeyEquipment report=new MonthlyKeyEquipment(); - report.setDataTime(sf.parse(bb)); - report.setValue("value"+i); - dataList.add(report); - tableColumn.put("value"+i,String.valueOf(i)+"鏃�"); - i++; + Map tableColumn = new HashMap<>();//琛ㄦ暟鎹� + DateFormat df = new SimpleDateFormat("yyyy-MM"); + SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String aa = df.format(dataItem.getDataTime()); + String bb = ""; + int i = 1; + String beginTime = aa + "-01 00:00:00"; + dataItem.setBeginTime(sf.parse(beginTime)); + String endTime = aa + "-" + Integer.valueOf(getLastDayOfMonth(aa).substring(getLastDayOfMonth(aa).length() - 2)) + " 00:00:00"; + dataItem.setEndTime(sf.parse(endTime)); + while (i <= Integer.valueOf(getLastDayOfMonth(aa).substring(getLastDayOfMonth(aa).length() - 2))) { + if (i > 9) { + bb = aa + "-" + i + " 00:00:00"; + } else { + bb = aa + "-0" + i + " 00:00:00"; } - List<Map> table=new ArrayList<>(); - MonthlyKeyEquipment reportList =new MonthlyKeyEquipment(); - table.add(tableColumn); - reportList.setTablehead(table); - List<ModelNode> nodeId = modelNodeService.getModelNodeByModelCode(dataItem.getIndexCode()); - if(CollectionUtils.isEmpty(nodeId)){ - return AjaxResult.success(reportList); - } - List<EnergyIndex> energyList = modelNodeService.getSettingIndex(nodeId.get(0).getNodeId()); - if(CollectionUtils.isEmpty(energyList)){ - return AjaxResult.success(reportList); - } - List<String> indexIds = energyList.stream().map(EnergyIndex::getIndexId).collect(Collectors.toList()); - - startPage(); - List<MonthlyKeyEquipment> list = monthlyKeyEquipmentService.getMonthlyKeyEquipmentList(indexIds, dataList,dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); - int count=Integer.valueOf(getLastDayOfMonth(aa).substring(getLastDayOfMonth(aa).length()-2)); - list.forEach(monthlyReport -> monthlyReport.setCount(count)); - reportList.setTabledata(list); - reportList.setTotal(new PageInfo(list).getTotal()); - - return AjaxResult.success(reportList); - } catch (Exception ex) { - logger.error("鑾峰彇鍑洪敊锛�", ex); - return AjaxResult.error("鑾峰彇鍑洪敊!"); + MonthlyKeyEquipment report = new MonthlyKeyEquipment(); + report.setDataTime(sf.parse(bb)); + report.setValue("value" + i); + dataList.add(report); + tableColumn.put("value" + i, String.valueOf(i) + "鏃�"); + i++; } + List<Map> table = new ArrayList<>(); + MonthlyKeyEquipment reportList = new MonthlyKeyEquipment(); + table.add(tableColumn); + reportList.setTablehead(table); + List<ModelNode> nodeId = modelNodeService.getModelNodeByModelCode(dataItem.getIndexCode()); + if (CollectionUtils.isEmpty(nodeId)) { + return success(new ArrayList<>()); + } + List<EnergyIndex> energyList = modelNodeService.getSettingIndex(nodeId.get(0).getNodeId()); + if (CollectionUtils.isEmpty(energyList)) { + return success(new ArrayList<>()); + } + List<String> indexIds = energyList.stream().map(EnergyIndex::getIndexId).collect(Collectors.toList()); + + List<MonthlyKeyEquipment> list = monthlyKeyEquipmentService.getMonthlyKeyEquipmentList(indexIds, dataList, dataItem.getBeginTime(), dataItem.getEndTime(), dataItem.getTimeType(), dataItem.getEnergyType()); + + return success(list); } @GetMapping("/listChart") @@ -102,14 +91,15 @@ public AjaxResult listChart(DataItem dataItem) throws ParseException { DateFormat df = new SimpleDateFormat("yyyy-MM"); SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String aa= df.format(dataItem.getDataTime()); - String beginTime=aa+"-01 00:00:00"; + String aa = df.format(dataItem.getDataTime()); + String beginTime = aa + "-01 00:00:00"; dataItem.setBeginTime(sf.parse(beginTime)); - String endTime=aa+"-"+Integer.valueOf(getLastDayOfMonth(aa).substring(getLastDayOfMonth(aa).length()-2))+" 00:00:00"; + String endTime = aa + "-" + Integer.valueOf(getLastDayOfMonth(aa).substring(getLastDayOfMonth(aa).length() - 2)) + " 00:00:00"; dataItem.setEndTime(sf.parse(endTime)); - List<MonthlyKeyEquipment> list = monthlyKeyEquipmentService.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); + List<MonthlyKeyEquipment> list = monthlyKeyEquipmentService.getListChart(dataItem.getIndexId(), dataItem.getBeginTime(), dataItem.getEndTime(), dataItem.getTimeType(), dataItem.getEnergyType()); return AjaxResult.success(list); } + public static String getLastDayOfMonth(String yearMonth) { int year = Integer.parseInt(yearMonth.split("-")[0]); //骞� int month = Integer.parseInt(yearMonth.split("-")[1]); //鏈� diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/YearKeyEquipmentController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/YearKeyEquipmentController.java index 4b1b56b..03ff12b 100644 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/YearKeyEquipmentController.java +++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/keyequipment/YearKeyEquipmentController.java @@ -1,15 +1,18 @@ package com.zhitan.web.controller.keyequipment; +import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import com.zhitan.common.core.controller.BaseController; import com.zhitan.common.core.domain.AjaxResult; -import com.zhitan.common.core.page.TableDataInfo; +import com.zhitan.common.utils.DateTimeUtil; +import com.zhitan.common.utils.TypeTime; import com.zhitan.keyequipment.domain.YearKeyEquipment; import com.zhitan.keyequipment.service.IYearKeyEquipmentService; import com.zhitan.model.domain.EnergyIndex; import com.zhitan.model.domain.ModelNode; import com.zhitan.model.service.IModelNodeService; import com.zhitan.realtimedata.domain.DataItem; +import com.zhitan.realtimedata.domain.dto.DataItemQueryDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.collections4.CollectionUtils; @@ -18,13 +21,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.text.DateFormat; import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; - /** *閲嶇偣璁惧鑳借�楃粺璁� 骞� * @@ -43,48 +44,31 @@ @GetMapping("/list") @ApiOperation(value = "閲嶇偣璁惧鑳借�楃粺璁★紙骞达級鍒楄〃") - public TableDataInfo list(DataItem dataItem) throws ParseException { + public AjaxResult list(DataItem dataItem) throws ParseException { List<ModelNode> nodeId = modelNodeService.getModelNodeByModelCode(dataItem.getIndexCode()); if(CollectionUtils.isEmpty(nodeId)){ - return getDataTable(new ArrayList<>()); + return success(new ArrayList<>()); } List<EnergyIndex> energyList = modelNodeService.getSettingIndex(nodeId.get(0).getNodeId()); if(CollectionUtils.isEmpty(energyList)){ - return getDataTable(new ArrayList<>()); + return success(new ArrayList<>()); } List<String> indexIds = energyList.stream().map(EnergyIndex::getIndexId).collect(Collectors.toList()); - List<YearKeyEquipment> dataList=new ArrayList<>(); - dataItem.setBeginTime(DateUtil.beginOfYear(dataItem.getDataTime())); - dataItem.setEndTime(DateUtil.endOfYear(dataItem.getDataTime())); - DateFormat df = new SimpleDateFormat("yyyy"); - SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String aa= df.format(dataItem.getDataTime()); - String bb=""; - int i = 1; - while (i <= 12) { - if(i>9){ - bb=aa+"-"+i+"-01 00:00:00"; - }else{ - bb=aa+"-0"+i+"-01 00:00:00"; - } - YearKeyEquipment report=new YearKeyEquipment(); - report.setDataTime(sf.parse(bb)); - report.setValue("value"+i); - dataList.add(report); - i++; - } - startPage(); - List<YearKeyEquipment> list = yearKeyEquipmentService.getYearKeyEquipmentList(indexIds, dataList,dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); - return getDataTable(list); + Date convertTime = DateTimeUtil.getEndTimeByType(dataItem.getTimeType(),dataItem.getDataTime()); + DateTime beginTime = DateUtil.beginOfYear(convertTime); + DateTime endTime = DateUtil.endOfYear(convertTime); + List<TypeTime> typeTimeList = DateTimeUtil.getDateTimeList(dataItem.getTimeType(),convertTime); + List<YearKeyEquipment> list = yearKeyEquipmentService.getYearKeyEquipmentList(indexIds, typeTimeList,beginTime,endTime, dataItem.getTimeType(),dataItem.getEnergyType()); + return success(list); } @GetMapping("/listChart") @ApiOperation(value = "閲嶇偣璁惧鑳借�楃粺璁★紙骞达級鍥捐〃") - public AjaxResult listChart(DataItem dataItem){ + public AjaxResult listChart(DataItemQueryDTO queryDto){ - List<YearKeyEquipment> list = yearKeyEquipmentService.getListChart(dataItem.getIndexId(),dataItem.getBeginTime(),dataItem.getEndTime(), dataItem.getTimeType(),dataItem.getEnergyType()); + List<YearKeyEquipment> list = yearKeyEquipmentService.getListChart(queryDto); return AjaxResult.success(list); } } diff --git a/zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java b/zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java index 248cb2f..48091c1 100644 --- a/zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java +++ b/zhitan-common/src/main/java/com/zhitan/common/utils/DateTimeUtil.java @@ -10,10 +10,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; - +import java.util.*; /** * @Description: 鏃堕棿宸ュ叿绫� * @author: yxw @@ -745,4 +742,42 @@ } return momDate; } + public static List<TypeTime> getDateTimeList(String timeType,Date dataTime){ + List<TypeTime> resultlist = new ArrayList<>(); + Date beginTime = DateUtil.beginOfDay(dataTime); + switch (timeType){ + case TimeTypeConst.TIME_TYPE_DAY: + for(int i = 0;i<24;i++){ + TypeTime typeTime = new TypeTime(); + typeTime.setDataTime(DateUtil.format(beginTime,COMMON_PATTERN)); + typeTime.setDateTime(DateTimeUtil.toDateTime(typeTime.getDataTime())); + typeTime.setTimeCode(CommonConst.WORD_H + DateUtil.format(beginTime,COMMON_PATTERN_HOUR)); + typeTime.setValue("value" + i); + resultlist.add(typeTime); + beginTime = addHours(beginTime,1); + } + break; + case TimeTypeConst.TIME_TYPE_MONTH: + for(int i = 0;i<31;i++){ + TypeTime typeTime = new TypeTime(); + typeTime.setDataTime(DateUtil.format(beginTime,COMMON_PATTERN)); + typeTime.setTimeCode(CommonConst.WORD_D + DateUtil.format(beginTime,COMMON_PATTERN_DAY)); + typeTime.setValue("value" + i); + resultlist.add(typeTime); + beginTime = addHours(beginTime,1); + } + break; + case TimeTypeConst.TIME_TYPE_YEAR: + for(int i = 0;i<12;i++){ + TypeTime typeTime = new TypeTime(); + typeTime.setDataTime(DateUtil.format(beginTime,COMMON_PATTERN)); + typeTime.setTimeCode(CommonConst.WORD_M + DateUtil.format(beginTime,COMMON_PATTERN_MONTH)); + typeTime.setValue("value" + i); + resultlist.add(typeTime); + beginTime = addHours(beginTime,1); + } + break; + } + return resultlist; + } } diff --git a/zhitan-common/src/main/java/com/zhitan/common/utils/TypeTime.java b/zhitan-common/src/main/java/com/zhitan/common/utils/TypeTime.java new file mode 100644 index 0000000..a50a0d5 --- /dev/null +++ b/zhitan-common/src/main/java/com/zhitan/common/utils/TypeTime.java @@ -0,0 +1,29 @@ +package com.zhitan.common.utils; +import lombok.Data; + +import java.util.Date; + +/** + * [ + * {"dataTime":"2025-01-01 00:00:00","value":"value0"} + * {"dataTime":"2025-02-01 00:00:00","value":"value1"} + * {"dataTime":"2025-03-01 00:00:00","value":"value2"} + * {"dataTime":"2025-04-01 00:00:00","value":"value3"} + * {"dataTime":"2025-05-01 00:00:00","value":"value4"} + * {"dataTime":"2025-06-01 00:00:00","value":"value5"} + * {"dataTime":"2025-07-01 00:00:00","value":"value6"} + * {"dataTime":"2025-08-01 00:00:00","value":"value7"} + * {"dataTime":"2025-09-01 00:00:00","value":"value8"} + * {"dataTime":"2025-10-01 00:00:00","value":"value9"} + * {"dataTime":"2025-11-01 00:00:00","value":"value10"} + * {"dataTime":"2025-12-01 00:00:00","value":"value11"} + * } + */ +@Data +public class TypeTime { + private String dataTime; + private String value; + private String timeCode; + + private Date dateTime; +} diff --git a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/DailyComprehensiveMapper.java b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/DailyComprehensiveMapper.java index 3a4de64..4ce024d 100644 --- a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/DailyComprehensiveMapper.java +++ b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/DailyComprehensiveMapper.java @@ -1,6 +1,5 @@ package com.zhitan.comprehensivestatistics.mapper; -import com.zhitan.common.enums.TimeType; import com.zhitan.comprehensivestatistics.domain.DailyComprehensive; import org.apache.ibatis.annotations.Param; @@ -18,13 +17,13 @@ @Param("dataList") List<DailyComprehensive> dataList, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime, - @Param("timeType") TimeType timeType, + @Param("timeType") String timeType, @Param("indexStorageId") String indexStorageId); List<DailyComprehensive> getListChart(@Param("indexId") String indexId, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime, - @Param("timeType") TimeType timeType, + @Param("timeType") String timeType, @Param("indexStorageId") String indexStorageId); } diff --git a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/MonthlyComprehensiveMapper.java b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/MonthlyComprehensiveMapper.java index ca9a75c..15af3ff 100644 --- a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/MonthlyComprehensiveMapper.java +++ b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/MonthlyComprehensiveMapper.java @@ -1,6 +1,5 @@ package com.zhitan.comprehensivestatistics.mapper; -import com.zhitan.common.enums.TimeType; import com.zhitan.comprehensivestatistics.domain.MonthlyComprehensive; import org.apache.ibatis.annotations.Param; @@ -29,7 +28,7 @@ @Param("dataList") List<MonthlyComprehensive> dataList, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime, - @Param("timeType") TimeType timeType, + @Param("timeType") String timeType, @Param("indexStorageId") String indexStorageId); /** @@ -45,7 +44,7 @@ List<MonthlyComprehensive> getListChart(@Param("indexId") String indexId, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime, - @Param("timeType") TimeType timeType, + @Param("timeType") String timeType, @Param("indexStorageId") String indexStorageId); } diff --git a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/YearComprehensiveMapper.java b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/YearComprehensiveMapper.java index 7293dd7..2e6d632 100644 --- a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/YearComprehensiveMapper.java +++ b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/mapper/YearComprehensiveMapper.java @@ -1,6 +1,5 @@ package com.zhitan.comprehensivestatistics.mapper; -import com.zhitan.common.enums.TimeType; import com.zhitan.comprehensivestatistics.domain.YearComperhensive; import org.apache.ibatis.annotations.Param; @@ -29,7 +28,7 @@ @Param("dataList") List<YearComperhensive> dataList, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime, - @Param("timeType") TimeType timeType, + @Param("timeType") String timeType, @Param("indexStorageId") String indexStorageId); /** @@ -45,7 +44,7 @@ List<YearComperhensive> getListChart(@Param("indexId") String indexId, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime, - @Param("timeType") TimeType timeType, + @Param("timeType") String timeType, @Param("indexStorageId") String indexStorageId); } diff --git a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/IDailyComprehensiveService.java b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/IDailyComprehensiveService.java index 5378839..c46d162 100644 --- a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/IDailyComprehensiveService.java +++ b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/IDailyComprehensiveService.java @@ -1,7 +1,6 @@ package com.zhitan.comprehensivestatistics.service; -import com.zhitan.common.enums.TimeType; import com.zhitan.comprehensivestatistics.domain.DailyComprehensive; import java.util.Date; @@ -14,6 +13,6 @@ * @date 2020-03-25 */ public interface IDailyComprehensiveService { - public List<DailyComprehensive> getDailyComprehensiveList(String nodeId, List<DailyComprehensive> dataList, Date beginTime, Date endTime, TimeType timeType, String indexStorageId); - List<DailyComprehensive> getListChart(String indexId, Date beginTime, Date endTime, TimeType timeType, String indexStorageId); + public List<DailyComprehensive> getDailyComprehensiveList(String nodeId, List<DailyComprehensive> dataList, Date beginTime, Date endTime, String timeType, String indexStorageId); + List<DailyComprehensive> getListChart(String indexId, Date beginTime, Date endTime, String timeType, String indexStorageId); } diff --git a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/ImonthlyComprehensive.java b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/ImonthlyComprehensive.java index 13221a0..1527ce3 100644 --- a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/ImonthlyComprehensive.java +++ b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/ImonthlyComprehensive.java @@ -1,7 +1,6 @@ package com.zhitan.comprehensivestatistics.service; -import com.zhitan.common.enums.TimeType; import com.zhitan.comprehensivestatistics.domain.MonthlyComprehensive; import java.util.Date; @@ -25,7 +24,7 @@ * @param indexStorageId * @return */ - List<MonthlyComprehensive> getMonthlyComprehensiveList(String nodeId, List<MonthlyComprehensive> dataList, Date beginTime, Date endTime, TimeType timeType, String indexStorageId); + List<MonthlyComprehensive> getMonthlyComprehensiveList(String nodeId, List<MonthlyComprehensive> dataList, Date beginTime, Date endTime, String timeType, String indexStorageId); /** * 鍏ㄥ巶缁煎悎鑳借�楃粺璁� 鏈� @@ -37,5 +36,5 @@ * @param indexStorageId * @return */ - List<MonthlyComprehensive> getListChart(String indexId, Date beginTime, Date endTime, TimeType timeType, String indexStorageId); + List<MonthlyComprehensive> getListChart(String indexId, Date beginTime, Date endTime, String timeType, String indexStorageId); } diff --git a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/IyearComprehensive.java b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/IyearComprehensive.java index 2c3a979..566ea94 100644 --- a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/IyearComprehensive.java +++ b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/IyearComprehensive.java @@ -1,7 +1,6 @@ package com.zhitan.comprehensivestatistics.service; -import com.zhitan.common.enums.TimeType; import com.zhitan.comprehensivestatistics.domain.YearComperhensive; import java.util.Date; @@ -26,7 +25,7 @@ * @return */ List<YearComperhensive> getYearComprehensiveList(String nodeId, List<YearComperhensive> dataList, - Date beginTime, Date endTime, TimeType timeType, String indexStorageId); + Date beginTime, Date endTime, String timeType, String indexStorageId); /** * 鑾峰彇缁煎悎鎸囨爣鍒嗘瀽锛堝勾锛夊浘琛ㄦ暟鎹� @@ -38,5 +37,5 @@ * @param indexStorageId * @return */ - List<YearComperhensive> getListChart(String indexId, Date beginTime, Date endTime, TimeType timeType, String indexStorageId); + List<YearComperhensive> getListChart(String indexId, Date beginTime, Date endTime, String timeType, String indexStorageId); } diff --git a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/DailyComprehensiveServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/DailyComprehensiveServiceImpl.java index 19fd4b5..c67511e 100644 --- a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/DailyComprehensiveServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/DailyComprehensiveServiceImpl.java @@ -1,6 +1,5 @@ package com.zhitan.comprehensivestatistics.service.impl; -import com.zhitan.common.enums.TimeType; import com.zhitan.comprehensivestatistics.domain.DailyComprehensive; import com.zhitan.comprehensivestatistics.mapper.DailyComprehensiveMapper; import com.zhitan.comprehensivestatistics.service.IDailyComprehensiveService; @@ -24,7 +23,7 @@ private DailyComprehensiveMapper dailyMapper; public List<DailyComprehensive> getDailyComprehensiveList(String nodeId, List<DailyComprehensive> dataList, - Date beginTime, Date endTime, TimeType timeType, String indexStorageId){ + Date beginTime, Date endTime, String timeType, String indexStorageId){ if (StringUtils.isNotEmpty(nodeId)) { return dailyMapper.getDailyComprehensiveList(nodeId, dataList, beginTime, endTime, timeType, indexStorageId); @@ -32,7 +31,7 @@ return Collections.emptyList(); } @Override - public List<DailyComprehensive> getListChart(String indexId, Date beginTime, Date endTime, TimeType timeType, String indexStorageId){ + public List<DailyComprehensive> getListChart(String indexId, Date beginTime, Date endTime, String timeType, String indexStorageId){ if (indexId != null && !indexId.isEmpty()) { return dailyMapper.getListChart(indexId,beginTime,endTime,timeType,indexStorageId); } diff --git a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/MonthlyComprehensiveServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/MonthlyComprehensiveServiceImpl.java index 04beef7..64d2bb3 100644 --- a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/MonthlyComprehensiveServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/MonthlyComprehensiveServiceImpl.java @@ -1,11 +1,9 @@ package com.zhitan.comprehensivestatistics.service.impl; -import com.zhitan.common.enums.TimeType; import com.zhitan.comprehensivestatistics.domain.MonthlyComprehensive; import com.zhitan.comprehensivestatistics.mapper.MonthlyComprehensiveMapper; import com.zhitan.comprehensivestatistics.service.ImonthlyComprehensive; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -25,7 +23,7 @@ private MonthlyComprehensiveMapper monthMapper; public List<MonthlyComprehensive> getMonthlyComprehensiveList(String nodeId, List<MonthlyComprehensive> dataList, - Date beginTime, Date endTime, TimeType timeType, String indexStorageId){ + Date beginTime, Date endTime, String timeType, String indexStorageId){ if (StringUtils.isNotEmpty(nodeId)) { return monthMapper.getMonthlyComprehensiveList(nodeId, dataList, beginTime, endTime, timeType, indexStorageId); } @@ -33,7 +31,7 @@ } @Override - public List<MonthlyComprehensive> getListChart(String indexId, Date beginTime, Date endTime, TimeType timeType, String indexStorageId){ + public List<MonthlyComprehensive> getListChart(String indexId, Date beginTime, Date endTime, String timeType, String indexStorageId){ if (indexId != null && !indexId.isEmpty()) { return monthMapper.getListChart(indexId,beginTime,endTime,timeType,indexStorageId); } diff --git a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/YearComprehensiveServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/YearComprehensiveServiceImpl.java index df2ac97..6cf4ac0 100644 --- a/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/YearComprehensiveServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/comprehensivestatistics/service/impl/YearComprehensiveServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.date.DateUtil; import com.zhitan.common.constant.CommonConst; -import com.zhitan.common.enums.TimeType; import com.zhitan.common.utils.DateTimeUtil; import com.zhitan.comprehensivestatistics.domain.YearComperhensive; import com.zhitan.comprehensivestatistics.mapper.YearComprehensiveMapper; @@ -29,14 +28,14 @@ @Override public List<YearComperhensive> getYearComprehensiveList(String nodeId, List<YearComperhensive> dataList, - Date beginTime, Date endTime, TimeType timeType, String indexStorageId){ + Date beginTime, Date endTime, String timeType, String indexStorageId){ if (StringUtils.isNotEmpty(nodeId)) { return yearMapper.getYearComprehensiveList(nodeId, dataList, beginTime, endTime, timeType, indexStorageId); } return Collections.emptyList(); } @Override - public List<YearComperhensive> getListChart(String indexId, Date beginTime, Date endTime, TimeType timeType, String indexStorageId){ + public List<YearComperhensive> getListChart(String indexId, Date beginTime, Date endTime, String timeType, String indexStorageId){ List<YearComperhensive> dataList = new ArrayList<>(); if (StringUtils.isNotEmpty(indexId)) { List<YearComperhensive> listChart = yearMapper.getListChart(indexId, beginTime, endTime, timeType, indexStorageId); @@ -54,7 +53,7 @@ } else { yearComperhensive.setTimeCode(format); yearComperhensive.setIndexId(indexId); - yearComperhensive.setTimeType(timeType.name()); + yearComperhensive.setTimeType(timeType); yearComperhensive.setUnitId(first.getUnitId()); yearComperhensive.setIndexName(first.getIndexName()); } diff --git a/zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/DailyKeyEquipmentMapper.java b/zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/DailyKeyEquipmentMapper.java index 4ef9af3..f317bc0 100644 --- a/zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/DailyKeyEquipmentMapper.java +++ b/zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/DailyKeyEquipmentMapper.java @@ -1,7 +1,6 @@ package com.zhitan.keyequipment.mapper; import com.zhitan.basicdata.domain.FacilityArchives; -import com.zhitan.common.enums.TimeType; import com.zhitan.keyequipment.domain.DailyKeyEquipment; import org.apache.ibatis.annotations.Param; @@ -19,12 +18,12 @@ @Param("dataList") List<DailyKeyEquipment> dataList, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime, - @Param("timeType") TimeType timeType, + @Param("timeType") String timeType, @Param("indexStorageId") String indexStorageId); List<DailyKeyEquipment> getListChart(@Param("indexId") String indexId, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime, - @Param("timeType") TimeType timeType, + @Param("timeType") String timeType, @Param("indexStorageId") String indexStorageId); List<FacilityArchives> getFacilityArchives(); List<FacilityArchives> getPointFacility(); diff --git a/zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/MonthlyKeyEquipmentMapper.java b/zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/MonthlyKeyEquipmentMapper.java index 557bbdb..db4c6da 100644 --- a/zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/MonthlyKeyEquipmentMapper.java +++ b/zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/MonthlyKeyEquipmentMapper.java @@ -1,6 +1,5 @@ package com.zhitan.keyequipment.mapper; -import com.zhitan.common.enums.TimeType; import com.zhitan.keyequipment.domain.MonthlyKeyEquipment; import org.apache.ibatis.annotations.Param; @@ -18,12 +17,12 @@ @Param("dataList") List<MonthlyKeyEquipment> dataList, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime, - @Param("timeType") TimeType timeType, + @Param("timeType") String timeType, @Param("indexStorageId") String indexStorageId); List<MonthlyKeyEquipment> getListChart(@Param("indexId") String indexId, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime, - @Param("timeType") TimeType timeType, + @Param("timeType") String timeType, @Param("indexStorageId") String indexStorageId); } diff --git a/zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/YearKeyEquipmentMapper.java b/zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/YearKeyEquipmentMapper.java index 12e61dd..6bc97ad 100644 --- a/zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/YearKeyEquipmentMapper.java +++ b/zhitan-system/src/main/java/com/zhitan/keyequipment/mapper/YearKeyEquipmentMapper.java @@ -1,6 +1,6 @@ package com.zhitan.keyequipment.mapper; -import com.zhitan.common.enums.TimeType; +import com.zhitan.common.utils.TypeTime; import com.zhitan.keyequipment.domain.YearKeyEquipment; import org.apache.ibatis.annotations.Param; @@ -15,15 +15,15 @@ */ public interface YearKeyEquipmentMapper { public List<YearKeyEquipment> getYearKeyEquipmentList(@Param("indexIds") List<String> indexIds, - @Param("dataList") List<YearKeyEquipment> dataList, + @Param("dataList") List<TypeTime> dataList, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime, - @Param("timeType") TimeType timeType, + @Param("timeType") String timeType, @Param("indexStorageId") String indexStorageId); List<YearKeyEquipment> getListChart(@Param("indexId") String indexId, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime, - @Param("timeType") TimeType timeType, - @Param("indexStorageId") String indexStorageId); + @Param("timeType") String timeType + ); } diff --git a/zhitan-system/src/main/java/com/zhitan/keyequipment/service/IDailyKeyEquipmentService.java b/zhitan-system/src/main/java/com/zhitan/keyequipment/service/IDailyKeyEquipmentService.java index feb1c27..dad2d88 100644 --- a/zhitan-system/src/main/java/com/zhitan/keyequipment/service/IDailyKeyEquipmentService.java +++ b/zhitan-system/src/main/java/com/zhitan/keyequipment/service/IDailyKeyEquipmentService.java @@ -1,7 +1,6 @@ package com.zhitan.keyequipment.service; import com.zhitan.basicdata.domain.FacilityArchives; -import com.zhitan.common.enums.TimeType; import com.zhitan.keyequipment.domain.DailyKeyEquipment; import java.util.Date; @@ -14,8 +13,8 @@ * @date 2021-01-11 */ public interface IDailyKeyEquipmentService { - public List<DailyKeyEquipment> getdailyKeyEquipmentList(List<String> indexIds, List<DailyKeyEquipment> dataList, Date beginTime, Date endTime, TimeType timeType, String indexStorageId); - public List<DailyKeyEquipment> getListChart(String indexId, Date beginTime, Date endTime, TimeType timeType, String indexStorageId); + public List<DailyKeyEquipment> getdailyKeyEquipmentList(List<String> indexIds, List<DailyKeyEquipment> dataList, Date beginTime, Date endTime, String timeType, String indexStorageId); + public List<DailyKeyEquipment> getListChart(String indexId, Date beginTime, Date endTime, String timeType, String indexStorageId); public List<FacilityArchives> getFacilityArchives(); public List<FacilityArchives> getPointFacility(); } diff --git a/zhitan-system/src/main/java/com/zhitan/keyequipment/service/IMonthlyKeyEquipmentService.java b/zhitan-system/src/main/java/com/zhitan/keyequipment/service/IMonthlyKeyEquipmentService.java index e3a2cbc..b57380c 100644 --- a/zhitan-system/src/main/java/com/zhitan/keyequipment/service/IMonthlyKeyEquipmentService.java +++ b/zhitan-system/src/main/java/com/zhitan/keyequipment/service/IMonthlyKeyEquipmentService.java @@ -1,7 +1,6 @@ package com.zhitan.keyequipment.service; -import com.zhitan.common.enums.TimeType; import com.zhitan.keyequipment.domain.MonthlyKeyEquipment; import java.util.Date; @@ -14,6 +13,8 @@ * @date 2021-01-11 */ public interface IMonthlyKeyEquipmentService { - public List<MonthlyKeyEquipment> getMonthlyKeyEquipmentList(List<String> indexIds, List<MonthlyKeyEquipment> dataList, Date beginTime, Date endTime, TimeType timeType, String indexStorageId); - List<MonthlyKeyEquipment> getListChart(String indexId, Date beginTime, Date endTime, TimeType timeType, String indexStorageId); + + List<MonthlyKeyEquipment> getMonthlyKeyEquipmentList(List<String> indexIds, List<MonthlyKeyEquipment> dataList, Date beginTime, Date endTime, String timeType, String indexStorageId); + + List<MonthlyKeyEquipment> getListChart(String indexId, Date beginTime, Date endTime, String timeType, String indexStorageId); } diff --git a/zhitan-system/src/main/java/com/zhitan/keyequipment/service/IYearKeyEquipmentService.java b/zhitan-system/src/main/java/com/zhitan/keyequipment/service/IYearKeyEquipmentService.java index e97d0c3..62f5f62 100644 --- a/zhitan-system/src/main/java/com/zhitan/keyequipment/service/IYearKeyEquipmentService.java +++ b/zhitan-system/src/main/java/com/zhitan/keyequipment/service/IYearKeyEquipmentService.java @@ -1,8 +1,9 @@ package com.zhitan.keyequipment.service; -import com.zhitan.common.enums.TimeType; +import com.zhitan.common.utils.TypeTime; import com.zhitan.keyequipment.domain.YearKeyEquipment; +import com.zhitan.realtimedata.domain.dto.DataItemQueryDTO; import java.util.Date; import java.util.List; @@ -14,6 +15,6 @@ * @date 2021-01-11 */ public interface IYearKeyEquipmentService { - public List<YearKeyEquipment> getYearKeyEquipmentList(List<String> indexIds, List<YearKeyEquipment> dataList, Date beginTime, Date endTime, TimeType timeType, String indexStorageId); - List<YearKeyEquipment> getListChart(String indexId, Date beginTime, Date endTime, TimeType timeType, String indexStorageId); + public List<YearKeyEquipment> getYearKeyEquipmentList(List<String> indexIds, List<TypeTime> dataList, Date beginTime, Date endTime, String timeType, String indexStorageId); + List<YearKeyEquipment> getListChart(DataItemQueryDTO queryDto); } diff --git a/zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/DailyKeyEquipmentServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/DailyKeyEquipmentServiceImpl.java index d0acd5b..def03eb 100644 --- a/zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/DailyKeyEquipmentServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/DailyKeyEquipmentServiceImpl.java @@ -1,7 +1,6 @@ package com.zhitan.keyequipment.service.impl; import com.zhitan.basicdata.domain.FacilityArchives; -import com.zhitan.common.enums.TimeType; import com.zhitan.keyequipment.domain.DailyKeyEquipment; import com.zhitan.keyequipment.mapper.DailyKeyEquipmentMapper; import com.zhitan.keyequipment.service.IDailyKeyEquipmentService; @@ -23,15 +22,25 @@ @Autowired private DailyKeyEquipmentMapper dailyKeyEquipmentMapper; + /** + * + * @param indexIds + * @param dataList + * @param beginTime + * @param endTime + * @param timeType + * @param indexStorageId + * @return + */ @Override - public List<DailyKeyEquipment> getdailyKeyEquipmentList(List<String> indexIds, List<DailyKeyEquipment> dataList, Date beginTime, Date endTime, TimeType timeType, String indexStorageId){ + public List<DailyKeyEquipment> getdailyKeyEquipmentList(List<String> indexIds, List<DailyKeyEquipment> dataList, Date beginTime, Date endTime, String timeType, String indexStorageId){ if (indexIds != null && !indexIds.isEmpty()) { return dailyKeyEquipmentMapper.getdailyKeyEquipmentList(indexIds, dataList, beginTime, endTime, timeType, indexStorageId); } return Collections.emptyList(); } @Override - public List<DailyKeyEquipment> getListChart(String indexId, Date beginTime, Date endTime, TimeType timeType, String indexStorageId){ + public List<DailyKeyEquipment> getListChart(String indexId, Date beginTime, Date endTime, String timeType, String indexStorageId){ if (indexId != null && !indexId.isEmpty()) { return dailyKeyEquipmentMapper.getListChart(indexId,beginTime,endTime,timeType,indexStorageId); } diff --git a/zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/MonthlyKeyEquipmentServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/MonthlyKeyEquipmentServiceImpl.java index d76e549..577484e 100644 --- a/zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/MonthlyKeyEquipmentServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/MonthlyKeyEquipmentServiceImpl.java @@ -1,6 +1,5 @@ package com.zhitan.keyequipment.service.impl; -import com.zhitan.common.enums.TimeType; import com.zhitan.keyequipment.domain.MonthlyKeyEquipment; import com.zhitan.keyequipment.mapper.MonthlyKeyEquipmentMapper; import com.zhitan.keyequipment.service.IMonthlyKeyEquipmentService; @@ -23,7 +22,7 @@ private MonthlyKeyEquipmentMapper monthlyKeyEquipmentMapper; @Override - public List<MonthlyKeyEquipment> getMonthlyKeyEquipmentList(List<String> indexIds, List<MonthlyKeyEquipment> dataList, Date beginTime, Date endTime, TimeType timeType, String indexStorageId){ + public List<MonthlyKeyEquipment> getMonthlyKeyEquipmentList(List<String> indexIds, List<MonthlyKeyEquipment> dataList, Date beginTime, Date endTime, String timeType, String indexStorageId){ if (indexIds != null && !indexIds.isEmpty()) { return monthlyKeyEquipmentMapper.getMonthlyKeyEquipmentList(indexIds, dataList, beginTime, endTime, timeType, indexStorageId); } @@ -31,7 +30,7 @@ } @Override - public List<MonthlyKeyEquipment> getListChart(String indexId, Date beginTime, Date endTime, TimeType timeType, String indexStorageId){ + public List<MonthlyKeyEquipment> getListChart(String indexId, Date beginTime, Date endTime, String timeType, String indexStorageId){ if (indexId != null && !indexId.isEmpty()) { return monthlyKeyEquipmentMapper.getListChart(indexId,beginTime,endTime,timeType,indexStorageId); } diff --git a/zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/YearKeyEquipmentServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/YearKeyEquipmentServiceImpl.java index 15c24d6..ce6878b 100644 --- a/zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/YearKeyEquipmentServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/keyequipment/service/impl/YearKeyEquipmentServiceImpl.java @@ -1,9 +1,14 @@ package com.zhitan.keyequipment.service.impl; -import com.zhitan.common.enums.TimeType; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.zhitan.common.utils.DateTimeUtil; +import com.zhitan.common.utils.TypeTime; import com.zhitan.keyequipment.domain.YearKeyEquipment; import com.zhitan.keyequipment.mapper.YearKeyEquipmentMapper; import com.zhitan.keyequipment.service.IYearKeyEquipmentService; +import com.zhitan.realtimedata.domain.dto.DataItemQueryDTO; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,17 +27,19 @@ @Autowired private YearKeyEquipmentMapper yearKeyEquipmentMapper; - public List<YearKeyEquipment> getYearKeyEquipmentList(List<String> indexIds, List<YearKeyEquipment> dataList, Date beginTime, Date endTime, TimeType timeType, String indexStorageId){ + public List<YearKeyEquipment> getYearKeyEquipmentList(List<String> indexIds, List<TypeTime> dataList, Date beginTime, Date endTime, String timeType, String indexStorageId){ if (indexIds != null && !indexIds.isEmpty()) { return yearKeyEquipmentMapper.getYearKeyEquipmentList(indexIds, dataList, beginTime, endTime, timeType, indexStorageId); } return Collections.emptyList(); } @Override - public List<YearKeyEquipment> getListChart(String indexId, Date beginTime, Date endTime, TimeType timeType, String indexStorageId){ - if (indexId != null && !indexId.isEmpty()) { - return yearKeyEquipmentMapper.getListChart(indexId,beginTime,endTime,timeType,indexStorageId); + public List<YearKeyEquipment> getListChart(DataItemQueryDTO queryDto){ + if(ObjectUtils.isEmpty(queryDto.getIndexId())){ + return Collections.emptyList();} + Date convertTime = DateTimeUtil.getTime(queryDto.getTimeType(), queryDto.getDataTime()); + DateTime beginTime = DateUtil.beginOfYear(convertTime); + DateTime endTime = DateUtil.endOfYear(convertTime); + return yearKeyEquipmentMapper.getListChart(queryDto.getIndexId(),beginTime,endTime,queryDto.getTimeType()); } - return Collections.emptyList(); - } } diff --git a/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/DataItem.java b/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/DataItem.java index 08eac67..65e01e4 100644 --- a/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/DataItem.java +++ b/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/DataItem.java @@ -1,7 +1,6 @@ package com.zhitan.realtimedata.domain; import com.zhitan.common.enums.Quality; -import com.zhitan.common.enums.TimeType; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -32,7 +31,7 @@ @ApiModelProperty(value = "鏃堕棿绫诲瀷缂栫爜") private String timeCode; @ApiModelProperty(value = "鏃堕棿绫诲瀷") - private TimeType timeType; + private String timeType; @ApiModelProperty(value = "鍊�") private Double value; @ApiModelProperty(value = "璐ㄩ噺") @@ -110,11 +109,11 @@ this.timeCode = timeCode; } - public TimeType getTimeType() { + public String getTimeType() { return timeType; } - public void setTimeType(TimeType timeType) { + public void setTimeType(String timeType) { this.timeType = timeType; } diff --git a/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/dto/DataItemQueryDTO.java b/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/dto/DataItemQueryDTO.java new file mode 100644 index 0000000..fdf53b1 --- /dev/null +++ b/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/dto/DataItemQueryDTO.java @@ -0,0 +1,21 @@ +package com.zhitan.realtimedata.domain.dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 鍛ㄦ湡鏁版嵁椤�. + */ +@Data +public class DataItemQueryDTO { + @ApiModelProperty(value ="鎸囨爣id") + private String indexId; + + @ApiModelProperty(value="妯″瀷code") + private String indexCode; + @ApiModelProperty(value ="鏃堕棿瀛楃涓�") + private String dataTime; + @ApiModelProperty(value ="鏃堕棿绫诲瀷") + private String timeType; + @ApiModelProperty(value = "鑳芥簮绫诲瀷") + private String energyType; +} diff --git a/zhitan-system/src/main/resources/mapper/keyequipment/YearKeyEquipmentMapper.xml b/zhitan-system/src/main/resources/mapper/keyequipment/YearKeyEquipmentMapper.xml index 6a2316e..3d4e35e 100644 --- a/zhitan-system/src/main/resources/mapper/keyequipment/YearKeyEquipmentMapper.xml +++ b/zhitan-system/src/main/resources/mapper/keyequipment/YearKeyEquipmentMapper.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.zhitan.keyequipment.mapper.YearKeyEquipmentMapper"> <resultMap id="dataItemMap" type="com.zhitan.keyequipment.domain.YearKeyEquipment"> <result column="index_id" property="indexId"/> @@ -28,14 +28,14 @@ aa.index_id, aa.index_name, <foreach item="item" index="index" collection="dataList"> - MAX ( CASE WHEN data_time = #{item.dataTime} THEN "value" END ) AS ${item.value}, + MAX ( CASE WHEN data_time = #{item.dateTime} THEN "value" END ) AS ${item.value}, </foreach> aa.time_type FROM ( SELECT ci.index_id, - ci.NAME AS "index_name", + ci.NAME AS "index_name", di."value", di.data_time, di.time_type @@ -43,9 +43,12 @@ data_item di LEFT JOIN energy_index ci ON di.index_id = ci.index_id LEFT JOIN facility_archives f ON f."id"=ci.equipment WHERE - di.data_time >= #{beginTime} + di.data_time >= #{beginTime} AND di.data_time < #{endTime} - AND di.index_id IN <foreach item="indexId" index="index" collection="indexIds" open="(" separator="," close=")">#{indexId} </foreach> + AND di.index_id IN + <foreach item="indexId" index="index" collection="indexIds" open="(" separator="," close=")"> + #{indexId} + </foreach> AND di.time_type = #{timeType} <if test="indexStorageId !='' and indexStorageId !=null"> and ci.equipment=#{indexStorageId} @@ -57,20 +60,24 @@ <select id="getListChart" resultMap="dataItemMap"> SELECT - di.index_id, - ci.name AS "index_name", - ci.unit_id, - di."value", - di.data_time, - di.time_type, - di.time_code + di.index_id, + ci.name AS "index_name", + ci.unit_id, + di."value", + di.data_time, + di.time_type, + di.time_code FROM data_item di LEFT JOIN energy_index ci ON di.index_id = ci.index_id WHERE - di.index_id =#{indexId} - AND di.data_time < #{endTime} - AND di.data_time >= #{beginTime} + di.index_id =#{indexId} + AND di.data_time < #{endTime} + <if test="endTime != null"> + AND di.data_time >= #{beginTime} + </if> + <if test="beginTime != null"> AND di.time_type = #{timeType} + </if> order by di.data_time </select> </mapper> diff --git a/zhitan-vue/src/api/keyEquipment/api.js b/zhitan-vue/src/api/keyEquipment/api.js new file mode 100644 index 0000000..9972ae6 --- /dev/null +++ b/zhitan-vue/src/api/keyEquipment/api.js @@ -0,0 +1,67 @@ +import request from "@/utils/request" +export default { + // 鏌ヨ鎵�鏈夎澶囧垪琛� + getFacilityArchives(data) { + return request({ + url: "/keyEquipment/dailyKeyEquipment/getFacilityArchives", + method: "GET", + params: data, + }) + }, + // 鏌ヨ閲嶇偣璁惧鍒楄〃 + getPointFacility(data) { + return request({ + url: "/keyEquipment/dailyKeyEquipment/getPointFacility", + method: "GET", + params: data, + }) + }, + // 閲嶇偣璁惧鑳借�楀垎鏋愶紙鏃ワ級鍥捐〃 + dailyList(data) { + return request({ + url: "/keyEquipment/dailyKeyEquipment/list", + method: "GET", + params: data, + }) + }, + // 閲嶇偣璁惧鑳借�楀垎鏋愶紙鏃ワ級鍥捐〃 + dailyChart(data) { + return request({ + url: "/keyEquipment/dailyKeyEquipment/listChart", + method: "GET", + params: data, + }) + }, + // 閲嶇偣璁惧鑳借�楃粺璁★紙鏈堬級鍒楄〃 + monthlyList(data) { + return request({ + url: "/keyEquipment/MonthlyKeyEquipment/list", + method: "GET", + params: data, + }) + }, + // 閲嶇偣璁惧鑳借�楃粺璁★紙鏈堬級鍥捐〃 + monthlyChart(data) { + return request({ + url: "/keyEquipment/MonthlyKeyEquipment/listChart", + method: "GET", + params: data, + }) + }, + // 閲嶇偣璁惧鑳借�楃粺璁★紙骞达級鍒楄〃 + yearList(data) { + return request({ + url: "/keyEquipment/YearKeyEquipment/list", + method: "GET", + params: data, + }) + }, + // 閲嶇偣璁惧鑳借�楃粺璁★紙骞达級鍥捐〃 + yearChart(data) { + return request({ + url: "/keyEquipment/YearKeyEquipment/listChart", + method: "GET", + params: data, + }) + }, +} diff --git a/zhitan-vue/src/api/process/api.js b/zhitan-vue/src/api/process/api.js new file mode 100644 index 0000000..7923b2b --- /dev/null +++ b/zhitan-vue/src/api/process/api.js @@ -0,0 +1,51 @@ +import request from "@/utils/request" +export default { + // 宸ュ簭鑳借�楀垎鏋愶紙鏃ワ級鍥捐〃 + dailyList(data) { + return request({ + url: "/processEnergy/dailyProcessEnergy/list", + method: "GET", + params: data, + }) + }, + // 宸ュ簭鑳借�楀垎鏋愶紙鏃ワ級鍥捐〃 + dailyChart(data) { + return request({ + url: "/processEnergy/dailyProcessEnergy/listChart", + method: "GET", + params: data, + }) + }, + // 宸ュ簭鑳借�楃粺璁★紙鏈堬級鍒楄〃 + monthlyList(data) { + return request({ + url: "/processEnergy/monthlyProcessEnergy/list", + method: "GET", + params: data, + }) + }, + // 宸ュ簭鑳借�楃粺璁★紙鏈堬級鍥捐〃 + monthlyChart(data) { + return request({ + url: "/processEnergy/monthlyProcessEnergy/listChart", + method: "GET", + params: data, + }) + }, + // 宸ュ簭鑳借�楃粺璁★紙骞达級鍒楄〃 + yearList(data) { + return request({ + url: "/processEnergy/YearProcessEnergy/list", + method: "GET", + params: data, + }) + }, + // 宸ュ簭鑳借�楃粺璁★紙骞达級鍥捐〃 + yearChart(data) { + return request({ + url: "/processEnergy/YearProcessEnergy/listChart", + method: "GET", + params: data, + }) + }, +} diff --git a/zhitan-vue/src/views/comprehensive/dailyComprehensive/index.vue b/zhitan-vue/src/views/comprehensive/dailyComprehensive/index.vue index 1d2d092..618d690 100644 --- a/zhitan-vue/src/views/comprehensive/dailyComprehensive/index.vue +++ b/zhitan-vue/src/views/comprehensive/dailyComprehensive/index.vue @@ -54,7 +54,7 @@ style="margin-right: 8px" ></el-button> <el-tooltip - v-if="scope.row.indexName.length > 9" + v-if="scope.row.indexName && scope.row.indexName.length > 9" class="item" effect="dark" :content="scope.row.indexName" diff --git a/zhitan-vue/src/views/comprehensive/monthlyComprehensive/index.vue b/zhitan-vue/src/views/comprehensive/monthlyComprehensive/index.vue index cc43f28..f6b537e 100644 --- a/zhitan-vue/src/views/comprehensive/monthlyComprehensive/index.vue +++ b/zhitan-vue/src/views/comprehensive/monthlyComprehensive/index.vue @@ -18,7 +18,7 @@ v-model="queryParams.dataTime" type="month" :clearable="false" - value-format="yyyy-MM" + value-format="YYYY-MM" placeholder="閫夋嫨鏃ユ湡" > </el-date-picker> @@ -35,7 +35,7 @@ <div class="table-bg-style" style="padding-bottom: 12px"> <div class="table-box"> - <el-table :data="energyList" v-loading="loading" border max-height="380px"> + <el-table :data="energyList" v-loading="loading" border max-height="380px" height="380"> <el-table-column fixed prop="indexName" label="鎸囨爣鍚嶇О" width="210px"> <template #default="scope"> <div style="width: 100%; text-align: left"> @@ -54,7 +54,7 @@ style="margin-right: 8px" ></el-button> <el-tooltip - v-if="scope.row.indexName.length > 9" + v-if="scope.row.indexName && scope.row.indexName.length > 9" class="item" effect="dark" :content="scope.row.indexName" @@ -68,7 +68,7 @@ </div> </template> </el-table-column> - <el-table-column v-for="index in 31" :key="index" :label="index + '鏃�'" align="center" min-width="100"> + <el-table-column v-for="index in 31" :key="index" :label="index + '鏃�'" align="center" min-width="100px"> <template #default="scope">{{ numFilter(scope.row[`value${index}`]) }}</template> </el-table-column> </el-table> @@ -123,6 +123,7 @@ getDataList({ ...queryParams.value, }).then((response) => { + console.log("1111111111", response) energyList.value = response.data.tabledata if (energyList.value && energyList.value.length !== 0) { selectChange(energyList.value[0]) diff --git a/zhitan-vue/src/views/comprehensive/yearComprehensive/index.vue b/zhitan-vue/src/views/comprehensive/yearComprehensive/index.vue index d916e04..83b06c9 100644 --- a/zhitan-vue/src/views/comprehensive/yearComprehensive/index.vue +++ b/zhitan-vue/src/views/comprehensive/yearComprehensive/index.vue @@ -54,7 +54,7 @@ style="margin-right: 8px" ></el-button> <el-tooltip - v-if="scope.row.indexName.length > 9" + v-if="scope.row.indexName && scope.row.indexName.length > 9" class="item" effect="dark" :content="scope.row.indexName" diff --git a/zhitan-vue/src/views/keyEquipment/comps/LineChart.vue b/zhitan-vue/src/views/keyEquipment/comps/LineChart.vue new file mode 100644 index 0000000..75914f3 --- /dev/null +++ b/zhitan-vue/src/views/keyEquipment/comps/LineChart.vue @@ -0,0 +1,177 @@ +<template> + <div class="chart-box"> + <div id="ChartDom" style="width: 100%; height: 100%"></div> + </div> +</template> + +<script setup> +import * as echarts from "echarts" +const { proxy } = getCurrentInstance() +import useSettingsStore from "@/store/modules/settings" +const settingsStore = useSettingsStore() +const emit = defineEmits() +const props = defineProps({ + chartData: { + type: Object, + default: () => {}, + }, +}) + +watch( + () => props.chartData, + (val) => { + console.log("watch", val) + initChart() + } +) +watch( + () => settingsStore.sideTheme, + (val) => { + initChart() + } +) + +onMounted(() => { + initChart() +}) + +function initChart(value) { + const chartDom = document.getElementById("ChartDom") + if (echarts.getInstanceByDom(chartDom)) { + echarts.dispose(chartDom) + } + const myChart = echarts.init(chartDom) + let option = { + title: { + text: props.chartData.title, + left: "40", + textStyle: { + color: "#2979ff", + }, + }, + color: ["#40c2ff", "#2979ff", "#ff9900", "#fa3534"], + tooltip: { + trigger: "axis", + axisPointer: { + type: "shadow", + }, + }, + legend: { + icon: "rect", + itemWidth: 14, + itemHeight: 10, + textStyle: { + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + }, + }, + grid: { + top: "60", + left: "50", + right: "40", + bottom: "20", + containLabel: true, + }, + xAxis: { + type: "category", + axisPointer: { + type: "shadow", + }, + axisLine: { + show: true, + lineStyle: { + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + }, + }, + axisTick: { + show: false, + }, + splitArea: { + show: false, + }, + splitLine: { + show: false, + }, + axisLabel: { + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + fontSize: 14, + padding: [5, 0, 0, 0], + // formatter: '{value} ml' + }, + data: props.chartData.xData, + }, + yAxis: [ + { + type: "value", + nameTextStyle: { + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + fontSize: 14, + padding: [0, 0, 5, 0], + }, + axisLine: { + show: false, + }, + splitLine: { + show: true, + lineStyle: { + type: "dashed", + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + }, + }, + axisTick: { + show: false, + }, + splitArea: { + show: false, + }, + axisLabel: { + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + fontSize: 14, + }, + }, + ], + series: [ + { + name: props.chartData.title, + type: "bar", + barWidth: "16", + // tooltip: { + // valueFormatter: function (value) { + // return value + "tce" + // }, + // }, + itemStyle: { + borderRadius: [15, 15, 0, 0], + }, + data: props.chartData.yData, + markPoint: { + data: [ + { type: "max", name: "Max" }, + { type: "min", name: "Min" }, + ], + }, + }, + ], + } + setTimeout(() => { + myChart.setOption(option) + }, 200) + + window.addEventListener( + "resize", + () => { + myChart.resize() + }, + { passive: true } + ) +} +</script> + +<style lang="scss" scoped> +.chart-box { + width: 100%; + height: 400px; + border: 1px solid #eaeaea; + margin-top: 20px; + padding-top: 20px; +} +</style> diff --git a/zhitan-vue/src/views/keyEquipment/daily/index.vue b/zhitan-vue/src/views/keyEquipment/daily/index.vue new file mode 100644 index 0000000..055037a --- /dev/null +++ b/zhitan-vue/src/views/keyEquipment/daily/index.vue @@ -0,0 +1,232 @@ +<template> + <div class="page"> + <div class="form-card"> + <el-form :model="queryParams" ref="queryRef" :inline="true" label-width="68px"> + <!-- <el-form-item label="閲嶇偣璁惧" prop="energyType"> + <el-select v-model="queryParams.energyType" placeholder="璇烽�夋嫨閲嶇偣璁惧"> + <el-option :label="item.name" :value="item.id" v-for="item in facilityList" :key="item.id" /> + </el-select> + </el-form-item> --> + <el-form-item label="鑳芥簮绫诲瀷" prop="energyType"> + <el-select v-model="queryParams.energyType" placeholder="璇烽�夋嫨鑳芥簮绫诲瀷"> + <el-option + :label="item.enername" + :value="item.enersno" + v-for="item in energyTypeList" + :key="item.enersno" + /> + </el-select> + </el-form-item> + <el-form-item label="缁熻鏃堕棿"> + <el-date-picker + v-model="queryParams.dataTime" + type="date" + format="YYYY-MM-DD" + value-format="YYYY-MM-DD" + placeholder="閫夋嫨鏃ユ湡" + style="width: 100%" + :clearable="false" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button> + <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + <!-- <el-form-item> + <el-button type="warning" icon="Download" @click="handleExport"> 瀵煎嚭 </el-button> + </el-form-item> --> + </el-form> + </div> + + <div class="table-bg-style" style="padding-bottom: 12px"> + <div class="table-box"> + <el-table :data="energyList" v-loading="loading" border max-height="380px"> + <el-table-column fixed prop="indexName" label="鎸囨爣鍚嶇О" width="210px"> + <template #default="scope"> + <div style="width: 100%; text-align: left"> + <el-button + v-if="scope.row.indexId == queryParams.indexId" + icon="search" + circle + @click="selectChange(scope.row)" + style="color: #fff; background: #409eff; margin-right: 8px" + ></el-button> + <el-button + v-else + icon="search" + circle + @click="selectChange(scope.row)" + style="margin-right: 8px" + ></el-button> + <el-tooltip + v-if="scope.row.indexName && scope.row.indexName.length > 9" + class="item" + effect="dark" + :content="scope.row.indexName" + placement="top-end" + > + <span> + {{ scope.row.indexName.substr(0, 9) + "..." }} + </span> + </el-tooltip> + <span v-else>{{ scope.row.indexName }}</span> + </div> + </template> + </el-table-column> + <el-table-column v-for="index in 24" :key="index" :label="index - 1 + '鏃�'" align="center" min-width="100"> + <template #default="scope">{{ numFilter(scope.row[`value${index - 1}`]) }}</template> + </el-table-column> + </el-table> + + <div> + <line-chart ref="LineChartRef" :chartData="lineChartData" /> + </div> + </div> + </div> + </div> +</template> + +<script setup> +import { listEnergyTypeList } from "@/api/modelConfiguration/energyType" +import keyEquipmentApi from "@/api/keyEquipment/api" +import LineChart from "../comps/LineChart.vue" +let { proxy } = getCurrentInstance() +const facilityList = ref([]) +function getEquip() { + keyEquipmentApi.getPointFacility().then((res) => { + facilityList.value = res.data + }) +} +getEquip() + +const energyTypeList = ref() +function getEnergyTypeList() { + listEnergyTypeList().then((res) => { + energyTypeList.value = res.data + // form.value.indexType = alarm_record_category.value[0].value + // form.value.energyType = energyTypeList.value[0].enersno + getList() + }) +} +getEnergyTypeList() +function numFilter(value) { + // 鎴彇褰撳墠鏁版嵁鍒板皬鏁扮偣鍚庣殑鍑犱綅 + let realVal = "" + if (!isNaN(value) && value !== "" && value !== null) { + realVal = parseFloat(value).toFixed(2) + } else { + realVal = "--" + } + return realVal +} +let loading = ref(false) +let total = ref(0) +let queryParams = ref({ + indexStorageId: "", + indexCode: "", + pageNum: 1, + pageSize: 10, + dataTime: "", +}) + +const energyList = ref([]) +const lineChartData = ref({}) +function getList() { + queryParams.value.indexCode = proxy.$route.query.modelCode + keyEquipmentApi + .dailyList({ + ...queryParams.value, + timeType: "HOUR", + }) + .then((response) => { + energyList.value = response.data + if (response.data && response.data.length !== 0) { + selectChange(response.data[0]) + } else { + lineChartData.value = {} + } + }) +} + +const LineChartRef = ref() +function selectChange(row) { + queryParams.value.indexId = row ? row.indexId : undefined + queryParams.value.timeType = "HOUR" + keyEquipmentApi.dailyChart(queryParams.value).then((response) => { + let actualData = [] + let expectedData = [] + let title = "" + response.data.forEach((item) => { + expectedData.push(numFilter(item.value)) + actualData.push(item.timeCode.slice(item.timeCode.length - 2, item.timeCode.length) + "鏃�") + title = item.indexName + "(" + (item.unitId || "") + ")" + }) + + console.log(response) + console.log(actualData) + console.log(expectedData) + + lineChartData.value = { + xData: actualData, + yData: expectedData, + title, + } + // LineChartRef.value.initChart() + // this.lineChartData.actualData = actualData; + // this.lineChartData.expectedData = expectedData; + // this.lineChartData.title = title; + // this.$refs.LineChart.initChart(this.lineChartData); + // this.$refs.BarChart.initChart(this.lineChartData); + }) +} + +function getTime() { + var date = new Date() + var year = date.getFullYear() + var month = date.getMonth() + 1 + var date = date.getDate() + month = month < 10 ? "0" + month : month + date = date < 10 ? "0" + date : date + queryParams.value.dataTime = year + "-" + month + "-" + date +} +getTime() + +// 瀵煎嚭鎸夐挳鎿嶄綔 +function handleExport() { + exportList(queryParams.value).then((response) => { + console.log(response) + // download(response.msg); + }) +} + +function handleQuery() { + queryParams.value.pageNum = 1 + getList() +} + +function resetQuery() { + queryParams.value = { + limitName: "", + pageNum: 1, + pageSize: 10, + dataTime: null, + } + getTime() + getList() +} +</script> + +<style lang="scss" scoped> +@import "@/assets/styles/page.scss"; + +.header-box { + :deep .el-form-item__content { + color: #fff; + font-size: 16px; + } +} + +:deep .el-table--fit { + border-bottom: 1px solid #eaeaea; +} +</style> diff --git a/zhitan-vue/src/views/keyEquipment/monthly/index.vue b/zhitan-vue/src/views/keyEquipment/monthly/index.vue new file mode 100644 index 0000000..b7a327c --- /dev/null +++ b/zhitan-vue/src/views/keyEquipment/monthly/index.vue @@ -0,0 +1,219 @@ +<template> + <div class="page"> + <div class="form-card"> + <el-form :model="queryParams" ref="queryRef" :inline="true" label-width="68px"> + <el-form-item label="鑳芥簮绫诲瀷" prop="energyType"> + <el-select v-model="queryParams.energyType" placeholder="璇烽�夋嫨鑳芥簮绫诲瀷"> + <el-option + :label="item.enername" + :value="item.enersno" + v-for="item in energyTypeList" + :key="item.enersno" + /> + </el-select> + </el-form-item> + <el-form-item label="缁熻鏃堕棿"> + <el-date-picker + style="width: 100%" + v-model="queryParams.dataTime" + type="month" + :clearable="false" + value-format="YYYY-MM" + placeholder="閫夋嫨鏃ユ湡" + > + </el-date-picker> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button> + <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + <!-- <el-form-item> + <el-button type="warning" icon="Download" @click="handleExport"> 瀵煎嚭 </el-button> + </el-form-item> --> + </el-form> + </div> + + <div class="table-bg-style" style="padding-bottom: 12px"> + <div class="table-box"> + <el-table :data="energyList" v-loading="loading" border max-height="380px"> + <el-table-column fixed prop="indexName" label="鎸囨爣鍚嶇О" width="210px"> + <template #default="scope"> + <div style="width: 100%; text-align: left"> + <el-button + v-if="scope.row.indexId == queryParams.indexId" + icon="search" + circle + @click="selectChange(scope.row)" + style="color: #fff; background: #409eff; margin-right: 8px" + ></el-button> + <el-button + v-else + icon="search" + circle + @click="selectChange(scope.row)" + style="margin-right: 8px" + ></el-button> + <el-tooltip + v-if="scope.row.indexName.length > 9" + class="item" + effect="dark" + :content="scope.row.indexName" + placement="top-end" + > + <span> + {{ scope.row.indexName.substr(0, 9) + "..." }} + </span> + </el-tooltip> + <span v-else>{{ scope.row.indexName }}</span> + </div> + </template> + </el-table-column> + <el-table-column v-for="index in 31" :key="index" :label="index + '鏃�'" align="center" min-width="100"> + <template #default="scope">{{ numFilter(scope.row[`value${index}`]) }}</template> + </el-table-column> + </el-table> + <div> + <line-chart ref="LineChartRef" :chartData="lineChartData" /> + </div> + </div> + </div> + </div> +</template> + +<script setup> +import { getDataList, getlistChart } from "@/api/comprehensiveStatistics/monthlyComprehensive/monthlyComprehensive" +import { listEnergyTypeList } from "@/api/modelConfiguration/energyType" +import keyEquipmentApi from "@/api/keyEquipment/api" +import LineChart from "../comps/LineChart.vue" +let { proxy } = getCurrentInstance() +const energyTypeList = ref() +function getEnergyTypeList() { + listEnergyTypeList().then((res) => { + energyTypeList.value = res.data + // form.value.indexType = alarm_record_category.value[0].value + // form.value.energyType = energyTypeList.value[0].enersno + getList() + }) +} +getEnergyTypeList() +function numFilter(value) { + // 鎴彇褰撳墠鏁版嵁鍒板皬鏁扮偣鍚庣殑鍑犱綅 + let realVal = "" + if (!isNaN(value) && value !== "" && value !== null) { + realVal = parseFloat(value).toFixed(2) + } else { + realVal = "--" + } + return realVal +} +let loading = ref(false) +let total = ref(0) +let queryParams = ref({ + indexStorageId: "", + indexCode: "", + pageNum: 1, + pageSize: 10, + dataTime: "", + timeType: "DAY", +}) + +const energyList = ref([]) +const lineChartData = ref({}) +function getList() { + queryParams.value.indexCode = proxy.$route.query.modelCode + keyEquipmentApi + .monthlyList({ + ...queryParams.value, + }) + .then((response) => { + energyList.value = response.data + if (energyList.value && energyList.value.length !== 0) { + selectChange(energyList.value[0]) + } else { + lineChartData.value = {} + } + }) +} + +const LineChartRef = ref() +function selectChange(row) { + queryParams.value.indexId = row ? row.indexId : undefined + keyEquipmentApi.monthlyChart(queryParams.value).then((response) => { + let actualData = [] + let expectedData = [] + let title = "" + response.data.forEach((item) => { + expectedData.push(numFilter(item.value)) + actualData.push(item.timeCode.slice(item.timeCode.length - 2, item.timeCode.length) + "鏃�") + title = item.indexName + "(" + (item.unitId || "") + ")" + }) + + console.log(response) + console.log(actualData) + console.log(expectedData) + + lineChartData.value = { + xData: actualData, + yData: expectedData, + title, + } + // LineChartRef.value.initChart() + // this.lineChartData.actualData = actualData; + // this.lineChartData.expectedData = expectedData; + // this.lineChartData.title = title; + // this.$refs.LineChart.initChart(this.lineChartData); + // this.$refs.BarChart.initChart(this.lineChartData); + }) +} + +function getTime() { + var date = new Date() + var year = date.getFullYear() + var month = date.getMonth() + 1 + var date = date.getDate() + month = month < 10 ? "0" + month : month + date = date < 10 ? "0" + date : date + queryParams.value.dataTime = year + "-" + month +} +getTime() + +// 瀵煎嚭鎸夐挳鎿嶄綔 +function handleExport() { + exportList(queryParams.value).then((response) => { + console.log(response) + // download(response.msg); + }) +} + +function handleQuery() { + queryParams.value.pageNum = 1 + getList() +} + +function resetQuery() { + queryParams.value = { + limitName: "", + pageNum: 1, + pageSize: 10, + dataTime: null, + timeType: "DAY", + } + getTime() + getList() +} +</script> + +<style lang="scss" scoped> +@import "@/assets/styles/page.scss"; + +.header-box { + :deep .el-form-item__content { + color: #fff; + font-size: 16px; + } +} + +:deep .el-table--fit { + border-bottom: 1px solid #eaeaea; +} +</style> diff --git a/zhitan-vue/src/views/keyEquipment/year/index.vue b/zhitan-vue/src/views/keyEquipment/year/index.vue new file mode 100644 index 0000000..cdb08f3 --- /dev/null +++ b/zhitan-vue/src/views/keyEquipment/year/index.vue @@ -0,0 +1,226 @@ +<template> + <div class="page"> + <div class="form-card"> + <el-form :model="queryParams" ref="queryRef" :inline="true" label-width="68px"> + <el-form-item label="鑳芥簮绫诲瀷" prop="energyType"> + <el-select v-model="queryParams.energyType" placeholder="璇烽�夋嫨鑳芥簮绫诲瀷"> + <el-option + :label="item.enername" + :value="item.enersno" + v-for="item in energyTypeList" + :key="item.enersno" + /> + </el-select> + </el-form-item> + <el-form-item label="缁熻鏃堕棿"> + <el-date-picker + style="width: 100%" + v-model="queryParams.dataTime" + type="year" + :clearable="false" + value-format="YYYY" + placeholder="閫夋嫨鏃ユ湡" + > + </el-date-picker> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button> + <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + <!-- <el-form-item> + <el-button type="warning" icon="Download" @click="handleExport"> 瀵煎嚭 </el-button> + </el-form-item> --> + </el-form> + </div> + + <div class="table-bg-style" style="padding-bottom: 12px"> + <div class="table-box"> + <el-table :data="energyList" v-loading="loading" border max-height="380px"> + <el-table-column fixed prop="indexName" label="鎸囨爣鍚嶇О" width="210px"> + <template #default="scope"> + <div style="width: 100%; text-align: left"> + <el-button + v-if="scope.row.indexId == queryParams.indexId" + icon="search" + circle + @click="selectChange(scope.row)" + style="color: #fff; background: #409eff; margin-right: 8px" + ></el-button> + <el-button + v-else + icon="search" + circle + @click="selectChange(scope.row)" + style="margin-right: 8px" + ></el-button> + <el-tooltip + v-if="scope.row.indexName && scope.row.indexName.length > 9" + class="item" + effect="dark" + :content="scope.row.indexName" + placement="top-end" + > + <span> + {{ scope.row.indexName.substr(0, 9) + "..." }} + </span> + </el-tooltip> + <span v-else>{{ scope.row.indexName }}</span> + </div> + </template> + </el-table-column> + <el-table-column v-for="index in 12" :key="index" :label="index + '鏈�'" align="center" min-width="100"> + <template #default="scope">{{ numFilter(scope.row[`value${index}`]) }}</template> + </el-table-column> + </el-table> + + <div> + <line-chart ref="LineChartRef" :chartData="lineChartData" /> + </div> + </div> + </div> + </div> +</template> + +<script setup> +import { getDataList, getlistChart } from "@/api/comprehensiveStatistics/yearComprehensive/yearComprehensive" +import { listEnergyTypeList } from "@/api/modelConfiguration/energyType" +import keyEquipmentApi from "@/api/keyEquipment/api" +import LineChart from "../comps/LineChart.vue" +let { proxy } = getCurrentInstance() +const energyTypeList = ref() +function getEnergyTypeList() { + listEnergyTypeList().then((res) => { + energyTypeList.value = res.data + // form.value.indexType = alarm_record_category.value[0].value + // form.value.energyType = energyTypeList.value[0].enersno + getList() + }) +} +getEnergyTypeList() +function numFilter(value) { + // 鎴彇褰撳墠鏁版嵁鍒板皬鏁扮偣鍚庣殑鍑犱綅 + let realVal = "" + if (!isNaN(value) && value !== "" && value !== null) { + realVal = parseFloat(value).toFixed(2) + } else { + realVal = "--" + } + return realVal +} +let loading = ref(false) +let queryParams = ref({ + indexStorageId: "", + indexCode: "", + pageNum: 1, + pageSize: 10, + dataTime: "2025-01-0", + timeType: "MONTH", +}) + +const energyList = ref([]) +const lineChartData = ref({}) +function getList() { + queryParams.value.indexCode = proxy.$route.query.modelCode + keyEquipmentApi + .yearList({ + ...queryParams.value, + dataTime: queryParams.value.dataTime ? queryParams.value.dataTime + "-01" : "", + }) + .then((response) => { + energyList.value = response.data + if (response.data && response.data.length !== 0) { + selectChange(response.data[0]) + } else { + lineChartData.value = {} + } + }) +} + +const LineChartRef = ref() +function selectChange(row) { + queryParams.value.indexId = row ? row.indexId : undefined + keyEquipmentApi + .yearChart({ + ...queryParams.value, + dataTime: queryParams.value.dataTime ? queryParams.value.dataTime + "-01" : "", + }) + .then((response) => { + let actualData = [] + let expectedData = [] + let title = "" + response.data.forEach((item) => { + expectedData.push(numFilter(item.value)) + actualData.push(item.timeCode.slice(item.timeCode.length - 2, item.timeCode.length) + "鏈�") + title = item.indexName + "(" + (item.unitId || "") + ")" + }) + + console.log(response) + console.log(actualData) + console.log(expectedData) + + lineChartData.value = { + xData: actualData, + yData: expectedData, + title, + } + // LineChartRef.value.initChart() + // this.lineChartData.actualData = actualData; + // this.lineChartData.expectedData = expectedData; + // this.lineChartData.title = title; + // this.$refs.LineChart.initChart(this.lineChartData); + // this.$refs.BarChart.initChart(this.lineChartData); + }) +} + +function getTime() { + var date = new Date() + var year = date.getFullYear() + var month = date.getMonth() + 1 + var date = date.getDate() + month = month < 10 ? "0" + month : month + date = date < 10 ? "0" + date : date + queryParams.value.dataTime = year + "" +} + +// 瀵煎嚭鎸夐挳鎿嶄綔 +function handleExport() { + exportList(queryParams.value).then((response) => { + console.log(response) + // download(response.msg); + }) +} + +function handleQuery() { + queryParams.value.pageNum = 1 + getList() +} + +function resetQuery() { + queryParams.value = { + limitName: "", + pageNum: 1, + pageSize: 10, + dataTime: null, + timeType: "MONTH", + } + getTime() + getList() +} + +getTime() +</script> + +<style lang="scss" scoped> +@import "@/assets/styles/page.scss"; + +.header-box { + :deep .el-form-item__content { + color: #fff; + font-size: 16px; + } +} + +:deep .el-table--fit { + border-bottom: 1px solid #eaeaea; +} +</style> diff --git a/zhitan-vue/src/views/processEnergy/comps/LineChart.vue b/zhitan-vue/src/views/processEnergy/comps/LineChart.vue new file mode 100644 index 0000000..75914f3 --- /dev/null +++ b/zhitan-vue/src/views/processEnergy/comps/LineChart.vue @@ -0,0 +1,177 @@ +<template> + <div class="chart-box"> + <div id="ChartDom" style="width: 100%; height: 100%"></div> + </div> +</template> + +<script setup> +import * as echarts from "echarts" +const { proxy } = getCurrentInstance() +import useSettingsStore from "@/store/modules/settings" +const settingsStore = useSettingsStore() +const emit = defineEmits() +const props = defineProps({ + chartData: { + type: Object, + default: () => {}, + }, +}) + +watch( + () => props.chartData, + (val) => { + console.log("watch", val) + initChart() + } +) +watch( + () => settingsStore.sideTheme, + (val) => { + initChart() + } +) + +onMounted(() => { + initChart() +}) + +function initChart(value) { + const chartDom = document.getElementById("ChartDom") + if (echarts.getInstanceByDom(chartDom)) { + echarts.dispose(chartDom) + } + const myChart = echarts.init(chartDom) + let option = { + title: { + text: props.chartData.title, + left: "40", + textStyle: { + color: "#2979ff", + }, + }, + color: ["#40c2ff", "#2979ff", "#ff9900", "#fa3534"], + tooltip: { + trigger: "axis", + axisPointer: { + type: "shadow", + }, + }, + legend: { + icon: "rect", + itemWidth: 14, + itemHeight: 10, + textStyle: { + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + }, + }, + grid: { + top: "60", + left: "50", + right: "40", + bottom: "20", + containLabel: true, + }, + xAxis: { + type: "category", + axisPointer: { + type: "shadow", + }, + axisLine: { + show: true, + lineStyle: { + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + }, + }, + axisTick: { + show: false, + }, + splitArea: { + show: false, + }, + splitLine: { + show: false, + }, + axisLabel: { + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + fontSize: 14, + padding: [5, 0, 0, 0], + // formatter: '{value} ml' + }, + data: props.chartData.xData, + }, + yAxis: [ + { + type: "value", + nameTextStyle: { + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + fontSize: 14, + padding: [0, 0, 5, 0], + }, + axisLine: { + show: false, + }, + splitLine: { + show: true, + lineStyle: { + type: "dashed", + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + }, + }, + axisTick: { + show: false, + }, + splitArea: { + show: false, + }, + axisLabel: { + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + fontSize: 14, + }, + }, + ], + series: [ + { + name: props.chartData.title, + type: "bar", + barWidth: "16", + // tooltip: { + // valueFormatter: function (value) { + // return value + "tce" + // }, + // }, + itemStyle: { + borderRadius: [15, 15, 0, 0], + }, + data: props.chartData.yData, + markPoint: { + data: [ + { type: "max", name: "Max" }, + { type: "min", name: "Min" }, + ], + }, + }, + ], + } + setTimeout(() => { + myChart.setOption(option) + }, 200) + + window.addEventListener( + "resize", + () => { + myChart.resize() + }, + { passive: true } + ) +} +</script> + +<style lang="scss" scoped> +.chart-box { + width: 100%; + height: 400px; + border: 1px solid #eaeaea; + margin-top: 20px; + padding-top: 20px; +} +</style> diff --git a/zhitan-vue/src/views/processEnergy/daily/index.vue b/zhitan-vue/src/views/processEnergy/daily/index.vue new file mode 100644 index 0000000..1ca6431 --- /dev/null +++ b/zhitan-vue/src/views/processEnergy/daily/index.vue @@ -0,0 +1,220 @@ +<template> + <div class="page"> + <div class="form-card"> + <el-form :model="queryParams" ref="queryRef" :inline="true" label-width="68px"> + <el-form-item label="鑳芥簮绫诲瀷" prop="energyType"> + <el-select v-model="queryParams.energyType" placeholder="璇烽�夋嫨鑳芥簮绫诲瀷"> + <el-option + :label="item.enername" + :value="item.enersno" + v-for="item in energyTypeList" + :key="item.enersno" + /> + </el-select> + </el-form-item> + <el-form-item label="缁熻鏃堕棿"> + <el-date-picker + v-model="queryParams.dataTime" + type="date" + format="YYYY-MM-DD" + value-format="YYYY-MM-DD" + placeholder="閫夋嫨鏃ユ湡" + style="width: 100%" + :clearable="false" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button> + <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + <!-- <el-form-item> + <el-button type="warning" icon="Download" @click="handleExport"> 瀵煎嚭 </el-button> + </el-form-item> --> + </el-form> + </div> + + <div class="table-bg-style" style="padding-bottom: 12px"> + <div class="table-box"> + <el-table :data="energyList" v-loading="loading" border max-height="380px"> + <el-table-column fixed prop="indexName" label="鎸囨爣鍚嶇О" width="210px"> + <template #default="scope"> + <div style="width: 100%; text-align: left"> + <el-button + v-if="scope.row.indexId == queryParams.indexId" + icon="search" + circle + @click="selectChange(scope.row)" + style="color: #fff; background: #409eff; margin-right: 8px" + ></el-button> + <el-button + v-else + icon="search" + circle + @click="selectChange(scope.row)" + style="margin-right: 8px" + ></el-button> + <el-tooltip + v-if="scope.row.indexName && scope.row.indexName.length > 9" + class="item" + effect="dark" + :content="scope.row.indexName" + placement="top-end" + > + <span> + {{ scope.row.indexName.substr(0, 9) + "..." }} + </span> + </el-tooltip> + <span v-else>{{ scope.row.indexName }}</span> + </div> + </template> + </el-table-column> + <el-table-column v-for="index in 24" :key="index" :label="index - 1 + '鏃�'" align="center" min-width="100"> + <template #default="scope">{{ numFilter(scope.row[`value${index - 1}`]) }}</template> + </el-table-column> + </el-table> + + <div> + <line-chart ref="LineChartRef" :chartData="lineChartData" /> + </div> + </div> + </div> + </div> +</template> + +<script setup> +import { listEnergyTypeList } from "@/api/modelConfiguration/energyType" +import processApi from "@/api/process/api" +import LineChart from "../comps/LineChart.vue" +let { proxy } = getCurrentInstance() + +const energyTypeList = ref() +function getEnergyTypeList() { + listEnergyTypeList().then((res) => { + energyTypeList.value = res.data + // form.value.indexType = alarm_record_category.value[0].value + // form.value.energyType = energyTypeList.value[0].enersno + getList() + }) +} +getEnergyTypeList() +function numFilter(value) { + // 鎴彇褰撳墠鏁版嵁鍒板皬鏁扮偣鍚庣殑鍑犱綅 + let realVal = "" + if (!isNaN(value) && value !== "" && value !== null) { + realVal = parseFloat(value).toFixed(2) + } else { + realVal = "--" + } + return realVal +} +let loading = ref(false) +let total = ref(0) +let queryParams = ref({ + indexStorageId: "", + indexCode: "", + pageNum: 1, + pageSize: 10, + dataTime: "", +}) + +const energyList = ref([]) +const lineChartData = ref({}) +function getList() { + queryParams.value.indexCode = proxy.$route.query.modelCode + processApi + .dailyList({ + ...queryParams.value, + timeType: "HOUR", + }) + .then((response) => { + energyList.value = response.data + if (response.data && response.data.length !== 0) { + selectChange(response.data[0]) + } else { + lineChartData.value = {} + } + }) +} + +const LineChartRef = ref() +function selectChange(row) { + queryParams.value.indexId = row ? row.indexId : undefined + queryParams.value.timeType = "HOUR" + processApi.dailyChart(queryParams.value).then((response) => { + let actualData = [] + let expectedData = [] + let title = "" + response.data.forEach((item) => { + expectedData.push(numFilter(item.value)) + actualData.push(item.timeCode.slice(item.timeCode.length - 2, item.timeCode.length) + "鏃�") + title = item.indexName + "(" + (item.unitId || "") + ")" + }) + + console.log(response) + console.log(actualData) + console.log(expectedData) + + lineChartData.value = { + xData: actualData, + yData: expectedData, + title, + } + // LineChartRef.value.initChart() + // this.lineChartData.actualData = actualData; + // this.lineChartData.expectedData = expectedData; + // this.lineChartData.title = title; + // this.$refs.LineChart.initChart(this.lineChartData); + // this.$refs.BarChart.initChart(this.lineChartData); + }) +} + +function getTime() { + var date = new Date() + var year = date.getFullYear() + var month = date.getMonth() + 1 + var date = date.getDate() + month = month < 10 ? "0" + month : month + date = date < 10 ? "0" + date : date + queryParams.value.dataTime = year + "-" + month + "-" + date +} +getTime() + +// 瀵煎嚭鎸夐挳鎿嶄綔 +function handleExport() { + exportList(queryParams.value).then((response) => { + console.log(response) + // download(response.msg); + }) +} + +function handleQuery() { + queryParams.value.pageNum = 1 + getList() +} + +function resetQuery() { + queryParams.value = { + limitName: "", + pageNum: 1, + pageSize: 10, + dataTime: null, + } + getTime() + getList() +} +</script> + +<style lang="scss" scoped> +@import "@/assets/styles/page.scss"; + +.header-box { + :deep .el-form-item__content { + color: #fff; + font-size: 16px; + } +} + +:deep .el-table--fit { + border-bottom: 1px solid #eaeaea; +} +</style> diff --git a/zhitan-vue/src/views/processEnergy/monthly/index.vue b/zhitan-vue/src/views/processEnergy/monthly/index.vue new file mode 100644 index 0000000..8378f6f --- /dev/null +++ b/zhitan-vue/src/views/processEnergy/monthly/index.vue @@ -0,0 +1,226 @@ +<template> + <div class="page"> + <div class="form-card"> + <el-form :model="queryParams" ref="queryRef" :inline="true" label-width="68px"> + <el-form-item label="鑳芥簮绫诲瀷" prop="energyType"> + <el-select v-model="queryParams.energyType" placeholder="璇烽�夋嫨鑳芥簮绫诲瀷"> + <el-option + :label="item.enername" + :value="item.enersno" + v-for="item in energyTypeList" + :key="item.enersno" + /> + </el-select> + </el-form-item> + <el-form-item label="缁熻鏃堕棿"> + <el-date-picker + style="width: 100%" + v-model="queryParams.dataTime" + type="month" + :clearable="false" + value-format="YYYY-MM" + placeholder="閫夋嫨鏃ユ湡" + > + </el-date-picker> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button> + <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + <!-- <el-form-item> + <el-button type="warning" icon="Download" @click="handleExport"> 瀵煎嚭 </el-button> + </el-form-item> --> + </el-form> + </div> + + <div class="table-bg-style" style="padding-bottom: 12px"> + <div class="table-box"> + <el-table :data="energyList" v-loading="loading" border max-height="380px"> + <el-table-column fixed prop="indexName" label="鎸囨爣鍚嶇О" width="210px"> + <template #default="scope"> + <div style="width: 100%; text-align: left"> + <el-button + v-if="scope.row.indexId == queryParams.indexId" + icon="search" + circle + @click="selectChange(scope.row)" + style="color: #fff; background: #409eff; margin-right: 8px" + ></el-button> + <el-button + v-else + icon="search" + circle + @click="selectChange(scope.row)" + style="margin-right: 8px" + ></el-button> + <el-tooltip + v-if="scope.row.indexName && scope.row.indexName.length > 9" + class="item" + effect="dark" + :content="scope.row.indexName" + placement="top-end" + > + <span> + {{ scope.row.indexName.substr(0, 9) + "..." }} + </span> + </el-tooltip> + <span v-else>{{ scope.row.indexName }}</span> + </div> + </template> + </el-table-column> + <el-table-column v-for="index in 31" :key="index" :label="index + '鏃�'" align="center" min-width="100"> + <template #default="scope">{{ numFilter(scope.row[`value${index}`]) }}</template> + </el-table-column> + </el-table> + <div> + <line-chart ref="LineChartRef" :chartData="lineChartData" /> + </div> + </div> + </div> + </div> +</template> + +<script setup> +import { getDataList, getlistChart } from "@/api/comprehensiveStatistics/monthlyComprehensive/monthlyComprehensive" +import { listEnergyTypeList } from "@/api/modelConfiguration/energyType" +import processApi from "@/api/process/api" +import LineChart from "../comps/LineChart.vue" +let { proxy } = getCurrentInstance() +const energyTypeList = ref() +function getEnergyTypeList() { + listEnergyTypeList().then((res) => { + energyTypeList.value = res.data + // form.value.indexType = alarm_record_category.value[0].value + // form.value.energyType = energyTypeList.value[0].enersno + getList() + }) +} +getEnergyTypeList() +function numFilter(value) { + // 鎴彇褰撳墠鏁版嵁鍒板皬鏁扮偣鍚庣殑鍑犱綅 + let realVal = "" + if (!isNaN(value) && value !== "" && value !== null) { + realVal = parseFloat(value).toFixed(2) + } else { + realVal = "--" + } + return realVal +} +let loading = ref(false) +let total = ref(0) +let queryParams = ref({ + indexStorageId: "", + indexCode: "", + pageNum: 1, + pageSize: 10, + dataTime: "", + timeType: "DAY", +}) + +const energyList = ref([]) +const lineChartData = ref({}) +function getList() { + queryParams.value.indexCode = proxy.$route.query.modelCode + processApi + .monthlyList({ + ...queryParams.value, + dataTime: queryParams.value.dataTime ? queryParams.value.dataTime + "-01" : "", + }) + .then((response) => { + energyList.value = response.data + if (energyList.value && energyList.value.length !== 0) { + selectChange(energyList.value[0]) + } else { + lineChartData.value = {} + } + }) +} + +const LineChartRef = ref() +function selectChange(row) { + queryParams.value.indexId = row ? row.indexId : undefined + processApi + .monthlyChart({ + ...queryParams.value, + dataTime: queryParams.value.dataTime ? queryParams.value.dataTime + "-01" : "", + }) + .then((response) => { + let actualData = [] + let expectedData = [] + let title = "" + response.data.forEach((item) => { + expectedData.push(numFilter(item.value)) + actualData.push(item.timeCode.slice(item.timeCode.length - 2, item.timeCode.length) + "鏃�") + title = item.indexName + "(" + (item.unitId || "") + ")" + }) + + console.log(response) + console.log(actualData) + console.log(expectedData) + + lineChartData.value = { + xData: actualData, + yData: expectedData, + title, + } + // LineChartRef.value.initChart() + // this.lineChartData.actualData = actualData; + // this.lineChartData.expectedData = expectedData; + // this.lineChartData.title = title; + // this.$refs.LineChart.initChart(this.lineChartData); + // this.$refs.BarChart.initChart(this.lineChartData); + }) +} + +function getTime() { + var date = new Date() + var year = date.getFullYear() + var month = date.getMonth() + 1 + var date = date.getDate() + month = month < 10 ? "0" + month : month + date = date < 10 ? "0" + date : date + queryParams.value.dataTime = year + "-" + month + console.log(queryParams.value.dataTime) +} +getTime() + +// 瀵煎嚭鎸夐挳鎿嶄綔 +function handleExport() { + exportList(queryParams.value).then((response) => { + console.log(response) + // download(response.msg); + }) +} + +function handleQuery() { + queryParams.value.pageNum = 1 + getList() +} + +function resetQuery() { + queryParams.value = { + limitName: "", + pageNum: 1, + pageSize: 10, + dataTime: null, + timeType: "DAY", + } + getTime() + getList() +} +</script> + +<style lang="scss" scoped> +@import "@/assets/styles/page.scss"; + +.header-box { + :deep .el-form-item__content { + color: #fff; + font-size: 16px; + } +} + +:deep .el-table--fit { + border-bottom: 1px solid #eaeaea; +} +</style> diff --git a/zhitan-vue/src/views/processEnergy/year/index.vue b/zhitan-vue/src/views/processEnergy/year/index.vue new file mode 100644 index 0000000..93564e0 --- /dev/null +++ b/zhitan-vue/src/views/processEnergy/year/index.vue @@ -0,0 +1,226 @@ +<template> + <div class="page"> + <div class="form-card"> + <el-form :model="queryParams" ref="queryRef" :inline="true" label-width="68px"> + <el-form-item label="鑳芥簮绫诲瀷" prop="energyType"> + <el-select v-model="queryParams.energyType" placeholder="璇烽�夋嫨鑳芥簮绫诲瀷"> + <el-option + :label="item.enername" + :value="item.enersno" + v-for="item in energyTypeList" + :key="item.enersno" + /> + </el-select> + </el-form-item> + <el-form-item label="缁熻鏃堕棿"> + <el-date-picker + style="width: 100%" + v-model="queryParams.dataTime" + type="year" + :clearable="false" + value-format="YYYY" + placeholder="閫夋嫨鏃ユ湡" + > + </el-date-picker> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button> + <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + <!-- <el-form-item> + <el-button type="warning" icon="Download" @click="handleExport"> 瀵煎嚭 </el-button> + </el-form-item> --> + </el-form> + </div> + + <div class="table-bg-style" style="padding-bottom: 12px"> + <div class="table-box"> + <el-table :data="energyList" v-loading="loading" border max-height="380px"> + <el-table-column fixed prop="indexName" label="鎸囨爣鍚嶇О" width="210px"> + <template #default="scope"> + <div style="width: 100%; text-align: left"> + <el-button + v-if="scope.row.indexId == queryParams.indexId" + icon="search" + circle + @click="selectChange(scope.row)" + style="color: #fff; background: #409eff; margin-right: 8px" + ></el-button> + <el-button + v-else + icon="search" + circle + @click="selectChange(scope.row)" + style="margin-right: 8px" + ></el-button> + <el-tooltip + v-if="scope.row.indexName && scope.row.indexName.length > 9" + class="item" + effect="dark" + :content="scope.row.indexName" + placement="top-end" + > + <span> + {{ scope.row.indexName.substr(0, 9) + "..." }} + </span> + </el-tooltip> + <span v-else>{{ scope.row.indexName }}</span> + </div> + </template> + </el-table-column> + <el-table-column v-for="index in 12" :key="index" :label="index + '鏈�'" align="center" min-width="100"> + <template #default="scope">{{ numFilter(scope.row[`value${index}`]) }}</template> + </el-table-column> + </el-table> + + <div> + <line-chart ref="LineChartRef" :chartData="lineChartData" /> + </div> + </div> + </div> + </div> +</template> + +<script setup> +import { getDataList, getlistChart } from "@/api/comprehensiveStatistics/yearComprehensive/yearComprehensive" +import { listEnergyTypeList } from "@/api/modelConfiguration/energyType" +import processApi from "@/api/process/api" +import LineChart from "../comps/LineChart.vue" +let { proxy } = getCurrentInstance() +const energyTypeList = ref() +function getEnergyTypeList() { + listEnergyTypeList().then((res) => { + energyTypeList.value = res.data + // form.value.indexType = alarm_record_category.value[0].value + // form.value.energyType = energyTypeList.value[0].enersno + getList() + }) +} +getEnergyTypeList() +function numFilter(value) { + // 鎴彇褰撳墠鏁版嵁鍒板皬鏁扮偣鍚庣殑鍑犱綅 + let realVal = "" + if (!isNaN(value) && value !== "" && value !== null) { + realVal = parseFloat(value).toFixed(2) + } else { + realVal = "--" + } + return realVal +} +let loading = ref(false) +let queryParams = ref({ + indexStorageId: "", + indexCode: "", + pageNum: 1, + pageSize: 10, + dataTime: "2025-01-01", + timeType: "MONTH", +}) + +const energyList = ref([]) +const lineChartData = ref({}) +function getList() { + queryParams.value.indexCode = proxy.$route.query.modelCode + processApi + .yearList({ + ...queryParams.value, + dataTime: queryParams.value.dataTime ? queryParams.value.dataTime + "-01" : "", + }) + .then((response) => { + energyList.value = response.data + if (response.data && response.data.length !== 0) { + selectChange(response.data[0]) + } else { + lineChartData.value = {} + } + }) +} + +const LineChartRef = ref() +function selectChange(row) { + queryParams.value.indexId = row ? row.indexId : undefined + processApi + .yearChart({ + ...queryParams.value, + // dataTime: queryParams.value.dataTime ? queryParams.value.dataTime + "-01-01" : "", + }) + .then((response) => { + let actualData = [] + let expectedData = [] + let title = "" + response.data.forEach((item) => { + expectedData.push(numFilter(item.value)) + actualData.push(item.timeCode.slice(item.timeCode.length - 2, item.timeCode.length) + "鏈�") + title = item.indexName + "(" + (item.unitId || "") + ")" + }) + + console.log(response) + console.log(actualData) + console.log(expectedData) + + lineChartData.value = { + xData: actualData, + yData: expectedData, + title, + } + // LineChartRef.value.initChart() + // this.lineChartData.actualData = actualData; + // this.lineChartData.expectedData = expectedData; + // this.lineChartData.title = title; + // this.$refs.LineChart.initChart(this.lineChartData); + // this.$refs.BarChart.initChart(this.lineChartData); + }) +} + +function getTime() { + var date = new Date() + var year = date.getFullYear() + var month = date.getMonth() + 1 + var date = date.getDate() + month = month < 10 ? "0" + month : month + date = date < 10 ? "0" + date : date + queryParams.value.dataTime = year + "" +} + +// 瀵煎嚭鎸夐挳鎿嶄綔 +function handleExport() { + exportList(queryParams.value).then((response) => { + console.log(response) + // download(response.msg); + }) +} + +function handleQuery() { + queryParams.value.pageNum = 1 + getList() +} + +function resetQuery() { + queryParams.value = { + limitName: "", + pageNum: 1, + pageSize: 10, + dataTime: null, + timeType: "MONTH", + } + getTime() + getList() +} + +getTime() +</script> + +<style lang="scss" scoped> +@import "@/assets/styles/page.scss"; + +.header-box { + :deep .el-form-item__content { + color: #fff; + font-size: 16px; + } +} + +:deep .el-table--fit { + border-bottom: 1px solid #eaeaea; +} +</style> -- Gitblit v1.9.3