王苗苗 3 месяцев назад
Родитель
Сommit
a3668ef968

+ 46 - 0
slibra-admin/src/main/java/com/slibra/web/controller/business/TPumpingStationController.java

@@ -2,6 +2,16 @@ package com.slibra.web.controller.business;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
+import com.alibaba.fastjson2.JSON;
+import com.slibra.business.domain.TNeighborhood;
+import com.slibra.business.mapper.TNeighborhoodMapper;
+import com.slibra.business.req.NeighbourhoodNumberAndAddFlagReq;
+import com.slibra.business.res.NeighbourhoodNumberAndAddFlag;
+import com.slibra.business.service.ITNeighborhoodService;
+import com.slibra.common.core.domain.R;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.tomcat.Jar;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -27,6 +37,7 @@ import com.slibra.common.core.page.TableDataInfo;
  * @author slibra
  * @date 2024-11-05
  */
+@Slf4j
 @RestController
 @RequestMapping("/business/station")
 public class TPumpingStationController extends BaseController
@@ -34,6 +45,9 @@ public class TPumpingStationController extends BaseController
     @Autowired
     private ITPumpingStationService tPumpingStationService;
 
+    @Autowired
+    private TNeighborhoodMapper tNeighborhoodMapper;
+
     /**
      * 查询泵站列表
      */
@@ -103,4 +117,36 @@ public class TPumpingStationController extends BaseController
     {
         return toAjax(tPumpingStationService.deleteTPumpingStationByIds(ids));
     }
+
+    /**
+     * 获取所有的小区
+     * @return
+     */
+    @GetMapping("/getNeighbourhoodList")
+    public R<List<TNeighborhood>> getNeighbourhoodList(){
+        log.info("进入了 获取小区列表基本信息 接口");
+        return R.ok(this.tNeighborhoodMapper.selectTNeighborhoodList(null));
+    }
+
+
+    /**
+     * 通过泵站ID和小区ID查询所有的楼号,并且是否已经添加到该泵站下了
+     * @return
+     */
+    @GetMapping("/getBuildingsAndFlagByID2")
+    public R<List<NeighbourhoodNumberAndAddFlag>> getBuildingsAndFlagByID2(NeighbourhoodNumberAndAddFlagReq req){
+        log.info("进入了 过泵站ID和小区ID查询所有的楼号,并且是否已经添加到该泵站下了 接口,请求参数为{}", JSON.toJSONString(req));
+        return R.ok(this.tPumpingStationService.getBuildingsAndFlagByID2(req));
+    }
+
+
+    /**
+     * 给泵站关联小区的楼号
+     * @return
+     */
+    @PostMapping("/addPumpingStationAndNeighbourhoodBuildings")
+    public R<String> addPumpingStationAndNeighbourhoodBuildings(@RequestBody List<NeighbourhoodNumberAndAddFlag> req){
+        log.info("进入了 给泵站关联小区的楼号 接口,请求参数为{}", JSON.toJSONString(req));
+        return R.ok(this.tPumpingStationService.addPumpingStationAndNeighbourhoodBuildings(req));
+    }
 }

+ 24 - 0
slibra-system/src/main/java/com/slibra/business/req/NeighbourhoodNumberAndAddFlagReq.java

@@ -0,0 +1,24 @@
+package com.slibra.business.req;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class NeighbourhoodNumberAndAddFlagReq {
+
+
+    //泵站ID
+    private Long pumpingStationId;
+
+    //小区ID
+    private Long neighbourhoodId;
+
+
+
+}

+ 37 - 0
slibra-system/src/main/java/com/slibra/business/res/NeighbourhoodNumberAndAddFlag.java

@@ -0,0 +1,37 @@
+package com.slibra.business.res;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Builder
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class NeighbourhoodNumberAndAddFlag {
+
+
+    //记录ID
+    private Long id;
+
+    //泵站ID
+    private Long pumpingStationId;
+
+    //小区ID
+    private Long neighbourhoodId;
+
+    //楼号ID
+    private Long buildingId;
+
+    //楼号名称
+    private String buildingsNames;
+
+    //在该泵站是否已经添加过来
+    private boolean add = false;
+
+
+
+
+}

+ 6 - 0
slibra-system/src/main/java/com/slibra/business/service/ITPumpingStationService.java

@@ -2,6 +2,8 @@ package com.slibra.business.service;
 
 import java.util.List;
 import com.slibra.business.domain.TPumpingStation;
+import com.slibra.business.req.NeighbourhoodNumberAndAddFlagReq;
+import com.slibra.business.res.NeighbourhoodNumberAndAddFlag;
 
 /**
  * 泵站Service接口
@@ -58,4 +60,8 @@ public interface ITPumpingStationService
      * @return 结果
      */
     public int deleteTPumpingStationById(Long id);
+
+    List<NeighbourhoodNumberAndAddFlag> getBuildingsAndFlagByID2(NeighbourhoodNumberAndAddFlagReq req);
+
+    String addPumpingStationAndNeighbourhoodBuildings(List<NeighbourhoodNumberAndAddFlag> req);
 }

+ 82 - 4
slibra-system/src/main/java/com/slibra/business/service/impl/TPumpingStationServiceImpl.java

@@ -1,20 +1,26 @@
 package com.slibra.business.service.impl;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
-import com.slibra.business.res.NeighbourhoodAndBuilding;
-import com.slibra.business.res.NeighbourhoodAndNumber;
-import com.slibra.business.res.PumpAndBuildingNumberNames;
-import com.slibra.business.res.PumpAndNumber;
+import com.slibra.business.domain.TNeighborhoodBuilding;
+import com.slibra.business.domain.TPumpingStationNeighbourhoodNumber;
+import com.slibra.business.mapper.TNeighborhoodBuildingMapper;
+import com.slibra.business.mapper.TPumpingStationNeighbourhoodNumberMapper;
+import com.slibra.business.req.NeighbourhoodNumberAndAddFlagReq;
+import com.slibra.business.res.*;
+import com.slibra.common.exception.ServiceException;
 import com.slibra.common.utils.DateUtils;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.slibra.business.mapper.TPumpingStationMapper;
 import com.slibra.business.domain.TPumpingStation;
 import com.slibra.business.service.ITPumpingStationService;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 /**
@@ -29,6 +35,12 @@ public class TPumpingStationServiceImpl implements ITPumpingStationService
     @Autowired
     private TPumpingStationMapper tPumpingStationMapper;
 
+    @Autowired
+    private TNeighborhoodBuildingMapper tNeighborhoodBuildingMapper;
+
+    @Autowired
+    private TPumpingStationNeighbourhoodNumberMapper tPumpingStationNeighbourhoodNumberMapper;
+
     /**
      * 查询泵站
      * 
@@ -136,4 +148,70 @@ public class TPumpingStationServiceImpl implements ITPumpingStationService
     {
         return tPumpingStationMapper.deleteTPumpingStationById(id);
     }
+
+    @Override
+    public List<NeighbourhoodNumberAndAddFlag> getBuildingsAndFlagByID2(NeighbourhoodNumberAndAddFlagReq req) {
+        Long neighbourhoodId = req.getNeighbourhoodId();
+        Long pumpingStationId = req.getPumpingStationId();
+        List<NeighbourhoodNumberAndAddFlag> result = new ArrayList<>();
+        //先获取该小区下的所有的楼号
+        List<TNeighborhoodBuilding> tNeighborhoodBuildings = this.tNeighborhoodBuildingMapper.selectTNeighborhoodBuildingList(TNeighborhoodBuilding.builder().neighborhoodId(neighbourhoodId).build());
+        if(CollectionUtils.isEmpty(tNeighborhoodBuildings))
+            return result;
+        //有楼号
+        for (TNeighborhoodBuilding tNeighborhoodBuilding : tNeighborhoodBuildings) {
+            NeighbourhoodNumberAndAddFlag neighbourhoodNumberAndAddFlag = new NeighbourhoodNumberAndAddFlag();
+            //楼号
+            neighbourhoodNumberAndAddFlag.setBuildingId(tNeighborhoodBuilding.getId());
+            neighbourhoodNumberAndAddFlag.setBuildingsNames(tNeighborhoodBuilding.getName());
+            //小区
+            neighbourhoodNumberAndAddFlag.setNeighbourhoodId(neighbourhoodId);
+            //泵站ID
+            neighbourhoodNumberAndAddFlag.setPumpingStationId(pumpingStationId);
+            //通过楼号和泵站查询对应的楼号是否已经添加过了
+            List<TPumpingStationNeighbourhoodNumber> tPumpingStationNeighbourhoodNumbers = this.tPumpingStationNeighbourhoodNumberMapper.selectTPumpingStationNeighbourhoodNumberList(TPumpingStationNeighbourhoodNumber.builder().pumpingStationId(pumpingStationId).neighborhoodId(tNeighborhoodBuilding.getNeighborhoodId()).neighborhoodBuildingId(tNeighborhoodBuilding.getId()).build());
+            if(!CollectionUtils.isEmpty(tPumpingStationNeighbourhoodNumbers)){
+                TPumpingStationNeighbourhoodNumber tPumpingStationNeighbourhoodNumber = tPumpingStationNeighbourhoodNumbers.get(0);
+                neighbourhoodNumberAndAddFlag.setId(tPumpingStationNeighbourhoodNumber.getId());
+                neighbourhoodNumberAndAddFlag.setAdd(true);
+            }
+            result.add(neighbourhoodNumberAndAddFlag);
+        }
+        return result;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String addPumpingStationAndNeighbourhoodBuildings(List<NeighbourhoodNumberAndAddFlag> req) {
+        //需要把之前所有的关联数据全部删除掉
+        if(!CollectionUtils.isEmpty(req)){
+            for (NeighbourhoodNumberAndAddFlag neighbourhoodNumberAndAddFlag : req) {
+                List<TPumpingStationNeighbourhoodNumber> tPumpingStationNeighbourhoodNumbersExists = this.tPumpingStationNeighbourhoodNumberMapper.selectTPumpingStationNeighbourhoodNumberList(TPumpingStationNeighbourhoodNumber.builder().pumpingStationId(neighbourhoodNumberAndAddFlag.getPumpingStationId()).build());
+                if(!CollectionUtils.isEmpty(tPumpingStationNeighbourhoodNumbersExists)){
+                    for (TPumpingStationNeighbourhoodNumber tPumpingStationNeighbourhoodNumber : tPumpingStationNeighbourhoodNumbersExists) {
+                        this.tPumpingStationNeighbourhoodNumberMapper.deleteTPumpingStationNeighbourhoodNumberById(tPumpingStationNeighbourhoodNumber.getId());
+                    }
+                }
+            }
+            //保存新的数据
+            for (NeighbourhoodNumberAndAddFlag addReq : req) {
+                Long pumpingStationId = addReq.getPumpingStationId();
+                Long neighbourhoodId = addReq.getNeighbourhoodId();
+                Long buildingId = addReq.getBuildingId();
+                //判断是否已经添加过了,添加过了就抛出异常  不用判断是否已添加了,因为是每次都是覆盖添加
+                /*List<TPumpingStationNeighbourhoodNumber> tPumpingStationNeighbourhoodNumbers = this.tPumpingStationNeighbourhoodNumberMapper.selectTPumpingStationNeighbourhoodNumberList(TPumpingStationNeighbourhoodNumber.builder().pumpingStationId(pumpingStationId).neighborhoodId(neighbourhoodId).neighborhoodBuildingId(buildingId).build());
+                if(!CollectionUtils.isEmpty(tPumpingStationNeighbourhoodNumbers)){
+                   throw new ServiceException("有存在重复添加的数据,请检查!");
+                }*/
+                //赋值
+                TPumpingStationNeighbourhoodNumber build = TPumpingStationNeighbourhoodNumber.builder().build();
+                build.setPumpingStationId(pumpingStationId);
+                build.setNeighborhoodId(neighbourhoodId);
+                build.setNeighborhoodBuildingId(buildingId);
+                //保存
+                tPumpingStationNeighbourhoodNumberMapper.insertTPumpingStationNeighbourhoodNumber(build);
+            }
+        }
+        return "操作成功";
+    }
 }