123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- package com.jiayue.biz.service.impl;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.jiayue.biz.domain.*;
- import com.jiayue.biz.dto.FanTowerDto;
- import com.jiayue.biz.mapper.WindTowerDataParentTableMapper;
- import com.jiayue.biz.service.*;
- import lombok.AllArgsConstructor;
- import org.springframework.data.mongodb.core.MongoTemplate;
- import org.springframework.stereotype.Service;
- import java.util.*;
- import java.util.stream.Collectors;
- /**
- * 风机信息Service业务层处理
- *
- * @author L.ym
- * @date 2022-05-11
- */
- @Service
- @AllArgsConstructor
- public class FengJiInfoServiceImpl extends ServiceImpl<WindTowerDataParentTableMapper, WindTowerDataParentTable> implements FengJiInfoService {
- private final ProjectInfoService projectInfoService;
- private final StationInfoService stationInfoService;
- //查询项目风机
- public List<FanTowerDto> getFanTowerForProject(String id) {
- List<ProjectInfo> projectInfoList = new ArrayList<>();
- if (id.equals("")) {
- projectInfoList = projectInfoService.getProjectInfoList();
- } else {
- projectInfoList.add(projectInfoService.getOneProjectInfoById(id));
- }
- ArrayList<FanTowerDto> list = new ArrayList<>();
- for (ProjectInfo projectInfo : projectInfoList) {
- if (projectInfo.getFanTowerList() != null) {
- for (FanTower fanTower : projectInfo.getFanTowerList()) {
- FanTowerDto fanTowerDto = new FanTowerDto();
- fanTowerDto.setId(projectInfo.getId());
- if (projectInfo.getProjectBasicInfo() != null) {
- fanTowerDto.setName(projectInfo.getProjectBasicInfo().getProjectNameEasy());
- }
- this.getFanTowerDto(fanTowerDto, fanTower);
- list.add(fanTowerDto);
- }
- } else {
- FanTowerDto fanTowerDto = new FanTowerDto();
- fanTowerDto.setId(projectInfo.getId());
- if (projectInfo.getProjectBasicInfo() != null) {
- fanTowerDto.setName(projectInfo.getProjectBasicInfo().getProjectNameEasy());
- }
- list.add(fanTowerDto);
- }
- }
- return list;
- }
- //查询场站风机
- public List<FanTowerDto> getFanTowerForStation(String id) {
- List<StationInfo> stationInfos = new ArrayList<>();
- if (id.equals("")) {
- stationInfos = stationInfoService.selectStationInfo();
- } else {
- stationInfos.add(stationInfoService.getOneStationInfo(id));
- }
- ArrayList<FanTowerDto> list = new ArrayList<>();
- for (StationInfo stationInfo : stationInfos) {
- if (stationInfo.getFanTowerList() != null) {
- for (FanTower fanTower : stationInfo.getFanTowerList()) {
- FanTowerDto fanTowerDto = new FanTowerDto();
- fanTowerDto.setId(stationInfo.getId());
- if (stationInfo.getStationBasicInfo() != null) {
- fanTowerDto.setName(stationInfo.getStationBasicInfo().getStationName());
- }
- this.getFanTowerDto(fanTowerDto, fanTower);
- list.add(fanTowerDto);
- }
- } else {
- if (stationInfo.getStationBasicInfo() != null) {
- FanTowerDto fanTowerDto = new FanTowerDto();
- fanTowerDto.setId(stationInfo.getId());
- fanTowerDto.setName(stationInfo.getStationBasicInfo().getStationName());
- list.add(fanTowerDto);
- }
- }
- }
- return list;
- }
- //项目风机更新
- 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().filter(s -> !s.getId().equals(fanTowerDto.getFanId())).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().filter(s -> !s.getId().equals(fanTowerDto.getFanId())).collect(Collectors.toList());
- oneStationInfo.setFanTowerList(fanTowerList);
- stationInfoService.saveStation(oneStationInfo);
- }
- //组装风机信息
- public void getFanTowerDto(FanTowerDto fanTowerDto, FanTower fanTower) {
- fanTowerDto.setFanId(fanTower.getId());
- fanTowerDto.setFanModel(fanTower.getFanModel());
- fanTowerDto.setFanName(fanTower.getFanName());
- fanTowerDto.setLatitudeFan(fanTower.getLatitudeFan());
- fanTowerDto.setLongitudeFan(fanTower.getLongitudeFan());
- fanTowerDto.setHubHeight(fanTower.getHubHeight());
- }
- //重组组风机信息
- public void getFanTower(FanTowerDto fanTowerDto, FanTower fanTower) {
- fanTower.setId(fanTowerDto.getFanId() == null ? UUID.randomUUID().toString() : fanTowerDto.getFanId());
- fanTower.setFanModel(fanTowerDto.getFanModel());
- fanTower.setFanName(fanTowerDto.getFanName());
- fanTower.setLatitudeFan(fanTowerDto.getLatitudeFan());
- fanTower.setLongitudeFan(fanTowerDto.getLongitudeFan());
- fanTower.setHubHeight(fanTowerDto.getHubHeight());
- }
- }
|