From de0da7fedd0474fa8f78c592f86216d3d50407f0 Mon Sep 17 00:00:00 2001
From: zt916916 <1903964620@qq.com>
Date: 星期四, 27 三月 2025 11:33:25 +0800
Subject: [PATCH] Revert "支路用能分析"
---
zhitan-system/src/main/java/com/zhitan/branchanalysis/service/IBranchAnalysisService.java | 16 ++
zhitan-system/src/main/java/com/zhitan/branchanalysis/mapper/BranchAnalysisMapper.java | 26 ++++
zhitan-admin/src/main/resources/application-dev.yml | 6
zhitan-framework/src/main/java/com/zhitan/framework/web/service/SysLoginService.java | 2
zhitan-system/src/main/java/com/zhitan/model/domain/vo/ModelNodeIndexInfor.java | 3
zhitan-system/src/main/java/com/zhitan/branchanalysis/service/impl/BranchAnalysisServiceImpl.java | 90 +++++++++++++++
zhitan-system/src/main/resources/mapper/branchanalysis/BranchAnalysisMapper.xml | 60 ++++++++++
zhitan-common/src/main/java/com/zhitan/common/utils/PropUtils.java | 4
zhitan-system/src/main/java/com/zhitan/branchanalysis/domain/BranchAnalysisVO.java | 75 ++++++++++++
zhitan-admin/src/main/java/com/zhitan/web/controller/branchanalysis/BranchEnergyAnalysisController.java | 37 ++++++
zhitan-system/src/main/java/com/zhitan/realtimedata/domain/dto/BranchAnalysisDTO.java | 17 ++
11 files changed, 329 insertions(+), 7 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
new file mode 100644
index 0000000..4b7d035
--- /dev/null
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/branchanalysis/BranchEnergyAnalysisController.java
@@ -0,0 +1,37 @@
+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-admin/src/main/resources/application-dev.yml b/zhitan-admin/src/main/resources/application-dev.yml
index faa025f..2dc8bff 100644
--- a/zhitan-admin/src/main/resources/application-dev.yml
+++ b/zhitan-admin/src/main/resources/application-dev.yml
@@ -6,9 +6,9 @@
druid:
# 涓诲簱鏁版嵁婧�
master:
- url: jdbc:postgresql://127.0.0.1:5432/zhitan_ems
- username: postgres
- password: postgres
+ url: jdbc:postgresql://192.168.110.124:5432/energy_localized
+ username: energy_localized
+ password: HaxFsKYFjwzKCDFd
# 浠庡簱鏁版嵁婧�
slave:
# 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴
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
index 411b6e5..1be9af3 100644
--- a/zhitan-common/src/main/java/com/zhitan/common/utils/PropUtils.java
+++ b/zhitan-common/src/main/java/com/zhitan/common/utils/PropUtils.java
@@ -1,6 +1,7 @@
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;
@@ -34,7 +35,8 @@
field.set(obj, DoubleUtil.toDouble(value));
} else if (nameTypeName.contains("bigdecimal")) {
BigDecimal valueOf = BigDecimal.valueOf(Double.parseDouble(String.valueOf(value)))
- .setScale(2, BigDecimal.ROUND_HALF_UP);
+ .setScale(CommonConst.DIGIT_2, BigDecimal.ROUND_HALF_UP);
+
field.set(obj, valueOf);
} else {
field.set(obj, value);
diff --git a/zhitan-framework/src/main/java/com/zhitan/framework/web/service/SysLoginService.java b/zhitan-framework/src/main/java/com/zhitan/framework/web/service/SysLoginService.java
index be2716a..89ddfce 100644
--- a/zhitan-framework/src/main/java/com/zhitan/framework/web/service/SysLoginService.java
+++ b/zhitan-framework/src/main/java/com/zhitan/framework/web/service/SysLoginService.java
@@ -61,7 +61,7 @@
public String login(String username, String password, String code, String uuid)
{
// 楠岃瘉鐮佹牎楠�
- validateCaptcha(username, code, uuid);
+// validateCaptcha(username, code, uuid);
// 鐧诲綍鍓嶇疆鏍¢獙
loginPreCheck(username, password);
// 鐢ㄦ埛楠岃瘉
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
new file mode 100644
index 0000000..d92116d
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/branchanalysis/domain/BranchAnalysisVO.java
@@ -0,0 +1,75 @@
+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
new file mode 100644
index 0000000..d6d482d
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/branchanalysis/mapper/BranchAnalysisMapper.java
@@ -0,0 +1,26 @@
+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
new file mode 100644
index 0000000..d5d04c3
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/branchanalysis/service/IBranchAnalysisService.java
@@ -0,0 +1,16 @@
+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
new file mode 100644
index 0000000..82f5062
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/branchanalysis/service/impl/BranchAnalysisServiceImpl.java
@@ -0,0 +1,90 @@
+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 559f6c3..a4c0de4 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
@@ -34,10 +34,9 @@
*/
private String energyId;
+ private String indexType;
/**
* 鍗曚綅
*/
private String unitId;
-
- private String 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
new file mode 100644
index 0000000..cdb93b7
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/realtimedata/domain/dto/BranchAnalysisDTO.java
@@ -0,0 +1,17 @@
+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
new file mode 100644
index 0000000..db0ed23
--- /dev/null
+++ b/zhitan-system/src/main/resources/mapper/branchanalysis/BranchAnalysisMapper.xml
@@ -0,0 +1,60 @@
+<?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>
--
Gitblit v1.9.3