Jelajahi Sumber

新增公司层级查询

wangb 2 tahun lalu
induk
melakukan
aaccd80304

+ 72 - 0
web/backmanagerconfig/src/main/java/com/gyee/backconfig/config/CacheContext.java

@@ -0,0 +1,72 @@
+package com.gyee.backconfig.config;
+
+
+
+import com.gyee.backconfig.model.auto.Companys;
+import com.gyee.backconfig.model.auto.Project;
+import com.gyee.backconfig.model.auto.Windpowerstation;
+import com.gyee.backconfig.service.auto.ICompanysService;
+import com.gyee.backconfig.service.auto.ILineService;
+import com.gyee.backconfig.service.auto.IProjectService;
+import com.gyee.backconfig.service.auto.IWindpowerstationService;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * @ClassName : CacheContext
+ * @Author : wang
+ * @Date: 2022/9/26 9:35
+ * @Description : 缓存
+ */
+@Component
+public class CacheContext implements CommandLineRunner {
+
+
+    @Resource
+    private ICompanysService companysService;
+    @Resource
+    private IWindpowerstationService windpowerstationService;
+    @Resource
+    private IProjectService projectService;
+    @Resource
+    private ILineService lineService;
+
+    public static Map<String, Project> promap = new HashMap<>();
+    public static List<Project> prols = new ArrayList<>();
+    public static Map<String,Windpowerstation> wpmap = new HashMap<>();
+    public static List<Windpowerstation> wpls = new ArrayList<>();
+    public static Map<String, Companys> cpmap = new HashMap<>();
+    public static List<com.gyee.backconfig.model.auto.Companys> cpls = new ArrayList<>();
+    @Override
+    public void run(String... args) throws Exception {
+
+        cpls = companysService.list();
+        cpls.stream().forEach(Companys -> {
+            cpmap.put(Companys.getId(),Companys);
+        });
+
+        wpls = windpowerstationService.list();
+        wpls.stream().forEach(windpowerstation -> {
+            wpmap.put(windpowerstation.getId(),windpowerstation);
+        });
+
+        prols = projectService.list();
+        prols.stream().forEach(Project -> {
+            promap.put(Project.getWindpowerstationid(),Project);
+        });
+
+
+        List<Project> projectList = projectService.list();
+        projectList.stream().forEach(project -> {
+            promap.put(project.getId(),project);
+        });
+
+    }
+}

+ 47 - 0
web/backmanagerconfig/src/main/java/com/gyee/backconfig/controller/BackController.java

@@ -0,0 +1,47 @@
+package com.gyee.backconfig.controller;
+
+
+import com.gyee.backconfig.config.R;
+import com.gyee.backconfig.model.auto.Companys;
+import com.gyee.backconfig.service.BackConfigService;
+import com.gyee.backconfig.vo.Companysvo;
+import com.gyee.backconfig.vo.Projectvo;
+import com.gyee.backconfig.vo.Windpowerstationvo;
+import com.gyee.common.model.StringUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author wang
+ * @since 2022-09-26
+ */
+@RestController
+@RequestMapping("//back")
+public class BackController {
+    @Resource
+    private BackConfigService backConfigService;
+
+    /**
+     * 单机自主分析
+     * 风机列表
+     *
+     * @return
+     */
+    @GetMapping("/wtls")
+    @ResponseBody
+    @CrossOrigin(origins = "*", maxAge = 3600)
+    public R wtls() {
+        List<Companys> resultList = backConfigService.wtls();
+        if (StringUtils.isNotNull(resultList)) {
+            return com.gyee.backconfig.config.R.ok((int) resultList.size()).data(resultList);
+        } else {
+            return R.error().message("访问失败");
+        }
+    }
+}

+ 8 - 3
web/backmanagerconfig/src/main/java/com/gyee/backconfig/model/auto/Companys.java

@@ -1,14 +1,18 @@
 package com.gyee.backconfig.model.auto;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
- * 
+ *
  * </p>
  *
  * @author wang
@@ -19,12 +23,13 @@ import lombok.EqualsAndHashCode;
 public class Companys extends Model {
 
     private static final long serialVersionUID = 1L;
-    @TableId(value = "ID",type = IdType.INPUT)
+    @TableId(value = "ID", type = IdType.INPUT)
     private String id;
 
     private String name;
 
     private String rid;
-
+    @TableField(exist = false)
+    private List<Windpowerstation> Children = new ArrayList<>();
 
 }

+ 1 - 0
web/backmanagerconfig/src/main/java/com/gyee/backconfig/model/auto/Project.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import java.time.LocalDate;
 import java.util.Date;
+import java.util.List;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;

+ 6 - 1
web/backmanagerconfig/src/main/java/com/gyee/backconfig/model/auto/Windpowerstation.java

@@ -1,10 +1,14 @@
 package com.gyee.backconfig.model.auto;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  * 
@@ -59,5 +63,6 @@ public class Windpowerstation extends Model {
 
     private Integer height;
 
-
+    @TableField(exist = false)
+    private List<Project> Children = new ArrayList<>();
 }

+ 89 - 4
web/backmanagerconfig/src/main/java/com/gyee/backconfig/service/BackConfigService.java

@@ -4,6 +4,7 @@ package com.gyee.backconfig.service;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gyee.backconfig.common.requst.vo.ProjectPlanQueryVo;
+import com.gyee.backconfig.config.CacheContext;
 import com.gyee.backconfig.model.auto.*;
 import com.gyee.backconfig.service.auto.*;
 import com.gyee.backconfig.vo.Companysvo;
@@ -14,9 +15,10 @@ import com.gyee.common.model.StringUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.Currency;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.gyee.backconfig.config.CacheContext.wpls;
 
 /**
  * @author 50560
@@ -41,6 +43,7 @@ public class BackConfigService {
      * @param
      * @return
      */
+    //返回所有
     public List<XrpProjectplan> backConfigList() {
         List<XrpProjectplan> xrpProjectplanList = xrpProjectplanService.list();
 
@@ -69,7 +72,7 @@ public class BackConfigService {
 
     //增加
 
-    //分页查询
+    //XrpProjectplan分页查询
 
     public Page<XrpProjectplan> listBypage(ProjectPlanQueryVo vo) {
         Page<XrpProjectplan> page = new Page<XrpProjectplan>(vo.getCurrent(), vo.getPageSize());
@@ -386,4 +389,86 @@ public class BackConfigService {
         Page<Companys> page1 = companysService.page(page, queryWrapper);
         return page1;
     }
+    public List<Companys> wtls() {
+
+        List<Companys> cpls = CacheContext.cpls;
+
+        if(cpls.get(0).getChildren().size()>0) return cpls;
+
+        List<Windpowerstation> wpls = CacheContext.wpls;
+        List<Project> prols= CacheContext.prols;
+
+            cpls.forEach(cpl -> {
+                List<Windpowerstation> collect = wpls.stream().filter(w -> w.getCompanyid().equals(cpl.getId())).collect(Collectors.toList());
+                cpl.getChildren().addAll(collect);
+            });
+
+            wpls.forEach(wpl -> {
+                List<Project> projects = prols.stream().filter(l -> l.getWindpowerstationid().equals(wpl.getId())).collect(Collectors.toList());
+                wpl.getChildren().addAll(projects);
+            });
+//        prols.forEach(wp->{
+//            wpls.stream().filter(pr ->pr.getId().equals(wp.getWindpowerstationid())).collect(Collectors.toList());
+////            Companys.get(0).getData2().add(wp);
+//        });
+//        //返回结果为期次在上面,场站在下面
+////        prols.stream().forEach(cp->{
+////            Windpowerstationvo vo = new Windpowerstationvo();
+////            vo.setId(cp.getId());
+////            vo.setCode(cp.getName());
+////
+////            List<Windpowerstation> wt = wpls.stream().filter(wt1 ->wt1.getId().equals(cp.getWindpowerstationid())).collect(Collectors.toList());
+////                vo.setData(wt);
+////                wtlist.add(vo);
+////        });
+//        //返回结果为场站在上面,期次在下面,但是公司表setdata需要为vo
+//        wpls.forEach(wp->{
+//            //Projectvo vo = new Projectvo();
+//            /*Windpowerstationvo vo = new Windpowerstationvo();
+//            vo.setId(wp.getId());
+//            List<Projectvo> Project = prols.stream().filter(wt -> wt.getWindpowerstationid().equals(wp.getId())).collect(Collectors.toList());
+//            vo.setData(Project);
+//
+//            vo.setId(wp.getId());
+//            vo.setCode(wp.getName());
+//            List<Project> Project = prols.stream().filter(wt -> wt.getWindpowerstationid().equals(wp.getId())).collect(Collectors.toList());
+//            vo.setData(Project);
+//            volist.add(vo);*/
+//            cpls.stream().filter(ct ->ct.getId().equals(wp.getCompanyid())).collect(Collectors.toList());
+//            Companysvo vo = new Companysvo();
+//            vo.setId(Companys.get(0).getId());
+//            vo.setName(Companys.get(0).getName());
+//            vo.setRid(Companys.get(0).getRid());
+//            vo.getData1().add(wp);
+//            colist.add(vo);
+//        });
+
+
+//        cpls.stream().forEach(cpl->{
+//            Projectvo vo = new Projectvo();
+//            vo.setWindpowerstationid(cpl.getId());
+//
+//         List<Projectvo> cc = volist.stream().filter((wt2 ->wt2.getWindpowerstationid().equals(cpl.getId()))).collect(Collectors.toList());
+//            vo.setData(cc);
+//            volist.add(vo);
+//        });
+//
+//        volist.stream().forEach(vol->{
+//            Companysvo vo = new Companysvo();
+//            vo.setId(vol.get());
+//            List<Companys> Companys = cpls.stream().filter(ct ->ct.getId().equals(vol.getWindpowerstationid())).collect(Collectors.toList());
+//            vo.setData(Companys);
+//            colist.add(vo);
+//        });
+//
+//        cpls.stream().forEach(wp->{
+//            Companysvo vo = new Companysvo();
+//
+////            vo.setId(wp.getCompanyid());
+//            List<Windpowerstationvo> Companys = wtlist.stream().filter(wt -> wt.getCompanyid().equals(wp.getId())).collect(Collectors.toList());
+//            vo.setData(Companys);
+//            colist.add(vo);
+//        });
+        return cpls;
+    }
 }

+ 2 - 2
web/backmanagerconfig/src/main/java/com/gyee/backconfig/service/auto/ICompanysService.java

@@ -15,5 +15,5 @@ import java.util.List;
  */
 public interface ICompanysService extends IService<Companys> {
 
-    List<Companys> list(String id, String name, String pageNum, String pageSize);
-}
+ List<Companys> list(String id, String name, String pageNum, String pageSize);
+}

+ 1 - 1
web/backmanagerconfig/src/main/java/com/gyee/backconfig/service/auto/impl/CompanysServiceImpl.java

@@ -37,4 +37,4 @@ public class CompanysServiceImpl extends ServiceImpl<CompanysMapper, Companys> i
         List<Companys> list = companysPage.getRecords();
         return list;
     }
-}
+}

+ 5 - 1
web/backmanagerconfig/src/main/java/com/gyee/backconfig/vo/Projectvo.java

@@ -1,7 +1,10 @@
 package com.gyee.backconfig.vo;
+import com.gyee.backconfig.model.auto.Project;
 import lombok.Data;
 
 import java.util.Date;
+import java.util.List;
+
 /**
  * <p>
  *
@@ -46,5 +49,6 @@ public class Projectvo {
     private Integer current;
 
     private Integer pageSize;
-
+    private List<Project> data;
+    private List<Projectvo> data1;
 }

+ 3 - 2
web/backmanagerconfig/src/main/java/com/gyee/backconfig/vo/Windpowerstationvo.java

@@ -1,8 +1,9 @@
 package com.gyee.backconfig.vo;
 
+import com.gyee.backconfig.model.auto.Windpowerstation;
 import lombok.Data;
 
-import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * <p>
@@ -59,5 +60,5 @@ public class Windpowerstationvo {
     private Integer current;
 
     private Integer pagesize;
-
+    private List<Projectvo> data;
 }