Ver código fonte

整合 mongodb

hxf 2 anos atrás
pai
commit
aa80cbcad2
40 arquivos alterados com 1158 adições e 189 exclusões
  1. 10 0
      neim-biz/pom.xml
  2. 19 0
      neim-biz/src/main/java/com/jiayue/biz/conf/MongoConfig.java
  3. 26 160
      neim-biz/src/main/java/com/jiayue/biz/controller/HomePageController.java
  4. 18 0
      neim-biz/src/main/java/com/jiayue/biz/domain/Coordinates.java
  5. 99 0
      neim-biz/src/main/java/com/jiayue/biz/domain/Equipment.java
  6. 17 0
      neim-biz/src/main/java/com/jiayue/biz/domain/FInfo.java
  7. 55 0
      neim-biz/src/main/java/com/jiayue/biz/domain/FanJsonInfo.java
  8. 29 0
      neim-biz/src/main/java/com/jiayue/biz/domain/FanModelData.java
  9. 24 0
      neim-biz/src/main/java/com/jiayue/biz/domain/FanTower.java
  10. 15 0
      neim-biz/src/main/java/com/jiayue/biz/domain/GInfo.java
  11. 25 0
      neim-biz/src/main/java/com/jiayue/biz/domain/HdInfo.java
  12. 20 0
      neim-biz/src/main/java/com/jiayue/biz/domain/PInfo.java
  13. 30 0
      neim-biz/src/main/java/com/jiayue/biz/domain/ProjectBasicInfo.java
  14. 28 0
      neim-biz/src/main/java/com/jiayue/biz/domain/ProjectInfo.java
  15. 24 0
      neim-biz/src/main/java/com/jiayue/biz/domain/ProjectMenusOne.java
  16. 24 0
      neim-biz/src/main/java/com/jiayue/biz/domain/ProjectMenusThree.java
  17. 25 0
      neim-biz/src/main/java/com/jiayue/biz/domain/ProjectMenusTow.java
  18. 27 0
      neim-biz/src/main/java/com/jiayue/biz/domain/ProjectProgress.java
  19. 22 0
      neim-biz/src/main/java/com/jiayue/biz/domain/ProvinceInfo.java
  20. 27 0
      neim-biz/src/main/java/com/jiayue/biz/domain/ProvincialEnergyStations.java
  21. 21 0
      neim-biz/src/main/java/com/jiayue/biz/domain/StationBasicInfo.java
  22. 24 0
      neim-biz/src/main/java/com/jiayue/biz/domain/StationInfo.java
  23. 23 0
      neim-biz/src/main/java/com/jiayue/biz/domain/TotalityInfo.java
  24. 9 0
      neim-biz/src/main/java/com/jiayue/biz/dto/EquipmentDto.java
  25. 14 0
      neim-biz/src/main/java/com/jiayue/biz/dto/ProjectInfoDto.java
  26. 19 0
      neim-biz/src/main/java/com/jiayue/biz/dto/SelectLabForVal.java
  27. 27 0
      neim-biz/src/main/java/com/jiayue/biz/service/HomePageService.java
  28. 11 0
      neim-biz/src/main/java/com/jiayue/biz/service/ProjectInfoService.java
  29. 14 0
      neim-biz/src/main/java/com/jiayue/biz/service/ProjectProgressService.java
  30. 9 0
      neim-biz/src/main/java/com/jiayue/biz/service/ProvincialEnergyStationsService.java
  31. 10 0
      neim-biz/src/main/java/com/jiayue/biz/service/StationInfoService.java
  32. 12 0
      neim-biz/src/main/java/com/jiayue/biz/service/TotalityInfoService.java
  33. 179 29
      neim-biz/src/main/java/com/jiayue/biz/service/impl/HomePageServiceImpl.java
  34. 25 0
      neim-biz/src/main/java/com/jiayue/biz/service/impl/ProjectInfoServiceImpl.java
  35. 24 0
      neim-biz/src/main/java/com/jiayue/biz/service/impl/ProjectProgressServiceImpl.java
  36. 24 0
      neim-biz/src/main/java/com/jiayue/biz/service/impl/ProvincialEnergyStationsServiceImpl.java
  37. 35 0
      neim-biz/src/main/java/com/jiayue/biz/service/impl/StationInfoServiceImpl.java
  38. 24 0
      neim-biz/src/main/java/com/jiayue/biz/service/impl/TotalityInfoServiceImpl.java
  39. 83 0
      neim-biz/src/main/java/com/jiayue/biz/util/MongoDBUtil.java
  40. 7 0
      neim-biz/src/main/resources/application-dev.yml

+ 10 - 0
neim-biz/pom.xml

@@ -51,12 +51,22 @@
             <artifactId>spring-boot-devtools</artifactId>
             <optional>true</optional> <!-- 表示依赖不会传递 -->
         </dependency>
+<!--        swagger-->
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-boot-starter</artifactId>
+        </dependency>
 <!--        modbus-->
         <dependency>
             <groupId>wei.yigulu</groupId>
             <artifactId>protocol-modbus</artifactId>
             <version>1.2.11</version>
         </dependency>
+<!--        mongo-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-mongodb</artifactId>
+        </dependency>
         <!-- 系统服务-->
         <dependency>
             <groupId>com.jiayue</groupId>

+ 19 - 0
neim-biz/src/main/java/com/jiayue/biz/conf/MongoConfig.java

@@ -0,0 +1,19 @@
+//package com.jiayue.biz.conf;
+//
+//
+//import com.mongodb.ServerAddress;
+//import com.mongodb.client.MongoCollection;
+//import com.mongodb.client.MongoDatabase;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.boot.autoconfigure.mongo.MongoProperties;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//
+//
+//@Configuration
+//public class MongoConfig {
+//
+//
+//
+//}
+//

+ 26 - 160
neim-biz/src/main/java/com/jiayue/biz/controller/HomePageController.java

@@ -1,19 +1,24 @@
 package com.jiayue.biz.controller;
 
-import com.jiayue.biz.service.HomePageService;
+import com.jiayue.biz.domain.ProjectBasicInfo;
+import com.jiayue.biz.domain.ProjectInfo;
+import com.jiayue.biz.domain.ProvincialEnergyStations;
+import com.jiayue.biz.domain.TotalityInfo;
+import com.jiayue.biz.service.*;
 import com.jiayue.common.core.controller.BaseController;
 import com.jiayue.common.core.domain.AjaxResult;
-import com.jiayue.common.core.page.TableDataInfo;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.actuate.endpoint.OperationType;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
@@ -29,6 +34,7 @@ public class HomePageController extends BaseController {
 
     private final HomePageService homePageService;
 
+
     /**
      * 首页风速曲线
      */
@@ -102,7 +108,7 @@ public class HomePageController extends BaseController {
         return AjaxResult.success(homePageService.homePageAllWindMap());
     }
 
-    @ApiOperation(value = "全省数据", notes = "全省数据查询")
+    @ApiOperation(value = "首页文字", notes = "首页文字")
     @ApiImplicitParams({})
     @GetMapping("/provincialEnergyInfo")
     public AjaxResult provincialEnergy() {
@@ -115,40 +121,14 @@ public class HomePageController extends BaseController {
 //            gHours:'1620h'
 //        }
 
-        HashMap<String, Object> hashMap = new HashMap<>();
-        HashMap<Object, Object> provinceInfo = new HashMap<>();
-        hashMap.put("resourcesOverview", "黑龙江处于高纬度地区,日照强度较大,太阳能转换率较高,为开发太阳能源提供了有理条件。特别是大兴安岭一带常年受到东亚西风带影响,具有风速大,气候干燥特点,与同维度地图相比,风资源更丰富,利于风能资源的开发与利用。");
-
-        provinceInfo.put("fNum", "100");
-        provinceInfo.put("fHours", "2496h");
-        provinceInfo.put("gNum", "41");
-        provinceInfo.put("gHours", "1620h");
-        hashMap.put("provinceInfo", provinceInfo);
-        return AjaxResult.success(hashMap);
+        return AjaxResult.success(homePageService.getResourcesOverview());
     }
 
-    @ApiOperation(value = "华富总体信息", notes = "华富数据查询")
+    @ApiOperation(value = "全省资源数据", notes = "全省资源数据")
     @ApiImplicitParams({})
     @GetMapping("/hauFuInfo")
     public AjaxResult hauFuInfo() {
-        //        hdInfo:{ //华电信息
-//           fNum:'10',
-//           fEName:'瑞信风电场',//风场站名称
-//           fHours:'3256h',
-//           gNum:'4',
-//           gEName:'宁姜环球光伏',//光伏站名称
-//           gHours:'1636h'
-//        }
-        HashMap<String, Object> hashMap = new HashMap<>();
-        HashMap<Object, Object> hdInfo = new HashMap<>();
-
-        hdInfo.put("fNum", "10");
-        hdInfo.put("fEName", "瑞信风电场");
-        hdInfo.put("fHours", "3256h");
-        hdInfo.put("gEName", "宁姜环球光伏");
-        hdInfo.put("gHours", "1636h");
-        hashMap.put("hdInfo", hdInfo);
-        return AjaxResult.success(hashMap);
+        return AjaxResult.success(homePageService.getProvincialEnergyStations());
     }
 
 
@@ -156,67 +136,7 @@ public class HomePageController extends BaseController {
     @ApiImplicitParams({})
     @GetMapping("/projectInfo")
     public AjaxResult projectInfo() {
-        HashMap<String, Object> hashMap = new HashMap<>();
-        HashMap<String, Object> projectOne = new HashMap<>();
-        HashMap<String, Object> projectTwo = new HashMap<>();
-        HashMap<String, Object> projectThree = new HashMap<>();
-        hashMap.put("initiatedNum", "31");
-        hashMap.put("approvalNum", "5");
-        hashMap.put("buildNum", "4");
-        hashMap.put("electricNum", "1");
-
-
-        projectOne.put("id", "222");
-        projectOne.put("name", "黑龙江华电哈尔滨依兰鸡冠山四期200MW风电项目");
-        projectOne.put("projectOverview", "依兰县位于黑龙江省中南部。 黑龙江华电哈尔滨依兰鸡冠山四期200MW风电项目中心位于黑龙江省哈尔滨市依兰县东侧15km的鸡冠砬子山上,整个场址为低山丘陵区,场区实际可利用面积约63km2");
-        projectOne.put("resourcesOverview", "根据风能资源推测120m数据分析,年平均风速为8.007m/s,平均风功率密度为567W/m²,属于3级风场。主风向为WSW,次风向为W,空气密度为1.2kg/m³");
-
-
-        hashMap.put("projectOne", projectOne);
-        hashMap.put("projectOne", projectTwo);
-        hashMap.put("projectOne", projectThree);
-        return AjaxResult.success(hashMap);
-
-
-//        initiatedNum  :'31',//已发起项目数目
-//        approvalNum:'5',//已完成核准项目数目
-//        buildNum:'4',//正在实施项目数目
-//        electricNum:'1',//投产发电项目数目
-
-        // 前期-----塔信息 塔坐标
-
-        //一类项目列表
-//        projectOne: [
-//        {
-//        id :'222'
-//        ,name: '黑龙江华电哈尔滨依兰鸡冠山四期200MW风电项目'
-//        ,projectOverview: '依兰县位于黑龙江省中南部。 黑龙江华电哈尔滨依兰鸡冠山四期200MW风电项目中心位于黑龙江省哈尔滨市依兰县东侧15km的鸡冠砬子山上,整个场址为低山丘陵区,场区实际可利用面积约63km2
-//        , resourcesOverview: '根据风能资源推测120m数据分析,年平均风速为8.007m/s,平均风功率密度为567W/m²,属于3级风场。主风向为WSW,次风向为W,空气密度为1.2kg/m³
-
-//        }
-//        {name: '黑龙江华电哈尔滨巴彦二期100MW风电项目',label: '巴彦二期100MW风电项目', value: '2'},
-//        {name: '黑龙江华电哈尔滨呼兰风电二期200MW风电项目',label: '呼兰风电二期200MW风电项目', value: '3'}
-//      ],
-//        // 二类项目列表
-//        projectTwo: [
-//        {name: '黑龙江华电哈尔滨呼兰风电三期300MW项目',label: '呼兰风电三期300MW项目', value: '4'},
-//        {name: '黑龙江华电齐齐哈尔富拉尔基200MW风电项目',label: '富拉尔基200MW风电项目', value: '5'},
-//        {name: '黑龙江华电宁安风水山200MW风电项目',label: '宁安风水山200MW风电项目', value: '6'},
-//        {name: '黑龙江华电泰来胜利100MW风电项目', label: '泰来胜利100MW风电项目', value: '7'},
-//        {name: '黑龙江华电哈尔滨方正100MW风电项目',label: '方正100MW风电项目', value: '8'}
-//      ],
-//        // 三类项目列表
-//        projectThree: [
-//        {name: '黑龙江华电佳木斯汤原100MW风电项目',label: '汤原100MW风电项目', value: '9'},
-//        {name: '黑龙江华电哈尔滨巴彦三期300MW风电项目',label: '巴彦三期300MW风电项目', value: '10'},
-//        {name: '黑龙江华电依兰五期200MW风电项目',label: '依兰五期200MW风电项目', value: '11'},
-//        {name: '黑龙江华电甘南巨宝200MW风电项目',label: '甘南巨宝200MW风电项目', value: '12'},
-//        {name: '黑龙江华电种马场20MW风电项目',label: '种马场20MW风电项目', value: '13'},
-//        {name: '黑龙江华电富拉尔基灰场100MW光伏项目',label: '富拉尔基灰场100MW光伏项目', value: '14'},
-//        {name: '黑龙江华电佳木斯灰场50MW光伏项目',label: '佳木斯灰场50MW光伏项目', value: '15'},
-//        {name: '黑龙江华电哈三灰场100MW光伏项目',label: '哈三灰场100MW光伏项目', value: '16'}]
-//    }
-
+        return AjaxResult.success(homePageService.getProjectSort());
 
     }
 
@@ -226,9 +146,8 @@ public class HomePageController extends BaseController {
             @ApiImplicitParam(name = "id", value = "id", paramType = "query", dataType = "String"),
     })
     @GetMapping("/projectMapInfo")
-    public AjaxResult projectMapInfo() {
-        //项目中所有的塔、拐点坐标、 TODO 地图四个角信息
-        return null;
+    public AjaxResult projectMapInfo(String projectId) {
+        return AjaxResult.success(homePageService.projectMapInfo(projectId));
     }
 
 
@@ -237,25 +156,11 @@ public class HomePageController extends BaseController {
     })
     @GetMapping("/projectSelect")
     public AjaxResult projectSelect() {
-        HashMap<String, Object> hashMap = new HashMap<>();
-        HashMap<String, Object> towerInfo = new HashMap<>();
-        HashMap<String, Object> towerInfo2 = new HashMap<>();
-
-        ArrayList<Object> arrayList = new ArrayList<>();
-
-        towerInfo.put("label", "依兰四起06171");
-        towerInfo.put("value", "006171");
-        towerInfo2.put("label", "依兰四起06171");
-        towerInfo2.put("value", "006171");
-        arrayList.add(towerInfo);
-        arrayList.add(towerInfo2);
-
-        hashMap.put("towerInfo", arrayList);
 
 //        label: 依兰四期
 //        value : 项目id
 //        towerInfo:[{label:‘依兰四起06171’value:‘006171’},{label:value}]
-        return AjaxResult.success(hashMap);
+        return AjaxResult.success(homePageService.projectSelect());
     }
 
     @ApiOperation(value = "项目进展情况", notes = "查询项目进展情况")
@@ -300,35 +205,7 @@ public class HomePageController extends BaseController {
     })
     @GetMapping("/stationTotalityInfo")
     public AjaxResult stationTotalityInfo() {
-        //华富所有场站信息 、 坐标 、 名称
-        HashMap<String, Object> hashMap = new HashMap<>();
-        hashMap.put("木兰风电场", "1");
-        hashMap.put("依兰鸡冠山风电场 ", "2");
-        hashMap.put("依兰珠山风电场", "3");
-        hashMap.put("东宁绥阳风电场", "4");
-        hashMap.put("东宁绥阳风电场", "5");
-        hashMap.put("瑞信风电场", "6");
-        hashMap.put("汤原渠首风电场", "7");
-        hashMap.put("虎林石青山风电场", "8");
-
-//        stationOptions: [
-//        {label: '木兰风电场      ', value: '编号---id'},
-//        {label: '依兰鸡冠山风电场  ', value: '编号' ,
-//        {label: '依兰珠山风电场   ', value: '3},
-//        {label: '东宁绥阳风电场   ', value: '4'},
-//        {label: '东宁绥阳风电场   ', value: '5'},
-//        {label: '瑞信风电场       ', value: '6'},
-//        {label: '汤原渠首风电场    ', value: '7'},
-//        {label: '虎林石青山风电场  ', value: '8'},
-//        {label: '七里嘎风电场      ', value: '9'},
-//        {label: '宏浩风电场        ', value: '10'},
-//        {label: '宁姜环球光伏电站   ', value: '11'},
-//        {label: '安达青肯泡光伏电站  '  , value: '12'},
-//        {label: '讷河兴旺光伏电站   ', value: '13'}
-//      ],
-
-
-        return AjaxResult.success(hashMap);
+        return AjaxResult.success(homePageService.getStationTotalityInfo());
     }
 
     @ApiOperation(value = "场站信息", notes = "查询场站信息")
@@ -337,17 +214,6 @@ public class HomePageController extends BaseController {
     })
     @GetMapping("/stationInfo")
     public AjaxResult stationInfo(String stationId) {
-        //       fInfo:{//风场站信息
-//            num:'10',
-//            capacity:'724.6',
-//            fjNum:'407'
-//        },
-//        gInfo:{//光场站信息
-//            num:'4',
-//            capacity:'110',
-//            nbqNum:'204'
-//        },
-
 
 
 //        ----{杨总数据},计算风机台数、风机机型、风机点位坐标、塔坐标
@@ -355,14 +221,14 @@ public class HomePageController extends BaseController {
         HashMap<String, Object> hashMap = new HashMap<>();
         HashMap<String, Object> fInfo = new HashMap<>();
         HashMap<String, Object> gInfo = new HashMap<>();
-        fInfo.put("num","10");
-        fInfo.put("capacity","724.6");
-        fInfo.put("fjNum","407");
-        gInfo.put("num","4");
-        gInfo.put("capacity","110");
-        gInfo.put("nbqNum","204");
-        hashMap.put("fInfo",fInfo);
-        hashMap.put("gInfo",gInfo);
+        fInfo.put("num", "10");
+        fInfo.put("capacity", "724.6");
+        fInfo.put("fjNum", "407");
+        gInfo.put("num", "4");
+        gInfo.put("capacity", "110");
+        gInfo.put("nbqNum", "204");
+        hashMap.put("fInfo", fInfo);
+        hashMap.put("gInfo", gInfo);
 
         return AjaxResult.success(hashMap);
     }

+ 18 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/Coordinates.java

@@ -0,0 +1,18 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 项目拐点坐标
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Coordinates {
+    //经度
+    private String longitude;
+    //纬度
+    private String latitude;
+}

+ 99 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/Equipment.java

@@ -0,0 +1,99 @@
+package com.jiayue.biz.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.jiayue.common.annotation.Excel;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 塔基本信息
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Equipment {
+
+    //id
+    private String id;
+
+    //测风塔名称
+    private String name;
+
+    /**
+     * 型号
+     */
+    private String modelNumber;
+
+    /**
+     * 设备编号
+     */
+    private String equipmentNo;
+
+    /**
+     * 记录仪编号
+     */
+    private String recorderNo;
+    /**
+     * 测风塔风速层高
+     */
+    private String heights;
+    /**
+     * 测风塔风向层高
+     */
+    private String wdHeights;
+
+    /**
+     * 设备数据密码
+     */
+    private String password;
+    /**
+     * 安装时间
+     */
+    private String installationTime;
+
+    /**
+     * 制造商
+     */
+    private String manufacturer;
+
+    /**
+     * 经度
+     */
+    private String longitude;
+
+    /**
+     * 纬度
+     */
+    private String latitude;
+
+    /**
+     * 海拔
+     */
+    private String altitude;
+
+    /**
+     * 地形复杂程度
+     */
+    private String terrainComplexity;
+    /**
+     * 测风塔状态 停机:0 运行为:1
+     */
+    private String status;
+    /**
+     * 首页展示层高 暂用用于首页风功率曲线
+     */
+    private String displayHeight;
+
+    /**
+     *测风塔附属于
+     */
+    private String type;
+
+
+
+}

+ 17 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/FInfo.java

@@ -0,0 +1,17 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * 风电
+ */
+@Data
+@AllArgsConstructor
+public class FInfo {
+
+    private String num;
+    private String capacity;
+    private String fjNum;
+
+}

+ 55 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/FanJsonInfo.java

@@ -0,0 +1,55 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ *     fdl 发电量
+ *     fd1 发电量1期  ...
+ *     ZFX 主风向 天气
+ *     pjfs 风速 日照强度  平均
+ *     zdfs 风速 日照强度  最大
+ *     zxfs 风速 日照强度  最小
+ *     wdzg 温度 最高
+ *     wdzd 温度 最低
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class FanJsonInfo {
+
+    private String fdl;
+    private String fdly;
+    private String fdln;
+    private String fd1;
+    private String fd1y;
+    private String fd1n;
+    private String fd2;
+    private String fd2y;
+    private String fd2n;
+    private String fd3;
+    private String fd3y;
+    private String fd3n;
+    private String fd4;
+    private String fd4y;
+    private String fd4n;
+    private String fd5;
+    private String fd5y;
+    private String fd5n;
+    private String fd6;
+    private String fd6y;
+    private String fd6n;
+    private String fd7;
+    private String fd7y;
+    private String fd7n;
+    private String fd8;
+    private String fd8y;
+    private String fd8n;
+    private String zfx;
+    private String pjfs;
+    private String zdfs;
+    private String zxfs;
+    private String wdzg;
+    private String wdzd;
+}

+ 29 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/FanModelData.java

@@ -0,0 +1,29 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Document("fan_model_data")
+public class FanModelData {
+    //id
+    private String id;
+    //场站id
+    private String stationId;
+    //场站名称
+    private String stationName;
+    //场站简称
+    private String stationNameEasy;
+    //平均风速
+    private String wsAve;
+    //主风向
+    private String wdSum;
+    //发电量年
+    private String generatingCapacity;
+    //满发小时数
+    private String realTime;
+}

+ 24 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/FanTower.java

@@ -0,0 +1,24 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+//风机/塔
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class FanTower {
+    private String id;
+    //风机名称
+    private String FanName;
+    //风机经度
+    private String longitudeFan;
+    //风机纬度
+    private String latitudeFan;
+    //风机型号
+    private String FanModel;
+    //轮毂高度
+    private String hubHeight;
+
+}

+ 15 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/GInfo.java

@@ -0,0 +1,15 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * 光伏
+ */
+@Data
+@AllArgsConstructor
+public class GInfo {
+    private String num;
+    private String capacity;
+    private String nbqNum;
+}

+ 25 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/HdInfo.java

@@ -0,0 +1,25 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * 华电基本信息
+ */
+@Data
+@AllArgsConstructor
+public class HdInfo {
+   //风场站个数
+   private String fNum;
+   //风小时数
+   private String fHours;
+   //光场站个数
+   private String gNum;
+   //光小时数
+   private String gHours;
+   //风场站名称
+   private String fEName;
+   //光场站名称
+   private String gEName;
+
+}

+ 20 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/PInfo.java

@@ -0,0 +1,20 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * 前期项目信息
+ */
+@Data
+@AllArgsConstructor
+public class PInfo {
+    //已发起项目数目
+    private String initiatedNum;
+    //已完成核准项目数目
+    private String approvalNum;
+    //正在实施项目数目
+    private String buildNum;
+    //投产发电项目数目
+    private String electricNum;
+}

+ 30 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/ProjectBasicInfo.java

@@ -0,0 +1,30 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 项目基本信息
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ProjectBasicInfo {
+
+    //项目全称
+    private String projectName;
+    //项目简称
+    private String projectNameEasy;
+    //项目状态
+    private String projectState;
+    //项目类别
+    private String projectType;
+    //项目类型
+    private String projectSort;
+    //项目概述
+    private String projectOverview;
+    //项目风力概述
+    private String resourcesOverview;
+
+}

+ 28 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/ProjectInfo.java

@@ -0,0 +1,28 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.util.List;
+
+/**
+ * 项目信息
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Document("project_info")
+public class ProjectInfo {
+
+    private String id;
+    //基本信息
+    private ProjectBasicInfo projectBasicInfo;
+    //关联设备
+    private List<Equipment> equipment;
+    //拐点坐标
+    private List<Coordinates> coordinates;
+
+
+}

+ 24 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/ProjectMenusOne.java

@@ -0,0 +1,24 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+/**
+ * 一级菜单
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ProjectMenusOne {
+    private String id;
+    //序号
+    private String index;
+    //工作内容
+    private String workContent;
+    //计划完成时间
+    private String planTime;
+
+    private List<ProjectMenusTow> projectMenusTows;
+}

+ 24 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/ProjectMenusThree.java

@@ -0,0 +1,24 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 三级菜单
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectMenusThree {
+    private String id;
+    //序号
+    private String index;
+    //工作内容
+    private String workContent;
+    //计划完成时间
+    private String realTime;
+    //备注
+    private String remark;
+
+}

+ 25 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/ProjectMenusTow.java

@@ -0,0 +1,25 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * 二级菜单
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ProjectMenusTow {
+    private String id;
+    //序号
+    private String index;
+    //工作内容
+    private String workContent;
+    //计划完成时间
+    private String planTime;
+    //三级菜单
+    private List<ProjectMenusThree> projectMenusThreeList;
+}

+ 27 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/ProjectProgress.java

@@ -0,0 +1,27 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.util.List;
+
+/**
+ * 项目进展
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Document("project_progress")
+public class ProjectProgress {
+    //id
+    private String id;
+    //项目Id
+    private String projectId;
+
+    private List<ProjectMenusOne> projectMenusOneList;
+
+
+
+}

+ 22 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/ProvinceInfo.java

@@ -0,0 +1,22 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+/**
+ * 省份资源信息
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ProvinceInfo{
+    private String fNum;
+    private String fHours;
+    private String gNum;
+    private String gHours;
+
+
+
+}

+ 27 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/ProvincialEnergyStations.java

@@ -0,0 +1,27 @@
+package com.jiayue.biz.domain;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+/**
+ * 全省资源信息
+ */
+@Document("province_info")
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+public class ProvincialEnergyStations {
+    private String id;
+    //黑龙江省风光资源概述
+    private String resourcesOverview;
+    //华电资源概况
+    private HdInfo hdInfo;
+    //全省资源概况
+    private ProvinceInfo provinceInfo;
+
+
+
+}

+ 21 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/StationBasicInfo.java

@@ -0,0 +1,21 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * 场站基本信息
+ */
+@AllArgsConstructor
+@Data
+public class StationBasicInfo {
+    private String stationName;
+    //简称
+    private String abbreviation;
+    //场站类型
+    private String stationType;
+    //经度
+    private String longitude;
+    //纬度
+    private String latitude;
+}

+ 24 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/StationInfo.java

@@ -0,0 +1,24 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.util.List;
+
+/**
+ * 场站信息
+ */
+@Data
+@AllArgsConstructor
+@Document("station_info")
+public class StationInfo {
+    private String id;
+    //基本信息
+    private StationBasicInfo stationBasicInfo;
+    //风机信息
+    private List<FanTower> fanTowerList;
+
+    private List<Equipment> equipmentList;
+
+}

+ 23 - 0
neim-biz/src/main/java/com/jiayue/biz/domain/TotalityInfo.java

@@ -0,0 +1,23 @@
+package com.jiayue.biz.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+/**
+ * 总体信息
+ */
+@Data
+@AllArgsConstructor
+@Document("totality_info")
+public class TotalityInfo {
+    private String id;
+    //前期项目信息
+    private PInfo pInfo;
+    //风电场站信息
+    private FInfo fInfo;
+    //光伏场站信息
+    private GInfo gInfo;
+
+
+}

+ 9 - 0
neim-biz/src/main/java/com/jiayue/biz/dto/EquipmentDto.java

@@ -0,0 +1,9 @@
+package com.jiayue.biz.dto;
+
+import lombok.Data;
+
+@Data
+public class EquipmentDto {
+    private String label;
+    private String value;
+}

+ 14 - 0
neim-biz/src/main/java/com/jiayue/biz/dto/ProjectInfoDto.java

@@ -0,0 +1,14 @@
+package com.jiayue.biz.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ProjectInfoDto {
+    private String id;
+    private String projectSort;
+
+}

+ 19 - 0
neim-biz/src/main/java/com/jiayue/biz/dto/SelectLabForVal.java

@@ -0,0 +1,19 @@
+package com.jiayue.biz.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * 下拉框
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SelectLabForVal {
+    private String label;
+    private String value;
+    private List<EquipmentDto> equipmentDto;
+}

+ 27 - 0
neim-biz/src/main/java/com/jiayue/biz/service/HomePageService.java

@@ -1,8 +1,10 @@
 package com.jiayue.biz.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.biz.domain.ProvincialEnergyStations;
 import com.jiayue.biz.domain.WindTowerDataChildTable;
 import com.jiayue.biz.domain.WindTowerDataParentTable;
+import com.jiayue.biz.dto.SelectLabForVal;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
@@ -58,4 +60,29 @@ public interface HomePageService extends IService<WindTowerDataParentTable> {
     //首页空气密度、温度、压强平均值
     Map<String, Object> getAirAndPaAndT(String equipmentId, String month);
 
+
+    //首页全省资源概述
+    HashMap<String,String> getResourcesOverview();
+
+    //获取华电以及全省资源概况
+    ProvincialEnergyStations getProvincialEnergyStations();
+
+    //获取项目类别以及项目概况
+    HashMap<String,Object> getProjectSort();
+
+    //查询项目概况
+    HashMap<String, Object> projectMapInfo(String projectId);
+    /**
+     *  项目测风塔下拉框
+     * @return List<SelectLabForVal>
+     */
+     List<SelectLabForVal> projectSelect();
+
+    //查询场站信息以及场站列表
+    HashMap<String,Object> getStationTotalityInfo();
+
+    /**
+     * 查询场站详细信息(风机、机型等)
+     */
+    HashMap<String, Object> getStationInfo(String stationId);
 }

+ 11 - 0
neim-biz/src/main/java/com/jiayue/biz/service/ProjectInfoService.java

@@ -0,0 +1,11 @@
+package com.jiayue.biz.service;
+
+import com.jiayue.biz.domain.ProjectInfo;
+
+import java.util.List;
+
+public interface ProjectInfoService {
+
+    //查询项目信息
+    List<ProjectInfo> getProjectInfoList();
+}

+ 14 - 0
neim-biz/src/main/java/com/jiayue/biz/service/ProjectProgressService.java

@@ -0,0 +1,14 @@
+package com.jiayue.biz.service;
+
+
+
+import com.jiayue.biz.domain.ProjectProgress;
+
+import java.util.List;
+
+public interface ProjectProgressService {
+
+
+    //查询项目进展
+    List<ProjectProgress> selectProProjectInfo();
+}

+ 9 - 0
neim-biz/src/main/java/com/jiayue/biz/service/ProvincialEnergyStationsService.java

@@ -0,0 +1,9 @@
+package com.jiayue.biz.service;
+import com.jiayue.biz.domain.ProvincialEnergyStations;
+import org.springframework.context.annotation.Bean;
+
+
+public interface ProvincialEnergyStationsService{
+    //查询全省资源信息
+    ProvincialEnergyStations getProvincialEnergyStations();
+}

+ 10 - 0
neim-biz/src/main/java/com/jiayue/biz/service/StationInfoService.java

@@ -0,0 +1,10 @@
+package com.jiayue.biz.service;
+
+import com.jiayue.biz.domain.StationInfo;
+
+import java.util.List;
+
+public interface StationInfoService {
+    //查询场站信息
+    List<StationInfo> selectStationInfo();
+}

+ 12 - 0
neim-biz/src/main/java/com/jiayue/biz/service/TotalityInfoService.java

@@ -0,0 +1,12 @@
+package com.jiayue.biz.service;
+
+import com.jiayue.biz.domain.TotalityInfo;
+
+import java.util.List;
+
+public interface TotalityInfoService {
+
+    //查询所有总体信息
+    List<TotalityInfo> selectTotalityInfoList();
+
+}

+ 179 - 29
neim-biz/src/main/java/com/jiayue/biz/service/impl/HomePageServiceImpl.java

@@ -3,6 +3,9 @@ package com.jiayue.biz.service.impl;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jiayue.biz.domain.*;
+import com.jiayue.biz.dto.EquipmentDto;
+import com.jiayue.biz.dto.ProjectInfoDto;
+import com.jiayue.biz.dto.SelectLabForVal;
 import com.jiayue.biz.eunms.WindDirectionEnum;
 import com.jiayue.biz.mapper.WindTowerDataParentTableMapper;
 import com.jiayue.biz.service.*;
@@ -11,6 +14,7 @@ import com.jiayue.biz.util.DateTimeUtil;
 import com.jiayue.common.core.redis.RedisCache;
 import com.jiayue.common.utils.DateUtil;
 import com.jiayue.common.utils.spring.SpringUtils;
+import lombok.AllArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -28,16 +32,25 @@ import java.util.stream.Collectors;
  * @date 2022-05-11
  */
 @Service
+@AllArgsConstructor
 public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMapper, WindTowerDataParentTable> implements HomePageService {
     private final WindTowerInfoService windTowerInfoService;
     private final EquipmentAttributeService equipmentAttributeService;
     private final WindTowerCalculationDataServiceImpl windTowerCalculationDataService;
-    @Autowired
+
     private final WindTowerDataParentTableService windTowerDataParentTableService;
     private final StatisticsSituationService iStatisticsSituationService;
     private final ProjectService projectService;
     private final ElectricStationService electricStationService;
 
+    private final ProvincialEnergyStationsService provincialEnergyStationsService;
+
+    private final ProjectInfoService projectInfoService;
+    private final StationInfoService stationInfoService;
+
+    private final ProjectProgressService proProjectInfoService;
+    private final TotalityInfoService totalityInfoService;
+
     private final BigDecimal threeParameterOne = new BigDecimal("1.146");
     private final BigDecimal threeParameterTow = new BigDecimal("77.42");
     private final BigDecimal threeParameterThree = new BigDecimal("1672");
@@ -46,36 +59,26 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
     private final Double e = 10.0;
 
 
-    public HomePageServiceImpl(ElectricStationService electricStationService, ProjectService projectService, WindTowerInfoService windTowerInfoService, EquipmentAttributeService equipmentAttributeService, WindTowerCalculationDataServiceImpl windTowerCalculationDataService, WindTowerDataParentTableService windTowerDataParentTableService, StatisticsSituationService iStatisticsSituationService) {
-        this.windTowerInfoService = windTowerInfoService;
-        this.equipmentAttributeService = equipmentAttributeService;
-        this.windTowerCalculationDataService = windTowerCalculationDataService;
-        this.windTowerDataParentTableService = windTowerDataParentTableService;
-        this.iStatisticsSituationService = iStatisticsSituationService;
-        this.projectService = projectService;
-        this.electricStationService = electricStationService;
-    }
-
     /**
      * 风速 风功率 柱状图
      *
      * @param equipmentId 设备编号
      * @return Map<String, Object>
      */
-    public Map<String, Object> getWsAndWpdForHeight(String equipmentId,String month) {
+    public Map<String, Object> getWsAndWpdForHeight(String equipmentId, String month) {
         List<WindTowerInfo> windTowerInfoList = windTowerInfoService.lambdaQuery().eq(WindTowerInfo::getEquipmentNo, equipmentId).list();
         String[] heights = windTowerInfoList.get(0).getHeights().split(",");
         List<Map<String, Object>> mapList = new ArrayList<>();
-        if(!month.equals("")){
+        if (!month.equals("")) {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
             try {
                 Date startDate = sdf.parse(month);
                 Date endDate = DateTimeUtil.endOfMonth(startDate);
-                mapList = selectDataByBetweenTimeAndEquipmetId(startDate,endDate,equipmentId);
+                mapList = selectDataByBetweenTimeAndEquipmetId(startDate, endDate, equipmentId);
             } catch (ParseException e) {
                 e.printStackTrace();
             }
-        }else{
+        } else {
             // 最新一天数据
             mapList = windTowerDataParentTableService.getStartTimeAndEndTimeForData(equipmentId);
         }
@@ -316,18 +319,18 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
      * @return List<Map < String, Object>>
      */
     @Override
-    public HashMap<String, Object> homePageRose(String equipmentId, String height,String month) {
+    public HashMap<String, Object> homePageRose(String equipmentId, String height, String month) {
         List<Map<String, Object>> maps = new ArrayList<>();
-        if(!month.equals("")){
+        if (!month.equals("")) {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
             try {
                 Date startDate = sdf.parse(month);
                 Date endDate = DateTimeUtil.endOfMonth(startDate);
-                maps = selectDataByBetweenTimeAndEquipmetId(startDate,endDate,equipmentId);
+                maps = selectDataByBetweenTimeAndEquipmetId(startDate, endDate, equipmentId);
             } catch (ParseException e) {
                 e.printStackTrace();
             }
-        }else{
+        } else {
             // 最新一天数据
             maps = windTowerDataParentTableService.getStartTimeAndEndTimeForData(equipmentId);
         }
@@ -418,18 +421,18 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
      * @param equipmentId 设备编号
      * @return
      */
-    public Map<String, Object> homePageCharts(String equipmentId,String month) {
+    public Map<String, Object> homePageCharts(String equipmentId, String month) {
         List<Map<String, Object>> mapList = new ArrayList<>();
-        if(!month.equals("")){
+        if (!month.equals("")) {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
             try {
                 Date startDate = sdf.parse(month);
                 Date endDate = DateTimeUtil.endOfMonth(startDate);
-                mapList = selectDataByBetweenTimeAndEquipmetId(startDate,endDate,equipmentId);
+                mapList = selectDataByBetweenTimeAndEquipmetId(startDate, endDate, equipmentId);
             } catch (ParseException e) {
                 e.printStackTrace();
             }
-        }else{
+        } else {
             // 最新一天数据
             mapList = windTowerDataParentTableService.getStartTimeAndEndTimeForData(equipmentId);
         }
@@ -572,16 +575,16 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
      */
     public Map<String, Object> getAirAndPaAndT(String equipmentId, String month) {
         List<Map<String, Object>> mapList = new ArrayList<>();
-        if(!month.equals("")){
+        if (!month.equals("")) {
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
             try {
                 Date startDate = sdf.parse(month);
                 Date endDate = DateTimeUtil.endOfMonth(startDate);
-                mapList = selectDataByBetweenTimeAndEquipmetId(startDate,endDate,equipmentId);
+                mapList = selectDataByBetweenTimeAndEquipmetId(startDate, endDate, equipmentId);
             } catch (ParseException e) {
                 e.printStackTrace();
             }
-        }else{
+        } else {
             // 最新一天数据
             mapList = windTowerDataParentTableService.getStartTimeAndEndTimeForData(equipmentId);
         }
@@ -657,8 +660,8 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
         batterySum = batterySum.divide(BigDecimal.valueOf(6 * 1000), 2, RoundingMode.HALF_UP);
         //满发小时数
         BigDecimal hourMax = batterySum.divide(BigDecimal.valueOf(6.25), 2, RoundingMode.HALF_UP);
-        dataMap.put("battery",batterySum);
-        dataMap.put("hour",hourMax);
+        dataMap.put("battery", batterySum);
+        dataMap.put("hour", hourMax);
 
         dataMap.put("t", tAve);
         dataMap.put("air", airDensity);
@@ -668,6 +671,7 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
         dataMap.put("height", height);
         return dataMap;
     }
+
     /**
      * 根据时间范围和设备id查询数据
      *
@@ -678,7 +682,7 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
      */
     public List<Map<String, Object>> selectDataByBetweenTimeAndEquipmetId(Date startTime, Date endTime, String equipmentId) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
-        String key = "homepageWindDataSelect"+sdf.format(startTime)+equipmentId;
+        String key = "homepageWindDataSelect" + sdf.format(startTime) + equipmentId;
         Object cacheObj = SpringUtils.getBean(RedisCache.class).getCacheObject(key);
         if (ObjectUtil.isNotNull(cacheObj)) {
             return (List<Map<String, Object>>) cacheObj;
@@ -687,4 +691,150 @@ public class HomePageServiceImpl extends ServiceImpl<WindTowerDataParentTableMap
         SpringUtils.getBean(RedisCache.class).setCacheObject(key, mapList);
         return mapList;
     }
+
+    //首页全省资源概述
+    public HashMap<String, String> getResourcesOverview() {
+        ProvincialEnergyStations provincialEnergyStations = provincialEnergyStationsService.getProvincialEnergyStations();
+        HashMap<String, String> hashMap = new HashMap<>();
+        hashMap.put("resourcesOverview", provincialEnergyStations.getResourcesOverview());
+        return hashMap;
+    }
+
+    //获取华电以及全省资源概况
+    public ProvincialEnergyStations getProvincialEnergyStations() {
+        return provincialEnergyStationsService.getProvincialEnergyStations();
+    }
+
+    //获取项目类别以及项目概况
+    public HashMap<String, Object> getProjectSort() {
+        HashMap<String, Object> dataMap = new HashMap<>();
+        List<TotalityInfo> totalityInfos = totalityInfoService.selectTotalityInfoList();
+        List<ProjectInfo> projectInfoList = projectInfoService.getProjectInfoList();
+        //根据类别分组
+        Map<String, List<ProjectInfo>> four = projectInfoList.stream()
+                .filter(p -> !p.getProjectBasicInfo().getProjectSort().equals("four"))
+                .collect(Collectors.groupingBy((ProjectInfo pro) -> {
+                    return pro.getProjectBasicInfo().getProjectSort();
+                }));
+        //循环数据 存放Id和项目名称
+        for (Map.Entry<String, List<ProjectInfo>> entry : four.entrySet()) {
+            ArrayList<ProjectInfoDto> projectInfoDtoList = new ArrayList<>();
+            for (ProjectInfo projectInfo : entry.getValue()) {
+                ProjectInfoDto projectInfoDto = new ProjectInfoDto();
+                projectInfoDto.setId(projectInfo.getId());
+                projectInfoDto.setProjectSort(projectInfo.getProjectBasicInfo().getProjectName());
+                projectInfoDtoList.add(projectInfoDto);
+            }
+            dataMap.put(entry.getKey(), projectInfoDtoList);
+        }
+        //项目基本信息
+        dataMap.put("pInfo", totalityInfos.get(0).getPInfo());
+
+        return dataMap;
+    }
+
+    //查询项目概况
+    public HashMap<String, Object> projectMapInfo(String projectId) {
+        HashMap<String, Object> dataMap = new HashMap<>();
+        List<ProjectInfo> projectInfoList = projectInfoService.getProjectInfoList();
+        //根据项目ID过滤指定数据
+        List<ProjectInfo> collect = projectInfoList.stream().filter(p -> p.getId().equals(projectId)).collect(Collectors.toList());
+        if (collect.size() > 0) {
+            ProjectInfo projectInfo = collect.get(0);
+            dataMap.put("projectOverview", projectInfo.getProjectBasicInfo().getProjectOverview());
+            dataMap.put("resourcesOverview", projectInfo.getProjectBasicInfo().getResourcesOverview());
+            //拐点坐标
+            dataMap.put("coordinates", projectInfo.getCoordinates());
+        }
+        //项目中所有的塔、拐点坐标、 TODO 地图四个角信息
+        return dataMap;
+    }
+
+    /**
+     * 项目测风塔下拉框
+     *
+     * @return List<SelectLabForVal>
+     */
+    public List<SelectLabForVal> projectSelect() {
+        List<ProjectInfo> projectInfoList = projectInfoService.getProjectInfoList();
+        ArrayList<SelectLabForVal> selectList = new ArrayList<>();
+        if (projectInfoList.size() > 0) {
+            //循环数据 放入项目id和项目名称
+            for (ProjectInfo projectInfo : projectInfoList) {
+                SelectLabForVal selectLabForVal = new SelectLabForVal();
+                selectLabForVal.setLabel(projectInfo.getProjectBasicInfo().getProjectNameEasy());
+                selectLabForVal.setValue(projectInfo.getId());
+                if (projectInfo.getEquipment().size() > 0) {
+                    ArrayList<EquipmentDto> equipmentDtoList = new ArrayList<>();
+                    //循环数据 放入测风塔id和测风塔名称
+                    for (Equipment equipment : projectInfo.getEquipment()) {
+                        EquipmentDto equipmentDto = new EquipmentDto();
+                        equipmentDto.setLabel(equipment.getName());
+                        equipmentDto.setValue(equipment.getId());
+                        equipmentDtoList.add(equipmentDto);
+                    }
+                    selectLabForVal.setEquipmentDto(equipmentDtoList);
+                }
+                selectList.add(selectLabForVal);
+            }
+
+        }
+
+        return selectList;
+    }
+
+    //查询场站信息以及场站列表
+    public HashMap<String, Object> getStationTotalityInfo() {
+        //总体信息
+        List<TotalityInfo> totalityInfos = totalityInfoService.selectTotalityInfoList();
+        //场站信息
+        List<StationInfo> stationInfos = stationInfoService.selectStationInfo();
+        HashMap<String, Object> stationMap = new HashMap<>();
+        if (totalityInfos.size() > 0) {
+            stationMap.put("fInfo", totalityInfos.get(0).getFInfo());
+            stationMap.put("gInfo", totalityInfos.get(0).getGInfo());
+            if (stationInfos.size() > 0) {
+                ArrayList<Object> arrayList = new ArrayList<>();
+                for (StationInfo stationInfo : stationInfos) {
+                    HashMap<String, Object> hashMap = new HashMap<>();
+                    hashMap.put("id", stationInfo.getId());
+                    hashMap.put("stationName", stationInfo.getStationBasicInfo().getStationName());
+                    //经度
+                    hashMap.put("longitude", stationInfo.getStationBasicInfo().getLongitude());
+                    //纬度
+                    hashMap.put("latitude", stationInfo.getStationBasicInfo().getLatitude());
+                    arrayList.add(hashMap);
+                }
+                stationMap.put("station", arrayList);
+            }
+        }
+        return stationMap;
+    }
+
+    /**
+     * 查询场站详细信息(风机、机型等)
+     */
+    public HashMap<String, Object> getStationInfo(String stationId) {
+        //场站信息
+        List<StationInfo> stationInfos = stationInfoService.selectStationInfo();
+        List<StationInfo> stationInfoList = stationInfos.stream().filter(s -> s.getId().equals(stationId)).collect(Collectors.toList());
+        HashMap<String, Object> dataMap = new HashMap<>();
+        if (stationInfoList.size() > 0) {
+            ArrayList<HashMap<String,Object>> arrayList = new ArrayList<>();
+            //根据风机类型分组
+            Map<String, List<FanTower>> modelMap = stationInfoList.get(0).getFanTowerList().stream()
+                    .collect(Collectors.groupingBy(FanTower::getFanModel));
+            //遍历map指定key
+            for (Map.Entry<String, List<FanTower>> entry : modelMap.entrySet()) {
+                HashMap<String, Object> map = new HashMap<>();
+                map.put("modelType", entry.getKey());
+                map.put("modelTotal", entry.getValue().size());
+                arrayList.add(map);
+            }
+            dataMap.put("modelT",arrayList);
+            dataMap.put("modelTower", stationInfoList.get(0).getFanTowerList());
+        }
+        return dataMap;
+    }
+
 }

+ 25 - 0
neim-biz/src/main/java/com/jiayue/biz/service/impl/ProjectInfoServiceImpl.java

@@ -0,0 +1,25 @@
+package com.jiayue.biz.service.impl;
+
+import com.jiayue.biz.domain.ProjectInfo;
+import com.jiayue.biz.service.ProjectInfoService;
+import lombok.AllArgsConstructor;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@AllArgsConstructor
+public class ProjectInfoServiceImpl implements ProjectInfoService {
+
+    private final MongoTemplate mongoTemplate;
+    //查询所有项目信息
+    public List<ProjectInfo> getProjectInfoList(){
+        return mongoTemplate.find(new Query(),ProjectInfo.class,"project_info");
+    }
+
+
+
+
+}

+ 24 - 0
neim-biz/src/main/java/com/jiayue/biz/service/impl/ProjectProgressServiceImpl.java

@@ -0,0 +1,24 @@
+package com.jiayue.biz.service.impl;
+
+import com.jiayue.biz.domain.ProjectProgress;
+import com.jiayue.biz.service.ProjectProgressService;
+import lombok.AllArgsConstructor;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@AllArgsConstructor
+public class ProjectProgressServiceImpl implements ProjectProgressService {
+
+    private MongoTemplate mongoTemplate;
+
+    //查询项目进展
+    public List<ProjectProgress> selectProProjectInfo(){
+        return mongoTemplate.find(new Query(), ProjectProgress.class, "project_progress");
+    }
+
+
+}

+ 24 - 0
neim-biz/src/main/java/com/jiayue/biz/service/impl/ProvincialEnergyStationsServiceImpl.java

@@ -0,0 +1,24 @@
+package com.jiayue.biz.service.impl;
+
+import com.jiayue.biz.domain.ProvincialEnergyStations;
+import com.jiayue.biz.service.ProvincialEnergyStationsService;
+import lombok.AllArgsConstructor;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+@Service
+@AllArgsConstructor
+public class ProvincialEnergyStationsServiceImpl implements ProvincialEnergyStationsService {
+
+    private MongoTemplate mongoTemplate;
+
+
+    //查询数据库单条数据
+    public ProvincialEnergyStations getProvincialEnergyStations() {
+        Query query = new Query();
+        return mongoTemplate.findOne(query, ProvincialEnergyStations.class, "province_info");
+    }
+
+
+}

+ 35 - 0
neim-biz/src/main/java/com/jiayue/biz/service/impl/StationInfoServiceImpl.java

@@ -0,0 +1,35 @@
+package com.jiayue.biz.service.impl;
+
+import cn.hutool.core.util.StrUtil;
+import com.jiayue.biz.domain.StationInfo;
+import com.jiayue.biz.service.StationInfoService;
+import lombok.AllArgsConstructor;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.UUID;
+
+@Service
+@AllArgsConstructor
+public class StationInfoServiceImpl implements StationInfoService {
+    private final MongoTemplate mongoTemplate;
+
+    //新增场站信息
+    public void saveStation(StationInfo stationInfo){
+        mongoTemplate.save(stationInfo);
+    }
+
+    //查询场站信息
+    public List<StationInfo> selectStationInfo(){
+        Query query = new Query();
+        return mongoTemplate.find(query,StationInfo.class);
+
+    }
+
+
+
+
+}

+ 24 - 0
neim-biz/src/main/java/com/jiayue/biz/service/impl/TotalityInfoServiceImpl.java

@@ -0,0 +1,24 @@
+package com.jiayue.biz.service.impl;
+
+import com.jiayue.biz.domain.TotalityInfo;
+import com.jiayue.biz.service.TotalityInfoService;
+import lombok.AllArgsConstructor;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@AllArgsConstructor
+public class TotalityInfoServiceImpl implements TotalityInfoService {
+
+    private MongoTemplate mongoTemplate;
+
+    //查询所有总体信息
+    public List<TotalityInfo> selectTotalityInfoList(){
+      return  mongoTemplate.find(new Query(),TotalityInfo.class,"totality_info");
+    }
+
+
+}

+ 83 - 0
neim-biz/src/main/java/com/jiayue/biz/util/MongoDBUtil.java

@@ -0,0 +1,83 @@
+//package com.jiayue.biz.util;
+//
+//import com.mongodb.MongoClient;
+//import com.mongodb.MongoCredential;
+//import com.mongodb.ServerAddress;
+//import com.mongodb.client.MongoDatabase;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//
+//import java.util.ArrayList;
+//import java.util.List;
+//
+//public class MongoDBUtil{
+//
+//    private static Logger logger= LoggerFactory.getLogger(MongoDBUtil.class);
+//
+//
+//
+//    /**
+//     *
+//     * 获取MongoDB数据库连接
+//     *
+//     * @param host:服务器地址
+//     * @param port:服务器端口号
+//     * @param username 用户名
+//     * @param databaseName 数据库名称
+//     * @param password 密码
+//     * @return MongoClient
+//     */
+//
+//    public static MongoClient getMongoClient(String host, int port, String username, String databaseName, String password){
+//        //连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址
+//        //ServerAddress()两个参数分别为 服务器地址 和 端口
+//        ServerAddress serverAddress = new ServerAddress(host,port);
+//        List<ServerAddress> addrs = new ArrayList<ServerAddress>();
+//        addrs.add(serverAddress);
+//        //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码
+//        MongoCredential credential = MongoCredential.createScramSha1Credential(username, databaseName, password.toCharArray());
+//
+//        List<MongoCredential> credentials = new ArrayList<MongoCredential>();
+//
+//        credentials.add(credential);
+//
+//        //通过连接认证获取MongoDB连接
+//        MongoClient mongoClient = new MongoClient(addrs,credentials);
+//        return mongoClient;
+//
+//    }
+//
+//
+//
+//    /**
+//     * MongoDB 获取数据库连接
+//     *
+//     * @param mongoClient MongoDB客户端连接
+//     * @param host:服务器地址
+//     * @param port:服务器端口号
+//     * @param username 用户名
+//     * @param databaseName 数据库名称
+//     * @param password 密码
+//     *
+//     * @return MongoDatabase
+//     */
+//
+//    public static MongoDatabase getMongoDatabase(MongoClient mongoClient, String host, int port, String username, String databaseName, String password){
+//        try {
+//        //连接到数据库
+//            MongoDatabase mongoDatabase = mongoClient.getDatabase(databaseName);
+//            logger.info("Connect to database successfully");
+//
+//            return mongoDatabase;
+//
+//        } catch (Exception e) {
+//            logger.error( e.getClass().getName() + ": " + e.getMessage() );
+//        }
+//
+//        return null;
+//
+//    }
+//
+//
+//
+//}

+ 7 - 0
neim-biz/src/main/resources/application-dev.yml

@@ -1,5 +1,12 @@
 # 数据源配置
 spring:
+  data:
+    mongodb:
+      host: 192.168.1.208
+      port: 27017
+      database: neim
+      username: neimdb
+      password: 'neim123'
   datasource:
     dynamic:
       primary: mysql #设置默认的数据源或者数据源组,默认值即为master