zhanghao 3 mesiacov pred
rodič
commit
c0aa9265ce

+ 117 - 0
project-zcustom/src/main/java/com/project/zcustom/controller/build/PlatBuildA.java

@@ -0,0 +1,117 @@
+package com.project.zcustom.controller.build;
+
+import com.project.common.core.controller.BaseController;
+import com.project.common.core.domain.AjaxResult;
+import com.project.zcustom.service.smart.IPlatBuildingService;
+import com.project.zcustom.service.unit.ILargeProjectService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/large/first")
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+public class PlatBuildA extends BaseController {
+
+    @Autowired
+    private IPlatBuildingService platBuildingService;
+
+    /**
+     * 近一月楼宇能耗信息
+     */
+    @GetMapping("/powerAndWaterMonth")
+    public AjaxResult getPowerAndWaterMonth() {
+        return AjaxResult.success("查询成功", platBuildingService.getPowerAndWaterMonth());
+    }
+
+    /**
+     * 空气概况
+     */
+    @GetMapping("/air")
+    public AjaxResult getAirCondition() {
+        return AjaxResult.success("查询成功", platBuildingService.getAirCondition());
+    }
+
+    /**
+     * 定额指标
+     */
+    @GetMapping("/getTarget")
+    public AjaxResult getTarget() {
+        return AjaxResult.success("查询成功", platBuildingService.getTarget());
+    }
+
+    /**
+     * 用电分项
+     */
+    @GetMapping("/useElectricity")
+    public AjaxResult useElectricity() {
+        return AjaxResult.success("查询成功", platBuildingService.useElectricity());
+    }
+
+    /**
+     * 绿电比例
+     */
+    @GetMapping("/greenElectricity")
+    public AjaxResult greenElectricity() {
+        return AjaxResult.success("查询成功", platBuildingService.greenElectricity());
+    }
+
+    /**
+     * 碳排放量月度变化趋势图
+     */
+    @GetMapping("/carbon")
+    public AjaxResult carbon() {
+        return AjaxResult.success("查询成功", platBuildingService.carbon());
+    }
+
+    /**
+     * 年度累计综合能粍
+     */
+    @GetMapping("/energyYear")
+    public AjaxResult energyYear() {
+        return AjaxResult.success("查询成功", platBuildingService.energyYear());
+    }
+
+    /**
+     * 年度累计综合电粍
+     */
+    @GetMapping("/powerYear")
+    public AjaxResult powerYear() {
+        return AjaxResult.success("查询成功", platBuildingService.powerYear());
+    }
+
+    /**
+     * 年度累计综合水粍
+     */
+    @GetMapping("/waterYear")
+    public AjaxResult waterYear() {
+        return AjaxResult.success("查询成功", platBuildingService.waterYear());
+    }
+
+    /**
+     * 巡更次数统计(近6月)
+     */
+    @GetMapping("/frequency")
+    public AjaxResult frequency() {
+        return AjaxResult.success("查询成功", platBuildingService.frequency());
+    }
+
+    /**
+     * 巡更及时率
+     */
+    @GetMapping("/patrol")
+    public AjaxResult patrol() {
+        return AjaxResult.success("查询成功", platBuildingService.patrol());
+    }
+
+    /**
+     * 巡更点统计
+     */
+    @GetMapping("/patrolPoint")
+    public AjaxResult patrolPoint() {
+        return AjaxResult.success("查询成功", platBuildingService.patrolPoint());
+    }
+}

+ 52 - 0
project-zcustom/src/main/java/com/project/zcustom/domain/unit/LargeBuilding.java

@@ -0,0 +1,52 @@
+package com.project.zcustom.domain.unit;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.project.common.core.domain.CustomBaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+
+@Data
+@Accessors(chain = true)
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = false)
+@TableName("large_building")
+@ApiModel(value = "large_building实体类")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class LargeBuilding extends CustomBaseEntity {
+    /**
+     * 楼宇数据id
+     */
+    @TableId(value = "楼宇数据id")
+    @ApiModelProperty("楼宇数据id")
+    private Long id;
+
+    private String jsonFrequency;
+
+    private String jsonPatrol;
+
+    private String jsonPatrolPoint;
+
+    private String jsonPowerWaterMonth;
+
+    private String jsonAir;
+
+    private String jsonTarget;
+
+    private String jsonUseElectricity;
+
+    private String jsonGreenElectricity;
+
+    private String jsonCarbon;
+
+    private String jsonEnergyYear;
+
+    private String jsonPowerYear;
+
+    private String jsonWaterYear;
+}

+ 29 - 0
project-zcustom/src/main/java/com/project/zcustom/mapper/unit/PlatBuildingMapper.java

@@ -0,0 +1,29 @@
+package com.project.zcustom.mapper.unit;
+
+import java.util.List;
+
+public interface PlatBuildingMapper {
+    public String getPowerAndWaterMonth();
+
+    public String getAirCondition();
+
+    public String getTarget();
+
+    public String useElectricity();
+
+    public String greenElectricity();
+
+    public String carbon();
+
+    public String energyYear();
+
+    public String powerYear();
+
+    public String waterYear();
+
+    public String frequency();
+
+    public String patrol();
+
+    public String patrolPoint();
+}

+ 33 - 0
project-zcustom/src/main/java/com/project/zcustom/service/smart/IPlatBuildingService.java

@@ -0,0 +1,33 @@
+package com.project.zcustom.service.smart;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.project.zcustom.domain.unit.LargeBuilding;
+
+import java.util.List;
+import java.util.Map;
+
+public interface IPlatBuildingService{
+    List<String> getPowerAndWaterMonth();
+
+    List<Map<String, Object>> getAirCondition();
+
+    List<Map<String, Object>> getTarget();
+
+    List<Map<String, Object>> useElectricity();
+
+    List<Map<String, Object>> greenElectricity();
+
+    List<Map<String, Object>> carbon();
+
+    Map<String, Object> energyYear();
+
+    Map<String, Object> powerYear();
+
+    Map<String, Object> waterYear();
+
+    List<Map<String, Object>> frequency();
+
+    Map<String, Object> patrol();
+
+    List<Map<String, Object>> patrolPoint();
+}

+ 296 - 0
project-zcustom/src/main/java/com/project/zcustom/service/smart/impl/PlatBuildingServiceImpl.java

@@ -0,0 +1,296 @@
+package com.project.zcustom.service.smart.impl;
+
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+import com.project.common.utils.StringUtils;
+import com.project.zcustom.mapper.unit.PlatBuildingMapper;
+import com.project.zcustom.service.smart.IPlatBuildingService;
+import com.project.zcustom.service.smart.IPlatGreenFoodsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class PlatBuildingServiceImpl implements IPlatBuildingService {
+
+    @Autowired
+    private PlatBuildingMapper platBuildingMapper;
+
+    public List<String> getPowerAndWaterMonth(){
+        List<String> list = new ArrayList<>();
+        String json = platBuildingMapper.getPowerAndWaterMonth();
+        if (StringUtils.isEmpty(json)){
+            return null;
+        }
+        JSONObject jsonObject = JSONObject.parseObject(json);
+        JSONArray dataArray = jsonObject.getJSONArray("data");
+        for (int i = 0; i < dataArray.size(); i++) {
+            JSONObject dataItem = dataArray.getJSONObject(i);
+            String value = dataItem.getString("value");
+            list.add(value);
+        }
+        return list;
+    }
+
+    public List<Map<String, Object>> getAirCondition(){
+        List<Map<String, Object>> resultList = new ArrayList<>();
+
+        String json = platBuildingMapper.getAirCondition();
+        if (StringUtils.isEmpty(json)){
+            return null;
+        }
+        JSONObject jsonObject = JSONObject.parseObject(json);
+        JSONArray dataArray = jsonObject.getJSONArray("data");
+        for (int i = 0; i < dataArray.size(); i++) {
+            JSONObject dataItem = dataArray.getJSONObject(i);
+            String name = dataItem.getString("name");
+            String valueIn = dataItem.getString("value1");
+            String valueOut = dataItem.getString("value");
+            Map<String, Object> data = new HashMap<>();
+            data.put("name", name);
+            data.put("valueIn", valueIn);
+            data.put("valueOut", valueOut);
+            resultList.add(data);
+        }
+        return resultList;
+    }
+
+    public List<Map<String, Object>> getTarget(){
+        List<Map<String, Object>> resultList = new ArrayList<>();
+
+        String json = platBuildingMapper.getTarget();
+        if (StringUtils.isEmpty(json)){
+            return null;
+        }
+        JSONObject jsonObject = JSONObject.parseObject(json);
+        JSONArray dataArray = jsonObject.getJSONArray("data");
+        for (int i = 0; i < dataArray.size(); i++) {
+            JSONObject dataItem = dataArray.getJSONObject(i);
+            String name = dataItem.getString("name");
+            String guideValue = dataItem.getString("guideValue");
+            String datumValue = dataItem.getString("datumValue");
+            String tieValue = dataItem.getString("tieValue");
+            String value = dataItem.getString("value");
+            Map<String, Object> data = new HashMap<>();
+            data.put("name", name);
+            data.put("guideValue", guideValue);
+            data.put("datumValue", datumValue);
+            data.put("tieValue", tieValue);
+            data.put("value", value);
+            resultList.add(data);
+        }
+        return resultList;
+    }
+
+    public List<Map<String, Object>> useElectricity(){
+        List<Map<String, Object>> resultList = new ArrayList<>();
+
+        String json = platBuildingMapper.useElectricity();
+        if (StringUtils.isEmpty(json)){
+            return null;
+        }
+        JSONObject jsonObject = JSONObject.parseObject(json);
+        JSONArray dataArray = jsonObject.getJSONArray("data");
+        for (int i = 0; i < dataArray.size(); i++) {
+            JSONObject dataItem = dataArray.getJSONObject(i);
+            String itemValue = dataItem.getString("itemValue");
+            String itemName = dataItem.getString("itemName");
+            Map<String, Object> data = new HashMap<>();
+            data.put("itemValue", itemValue);
+            data.put("itemName", itemName);
+            resultList.add(data);
+        }
+        return resultList;
+    }
+
+
+    public List<Map<String, Object>> greenElectricity(){
+        List<Map<String, Object>> resultList = new ArrayList<>();
+
+        String json = platBuildingMapper.greenElectricity();
+        if (StringUtils.isEmpty(json)){
+            return null;
+        }
+        JSONObject jsonObject = JSONObject.parseObject(json);
+        JSONArray dataArray = jsonObject.getJSONArray("data");
+        for (int i = 0; i < dataArray.size(); i++) {
+            JSONObject dataItem = dataArray.getJSONObject(i);
+            String publicEnergy = dataItem.getString("publicEnergy");
+            String grennEnergy = dataItem.getString("grennEnergy");
+            Map<String, Object> data = new HashMap<>();
+            data.put("publicEnergy", publicEnergy);
+            data.put("grennEnergy", grennEnergy);
+            resultList.add(data);
+        }
+        return resultList;
+    }
+
+    public List<Map<String, Object>> carbon(){
+        List<Map<String, Object>> resultList = new ArrayList<>();
+        String json = platBuildingMapper.carbon();
+        if (json == null || json.isEmpty()) {
+            return null;
+        }
+        JSONObject jsonObject = JSONObject.parseObject(json);
+        JSONObject dataObject = jsonObject.getJSONObject("data");
+        JSONArray dataArray = dataObject.getJSONArray("data");
+        for (int i = 0; i < dataArray.size(); i++) {
+            JSONObject dataItem = dataArray.getJSONObject(i);
+            String name = dataItem.getString("name");
+            JSONArray dataArrayItem = dataItem.getJSONArray("data");
+            Map<String, Object> data = new HashMap<>();
+            data.put("year", name);  // 设置年份字段
+            data.put("monthData", dataArrayItem.toJavaList(Double.class));
+            resultList.add(data);
+        }
+        return resultList;
+    }
+
+    public Map<String, Object> energyYear(){
+        Map<String, Object> res = new HashMap<>();
+        List<Map<String, Object>> resultList = new ArrayList<>();
+        String json = platBuildingMapper.energyYear();
+        if (json == null || json.isEmpty()) {
+            return null;
+        }
+        JSONObject jsonObject = JSONObject.parseObject(json);
+        JSONObject dataObject = jsonObject.getJSONObject("data");
+        String yearTotal = dataObject.getString("yearTotal");
+        String yearGrowth = dataObject.getString("yearGrowth");
+        res.put("yearTotal", yearTotal);
+        res.put("yearGrowth", yearGrowth);
+        JSONArray twoYearData = dataObject.getJSONArray("twoYearData");
+        for (int i = 0; i < twoYearData.size(); i++) {
+            JSONObject dataItem = twoYearData.getJSONObject(i);
+            String year = dataItem.getString("value");
+            String lastYear = dataItem.getString("value1");
+            String month = dataItem.getString("key");
+            Map<String, Object> data = new HashMap<>();
+            data.put("year", year);
+            data.put("lastYear", lastYear);
+            data.put("month", month);
+            resultList.add(data);
+        }
+        res.put("monthData", resultList);
+        return res;
+    }
+
+    public Map<String, Object> powerYear(){
+        Map<String, Object> res = new HashMap<>();
+        List<Map<String, Object>> resultList = new ArrayList<>();
+        String json = platBuildingMapper.powerYear();
+        if (json == null || json.isEmpty()) {
+            return null;
+        }
+        JSONObject jsonObject = JSONObject.parseObject(json);
+        JSONObject dataObject = jsonObject.getJSONObject("data");
+        String yearTotal = dataObject.getString("yearTotal");
+        String yearGrowth = dataObject.getString("yearGrowth");
+        res.put("yearTotal", yearTotal);
+        res.put("yearGrowth", yearGrowth);
+        JSONArray twoYearData = dataObject.getJSONArray("twoYearData");
+        for (int i = 0; i < twoYearData.size(); i++) {
+            JSONObject dataItem = twoYearData.getJSONObject(i);
+            String year = dataItem.getString("value");
+            String lastYear = dataItem.getString("value1");
+            String month = dataItem.getString("key");
+            Map<String, Object> data = new HashMap<>();
+            data.put("year", year);
+            data.put("lastYear", lastYear);
+            data.put("month", month);
+            resultList.add(data);
+        }
+        res.put("monthData", resultList);
+        return res;
+    }
+
+    public Map<String, Object> waterYear(){
+        Map<String, Object> res = new HashMap<>();
+        List<Map<String, Object>> resultList = new ArrayList<>();
+        String json = platBuildingMapper.waterYear();
+        if (json == null || json.isEmpty()) {
+            return null;
+        }
+        JSONObject jsonObject = JSONObject.parseObject(json);
+        JSONObject dataObject = jsonObject.getJSONObject("data");
+        String yearTotal = dataObject.getString("yearTotal");
+        String yearGrowth = dataObject.getString("yearGrowth");
+        res.put("yearTotal", yearTotal);
+        res.put("yearGrowth", yearGrowth);
+        JSONArray twoYearData = dataObject.getJSONArray("twoYearData");
+        for (int i = 0; i < twoYearData.size(); i++) {
+            JSONObject dataItem = twoYearData.getJSONObject(i);
+            String year = dataItem.getString("value");
+            String lastYear = dataItem.getString("value1");
+            String month = dataItem.getString("key");
+            Map<String, Object> data = new HashMap<>();
+            data.put("year", year);
+            data.put("lastYear", lastYear);
+            data.put("month", month);
+            resultList.add(data);
+        }
+        res.put("monthData", resultList);
+        return res;
+    }
+
+    public List<Map<String, Object>> frequency(){
+        List<Map<String, Object>> resultList = new ArrayList<>();
+        String json = platBuildingMapper.frequency();
+        if (json == null || json.isEmpty()) {
+            return null;
+        }
+        JSONObject jsonObject = JSONObject.parseObject(json);
+        JSONArray dataArray = jsonObject.getJSONArray("data");
+        for (int i = 0; i < dataArray.size(); i++) {
+            JSONObject dataItem = dataArray.getJSONObject(i);
+            String month = dataItem.getString("month");
+            String num = dataItem.getString("num");
+            Map<String, Object> data = new HashMap<>();
+            data.put("month", month);
+            data.put("num", num);
+            resultList.add(data);
+        }
+        return resultList;
+    }
+
+    public Map<String, Object> patrol(){
+        String json = platBuildingMapper.patrol();
+        if (json == null || json.isEmpty()) {
+            return null;
+        }
+        JSONObject jsonObject = JSONObject.parseObject(json);
+        JSONObject dataObject = jsonObject.getJSONObject("data");
+        JSONArray dataArray = dataObject.getJSONArray("data");
+        JSONObject dataItem = dataArray.getJSONObject(0);
+        JSONArray patrolArray = dataItem.getJSONArray("data");
+        JSONArray monthArray = dataObject.getJSONArray("xAxis");
+        Map<String, Object> data = new HashMap<>();
+        data.put("patrolArray", patrolArray.toJavaList(Double.class));
+        data.put("monthArray", monthArray.toJavaList(String.class));
+        return data;
+    }
+
+    public List<Map<String, Object>> patrolPoint(){
+        List<Map<String, Object>> resultList = new ArrayList<>();
+        String json = platBuildingMapper.patrolPoint();
+        if (json == null || json.isEmpty()) {
+            return null;
+        }
+        JSONObject jsonObject = JSONObject.parseObject(json);
+        JSONArray dataArray = jsonObject.getJSONArray("data");
+        for (int i = 0; i < dataArray.size(); i++) {
+            JSONObject dataItem = dataArray.getJSONObject(i);
+            String number = dataItem.getString("number");
+            String floor = dataItem.getString("floor");
+            Map<String, Object> data = new HashMap<>();
+            data.put("number", number);
+            data.put("floor", floor);
+            resultList.add(data);
+        }
+        return resultList;
+    }
+}

+ 54 - 0
project-zcustom/src/main/resources/mapper/zcustom/unit/PlatBuildingMapper.xml

@@ -0,0 +1,54 @@
+<?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.project.zcustom.mapper.unit.PlatBuildingMapper">
+
+    <select id="getPowerAndWaterMonth" resultType="String">
+        select json_power_water_month from large_building
+    </select>
+
+    <select id="getAirCondition" resultType="String">
+        select json_air from large_building
+    </select>
+
+    <select id="getTarget" resultType="String">
+        select json_target from large_building
+    </select>
+
+    <select id="useElectricity" resultType="String">
+        select json_use_electricity from large_building
+    </select>
+
+    <select id="greenElectricity" resultType="String">
+        select json_green_electricity from large_building
+    </select>
+
+    <select id="carbon" resultType="String">
+        select json_carbon from large_building
+    </select>
+
+    <select id="energyYear" resultType="String">
+        select json_energy_year from large_building
+    </select>
+
+    <select id="powerYear" resultType="String">
+        select json_power_year from large_building
+    </select>
+
+    <select id="waterYear" resultType="String">
+        select json_water_year from large_building
+    </select>
+
+    <select id="frequency" resultType="String">
+        select json_frequency from large_building
+    </select>
+
+    <select id="patrol" resultType="String">
+        select json_patrol from large_building
+    </select>
+
+    <select id="patrolPoint" resultType="String">
+        select json_patrol_point from large_building
+    </select>
+</mapper>