From d6fb5de911ce329a667d5f39ee50869003186ce0 Mon Sep 17 00:00:00 2001 From: zt916916 <1903964620@qq.com> Date: 星期二, 25 三月 2025 19:25:56 +0800 Subject: [PATCH] 支路用能分析 --- /dev/null | 60 ------------------------------ zhitan-system/src/main/java/com/zhitan/model/domain/vo/ModelNodeIndexInfor.java | 46 ++++++++++++++++++++--- zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml | 3 - 3 files changed, 41 insertions(+), 68 deletions(-) diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/branchanalysis/BranchEnergyAnalysisController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/branchanalysis/BranchEnergyAnalysisController.java deleted file mode 100644 index 4b7d035..0000000 --- a/zhitan-admin/src/main/java/com/zhitan/web/controller/branchanalysis/BranchEnergyAnalysisController.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.zhitan.web.controller.branchanalysis; - -import com.zhitan.branchanalysis.domain.BranchAnalysisVO; -import com.zhitan.common.core.controller.BaseController; -import com.zhitan.common.core.domain.AjaxResult; -import com.zhitan.branchanalysis.service.IBranchAnalysisService; - -import com.zhitan.realtimedata.domain.dto.BranchAnalysisDTO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *鏀矾鐢ㄨ兘鍒嗘瀽 - * - * @author zt - * @date 2021-01-11 - */ -@RestController -@RequestMapping("/branchanalysis") -@Api(value = "鏀矾鐢ㄨ兘鑳借�楃粺璁�",tags = {"鏀矾鐢ㄨ兘鍒嗘瀽"}) -public class BranchEnergyAnalysisController extends BaseController { - - @Autowired - private IBranchAnalysisService branchAnalysisService; - - @GetMapping("/list") - @ApiOperation(value = "鏀矾鐢ㄨ兘鑳借�楃粺璁″垪琛�") - public AjaxResult list(BranchAnalysisDTO dataItem) { - BranchAnalysisVO vo = branchAnalysisService.getBranchAnalysisService(dataItem); - return success(vo); - } -} - diff --git a/zhitan-common/src/main/java/com/zhitan/common/utils/PropUtils.java b/zhitan-common/src/main/java/com/zhitan/common/utils/PropUtils.java deleted file mode 100644 index e8cad8b..0000000 --- a/zhitan-common/src/main/java/com/zhitan/common/utils/PropUtils.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.zhitan.common.utils; - -import com.alibaba.fastjson.JSONObject; -import com.zhitan.common.constant.CommonConst; - -import java.lang.reflect.Field; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; - -/** - * @Description: 灞炴�у�兼搷浣滃伐鍏风被 - * @author: yxw - * @date: 2022骞�03鏈�07鏃� 9:57 - */ -public class PropUtils { - /** - * 涓哄疄浣撹祴鍊� - * - * @param obj - * @param propName - * @param value - * @return - */ - public static Object setValue(Object obj, String propName, Object value) { - try { - Field field = obj.getClass().getDeclaredField(propName); - field.setAccessible(true); - String nameTypeName = field.getType().getTypeName(); - nameTypeName = StringUtil.ifEmptyOrNullReturnValue(nameTypeName).toLowerCase(); - if (nameTypeName.contains("float")) { - float num = (float) DoubleUtil.toDouble(value); - field.set(obj, num); - } else if (nameTypeName.contains("double")) { - field.set(obj, DoubleUtil.toDouble(value)); - } else if (nameTypeName.contains("bigdecimal")) { - BigDecimal valueOf = BigDecimal.valueOf(Double.parseDouble(String.valueOf(value))) - .setScale(CommonConst.DIGIT_2, BigDecimal.ROUND_HALF_UP); - field.set(obj, valueOf); - } else { - field.set(obj, value); - } - } catch (Exception e) { - return null; - } - return obj; - } - - /** - * 鑾峰彇瀵硅薄鐨勬寚瀹氬瓧娈电殑鍊� - * - * @param obj - * @param propName - * @return - */ - public static String getPropValue(Object obj, String propName) { - String propValue = ""; - try { - if (null != obj) { - JSONObject jsonObject = StringUtil.toJsonObject(obj); - if (!StringUtil.isEmptyOrNull(propName)) { - propValue = jsonObject.getString(propName); - } - } - } catch (Exception e) { - } - return propValue; - } - - /** - * 鑾峰彇瀵硅薄鐨勬寚瀹氬瓧娈电殑绫诲瀷 - * 杩斿洖灞炴�х殑绫诲瀷瀛楃涓诧紙灏忓啓锛屼緥濡�:string/integer/double/date锛� - * - * @param obj 瀹炰綋 - * @param propName 灞炴�у悕 - * @return 锛堝皬鍐欙紝渚嬪:string/integer/double/date锛� - */ - public static String getPropType(Object obj, String propName) { - String propType = ""; - try { - if (null != obj && !StringUtil.isEmptyOrNull(propName)) { - Field[] fields = obj.getClass().getDeclaredFields(); - for (Field field : fields) { - String name = field.getName().toLowerCase(); - if (name.equals(propName.toLowerCase())) { - propType = field.getType().getSimpleName().toLowerCase(); - } - } - } - - } catch (Exception e) { - - } - return propType; - } - - /** - * 琛岃浆鍒� - * @param clazz 缁撴灉绫伙紝濡� UserInfo.class - * @param list 鏁版嵁闆� - * @return - * @param <T> - */ - public static <T> List rowToColumn(Class<T> clazz, List<T> list){ - List<List> result; - Field[] fields = clazz.getDeclaredFields(); - result = new ArrayList<>(fields.length); - for (int i = 0; i < fields.length; i++) { - result.add(new ArrayList()); - } - for (T t : list) { - for (int i = 0; i < fields.length; i++) { - List l = result.get(i); - Field field = fields[i]; - field.setAccessible(true); - try { - l.add(field.get(t)); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - } - } - return result; - } -} diff --git a/zhitan-system/src/main/java/com/zhitan/branchanalysis/domain/BranchAnalysisVO.java b/zhitan-system/src/main/java/com/zhitan/branchanalysis/domain/BranchAnalysisVO.java deleted file mode 100644 index d92116d..0000000 --- a/zhitan-system/src/main/java/com/zhitan/branchanalysis/domain/BranchAnalysisVO.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.zhitan.branchanalysis.domain; -import com.zhitan.common.annotation.Excel; -import lombok.Data; - -@Data -public class BranchAnalysisVO { - private String until; - private double total; - @Excel(name = "鑺傜偣id") - private String nodeId; - @Excel(name = "瀛楄妭鍚嶇О") - private String nodeName; - @Excel(name = "1鏃�/1鏃�/1鏈�") - private Double value0; - @Excel(name = "2鏃�/2鏃�/2鏈�") - private Double value1; - @Excel(name = "3鏃�/3鏃�/3鏈�") - private Double value2; - @Excel(name = "4鏃�/4鏃�/4鏈�") - private Double value3; - @Excel(name = "5鏃�/5鏃�/5鏈�") - private Double value4; - @Excel(name = "6鏃�/6鏃�/6鏈�") - private Double value5; - @Excel(name = "7鏃�/7鏃�/7鏈�") - private Double value6; - @Excel(name = "8鏃�/8鏃�/8鏈�") - private Double value7; - @Excel(name = "9鏃�/9鏃�/9鏈�") - private Double value8; - @Excel(name = "10鏃�/10鏃�/10鏈�") - private Double value9; - @Excel(name = "11鏃�/11鏃�/11鏈�") - private Double value10; - @Excel(name = "12鏃�/12鏃�/12鏈�") - private Double value11; - @Excel(name = "13鏃�/13鏃�") - private Double value12; - @Excel(name = "14鏃�/14鏃�") - private Double value13; - @Excel(name = "15鏃�/15鏃�") - private Double value14; - @Excel(name = "16鏃�/16鏃�") - private Double value15; - @Excel(name = "17鏃�/17鏃�") - private Double value16; - @Excel(name = "18鏃�18鏃�") - private Double value17; - @Excel(name = "19鏃�/19鏃�") - private Double value18; - @Excel(name = "20鏃�/20鏃�") - private Double value19; - @Excel(name = "21鏃�/21鏃�") - private Double value20; - @Excel(name = "22鏃�/22鏃�") - private Double value21; - @Excel(name = "23鏃�/23鏃�") - private Double value22; - @Excel(name = "24鏃�/24鏃�") - private Double value23; - @Excel(name = "25鏃�") - private Double value24; - @Excel(name = "26鏃�") - private Double value25; - @Excel(name = "27鏃�") - private Double value26; - @Excel(name = "28鏃�") - private Double value27; - @Excel(name = "29鏃�") - private Double value28; - @Excel(name = "30鏃�") - private Double value29; - @Excel(name = "31鏃�") - private Double value30; -} diff --git a/zhitan-system/src/main/java/com/zhitan/branchanalysis/mapper/BranchAnalysisMapper.java b/zhitan-system/src/main/java/com/zhitan/branchanalysis/mapper/BranchAnalysisMapper.java deleted file mode 100644 index d6d482d..0000000 --- a/zhitan-system/src/main/java/com/zhitan/branchanalysis/mapper/BranchAnalysisMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.zhitan.branchanalysis.mapper; - -import com.zhitan.branchanalysis.domain.BranchAnalysisVO; -import com.zhitan.common.utils.TypeTime; -import org.apache.ibatis.annotations.Param; - -import java.util.Date; -import java.util.List; - -/** - *鏀矾鐢ㄨ兘鍒嗘瀽 - * - * @author sys - * @date 2021-01-11 - */ -public interface BranchAnalysisMapper { - public List<BranchAnalysisVO> getBranchAnalysisList(@Param("indexIds") List<String> indexIds, - @Param("dataList") List<TypeTime> dataList, - @Param("beginTime") Date beginTime, - @Param("endTime") Date endTime, - @Param("timeType") String timeType, - @Param("indexStorageId") String indexStorageId); - - -} - diff --git a/zhitan-system/src/main/java/com/zhitan/branchanalysis/service/IBranchAnalysisService.java b/zhitan-system/src/main/java/com/zhitan/branchanalysis/service/IBranchAnalysisService.java deleted file mode 100644 index d5d04c3..0000000 --- a/zhitan-system/src/main/java/com/zhitan/branchanalysis/service/IBranchAnalysisService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.zhitan.branchanalysis.service; - - -import com.zhitan.branchanalysis.domain.BranchAnalysisVO; -import com.zhitan.realtimedata.domain.dto.BranchAnalysisDTO; - - -public interface IBranchAnalysisService { - /** - * 鏀矾鐢ㄨ兘鍒嗘瀽 - * - * @author sys - * @date 2021-01-11 - */ - BranchAnalysisVO getBranchAnalysisService(BranchAnalysisDTO dataItem); -} diff --git a/zhitan-system/src/main/java/com/zhitan/branchanalysis/service/impl/BranchAnalysisServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/branchanalysis/service/impl/BranchAnalysisServiceImpl.java deleted file mode 100644 index 82f5062..0000000 --- a/zhitan-system/src/main/java/com/zhitan/branchanalysis/service/impl/BranchAnalysisServiceImpl.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.zhitan.branchanalysis.service.impl; - -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; -import com.zhitan.branchanalysis.domain.BranchAnalysisVO; -import com.zhitan.common.constant.TimeTypeConst; -import com.zhitan.common.exception.ServiceException; -import com.zhitan.common.utils.DateTimeUtil; -import com.zhitan.branchanalysis.service.IBranchAnalysisService; -import com.zhitan.common.utils.PropUtils; -import com.zhitan.dataitem.mapper.DataItemMapper; -import com.zhitan.model.domain.vo.ModelNodeIndexInfor; -import com.zhitan.model.mapper.ModelNodeMapper; -import com.zhitan.realtimedata.domain.DataItem; -import com.zhitan.realtimedata.domain.dto.BranchAnalysisDTO; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; - -/** - * c - * - * @author sys - * @date 2021-01-11 - */ -@Service -@AllArgsConstructor -public class BranchAnalysisServiceImpl implements IBranchAnalysisService { - - private ModelNodeMapper modelNodeMapper; - private DataItemMapper dataItemMapper; - - @Override - public BranchAnalysisVO getBranchAnalysisService(BranchAnalysisDTO dto) { - String timeType = dto.getTimeType(); - String dataTime = dto.getDataTime(); - Date beginTime = DateTimeUtil.getTypeTime(timeType, dataTime); - DateTime endTime = null; - - List<ModelNodeIndexInfor> nodeIndexInfo = modelNodeMapper.getModelNodeIndexIdByNodeId(dto.getNodeId(), dto.getEnergyType()); - List<String> indexlist = nodeIndexInfo.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toList()); - - if (ObjectUtil.isEmpty(indexlist)) { - return new BranchAnalysisVO(); - } - - ModelNodeIndexInfor info = nodeIndexInfo.stream().findFirst().get(); - - //鏍规嵁鏃堕棿绫诲瀷璋冩暣鏃堕棿鑼冨洿 - switch (dto.getTimeType()) { - case TimeTypeConst.TIME_TYPE_DAY: - timeType = TimeTypeConst.TIME_TYPE_HOUR; - endTime = DateUtil.endOfDay(beginTime); - break; - case TimeTypeConst.TIME_TYPE_MONTH: - timeType = TimeTypeConst.TIME_TYPE_DAY; - endTime = DateUtil.endOfMonth(beginTime); - break; - case TimeTypeConst.TIME_TYPE_YEAR: - timeType = TimeTypeConst.TIME_TYPE_MONTH; - endTime = DateUtil.endOfYear(beginTime); - break; - default: - throw new ServiceException("鏃堕棿鏍煎紡閿欒"); - } - //鑾峰彇鏁版嵁椤瑰垪琛� - List<DataItem> dataItemlist = dataItemMapper.getDataItemTimeRangeInforByIndexIds(beginTime, endTime, timeType, indexlist); - - BranchAnalysisVO vo = new BranchAnalysisVO(); - double sum = dataItemlist.stream().mapToDouble(DataItem::getValue).sum(); - vo.setTotal(sum); - if (ObjectUtil.isNotEmpty(info.getIndexId())) { - vo.setUntil(info.getUnitId()); - } - - vo.setNodeId(info.getNodeId()); - vo.setNodeName(info.getName()); - for (int i = 0; i < dataItemlist.size(); i++) { - PropUtils.setValue(vo, "value" + i, dataItemlist.get(i).getValue()); - } - - return vo; - - - } -} diff --git a/zhitan-system/src/main/java/com/zhitan/model/domain/vo/ModelNodeIndexInfor.java b/zhitan-system/src/main/java/com/zhitan/model/domain/vo/ModelNodeIndexInfor.java index a4c0de4..e52a163 100644 --- a/zhitan-system/src/main/java/com/zhitan/model/domain/vo/ModelNodeIndexInfor.java +++ b/zhitan-system/src/main/java/com/zhitan/model/domain/vo/ModelNodeIndexInfor.java @@ -2,7 +2,6 @@ import com.zhitan.common.core.domain.BaseEntity; -import lombok.Data; /** * 妯″瀷鑺傜偣涓庣偣浣嶅叧绯诲璞� @@ -10,7 +9,6 @@ * @Author: Zhujw * @Date: 2023/3/2 */ -@Data public class ModelNodeIndexInfor extends BaseEntity { private static final long serialVersionUID = 1L; @@ -35,8 +33,44 @@ private String energyId; private String indexType; - /** - * 鍗曚綅 - */ - private String unitId; + + public String getNodeId() { + return nodeId; + } + + public void setNodeId(String nodeId) { + this.nodeId = nodeId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getIndexId() { + return indexId; + } + + public void setIndexId(String indexId) { + this.indexId = indexId; + } + + public String getEnergyId() { + return energyId; + } + + public void setEnergyId(String energyId) { + this.energyId = energyId; + } + + public String getIndexType() { + return indexType; + } + + public void setIndexType(String indexType) { + this.indexType = indexType; + } } diff --git a/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/dto/BranchAnalysisDTO.java b/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/dto/BranchAnalysisDTO.java deleted file mode 100644 index cdb93b7..0000000 --- a/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/dto/BranchAnalysisDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.zhitan.realtimedata.domain.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -@Data -public class BranchAnalysisDTO { - - - @ApiModelProperty(value="鑺傜偣id") - private String nodeId; - @ApiModelProperty(value ="鏃堕棿瀛楃涓�") - private String dataTime; - @ApiModelProperty(value ="鏃堕棿绫诲瀷") - private String timeType; - @ApiModelProperty(value = "鑳芥簮绫诲瀷") - private String energyType; -} diff --git a/zhitan-system/src/main/resources/mapper/branchanalysis/BranchAnalysisMapper.xml b/zhitan-system/src/main/resources/mapper/branchanalysis/BranchAnalysisMapper.xml deleted file mode 100644 index db0ed23..0000000 --- a/zhitan-system/src/main/resources/mapper/branchanalysis/BranchAnalysisMapper.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?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"> -<mapper namespace="com.zhitan.branchanalysis.mapper.BranchAnalysisMapper"> - <resultMap id="dataItemMap" type="com.zhitan.branchanalysis.domain.BranchAnalysisVO"> - <result column="index_id" property="indexId"/> - <result column="index_name" property="indexName"/> - <result column="time_type" property="timeType"/> - <result column="time_code" property="timeCode"/> - <result column="unit_id" property="unitId"/> - <result column="value1" property="value1"/> - <result column="value2" property="value2"/> - <result column="value3" property="value3"/> - <result column="value4" property="value4"/> - <result column="value5" property="value5"/> - <result column="value6" property="value6"/> - <result column="value7" property="value7"/> - <result column="value8" property="value8"/> - <result column="value9" property="value9"/> - <result column="value10" property="value10"/> - <result column="value11" property="value11"/> - <result column="value12" property="value12"/> - </resultMap> - <!--鍏ㄥ巶鑳借�楃粺璁�--> - <select id="getBranchAnalysisList" resultMap="dataItemMap"> - SELECT - aa.index_id, - aa.index_name, - <foreach item="item" index="index" collection="dataList"> - 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", - di."value", - di.data_time, - di.time_type - FROM - 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} - AND di.data_time < #{endTime} - 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.energy_id=#{indexStorageId} - </if> - ) aa - GROUP BY - aa.index_id,aa.index_name,aa.time_type - </select> -</mapper> diff --git a/zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml b/zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml index 5d222b3..f0fe5ef 100644 --- a/zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml +++ b/zhitan-system/src/main/resources/mapper/model/ModelNodeMapper.xml @@ -385,8 +385,7 @@ mn."name" "name", ni.index_id indexId, ei.energy_id energyId, - ei.index_type indexType, - ei.unit_id unitId + ei.index_type indexType FROM "model_node" mn LEFT JOIN "node_index" ni ON mn.node_id = ni.node_id LEFT JOIN energy_index ei on ni.index_id = ei.index_id -- Gitblit v1.9.3