소스 검색

风机信息crud

hxf 1 년 전
부모
커밋
3dc1003cc3

+ 43 - 0
neim-biz/src/main/java/com/jiayue/biz/controller/FengJiInfoController.java

@@ -2,6 +2,7 @@ package com.jiayue.biz.controller;
 
 import com.jiayue.biz.domain.ProjectInfo;
 import com.jiayue.biz.domain.StationInfo;
+import com.jiayue.biz.dto.FanTowerDto;
 import com.jiayue.biz.service.*;
 
 import com.jiayue.common.core.controller.BaseController;
@@ -29,6 +30,7 @@ public class FengJiInfoController extends BaseController {
     private final FengJiInfoService fengJiInfoService;
     private final ProjectInfoService projectInfoService;
     private final StationInfoService stationInfoService;
+
     /**
      * 项目进展获取项目名称+id
      */
@@ -61,6 +63,7 @@ public class FengJiInfoController extends BaseController {
         }
         return AjaxResult.success(list);
     }
+
     /**
      * 查询项目风机
      */
@@ -68,6 +71,7 @@ public class FengJiInfoController extends BaseController {
     public AjaxResult getFanTowerForProject(String id) {
         return AjaxResult.success(fengJiInfoService.getFanTowerForProject(id));
     }
+
     /**
      * 查询场站风机
      */
@@ -76,4 +80,43 @@ public class FengJiInfoController extends BaseController {
         return AjaxResult.success(fengJiInfoService.getFanTowerForStation(id));
     }
 
+    //更新项目风机
+    @PutMapping("/updateFanTowerForProjectInfo")
+    public void updateFanTowerForProjectInfo(@RequestBody FanTowerDto fanTowerDto) {
+        fengJiInfoService.updateFanTowerForProjectInfo(fanTowerDto);
+    }
+
+    //更新场站风机
+    @PutMapping("/updateFanTowerForStationInfo")
+    public void updateFanTowerForStationInfo(@RequestBody FanTowerDto fanTowerDto) {
+        fengJiInfoService.updateFanTowerForStationInfo(fanTowerDto);
+    }
+
+    //新增项目风机
+    @PostMapping("/saveFanTowerForProjectInfo")
+    public void saveFanTowerForProjectInfo(@RequestBody FanTowerDto fanTowerDto) {
+        fengJiInfoService.saveFanTowerForProjectInfo(fanTowerDto);
+    }
+
+    //新增场站风机
+    @PostMapping("/saveFanTowerForStationInfo")
+    public void saveFanTowerForStationInfo(@RequestBody FanTowerDto fanTowerDto) {
+        fengJiInfoService.saveFanTowerForStationInfo(fanTowerDto);
+    }
+
+    //删除项目风机
+    @DeleteMapping("/deleteFanTowerForProjectInfo")
+    public void deleteFanTowerForProjectInfo(@RequestBody FanTowerDto fanTowerDto) {
+        fengJiInfoService.deleteFanTowerForProjectInfo(fanTowerDto);
+    }
+
+    //删除场站风机
+    @DeleteMapping("/deleteFanTowerForStationInfo")
+    public void deleteFanTowerForStationInfo(@RequestBody FanTowerDto fanTowerDto) {
+        fengJiInfoService.deleteFanTowerForStationInfo(fanTowerDto);
+    }
+
+
+
+
 }

+ 26 - 0
neim-biz/src/main/java/com/jiayue/biz/service/FengJiInfoService.java

@@ -1,12 +1,16 @@
 package com.jiayue.biz.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.jiayue.biz.domain.FanTower;
+import com.jiayue.biz.domain.ProjectInfo;
 import com.jiayue.biz.domain.ProvincialEnergyStations;
 import com.jiayue.biz.domain.WindTowerDataParentTable;
 import com.jiayue.biz.dto.FanTowerDto;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 风机信息Service接口
@@ -23,4 +27,26 @@ public interface FengJiInfoService extends IService<WindTowerDataParentTable> {
     //查询场站风机
     List<FanTowerDto> getFanTowerForStation(String id);
 
+    //项目风机更新
+    void updateFanTowerForProjectInfo(FanTowerDto fanTowerDto);
+
+
+    //场站风机更新
+    void updateFanTowerForStationInfo(FanTowerDto fanTowerDto);
+
+    //项目新增风机信息
+    void saveFanTowerForProjectInfo(FanTowerDto fanTowerDto);
+
+    //场站新增风机信息
+    void saveFanTowerForStationInfo(FanTowerDto fanTowerDto);
+
+
+    //项目删除风机信息
+    void deleteFanTowerForProjectInfo(FanTowerDto fanTowerDto);
+
+
+    //场站删除风机信息
+    void deleteFanTowerForStationInfo(FanTowerDto fanTowerDto);
+
+
 }

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

@@ -6,6 +6,9 @@ import java.util.List;
 
 public interface ProjectInfoService {
 
+    //保存
+    void saveProjectInfo(ProjectInfo projectInfo);
+
     //查询项目信息
     List<ProjectInfo> getProjectInfoList();
     //根据id查询

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

@@ -6,6 +6,8 @@ import com.jiayue.biz.dto.StationInfoDto;
 import java.util.List;
 
 public interface StationInfoService {
+    //新增场站信息(save)
+    void saveStation(StationInfo stationInfo);
     //查询场站信息
     List<StationInfo> selectStationInfo();
     // 根据id查询场站信息

+ 90 - 0
neim-biz/src/main/java/com/jiayue/biz/service/impl/FengJiInfoServiceImpl.java

@@ -13,6 +13,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 风机信息Service业务层处理
@@ -99,6 +100,86 @@ public class FengJiInfoServiceImpl extends ServiceImpl<WindTowerDataParentTableM
 
     }
 
+    //项目风机更新
+    public void updateFanTowerForProjectInfo(FanTowerDto fanTowerDto){
+        ProjectInfo projectInfoById = projectInfoService.getOneProjectInfoById(fanTowerDto.getId());
+        List<FanTower> fanTowerList = projectInfoById.getFanTowerList().stream().peek(s -> {
+            if (s.getId().equals(fanTowerDto.getFanId())) {
+                this.getFanTower(fanTowerDto, s);
+            }
+        }).collect(Collectors.toList());
+        projectInfoById.setFanTowerList(fanTowerList);
+        projectInfoService.saveProjectInfo(projectInfoById);
+    }
+
+
+    //场站风机更新
+    public void updateFanTowerForStationInfo(FanTowerDto fanTowerDto){
+        StationInfo oneStationInfo = stationInfoService.getOneStationInfo(fanTowerDto.getId());
+        List<FanTower> fanTowerList = oneStationInfo.getFanTowerList().stream().peek(s -> {
+            if (s.getId().equals(fanTowerDto.getFanId())) {
+                this.getFanTower(fanTowerDto, s);
+            }
+        }).collect(Collectors.toList());
+
+        oneStationInfo.setFanTowerList(fanTowerList);
+        stationInfoService.saveStation(oneStationInfo);
+    }
+
+    //项目新增风机信息
+    public void saveFanTowerForProjectInfo(FanTowerDto fanTowerDto){
+        ProjectInfo projectInfoById = projectInfoService.getOneProjectInfoById(fanTowerDto.getId());
+        if(projectInfoById.getFanTowerList() == null){
+            projectInfoById.setFanTowerList(new ArrayList<>());
+        }
+        FanTower fanTower = new FanTower();
+        this.getFanTower(fanTowerDto, fanTower);
+        projectInfoById.getFanTowerList().add(fanTower);
+        projectInfoService.saveProjectInfo(projectInfoById);
+
+
+    }
+    //场站新增风机信息
+    public void saveFanTowerForStationInfo(FanTowerDto fanTowerDto){
+        StationInfo oneStationInfo = stationInfoService.getOneStationInfo(fanTowerDto.getId());
+        if(oneStationInfo.getFanTowerList() == null){
+            oneStationInfo.setFanTowerList(new ArrayList<>());
+        }
+        FanTower fanTower = new FanTower();
+        this.getFanTower(fanTowerDto, fanTower);
+        oneStationInfo.getFanTowerList().add(fanTower);
+        stationInfoService.saveStation(oneStationInfo);
+
+
+    }
+
+    //项目删除风机信息
+    public void deleteFanTowerForProjectInfo(FanTowerDto fanTowerDto){
+        ProjectInfo projectInfoById = projectInfoService.getOneProjectInfoById(fanTowerDto.getId());
+        List<FanTower> fanTowerList = projectInfoById.getFanTowerList().stream().peek(s -> {
+            if (s.getId().equals(fanTowerDto.getFanId())) {
+                projectInfoById.getFanTowerList().remove(s);
+            }
+        }).collect(Collectors.toList());
+        projectInfoById.setFanTowerList(fanTowerList);
+        projectInfoService.saveProjectInfo(projectInfoById);
+    }
+
+
+    //场站删除风机信息
+    public void deleteFanTowerForStationInfo(FanTowerDto fanTowerDto){
+        StationInfo oneStationInfo = stationInfoService.getOneStationInfo(fanTowerDto.getId());
+        List<FanTower> fanTowerList = oneStationInfo.getFanTowerList().stream().peek(s -> {
+            if (s.getId().equals(fanTowerDto.getFanId())) {
+                oneStationInfo.getFanTowerList().remove(s);
+            }
+        }).collect(Collectors.toList());
+
+        oneStationInfo.setFanTowerList(fanTowerList);
+        stationInfoService.saveStation(oneStationInfo);
+    }
+
+
     //组装风机信息
     public void getFanTowerDto(FanTowerDto fanTowerDto, FanTower fanTower) {
         fanTowerDto.setFanId(fanTower.getId());
@@ -108,6 +189,15 @@ public class FengJiInfoServiceImpl extends ServiceImpl<WindTowerDataParentTableM
         fanTowerDto.setLongitudeFan(fanTower.getLongitudeFan());
         fanTowerDto.setHubHeight(fanTower.getHubHeight());
     }
+    //重组组风机信息
+    public void getFanTower(FanTowerDto fanTowerDto, FanTower fanTower) {
+        fanTower.setId(fanTowerDto.getFanId());
+        fanTower.setFanModel(fanTowerDto.getFanModel());
+        fanTower.setFanName(fanTowerDto.getFanName());
+        fanTower.setLatitudeFan(fanTowerDto.getLatitudeFan());
+        fanTower.setLongitudeFan(fanTowerDto.getLongitudeFan());
+        fanTower.setHubHeight(fanTowerDto.getHubHeight());
+    }
 
 
 }

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

@@ -15,6 +15,13 @@ import java.util.List;
 public class ProjectInfoServiceImpl implements ProjectInfoService {
 
     private final MongoTemplate mongoTemplate;
+
+    //保存
+    public void saveProjectInfo(ProjectInfo projectInfo){
+        mongoTemplate.save(projectInfo);
+
+    }
+
     //查询所有项目信息
     public List<ProjectInfo> getProjectInfoList(){
         return mongoTemplate.find(new Query(),ProjectInfo.class,"project_info");