ソースを参照

修改核心指标数据,创建图表实体类

liuhaotian 2 年 前
コミット
f2dd06a0f6

+ 15 - 0
src/main/java/com/sky/ioc/controller/dashboard/DashboardController.java

@@ -40,6 +40,16 @@ public class DashboardController {
     }
 
 
+    /**
+     *
+     * 光伏发电量
+     * */
+    @ApiOperation("智能看板-光伏发电量")
+    @GetMapping("getPhotovoltaicPower")
+    public ReturnMsg getPhotovoltaicPower(){
+        return carbonService.getPhotovoltaicPower();
+    }
+
 
     /**
      *
@@ -53,5 +63,10 @@ public class DashboardController {
 
 
 
+    @ApiOperation("智能看板-光伏盈利")
+    @GetMapping("getPhotovoltaicProfit")
+    public ReturnMsg getPhotovoltaicProfit(){
+        return carbonService.getPhotovoltaicProfit();
+    }
 
 }

+ 48 - 2
src/main/java/com/sky/ioc/controller/operation/AnalyseController.java

@@ -1,9 +1,13 @@
 package com.sky.ioc.controller.operation;
 
+import com.sky.ioc.entity.params.IocDateParam;
+import com.sky.ioc.service.carbon.CarbonService;
+import com.sky.ioc.tool.ReturnMsg;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * TODO
@@ -21,7 +25,49 @@ import org.springframework.web.bind.annotation.RestController;
 public class AnalyseController {
 
 
+    @Autowired
+    private CarbonService carbonService;
 
+    @ApiOperation("核心指标")
+    @PostMapping("/getAnalyseCoreIndicators")
+    public ReturnMsg getAnalyseCoreIndicators(@RequestBody IocDateParam iocDateParam){
+        return carbonService.getAnalyseCoreIndicators(iocDateParam);
+    }
 
 
+
+
+    @ApiOperation("用水核心指标")
+    @PostMapping("/getAnalyseWaterCoreIndicators")
+    public ReturnMsg getAnalyseWaterCoreIndicators(@RequestBody IocDateParam iocDateParam){
+        return carbonService.getAnalyseWaterCoreIndicators(iocDateParam);
+    }
+
+
+
+    @ApiOperation("用电核心指标")
+    @PostMapping("/getAnalysePowerCoreIndicators")
+    public ReturnMsg getAnalysePowerCoreIndicators(@RequestBody IocDateParam iocDateParam){
+        return carbonService.getAnalysePowerCoreIndicators(iocDateParam);
+    }
+
+
+    @ApiOperation("用热核心指标")
+    @PostMapping("/getAnalyseHotCoreIndicators")
+    public ReturnMsg getAnalyseHotCoreIndicators(@RequestBody IocDateParam iocDateParam){
+        return carbonService.getAnalyseHotCoreIndicators(iocDateParam);
+    }
+
+    @ApiOperation("用冷核心指标")
+    @PostMapping("/getAnalyseColdCoreIndicators")
+    public ReturnMsg getAnalyseColdCoreIndicators(@RequestBody IocDateParam iocDateParam){
+        return carbonService.getAnalyseColdCoreIndicators(iocDateParam);
+    }
+
+
+    @ApiOperation("光伏核心指标")
+    @PostMapping("/getAnalyseCpvCoreIndicators")
+    public ReturnMsg getAnalyseCpvCoreIndicators(@RequestBody IocDateParam iocDateParam){
+        return carbonService.getAnalyseCpvCoreIndicators(iocDateParam);
+    }
 }

+ 11 - 5
src/main/java/com/sky/ioc/entity/Label.java

@@ -19,9 +19,15 @@ import java.util.List;
 @Data
 public class Label {
 
-        private String labelname;
-        private List<JSONObject> list;
-        private String dateYear;
-        private String dateMonth;
-        private String dateDay;
+        private String label;
+        private JSONObject jsonObject;
+
+
+
+        public Label(String str , JSONObject jsono){
+                label = str;
+                jsonObject = jsono;
+        }
+        public Label(){}
+
 }

+ 0 - 24
src/main/java/com/sky/ioc/entity/param.java

@@ -1,24 +0,0 @@
-package com.sky.ioc.entity;
-
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- * TODO
- *
- * @Description
- * @Author LunCe
- * @Date 2023/2/23 13:37
- **/
-
-@Data
-public class param {
-
-
-    private Integer dateType;
-    private Date startDate;
-    private Date endDate;
-
-
-}

+ 16 - 0
src/main/java/com/sky/ioc/service/carbon/CarbonService.java

@@ -53,4 +53,20 @@ public interface CarbonService {
     ReturnMsg  getPhotovoltaicInfo(IocDateParam iocDateParam);
 
     ReturnMsg  getPhotovoltaicCoreIndicators(IocDateParam iocDateParam);
+
+    ReturnMsg getPhotovoltaicPower();
+
+    ReturnMsg getAnalyseCoreIndicators(IocDateParam iocDateParam);
+
+    ReturnMsg getAnalyseWaterCoreIndicators(IocDateParam iocDateParam);
+
+    ReturnMsg getAnalysePowerCoreIndicators(IocDateParam iocDateParam);
+
+    ReturnMsg getAnalyseHotCoreIndicators(IocDateParam iocDateParam);
+
+    ReturnMsg getAnalyseColdCoreIndicators(IocDateParam iocDateParam);
+
+    ReturnMsg getAnalyseCpvCoreIndicators(IocDateParam iocDateParam);
+
+    ReturnMsg getPhotovoltaicProfit();
 }

+ 144 - 0
src/main/java/com/sky/ioc/service/carbon/impl/CarbonServiceImpl.java

@@ -1,15 +1,21 @@
 package com.sky.ioc.service.carbon.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.sky.ioc.entity.Indeicator;
+import com.sky.ioc.entity.Label;
 import com.sky.ioc.entity.params.IocDateParam;
 import com.sky.ioc.service.carbon.CarbonService;
+import com.sky.ioc.tool.GeneralMethod;
 import com.sky.ioc.tool.ReturnMsg;
 import org.springframework.stereotype.Service;
 
+import java.security.PublicKey;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ThreadLocalRandom;
 
 /**
  * TODO  双碳
@@ -248,4 +254,142 @@ public class CarbonServiceImpl implements CarbonService {
         indeicator.setList(objects);
         return ReturnMsg.ok(indeicator);
     }
+
+    @Override
+    public ReturnMsg getPhotovoltaicPower() {
+        String[] param = {"realTime"};
+        String[] labelKey = {"8:00-10:00","10:00-12:00","12:00-14:00","14:00-16:00","16:00-18:00"};
+        List<Label> labels = GeneralMethod.getInstance().dataGeneration(param, labelKey);
+        return ReturnMsg.ok(labels);
+    }
+
+
+    @Override
+    public ReturnMsg getAnalyseCoreIndicators(IocDateParam iocDateParam) {
+        Indeicator indeicator = new Indeicator();
+        List<JSONObject> objects = indeicator.getList();
+        objects.get(0).put("value",98);
+        objects.get(0).put("compare",0.4);
+
+        objects.get(1).put("value",50);
+        objects.get(1).put("compare",0.4);
+
+        objects.get(2).put("value",100);
+        objects.get(2).put("compare",0.4);
+
+        objects.get(3).put("value",1000);
+        objects.get(3).put("compare",0.4);
+        indeicator.setWorthAttention("人均成本过高,请购买智能源服务");
+        indeicator.setList(objects);
+        return ReturnMsg.ok(indeicator);
+    }
+
+    @Override
+    public ReturnMsg getAnalyseWaterCoreIndicators(IocDateParam iocDateParam) {
+        Indeicator indeicator = new Indeicator();
+        List<JSONObject> objects = indeicator.getList();
+        objects.get(0).put("value",98);
+        objects.get(0).put("compare",0.4);
+
+        objects.get(1).put("value",50);
+        objects.get(1).put("compare",0.4);
+
+        objects.get(2).put("value",100);
+        objects.get(2).put("compare",0.4);
+
+        objects.get(3).put("value",1000);
+        objects.get(3).put("compare",0.4);
+        indeicator.setWorthAttention("人均成本过高,请购买智能源服务");
+        indeicator.setList(objects);
+        return ReturnMsg.ok(indeicator);
+    }
+
+    @Override
+    public ReturnMsg getAnalysePowerCoreIndicators(IocDateParam iocDateParam) {
+        Indeicator indeicator = new Indeicator();
+        List<JSONObject> objects = indeicator.getList();
+        objects.get(0).put("value",98);
+        objects.get(0).put("compare",0.4);
+
+        objects.get(1).put("value",30);
+        objects.get(1).put("compare",0.4);
+
+        objects.get(2).put("value",100);
+        objects.get(2).put("compare",0.4);
+
+        objects.get(3).put("value",1000);
+        objects.get(3).put("compare",0.4);
+        indeicator.setWorthAttention("人均成本过高,请购买智能源服务");
+        indeicator.setList(objects);
+        return ReturnMsg.ok(indeicator);
+    }
+
+    @Override
+    public ReturnMsg getAnalyseHotCoreIndicators(IocDateParam iocDateParam) {
+        Indeicator indeicator = new Indeicator();
+        List<JSONObject> objects = indeicator.getList();
+        objects.get(0).put("value",98);
+        objects.get(0).put("compare",0.4);
+
+        objects.get(1).put("value",50);
+        objects.get(1).put("compare",0.4);
+
+        objects.get(2).put("value",100);
+        objects.get(2).put("compare",0.4);
+
+        objects.get(3).put("value",1000);
+        objects.get(3).put("compare",0.4);
+        indeicator.setWorthAttention("人均成本过高,请购买智能源服务");
+        indeicator.setList(objects);
+        return ReturnMsg.ok(indeicator);
+    }
+
+    @Override
+    public ReturnMsg getAnalyseColdCoreIndicators(IocDateParam iocDateParam) {
+        Indeicator indeicator = new Indeicator();
+        List<JSONObject> objects = indeicator.getList();
+        objects.get(0).put("value",98);
+        objects.get(0).put("compare",0.4);
+
+        objects.get(1).put("value",50);
+        objects.get(1).put("compare",0.4);
+
+        objects.get(2).put("value",100);
+        objects.get(2).put("compare",0.4);
+
+        objects.get(3).put("value",1000);
+        objects.get(3).put("compare",0.4);
+        indeicator.setWorthAttention("人均成本过高,请购买智能源服务");
+        indeicator.setList(objects);
+        return ReturnMsg.ok(indeicator);
+    }
+
+    @Override
+    public ReturnMsg getAnalyseCpvCoreIndicators(IocDateParam iocDateParam) {
+        Indeicator indeicator = new Indeicator();
+        List<JSONObject> objects = indeicator.getList();
+        objects.get(0).put("value",98);
+        objects.get(0).put("compare",0.4);
+
+        objects.get(1).put("value",50);
+        objects.get(1).put("compare",0.4);
+
+        objects.get(2).put("value",100);
+        objects.get(2).put("compare",0.4);
+
+        objects.get(3).put("value",1000);
+        objects.get(3).put("compare",0.4);
+        indeicator.setWorthAttention("人均成本过高,请购买智能源服务");
+        indeicator.setList(objects);
+        return ReturnMsg.ok(indeicator);
+    }
+
+    @Override
+    public ReturnMsg getPhotovoltaicProfit() {
+        ThreadLocalRandom current = ThreadLocalRandom.current();
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("amountSubsidy",current.nextInt(50,150));
+        jsonObject.put("",current.nextInt(50,150));
+        return ReturnMsg.ok(jsonObject);
+    }
 }

+ 14 - 8
src/main/java/com/sky/ioc/service/personnel/impl/PersonnelServiceImpl.java

@@ -2,9 +2,11 @@ package com.sky.ioc.service.personnel.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.sky.ioc.entity.Indeicator;
+import com.sky.ioc.entity.Label;
 import com.sky.ioc.entity.params.IocDateParam;
 import com.sky.ioc.entity.result.dashboard.Personnel;
 import com.sky.ioc.service.personnel.PersonnelService;
+import com.sky.ioc.tool.GeneralMethod;
 import com.sky.ioc.tool.ReturnMsg;
 import org.springframework.stereotype.Service;
 
@@ -45,14 +47,18 @@ public class PersonnelServiceImpl implements PersonnelService {
     //查询智能看板统计画像的统计人员信息报表
     @Override
     public ReturnMsg getPersonnelInfoList() {
-        List<Personnel> list = new ArrayList<>();
-        SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
-        Calendar c = Calendar.getInstance();
-        c.add(Calendar.MONTH, -5);
-        list.add(new Personnel(20, 30, 40, new Date()));
-        list.add(new Personnel(16, 191, 118, new Date()));
-        list.add(new Personnel(38, 28, 28, new Date()));
-        return ReturnMsg.ok(list);
+//        List<Personnel> list = new ArrayList<>();
+//        SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
+//        Calendar c = Calendar.getInstance();
+//        c.add(Calendar.MONTH, -5);
+//        list.add(new Personnel(20, 30, 40, new Date()));
+//        list.add(new Personnel(16, 191, 118, new Date()));
+//        list.add(new Personnel(38, 28, 28, new Date()));
+//        return ReturnMsg.ok(list);
+        String[] param = {"ownEmployees","outsourcingStaff","visitors"};
+        String[] labKey = {"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"};
+        List<Label> labels1 = GeneralMethod.getInstance().dataGeneration(param, labKey);
+        return ReturnMsg.ok(labels1);
     }
 
     @Override

+ 6 - 24
src/main/java/com/sky/ioc/service/space/impl/SpaceServiceImpl.java

@@ -28,30 +28,12 @@ public class SpaceServiceImpl implements SpaceService {
      */
     @Override
     public ReturnMsg getBuildingSituation() {
-        JSONArray jsonArray = new JSONArray();
         JSONObject jsonObject = new JSONObject();
-        jsonObject.put("total",2000);
-        jsonObject.put("occupancy",1800);
-        jsonObject.put("percentage",0.75);
-
-        JSONObject jsonObject2 = new JSONObject();
-        jsonObject2.put("total",2000);
-        jsonObject2.put("occupancy",1800);
-        jsonObject2.put("percentage",0.97);
-
-        JSONObject jsonObject3 = new JSONObject();
-        jsonObject3.put("total",2000);
-        jsonObject3.put("occupancy",1800);
-        jsonObject3.put("percentage",0.93);
-        jsonArray.add(jsonObject);
-        jsonArray.add(jsonObject2);
-        jsonArray.add(jsonObject3);
-
-
-        JSONObject jsonObject1 = new JSONObject();
-        jsonObject1.put("data",jsonArray);
-        jsonObject1.put("totalArea","15000㎡");
-        return ReturnMsg.ok(jsonObject1);
+        jsonObject.put("builtArea",112893);
+        jsonObject.put("layersInt",21);
+        jsonObject.put("serviceLife ",60);
+        jsonObject.put("constructionPeriod",80);
+        return ReturnMsg.ok(jsonObject);
     }
 
     @Override
@@ -133,7 +115,7 @@ public class SpaceServiceImpl implements SpaceService {
         objects.get(3).put("compare",0.4);
         objects.add(new JSONObject());
         objects.get(4).put("value","40/100");
-        objects.get(5).put("compare",0.4);
+        objects.get(4).put("compare",0.4);
 
         indeicator.setWorthAttention("会议室使用率过低,建议出租");
         indeicator.setList(objects);

+ 52 - 0
src/main/java/com/sky/ioc/tool/GeneralMethod.java

@@ -0,0 +1,52 @@
+package com.sky.ioc.tool;
+
+import com.alibaba.fastjson.JSONObject;
+import com.sky.ioc.entity.Label;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ThreadLocalRandom;
+
+/**
+ * TODO
+ *
+ * @Description  通用方法
+ * @Author LunCe
+ * @Date 2023/3/9 11:42
+ **/
+public class GeneralMethod {
+
+    private volatile static GeneralMethod instance;
+
+    private GeneralMethod(){}
+
+    public static GeneralMethod getInstance(){
+        if (instance == null){
+            synchronized (GeneralMethod.class){
+                if (instance == null){
+                    instance = new GeneralMethod();
+                }
+            }
+        }
+        return instance;
+    }
+
+
+
+    public List<Label> dataGeneration(String[] paramSize, String[] labKey){
+        List<Label> list = new ArrayList<>();
+        ThreadLocalRandom random = ThreadLocalRandom.current();
+        for (int i = 0; i < labKey.length; i++) {
+            Label label = new Label();
+            JSONObject jsonObject = new JSONObject();
+            for (int j = 0; j < paramSize.length; j++) {
+                int i1 = random.nextInt(50, 150);
+                jsonObject.put(paramSize[j],i1);
+            }
+            label.setJsonObject(jsonObject);
+            label.setLabel(labKey[i]);
+            list.add(label);
+        }
+        return list;
+    }
+}