Browse Source

国电山西遗留工作

xieshengjie 2 years ago
parent
commit
762d87af09
27 changed files with 917 additions and 8 deletions
  1. 6 1
      web/adapter-td-hb/pom.xml
  2. 10 6
      web/adapter-td-hb/src/test/java/com/gyee/adapter/AdapterTest.java
  3. 20 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/controller/EquipmentmodelController.java
  4. 20 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/controller/FaultrecordController.java
  5. 20 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/controller/MainrecordController.java
  6. 20 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/controller/ProjectController.java
  7. 190 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/controller/ghost/GhostController.java
  8. 22 1
      web/gdsx-ghost/src/main/java/com/gyee/ghost/init/CacheContext.java
  9. 16 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/mapper/auto/EquipmentmodelMapper.java
  10. 16 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/mapper/auto/FaultrecordMapper.java
  11. 16 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/mapper/auto/MainrecordMapper.java
  12. 16 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/mapper/auto/ProjectMapper.java
  13. 48 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/model/auto/Equipmentmodel.java
  14. 58 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/model/auto/Faultrecord.java
  15. 52 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/model/auto/Mainrecord.java
  16. 53 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/model/auto/Project.java
  17. 8 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/model/auto/Shutdownevent.java
  18. 163 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/GhostService.java
  19. 16 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/IEquipmentmodelService.java
  20. 16 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/IFaultrecordService.java
  21. 16 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/IMainrecordService.java
  22. 16 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/IProjectService.java
  23. 20 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/impl/EquipmentmodelServiceImpl.java
  24. 20 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/impl/FaultrecordServiceImpl.java
  25. 20 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/impl/MainrecordServiceImpl.java
  26. 20 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/impl/ProjectServiceImpl.java
  27. 19 0
      web/gdsx-ghost/src/main/java/com/gyee/ghost/vo/FaultinputVo.java

+ 6 - 1
web/adapter-td-hb/pom.xml

@@ -33,10 +33,15 @@
             <artifactId>lombok</artifactId>
             <optional>true</optional>
         </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.taosdata.jdbc</groupId>-->
+<!--            <artifactId>taos-jdbcdriver</artifactId>-->
+<!--            <version>2.0.38</version>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>com.taosdata.jdbc</groupId>
             <artifactId>taos-jdbcdriver</artifactId>
-            <version>2.0.38</version>
+            <version>3.0.0</version>
         </dependency>
         <dependency>
             <groupId>com.oracle</groupId>

+ 10 - 6
web/adapter-td-hb/src/test/java/com/gyee/adapter/AdapterTest.java

@@ -1,6 +1,7 @@
 package com.gyee.adapter;
 
 import com.gyee.adapter.dao.TaosLatestDao;
+import com.taosdata.jdbc.TSDBDriver;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -9,7 +10,10 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 
 import javax.annotation.Resource;
+import java.sql.Connection;
+import java.sql.DriverManager;
 import java.sql.SQLException;
+import java.util.Properties;
 
 /**
  * @ClassName : AdapterTest
@@ -25,9 +29,9 @@ public class AdapterTest {
     private TaosLatestDao taosLatestDao;
     @Test
     public void test1() throws SQLException {
-        taosLatestDao.test1();
+//        taosLatestDao.test1();
 //        System.out.println(1);
-//        String jdbcUrl = "jdbc:TAOS://td1:6030/wisdom?user=root&password=taosdata";
+//        String jdbcUrl = "jdbc:TAOS://124.70.75.91:6030/wisdom?user=root&password=taosdata";
 //        Properties connProps = new Properties();
 //        connProps.setProperty(TSDBDriver.PROPERTY_KEY_CHARSET, "UTF-8");
 //        connProps.setProperty(TSDBDriver.PROPERTY_KEY_LOCALE, "en_US.UTF-8");
@@ -36,10 +40,10 @@ public class AdapterTest {
 //        System.out.println("Connected");
 //        conn.close();
 
-//        String jdbcUrl = "jdbc:TAOS-RS://td1:6041?user=root&password=taosdata";
-//        Connection conn = DriverManager.getConnection(jdbcUrl);
-//        System.out.println("Connected");
-//        conn.close();
+        String jdbcUrl = "jdbc:TAOS-RS://124.70.75.91:6041?user=root&password=taosdata";
+        Connection conn = DriverManager.getConnection(jdbcUrl);
+        System.out.println("Connected");
+        conn.close();
 
     }
 }

+ 20 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/controller/EquipmentmodelController.java

@@ -0,0 +1,20 @@
+package com.gyee.ghost.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+@RestController
+@RequestMapping("//equipmentmodel")
+public class EquipmentmodelController {
+
+}

+ 20 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/controller/FaultrecordController.java

@@ -0,0 +1,20 @@
+package com.gyee.ghost.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+@RestController
+@RequestMapping("//faultrecord")
+public class FaultrecordController {
+
+}

+ 20 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/controller/MainrecordController.java

@@ -0,0 +1,20 @@
+package com.gyee.ghost.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+@RestController
+@RequestMapping("//mainrecord")
+public class MainrecordController {
+
+}

+ 20 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/controller/ProjectController.java

@@ -0,0 +1,20 @@
+package com.gyee.ghost.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+@RestController
+@RequestMapping("//project")
+public class ProjectController {
+
+}

+ 190 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/controller/ghost/GhostController.java

@@ -8,6 +8,7 @@ import com.gyee.common.model.StringUtils;
 import com.gyee.ghost.init.CacheContext;
 import com.gyee.ghost.model.auto.*;
 import com.gyee.ghost.service.auto.GhostService;
+import com.gyee.ghost.vo.FaultinputVo;
 import com.gyee.ghost.vo.NatureVo;
 import com.gyee.ghost.vo.WindturbineVo;
 import org.springframework.web.bind.annotation.*;
@@ -174,5 +175,194 @@ public class GhostController {
 
 
 
+//    /**
+//     * 停机列表
+//     * 查询列表
+//     * @return
+//     */
+//    @GetMapping("/stoplist")
+//    @ResponseBody
+//    @CrossOrigin(origins = "*", maxAge = 3600)
+//    public R stoplist(@RequestParam(value = "wpid",required = true)String wpid,
+//                         @RequestParam(value = "wtid",required = true)String wtid,
+//                         @RequestParam(value = "stoptypeid",required = true)String stoptypeid,
+//                         @RequestParam(value = "begin",required = true)Long begin,
+//                       @RequestParam(value = "end",required = true)Long end,
+//                      @RequestParam(value = "type",required = true)Integer type) throws Exception {
+//        List<Shutdownevent> resultList = ghostService.stoplist(wpid,wtid,stoptypeid,begin,end,type);
+//        if (StringUtils.isNotNull(resultList)) {
+//            return R.ok((long) resultList.size()).data(resultList);
+//        }else{
+//            return R.error().message("访问失败");
+//        }
+//    }
+//
+//
+//    /**
+//     * 停机列表修改
+//     * 查询列表
+//     * @return
+//     */
+//    @PostMapping("/stopinput")
+//    @ResponseBody
+//    @CrossOrigin(origins = "*", maxAge = 3600)
+//    public R stopinput(@RequestBody Shutdownevent shutdownevent) throws Exception {
+//        boolean b = ghostService.stopinput(shutdownevent);
+//        if (StringUtils.isNotNull(b)) {
+//            return R.ok().data(b);
+//        }else{
+//            return R.error().message("访问失败");
+//        }
+//    }
+//
+//    /**
+//     * 停机列表删除
+//     * 查询列表
+//     * @return
+//     */
+//    @DeleteMapping("/stopremove")
+//    @ResponseBody
+//    @CrossOrigin(origins = "*", maxAge = 3600)
+//    public R stopremove(@RequestBody Shutdownevent shutdownevent) throws Exception {
+//        boolean b = ghostService.stopremove(shutdownevent);
+//        if (StringUtils.isNotNull(b)) {
+//            return R.ok().data(b);
+//        }else{
+//            return R.error().message("访问失败");
+//        }
+//    }
+
+    @GetMapping("/faultrecord")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R faultrecordlist(@RequestParam(value = "wpid",required = true)String wpid,
+                         @RequestParam(value = "wtid",required = true)String wtid,
+                         @RequestParam(value = "faulttype",required = true)String faulttype,
+                         @RequestParam(value = "begin",required = true)Long begin,
+                       @RequestParam(value = "end",required = true)Long end) throws Exception {
+        List<Faultrecord> resultList = ghostService.faultrecordlist(wpid,wtid,faulttype,begin,end);
+        if (StringUtils.isNotNull(resultList)) {
+            return R.ok((long) resultList.size()).data(resultList);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    @DeleteMapping("/faultrecord/{id}")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R faultrecordremove(@PathVariable("id") String id) throws Exception {
+        boolean b = ghostService.faultrecordremove(id);
+        if (StringUtils.isNotNull(b)) {
+            return R.ok().data(b);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    @PostMapping("/faultrecord")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R faultrecordadd(@RequestBody Faultrecord faultrecord) throws Exception {
+        boolean b = ghostService.faultrecordadd(faultrecord);
+        if (StringUtils.isNotNull(b)) {
+            return R.ok().data(b);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    @PutMapping("/faultrecord")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R faultrecordupdate(@RequestBody Faultrecord faultrecord) throws Exception {
+        boolean b = ghostService.faultrecordadd(faultrecord);
+        if (StringUtils.isNotNull(b)) {
+            return R.ok().data(b);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    @GetMapping("/faultrecord/{id}")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R faultrecordget(@PathVariable("id") String id) throws Exception {
+        Faultrecord faultrecord = ghostService.faultrecordget(id);
+        if (StringUtils.isNotNull(faultrecord)) {
+            return R.ok().data(faultrecord);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+
+
+    @GetMapping("/mainrecord")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R mainrecordlist(@RequestParam(value = "wpid",required = true)String wpid,
+                             @RequestParam(value = "wtid",required = true)String wtid,
+                             @RequestParam(value = "begin",required = true)Long begin,
+                             @RequestParam(value = "end",required = true)Long end) throws Exception {
+        List<Mainrecord> resultList = ghostService.mainrecordlist(wpid,wtid,begin,end);
+        if (StringUtils.isNotNull(resultList)) {
+            return R.ok((long) resultList.size()).data(resultList);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    @DeleteMapping("/mainrecord/{id}")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R mainrecordremove(@PathVariable("id") String id) throws Exception {
+        boolean b = ghostService.mainrecordremove(id);
+        if (StringUtils.isNotNull(b)) {
+            return R.ok().data(b);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    @PostMapping("/mainrecord")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R mainrecordadd(@RequestBody Mainrecord mainrecord) throws Exception {
+        boolean b = ghostService.mainrecordadd(mainrecord);
+        if (StringUtils.isNotNull(b)) {
+            return R.ok().data(b);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    @PutMapping("/mainrecord")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R mainrecordupdate(@RequestBody Mainrecord mainrecord) throws Exception {
+        boolean b = ghostService.mainrecordadd(mainrecord);
+        if (StringUtils.isNotNull(b)) {
+            return R.ok().data(b);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+    @GetMapping("/mainrecord/{id}")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R mainrecordget(@PathVariable("id") String id) throws Exception {
+        Mainrecord mainrecord = ghostService.mainrecordget(id);
+        if (StringUtils.isNotNull(mainrecord)) {
+            return R.ok().data(mainrecord);
+        }else{
+            return R.error().message("访问失败");
+        }
+    }
+
+
+
+
 
 }

+ 22 - 1
web/gdsx-ghost/src/main/java/com/gyee/ghost/init/CacheContext.java

@@ -27,9 +27,12 @@ import java.util.Map;
 public class CacheContext implements CommandLineRunner {
 
 
+
     @Resource
     private IWindturbineService windturbineService;
     @Resource
+    private IProjectService projectService;
+    @Resource
     private IWindpowerstationService windpowerstationService;
     @Resource
     private IStoptypeService stoptypeService;
@@ -37,25 +40,38 @@ public class CacheContext implements CommandLineRunner {
     private IWindturbinetestingpointaiService windturbinetestingpointaiService;
     @Resource
     private IFreedomService freedomService;
+    @Resource
+    private IEquipmentmodelService equipmentmodelService;
 
     public static List<Windturbine> wtls = new ArrayList<>();
     public static Map<String,Windturbine> wtmap = new HashMap<>();
-
+    public static Map<String,Project> promap = new HashMap<>();
+    public static Map<String,Windpowerstation> wpmap = new HashMap<>();
     public static List<Windpowerstation> wpls = new ArrayList<>();
     public static Map<String,String> stopmap = new HashMap<>();
 
     public static Map<String,Map<String, Windturbinetestingpointai>> wtpAimap = new HashMap();
+    public static Map<String,Double> wtcap = new HashMap();
 
 //    public static Map<String,String> freedomMap = new HashMap<>();
 
     @Override
     public void run(String... args) throws Exception {
+        List<Equipmentmodel> equipmentmodelList = equipmentmodelService.list();
+
         wtls = windturbineService.list();
         wtls.stream().forEach(wt->{
             wtmap.put(wt.getId(),wt);
+            Double powerproduction = equipmentmodelList.stream().filter(e -> e.getId().equals(wt.getModelid())).findFirst().get().getPowerproduction();
+            wtcap.put(wt.getId(),powerproduction);
         });
 
+
+
         wpls = windpowerstationService.list();
+        wpls.stream().forEach(windpowerstation -> {
+            wpmap.put(windpowerstation.getId(),windpowerstation);
+        });
 
         List<Stoptype> stoptypes = stoptypeService.list();
         stoptypes.forEach(stoptype -> {
@@ -78,6 +94,11 @@ public class CacheContext implements CommandLineRunner {
             }
         }
 
+        List<Project> projectList = projectService.list();
+        projectList.stream().forEach(project -> {
+            promap.put(project.getId(),project);
+        });
+
 //        List<Freedom> freedoms = freedomService.list();
 //        freedoms.stream().forEach(f->{
 //            freedomMap.put(f.getId(),f.getName());

+ 16 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/mapper/auto/EquipmentmodelMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.ghost.mapper.auto;
+
+import com.gyee.ghost.model.auto.Equipmentmodel;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+public interface EquipmentmodelMapper extends BaseMapper<Equipmentmodel> {
+
+}

+ 16 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/mapper/auto/FaultrecordMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.ghost.mapper.auto;
+
+import com.gyee.ghost.model.auto.Faultrecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+public interface FaultrecordMapper extends BaseMapper<Faultrecord> {
+
+}

+ 16 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/mapper/auto/MainrecordMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.ghost.mapper.auto;
+
+import com.gyee.ghost.model.auto.Mainrecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+public interface MainrecordMapper extends BaseMapper<Mainrecord> {
+
+}

+ 16 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/mapper/auto/ProjectMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.ghost.mapper.auto;
+
+import com.gyee.ghost.model.auto.Project;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+public interface ProjectMapper extends BaseMapper<Project> {
+
+}

+ 48 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/model/auto/Equipmentmodel.java

@@ -0,0 +1,48 @@
+package com.gyee.ghost.model.auto;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Equipmentmodel extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    private String id;
+
+    private String code;
+
+    private String name;
+
+    private String description;
+
+    private Double powerproduction;
+
+    private Double cutinwindspeed;
+
+    private Double ratedwindspeed;
+
+    private String cutoutwindspeed;
+
+    private String windturbinemanufacturerid;
+
+    private String photo;
+
+    private String unit;
+
+    private Double sweptarea;
+
+    private Double equipmentcategory;
+
+
+}

+ 58 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/model/auto/Faultrecord.java

@@ -0,0 +1,58 @@
+package com.gyee.ghost.model.auto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Faultrecord extends Model {
+
+    private static final long serialVersionUID = 1L;
+    @TableId(value = "id",type = IdType.INPUT)
+    private String id;
+
+    private String projectid;
+
+    private String projectname;
+
+    private String wpid;
+
+    private String wpname;
+
+    private String wtid;
+
+    private String wtname;
+
+    private Long begindate;
+
+    private Long enddate;
+
+    private String faulttype;
+
+    private String faultphenomenon;
+
+    private String defecteliminating;
+
+    private String processingresults;
+
+    private Double powerloss;
+
+    private Double faultduration;
+
+    private Double impactcapacity;
+
+    private String type;
+
+
+}

+ 52 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/model/auto/Mainrecord.java

@@ -0,0 +1,52 @@
+package com.gyee.ghost.model.auto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Mainrecord extends Model {
+
+    private static final long serialVersionUID = 1L;
+    @TableId(value = "id",type = IdType.INPUT)
+    private String id;
+
+    private String projectid;
+
+    private String projectname;
+
+    private String wpid;
+
+    private String wpname;
+
+    private String wtid;
+
+    private String wtname;
+
+    private Long begindate;
+
+    private Long enddate;
+
+    private String defecteliminating;
+
+    private Double powerloss;
+
+    private Double faultduration;
+
+    private Double impactcapacity;
+
+    private String type;
+
+
+}

+ 53 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/model/auto/Project.java

@@ -0,0 +1,53 @@
+package com.gyee.ghost.model.auto;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDate;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class Project extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    private String id;
+
+    private String code;
+
+    private String name;
+
+    private String aname;
+
+    private String windpowerstationid;
+
+    private Double capacity;
+
+    private String capacityunit;
+
+    private Double quantity;
+
+    private String model;
+
+    private Date commissiondate;
+
+    private String masterphone;
+
+    private String shiftforeman;
+
+    private String shiftforemanphone;
+
+    private Double ordernum;
+
+
+}

+ 8 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/model/auto/Shutdownevent.java

@@ -1,5 +1,6 @@
 package com.gyee.ghost.model.auto;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import java.util.Date;
 
@@ -58,5 +59,12 @@ public class Shutdownevent extends Model {
 
     private Integer warningrecordsid;
 
+//    @TableField(exist = false)
+//    private String windturbinename;
+//    @TableField(exist = false)
+//    private String projectname;
+//    @TableField(exist = false)
+//    private String windpowerstationname;
+
 
 }

+ 163 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/GhostService.java

@@ -18,6 +18,7 @@ import com.gyee.ghost.util.realtimesource.StringUtil;
 import com.gyee.ghost.vo.InitVo;
 import com.gyee.ghost.vo.NatureVo;
 import com.gyee.ghost.vo.WindturbineVo;
+import javafx.beans.binding.BooleanBinding;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator;
@@ -46,6 +47,10 @@ public class GhostService {
     private IEdosUtil edosUtil;
     @Resource
     private IFreedomService freedomService;
+    @Resource
+    private IFaultrecordService faultrecordService;
+    @Resource
+    private IMainrecordService mainrecordService;
     /**
      * 存储fanoperation运行分析表
      */
@@ -413,4 +418,162 @@ public class GhostService {
 
         return volist;
     }
+
+    public List<Faultrecord> faultrecordlist(String wpid, String wtid, String faulttype, Long begin, Long end) {
+        QueryWrapper<Faultrecord> qw = new QueryWrapper<>();
+
+        if (StringUtils.isNotEmpty(wpid)){
+            qw.eq("wpid",wpid);
+        }
+        if (StringUtils.isNotEmpty(wtid)){
+            qw.eq("wtid",wtid);
+        }
+        if (StringUtils.isNotEmpty(faulttype)){
+            qw.eq("faulttype",faulttype);
+        }
+        qw.ge("begindate",begin).le("enddate",end);
+        List<Faultrecord> faultrecordList = faultrecordService.list(qw);
+        return faultrecordList;
+    }
+
+    public boolean faultrecordremove(String id) {
+        boolean b = faultrecordService.removeById(id);
+        return b;
+    }
+
+    public boolean faultrecordadd(Faultrecord faultrecord) {
+        Map<String, Double> wtcap = CacheContext.wtcap;
+        Map<String, Windturbine> wtmap = CacheContext.wtmap;
+        Map<String, Project> promap = CacheContext.promap;
+        Map<String, Windpowerstation> wpmap = CacheContext.wpmap;
+        if (StringUtils.isNotEmpty(faultrecord.getId())){
+
+        }else {
+            faultrecord.setId(CommonUtils.getUUID());
+        }
+        faultrecord.setWtname(wtmap.get(faultrecord.getWtid()).getCode());
+        String projectid = wtmap.get(faultrecord.getWtid()).getProjectid();
+        String windpowerstationid = wtmap.get(faultrecord.getWtid()).getWindpowerstationid();
+        faultrecord.setProjectid(projectid);
+        faultrecord.setProjectname(promap.get(projectid).getName());
+        faultrecord.setWpid(windpowerstationid);
+        faultrecord.setWpname(wpmap.get(windpowerstationid).getName());
+        double hours = DateUtils.hoursDiff2(DateUtils.parseLongToDate(faultrecord.getBegindate()), DateUtils.parseLongToDate(faultrecord.getEnddate()));
+        faultrecord.setFaultduration(hours);
+        faultrecord.setImpactcapacity(hours * wtcap.get(faultrecord.getWtid()));
+        boolean b = faultrecordService.saveOrUpdate(faultrecord);
+
+        return b;
+
+    }
+
+    public Faultrecord faultrecordget(String id) {
+        Faultrecord faultrecord = faultrecordService.getById(id);
+        return faultrecord;
+    }
+
+
+
+
+
+    public List<Mainrecord> mainrecordlist(String wpid, String wtid,  Long begin, Long end) {
+        QueryWrapper<Mainrecord> qw = new QueryWrapper<>();
+
+        if (StringUtils.isNotEmpty(wpid)){
+            qw.eq("wpid",wpid);
+        }
+        if (StringUtils.isNotEmpty(wtid)){
+            qw.eq("wtid",wtid);
+        }
+
+        qw.ge("begindate",begin).le("enddate",end);
+        List<Mainrecord> mainrecordList = mainrecordService.list(qw);
+        return mainrecordList;
+    }
+
+    public boolean mainrecordremove(String id) {
+        boolean b = mainrecordService.removeById(id);
+        return b;
+    }
+
+    public boolean mainrecordadd(Mainrecord mainrecord) {
+        Map<String, Double> wtcap = CacheContext.wtcap;
+        Map<String, Windturbine> wtmap = CacheContext.wtmap;
+        Map<String, Project> promap = CacheContext.promap;
+        Map<String, Windpowerstation> wpmap = CacheContext.wpmap;
+        if (StringUtils.isNotEmpty(mainrecord.getId())){
+
+        }else {
+            mainrecord.setId(CommonUtils.getUUID());
+        }
+        mainrecord.setWtname(wtmap.get(mainrecord.getWtid()).getCode());
+        String projectid = wtmap.get(mainrecord.getWtid()).getProjectid();
+        String windpowerstationid = wtmap.get(mainrecord.getWtid()).getWindpowerstationid();
+        mainrecord.setProjectid(projectid);
+        mainrecord.setProjectname(promap.get(projectid).getName());
+        mainrecord.setWpid(windpowerstationid);
+        mainrecord.setWpname(wpmap.get(windpowerstationid).getName());
+        double hours = DateUtils.hoursDiff2(DateUtils.parseLongToDate(mainrecord.getBegindate()), DateUtils.parseLongToDate(mainrecord.getEnddate()));
+        mainrecord.setFaultduration(hours);
+        mainrecord.setImpactcapacity(hours * wtcap.get(mainrecord.getWtid()));
+        boolean b = mainrecordService.saveOrUpdate(mainrecord);
+
+        return b;
+
+    }
+
+    public Mainrecord mainrecordget(String id) {
+        Mainrecord mainrecord = mainrecordService.getById(id);
+        return mainrecord;
+    }
+
+
+//    public List<Shutdownevent> stoplist(String wpid, String wtid, String stoptypeid, Long begin, Long end, Integer type) {
+//        Date begindate = DateUtils.parseLongToDate(begin);
+//        Date enddate = DateUtils.parseLongToDate(end);
+//        Map<String, Windturbine> wtmap = CacheContext.wtmap;
+//        Map<String, Project> promap = CacheContext.promap;
+//        Map<String, Windpowerstation> wpmap = CacheContext.wpmap;
+//        QueryWrapper<Shutdownevent> qw = new QueryWrapper<>();
+//        if (StringUtils.isNotEmpty(wpid)){
+//            qw.eq("windpowerstationid",wpid);
+//        }
+//        if (StringUtils.isNotEmpty(wtid)){
+//            qw.eq("windturbineid",wtid);
+//        }
+//        if (StringUtils.isNotEmpty(stoptypeid)){
+//            qw.eq("stoptypeid",stoptypeid);
+//        }
+//        qw.ge("stoptime",begindate).le("stoptime",enddate);
+//        qw.eq("statuscode",type);
+//        List<Shutdownevent> shutdowneventList = shutdowneventService.list(qw);
+//        shutdowneventList.forEach(s->{
+//            s.setWindturbinename(wtmap.get(s.getWindturbineid()).getCode());
+//            s.setProjectname(promap.get(s.getProjectid()).getName());
+//            s.setWindpowerstationname(wpmap.get(s.getWindpowerstationid()).getName());
+//        });
+//        return shutdowneventList;
+//
+//
+//    }
+//
+//    public boolean stopinput(Shutdownevent shutdownevent) {
+//        boolean b = false;
+//        Map<String, Windturbine> wtmap = CacheContext.wtmap;
+//        if (StringUtils.isNotEmpty(shutdownevent.getId())){
+//            b = shutdowneventService.saveOrUpdate(shutdownevent);
+//        }else {
+//            shutdownevent.setId(CommonUtils.getUUID());
+//            shutdownevent.setWindpowerstationid(wtmap.get(shutdownevent.getWindturbineid()).getWindpowerstationid());
+//            shutdownevent.setProjectid(wtmap.get(shutdownevent.getWindturbineid()).getProjectid());
+//            b = shutdowneventService.save(shutdownevent);
+//        }
+//        return b;
+//    }
+//
+//    public boolean stopremove(Shutdownevent shutdownevent) {
+//        QueryWrapper<Shutdownevent> qw = new QueryWrapper<>();
+//        qw.eq("id",shutdownevent.getId());
+//        return shutdowneventService.remove(qw);
+//    }
 }

+ 16 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/IEquipmentmodelService.java

@@ -0,0 +1,16 @@
+package com.gyee.ghost.service.auto;
+
+import com.gyee.ghost.model.auto.Equipmentmodel;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+public interface IEquipmentmodelService extends IService<Equipmentmodel> {
+
+}

+ 16 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/IFaultrecordService.java

@@ -0,0 +1,16 @@
+package com.gyee.ghost.service.auto;
+
+import com.gyee.ghost.model.auto.Faultrecord;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+public interface IFaultrecordService extends IService<Faultrecord> {
+
+}

+ 16 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/IMainrecordService.java

@@ -0,0 +1,16 @@
+package com.gyee.ghost.service.auto;
+
+import com.gyee.ghost.model.auto.Mainrecord;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+public interface IMainrecordService extends IService<Mainrecord> {
+
+}

+ 16 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/IProjectService.java

@@ -0,0 +1,16 @@
+package com.gyee.ghost.service.auto;
+
+import com.gyee.ghost.model.auto.Project;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+public interface IProjectService extends IService<Project> {
+
+}

+ 20 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/impl/EquipmentmodelServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.ghost.service.auto.impl;
+
+import com.gyee.ghost.model.auto.Equipmentmodel;
+import com.gyee.ghost.mapper.auto.EquipmentmodelMapper;
+import com.gyee.ghost.service.auto.IEquipmentmodelService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+@Service
+public class EquipmentmodelServiceImpl extends ServiceImpl<EquipmentmodelMapper, Equipmentmodel> implements IEquipmentmodelService {
+
+}

+ 20 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/impl/FaultrecordServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.ghost.service.auto.impl;
+
+import com.gyee.ghost.model.auto.Faultrecord;
+import com.gyee.ghost.mapper.auto.FaultrecordMapper;
+import com.gyee.ghost.service.auto.IFaultrecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+@Service
+public class FaultrecordServiceImpl extends ServiceImpl<FaultrecordMapper, Faultrecord> implements IFaultrecordService {
+
+}

+ 20 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/impl/MainrecordServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.ghost.service.auto.impl;
+
+import com.gyee.ghost.model.auto.Mainrecord;
+import com.gyee.ghost.mapper.auto.MainrecordMapper;
+import com.gyee.ghost.service.auto.IMainrecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+@Service
+public class MainrecordServiceImpl extends ServiceImpl<MainrecordMapper, Mainrecord> implements IMainrecordService {
+
+}

+ 20 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/service/auto/impl/ProjectServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.ghost.service.auto.impl;
+
+import com.gyee.ghost.model.auto.Project;
+import com.gyee.ghost.mapper.auto.ProjectMapper;
+import com.gyee.ghost.service.auto.IProjectService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 谢生杰
+ * @since 2022-08-29
+ */
+@Service
+public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements IProjectService {
+
+}

+ 19 - 0
web/gdsx-ghost/src/main/java/com/gyee/ghost/vo/FaultinputVo.java

@@ -0,0 +1,19 @@
+package com.gyee.ghost.vo;/*
+@author   谢生杰
+@date   2022/8/29-8:40
+*/
+
+import lombok.Data;
+
+import java.io.Serializable;
+@Data
+public class FaultinputVo implements Serializable {
+
+    private String projectname;
+    private String wpname;
+    private String wtcode;
+    private Long begin;
+    private Long end;
+
+
+}