Sfoglia il codice sorgente

版本1.4.1 人员目录中间表

qinhouyu 1 anno fa
parent
commit
e92e419ceb
27 ha cambiato i file con 1089 aggiunte e 31 eliminazioni
  1. 124 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/gas/GNetworkRelationController.java
  2. 119 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/gas/GValvewellRelationController.java
  3. 78 10
      ruoyi-gas/src/main/java/com/ruoyi/gas/controller/GCommonController.java
  4. 7 1
      ruoyi-gas/src/main/java/com/ruoyi/gas/controller/GValveWellPositionController.java
  5. 42 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/domain/GNetworkRelation.java
  6. 45 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/domain/GValvewellRelation.java
  7. 1 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/domain/bo/GAreaBo.java
  8. 75 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/domain/bo/GNetworkRelationBo.java
  9. 1 1
      ruoyi-gas/src/main/java/com/ruoyi/gas/domain/bo/GValveWellInspectionBo.java
  10. 1 1
      ruoyi-gas/src/main/java/com/ruoyi/gas/domain/bo/GValveWellPositionBo.java
  11. 75 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/domain/bo/GValvewellRelationBo.java
  12. 2 1
      ruoyi-gas/src/main/java/com/ruoyi/gas/domain/vo/GAreaVo.java
  13. 49 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/domain/vo/GNetworkRelationVo.java
  14. 2 1
      ruoyi-gas/src/main/java/com/ruoyi/gas/domain/vo/GValveWellPositionVo.java
  15. 49 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/domain/vo/GValvewellRelationVo.java
  16. 14 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/mapper/GNetworkRelationMapper.java
  17. 14 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/mapper/GValvewellRelationMapper.java
  18. 2 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/service/IGAreaService.java
  19. 56 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/service/IGNetworkRelationService.java
  20. 3 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/service/IGValveWellPositionService.java
  21. 59 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/service/IGValvewellRelationService.java
  22. 33 11
      ruoyi-gas/src/main/java/com/ruoyi/gas/service/impl/GAreaServiceImpl.java
  23. 98 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/service/impl/GNetworkRelationServiceImpl.java
  24. 7 5
      ruoyi-gas/src/main/java/com/ruoyi/gas/service/impl/GPressureRegulatingBoxServiceImpl.java
  25. 1 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/service/impl/GRegulatorBoxRelationServiceImpl.java
  26. 26 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/service/impl/GValveWellPositionServiceImpl.java
  27. 106 0
      ruoyi-gas/src/main/java/com/ruoyi/gas/service/impl/GValvewellRelationServiceImpl.java

+ 124 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/gas/GNetworkRelationController.java

@@ -0,0 +1,124 @@
+package com.ruoyi.web.controller.gas;
+
+import java.util.List;
+import java.util.Arrays;
+
+import com.ruoyi.gas.domain.bo.GAreaBo;
+import com.ruoyi.gas.domain.bo.GCourtyardNetworkManagementBo;
+import com.ruoyi.gas.domain.bo.GNetworkRelationBo;
+import com.ruoyi.gas.domain.bo.GPressureRegulatingBoxBo;
+import com.ruoyi.gas.domain.vo.GNetworkRelationVo;
+import com.ruoyi.gas.service.IGAreaService;
+import com.ruoyi.gas.service.IGNetworkRelationService;
+import lombok.RequiredArgsConstructor;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.*;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.core.validate.QueryGroup;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 庭院管网目录中间Controller
+ *
+ * @author ruoyi
+ * @date 2024-05-25
+ */
+@Validated
+@Api(value = "庭院管网目录中间控制器", tags = {"庭院管网目录中间管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/gas/networkRelation")
+public class GNetworkRelationController extends BaseController {
+
+    private final IGNetworkRelationService iGNetworkRelationService;
+
+    /**
+     * 查询庭院管网目录中间列表
+     */
+    @ApiOperation("查询庭院管网目录中间列表")
+//    @PreAuthorize("@ss.hasPermi('system:networkRelation:list')")
+    @GetMapping("/list")
+    public TableDataInfo<GNetworkRelationVo> list(@Validated(QueryGroup.class) GNetworkRelationBo bo) {
+        return iGNetworkRelationService.queryPageList(bo);
+    }
+
+    /**
+     * 导出庭院管网目录中间列表
+     */
+    @ApiOperation("导出庭院管网目录中间列表")
+//    @PreAuthorize("@ss.hasPermi('system:networkRelation:export')")
+    @Log(title = "庭院管网目录中间", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public void export(@Validated GNetworkRelationBo bo, HttpServletResponse response) {
+        List<GNetworkRelationVo> list = iGNetworkRelationService.queryList(bo);
+        ExcelUtil.exportExcel(list, "庭院管网目录中间", GNetworkRelationVo.class, response);
+    }
+
+    /**
+     * 获取庭院管网目录中间详细信息
+     */
+    @ApiOperation("获取庭院管网目录中间详细信息")
+//    @PreAuthorize("@ss.hasPermi('system:networkRelation:query')")
+    @GetMapping("/{id}")
+    public AjaxResult<GNetworkRelationVo> getInfo(@NotNull(message = "主键不能为空")
+                                                  @PathVariable("id") Long id) {
+        return AjaxResult.success(iGNetworkRelationService.queryById(id));
+    }
+
+    /**
+     * 新增庭院管网目录中间
+     */
+    @ApiOperation("新增庭院管网目录中间")
+//    @PreAuthorize("@ss.hasPermi('system:networkRelation:add')")
+    @Log(title = "庭院管网目录中间", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public AjaxResult<Void> add(@Validated(AddGroup.class) @RequestBody GNetworkRelationBo bo) {
+        return toAjax(iGNetworkRelationService.insertByBo(bo) ? 1 : 0);
+    }
+    @Autowired
+    private IGAreaService areaService;
+    /**
+     * 查询我的庭院管网
+     */
+    @GetMapping("/myList")
+    public TableDataInfo myList(@Validated(QueryGroup.class) GAreaBo bo) {
+        return areaService.myList(bo);
+    }
+    /**
+     * 修改庭院管网目录中间
+     */
+    @ApiOperation("修改庭院管网目录中间")
+//    @PreAuthorize("@ss.hasPermi('system:networkRelation:edit')")
+    @Log(title = "庭院管网目录中间", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping()
+    public AjaxResult<Void> edit(@Validated(EditGroup.class) @RequestBody GNetworkRelationBo bo) {
+        return toAjax(iGNetworkRelationService.updateByBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除庭院管网目录中间
+     */
+    @ApiOperation("删除庭院管网目录中间")
+//    @PreAuthorize("@ss.hasPermi('system:networkRelation:remove')")
+    @Log(title = "庭院管网目录中间" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult<Void> remove(@NotEmpty(message = "主键不能为空")
+                                       @PathVariable Long[] ids) {
+        return toAjax(iGNetworkRelationService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
+    }
+}

+ 119 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/gas/GValvewellRelationController.java

@@ -0,0 +1,119 @@
+package com.ruoyi.web.controller.gas;
+
+import java.util.List;
+import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
+
+import com.ruoyi.gas.domain.GValveWellPosition;
+import com.ruoyi.gas.domain.bo.GAreaBo;
+import com.ruoyi.gas.domain.bo.GValveWellInspectionBo;
+import com.ruoyi.gas.domain.bo.GValveWellPositionBo;
+import com.ruoyi.gas.domain.bo.GValvewellRelationBo;
+import com.ruoyi.gas.domain.vo.GValvewellRelationVo;
+import com.ruoyi.gas.service.IGValvewellRelationService;
+import lombok.RequiredArgsConstructor;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.*;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.core.validate.QueryGroup;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 阀井目录中间Controller
+ *
+ * @author ruoyi
+ * @date 2024-05-25
+ */
+@Validated
+@Api(value = "阀井目录中间控制器", tags = {"阀井目录中间管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/gas/valvewellRelation")
+public class GValvewellRelationController extends BaseController {
+
+    private final IGValvewellRelationService iGValvewellRelationService;
+    @Autowired
+    private IGValvewellRelationService valvewellRelationService;
+
+    /**
+     * 查询阀井目录中间列表
+     */
+    @ApiOperation("查询阀井目录中间列表")
+//    @PreAuthorize("@ss.hasPermi('system:valvewellRelation:list')")
+    @GetMapping("/list")
+    public TableDataInfo<GValvewellRelationVo> list(@Validated(QueryGroup.class) GValvewellRelationBo bo) {
+        return iGValvewellRelationService.queryPageList(bo);
+    }
+
+    /**
+     * 导出阀井目录中间列表
+     */
+    @ApiOperation("导出阀井目录中间列表")
+//    @PreAuthorize("@ss.hasPermi('system:valvewellRelation:export')")
+    @Log(title = "阀井目录中间", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public void export(@Validated GValvewellRelationBo bo, HttpServletResponse response) {
+        List<GValvewellRelationVo> list = iGValvewellRelationService.queryList(bo);
+        ExcelUtil.exportExcel(list, "阀井目录中间", GValvewellRelationVo.class, response);
+    }
+
+    /**
+     * 获取阀井目录中间详细信息
+     */
+    @ApiOperation("获取阀井目录中间详细信息")
+//    @PreAuthorize("@ss.hasPermi('system:valvewellRelation:query')")
+    @GetMapping("/{id}")
+    public AjaxResult<GValvewellRelationVo> getInfo(@NotNull(message = "主键不能为空")
+                                                  @PathVariable("id") Long id) {
+        return AjaxResult.success(iGValvewellRelationService.queryById(id));
+    }
+
+    /**
+     * 新增阀井目录中间
+     */
+    @ApiOperation("新增阀井目录中间")
+//    @PreAuthorize("@ss.hasPermi('system:valvewellRelation:add')")
+    @Log(title = "阀井目录中间", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public AjaxResult<Void> add(@Validated(AddGroup.class) @RequestBody GValvewellRelationBo bo) {
+        return toAjax(iGValvewellRelationService.insertByBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改阀井目录中间
+     */
+    @ApiOperation("修改阀井目录中间")
+//    @PreAuthorize("@ss.hasPermi('system:valvewellRelation:edit')")
+    @Log(title = "阀井目录中间", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping()
+    public AjaxResult<Void> edit(@Validated(EditGroup.class) @RequestBody GValvewellRelationBo bo) {
+        return toAjax(iGValvewellRelationService.updateByBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除阀井目录中间
+     */
+    @ApiOperation("删除阀井目录中间")
+//    @PreAuthorize("@ss.hasPermi('system:valvewellRelation:remove')")
+    @Log(title = "阀井目录中间" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult<Void> remove(@NotEmpty(message = "主键不能为空")
+                                       @PathVariable Long[] ids) {
+        return toAjax(iGValvewellRelationService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
+    }
+}

+ 78 - 10
ruoyi-gas/src/main/java/com/ruoyi/gas/controller/GCommonController.java

@@ -4,11 +4,17 @@ package com.ruoyi.gas.controller;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.gas.domain.GNetworkRelation;
 import com.ruoyi.gas.domain.GRegulatorBoxRelation;
+import com.ruoyi.gas.domain.GValveWellPosition;
+import com.ruoyi.gas.domain.bo.GAreaBo;
+import com.ruoyi.gas.domain.bo.GNetworkRelationBo;
 import com.ruoyi.gas.domain.bo.GPressureRegulatingBoxBo;
+import com.ruoyi.gas.domain.bo.GValveWellPositionBo;
+import com.ruoyi.gas.domain.vo.GAreaVo;
 import com.ruoyi.gas.domain.vo.GPressureRegulatingBoxVo;
-import com.ruoyi.gas.service.IGPressureRegulatingBoxService;
-import com.ruoyi.gas.service.IGRegulatorBoxRelationService;
+import com.ruoyi.gas.domain.vo.GValveWellPositionVo;
+import com.ruoyi.gas.service.*;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.ObjectUtils;
@@ -34,14 +40,18 @@ public class GCommonController extends BaseController {
     private IGPressureRegulatingBoxService pressureRegulatingBoxService;
     @Autowired
     private IGRegulatorBoxRelationService regulatorBoxRelationService;
+    @Autowired
+    private IGNetworkRelationService networkRelationService;
+    @Autowired
+    private IGAreaService areaService;
 
     /**
      * 洗数据
      */
-    @GetMapping("/refresh")
+    @GetMapping("/refreshA")
     public AjaxResult refresh() {
         GPressureRegulatingBoxBo gPressureRegulatingBoxBo = new GPressureRegulatingBoxBo();
-        //查询所有
+        //查询所有调压箱
         List<GPressureRegulatingBoxVo> list = pressureRegulatingBoxService.queryList(gPressureRegulatingBoxBo);
         List<GRegulatorBoxRelation> relations = new ArrayList<>();
         list.forEach(item->{
@@ -68,12 +78,70 @@ public class GCommonController extends BaseController {
         return null;
     }
 
-    /**
-     * 我的
-     */
-    @GetMapping("/myData")
-    public AjaxResult myData() {
-        Function<Map<String,Object>, AjaxResult<List<Object>>> function;
+    @GetMapping("/refreshB")
+    public AjaxResult refreshB() {
+        GAreaBo gPressureRegulatingBoxBo = new GAreaBo();
+        //查询所有调压箱
+        List<GAreaVo> list = areaService.queryList(gPressureRegulatingBoxBo);
+        List<GNetworkRelation> relations = new ArrayList<>();
+        list.forEach(item->{
+            if (StringUtils.isNotBlank(item.getUserId())){
+                List<String> inspectors = Arrays.asList(item.getUserId().split(","));
+                Long boxId = item.getId();
+                String createBy = item.getCreateBy();
+                Date createTime = item.getCreateTime();
+                if (!ObjectUtils.isEmpty(inspectors)){
+                    inspectors.forEach(o->{
+                        GNetworkRelation entity = new GNetworkRelation();
+                        entity.setRegulatorBoxId(boxId);
+                        entity.setUserId(o);
+                        entity.setCreateBy(o);
+                        entity.setCreateTime(createTime);
+                        relations.add(entity);
+                    });
+                }
+            }
+        });
+        if (!ObjectUtils.isEmpty(relations)){
+            networkRelationService.saveBatch(relations);
+        }
         return null;
     }
+    @Autowired
+    private IGValveWellPositionService valveWellPositionService;
+    @Autowired
+    private IGUserService igUserService;
+
+    @GetMapping("/refreshC")
+    public AjaxResult refreshC() {
+        GValveWellPositionBo valveWellPositionBo = new GValveWellPositionBo();
+        //查询所有调压箱
+        List<GValveWellPositionVo> list = valveWellPositionService.queryList(valveWellPositionBo);
+        List<GNetworkRelation> relations = new ArrayList<>();
+        list.forEach(item->{
+            if (StringUtils.isNotBlank(item.getTeam())){
+                //该队的所有人员
+                List<Long> inspectors = new ArrayList<>();
+                inspectors = igUserService.getByRanks(item.getTeam());
+                Long boxId = item.getId();
+                String createBy = item.getCreateBy();
+                Date createTime = item.getCreateTime();
+                if (!ObjectUtils.isEmpty(inspectors)){
+                    inspectors.forEach(o->{
+                        GNetworkRelation entity = new GNetworkRelation();
+                        entity.setRegulatorBoxId(boxId);
+                        entity.setUserId(String.valueOf(o));
+                        entity.setCreateBy(String.valueOf(o));
+                        entity.setCreateTime(createTime);
+                        relations.add(entity);
+                    });
+                }
+            }
+        });
+        if (!ObjectUtils.isEmpty(relations)){
+            networkRelationService.saveBatch(relations);
+        }
+        return null;
+    }
+
 }

+ 7 - 1
ruoyi-gas/src/main/java/com/ruoyi/gas/controller/GValveWellPositionController.java

@@ -53,7 +53,13 @@ public class GValveWellPositionController extends BaseController {
     public TableDataInfo<GValveWellPositionVo> list(@Validated(QueryGroup.class) GValveWellPositionBo bo) {
         return iGValveWellPositionService.queryPageList(bo);
     }
-
+    /**
+     * 查询我的阀井
+     */
+    @GetMapping("/myList")
+    public TableDataInfo myList(@Validated(QueryGroup.class) GValveWellPositionBo bo) {
+        return iGValveWellPositionService.myList(bo);
+    }
     /**
      * 导出阀井位置列表
      */

+ 42 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/domain/GNetworkRelation.java

@@ -0,0 +1,42 @@
+package com.ruoyi.gas.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * 庭院管网目录中间对象
+ *
+ * @author ruoyi
+ * @date 2024-05-24
+ */
+@Data
+@Accessors(chain = true)
+@TableName("g_network_relation")
+public class GNetworkRelation extends BaseEntity {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 
+     */
+    @TableId(value = "id")
+    private Long id;
+    /**
+     * 关联人员
+     */
+    private String userId;
+    /**
+     * 关联调压箱目录
+     */
+    private Long regulatorBoxId;
+    /**
+     * 删除标志
+     */
+    @TableLogic
+    private String delFlag;
+
+}

+ 45 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/domain/GValvewellRelation.java

@@ -0,0 +1,45 @@
+package com.ruoyi.gas.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 阀井目录中间对象 g_valvewell_relation
+ *
+ * @author ruoyi
+ * @date 2024-05-25
+ */
+@Data
+@Accessors(chain = true)
+@TableName("g_valvewell_relation")
+public class GValvewellRelation extends BaseEntity {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 
+     */
+    @TableId(value = "id")
+    private Long id;
+    /**
+     * 关联人员
+     */
+    private String userId;
+    /**
+     * 关联阀井目录
+     */
+    private Long regulatorBoxId;
+    /**
+     * 删除标志
+     */
+    @TableLogic
+    private String delFlag;
+
+}

+ 1 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/domain/bo/GAreaBo.java

@@ -26,6 +26,7 @@ public class GAreaBo extends BaseEntity {
 
     // 小区照片
     private List<String> photoList;
+    private String jobNum;
 
     /**
      * 主键

+ 75 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/domain/bo/GNetworkRelationBo.java

@@ -0,0 +1,75 @@
+package com.ruoyi.gas.domain.bo;
+
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import javax.validation.constraints.*;
+
+import java.util.Date;
+import java.util.List;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 庭院管网目录中间业务对象 g_network_relation
+ *
+ * @author ruoyi
+ * @date 2024-05-25
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("庭院管网目录中间业务对象")
+public class GNetworkRelationBo extends BaseEntity {
+    private List<Long> ids;
+    private String jobNum;
+    /**
+     * 
+     */
+    @ApiModelProperty(value = "", required = true)
+//    @NotNull(message = "不能为空", groups = { EditGroup.class })
+    private Long id;
+
+    /**
+     * 关联人员
+     */
+    @ApiModelProperty(value = "关联人员", required = true)
+//    @NotBlank(message = "关联人员不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String userId;
+
+    /**
+     * 关联庭院管网目录
+     */
+    @ApiModelProperty(value = "关联庭院管网目录", required = true)
+//    @NotNull(message = "关联庭院管网目录不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long regulatorBoxId;
+
+
+    /**
+     * 分页大小
+     */
+    @ApiModelProperty("分页大小")
+    private Integer pageSize;
+
+    /**
+     * 当前页数
+     */
+    @ApiModelProperty("当前页数")
+    private Integer pageNum;
+
+    /**
+     * 排序列
+     */
+    @ApiModelProperty("排序列")
+    private String orderByColumn;
+
+    /**
+     * 排序的方向desc或者asc
+     */
+    @ApiModelProperty(value = "排序的方向", example = "asc,desc")
+    private String isAsc;
+
+}

+ 1 - 1
ruoyi-gas/src/main/java/com/ruoyi/gas/domain/bo/GValveWellInspectionBo.java

@@ -27,7 +27,7 @@ public class GValveWellInspectionBo extends BaseEntity {
     private String remarks;
     private String processStatus;
     private String processComments;
-
+    private String jobNum;
     private String postNameArias;
 
     /**

+ 1 - 1
ruoyi-gas/src/main/java/com/ruoyi/gas/domain/bo/GValveWellPositionBo.java

@@ -24,7 +24,7 @@ import java.util.List;
 @EqualsAndHashCode(callSuper = true)
 @ApiModel("阀井位置业务对象")
 public class GValveWellPositionBo extends BaseEntity {
-
+    private String jobNum;
     /**
      *
      */

+ 75 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/domain/bo/GValvewellRelationBo.java

@@ -0,0 +1,75 @@
+package com.ruoyi.gas.domain.bo;
+
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import javax.validation.constraints.*;
+
+import java.util.Date;
+import java.util.List;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 阀井目录中间业务对象 g_valvewell_relation
+ *
+ * @author ruoyi
+ * @date 2024-05-25
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("阀井目录中间业务对象")
+public class GValvewellRelationBo extends BaseEntity {
+    private List<String> ids;
+    private String jobNum;
+    /**
+     * 
+     */
+    @ApiModelProperty(value = "", required = true)
+//    @NotNull(message = "不能为空", groups = { EditGroup.class })
+    private Long id;
+
+    /**
+     * 关联人员
+     */
+    @ApiModelProperty(value = "关联人员", required = true)
+//    @NotBlank(message = "关联人员不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String userId;
+
+    /**
+     * 关联阀井目录
+     */
+    @ApiModelProperty(value = "关联阀井目录", required = true)
+//    @NotNull(message = "关联阀井目录不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long regulatorBoxId;
+
+
+    /**
+     * 分页大小
+     */
+    @ApiModelProperty("分页大小")
+    private Integer pageSize;
+
+    /**
+     * 当前页数
+     */
+    @ApiModelProperty("当前页数")
+    private Integer pageNum;
+
+    /**
+     * 排序列
+     */
+    @ApiModelProperty("排序列")
+    private String orderByColumn;
+
+    /**
+     * 排序的方向desc或者asc
+     */
+    @ApiModelProperty(value = "排序的方向", example = "asc,desc")
+    private String isAsc;
+
+}

+ 2 - 1
ruoyi-gas/src/main/java/com/ruoyi/gas/domain/vo/GAreaVo.java

@@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.ruoyi.common.annotation.ExcelDictFormat;
 import com.ruoyi.common.convert.ExcelDictConvert;
+import com.ruoyi.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -20,7 +21,7 @@ import java.util.List;
 @Data
 @ApiModel("小区视图对象")
 @ExcelIgnoreUnannotated
-public class GAreaVo {
+public class GAreaVo extends BaseEntity {
 
 	private static final long serialVersionUID = 1L;
 

+ 49 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/domain/vo/GNetworkRelationVo.java

@@ -0,0 +1,49 @@
+package com.ruoyi.gas.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.ruoyi.common.annotation.ExcelDictFormat;
+import com.ruoyi.common.convert.ExcelDictConvert;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 庭院管网目录中间视图对象 g_network_relation
+ *
+ * @author ruoyi
+ * @date 2024-05-25
+ */
+@Data
+@ApiModel("庭院管网目录中间视图对象")
+@ExcelIgnoreUnannotated
+public class GNetworkRelationVo {
+
+	private static final long serialVersionUID = 1L;
+
+    /**
+     * 
+     */
+	@ExcelProperty(value = "")
+	@ApiModelProperty("")
+	private Long id;
+
+    /**
+     * 关联人员
+     */
+	@ExcelProperty(value = "关联人员")
+	@ApiModelProperty("关联人员")
+	private String userId;
+
+    /**
+     * 关联庭院管网目录
+     */
+	@ExcelProperty(value = "关联庭院管网目录")
+	@ApiModelProperty("关联庭院管网目录")
+	private Long regulatorBoxId;
+
+
+}

+ 2 - 1
ruoyi-gas/src/main/java/com/ruoyi/gas/domain/vo/GValveWellPositionVo.java

@@ -2,6 +2,7 @@ package com.ruoyi.gas.domain.vo;
 
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.ruoyi.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -17,7 +18,7 @@ import lombok.Data;
 @Data
 @ApiModel("阀井位置视图对象")
 @ExcelIgnoreUnannotated
-public class GValveWellPositionVo {
+public class GValveWellPositionVo extends BaseEntity {
 
 	private static final long serialVersionUID = 1L;
 	private String district;

+ 49 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/domain/vo/GValvewellRelationVo.java

@@ -0,0 +1,49 @@
+package com.ruoyi.gas.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.ruoyi.common.annotation.ExcelDictFormat;
+import com.ruoyi.common.convert.ExcelDictConvert;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 阀井目录中间视图对象 g_valvewell_relation
+ *
+ * @author ruoyi
+ * @date 2024-05-25
+ */
+@Data
+@ApiModel("阀井目录中间视图对象")
+@ExcelIgnoreUnannotated
+public class GValvewellRelationVo {
+
+	private static final long serialVersionUID = 1L;
+
+    /**
+     * 
+     */
+	@ExcelProperty(value = "")
+	@ApiModelProperty("")
+	private Long id;
+
+    /**
+     * 关联人员
+     */
+	@ExcelProperty(value = "关联人员")
+	@ApiModelProperty("关联人员")
+	private String userId;
+
+    /**
+     * 关联阀井目录
+     */
+	@ExcelProperty(value = "关联阀井目录")
+	@ApiModelProperty("关联阀井目录")
+	private Long regulatorBoxId;
+
+
+}

+ 14 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/mapper/GNetworkRelationMapper.java

@@ -0,0 +1,14 @@
+package com.ruoyi.gas.mapper;
+
+import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
+import com.ruoyi.gas.domain.GNetworkRelation;
+
+/**
+ * 庭院管网目录中间Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-05-25
+ */
+public interface GNetworkRelationMapper extends BaseMapperPlus<GNetworkRelation> {
+
+}

+ 14 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/mapper/GValvewellRelationMapper.java

@@ -0,0 +1,14 @@
+package com.ruoyi.gas.mapper;
+
+import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
+import com.ruoyi.gas.domain.GValvewellRelation;
+
+/**
+ * 阀井目录中间Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-05-25
+ */
+public interface GValvewellRelationMapper extends BaseMapperPlus<GValvewellRelation> {
+
+}

+ 2 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/service/IGAreaService.java

@@ -68,4 +68,6 @@ public interface IGAreaService extends IServicePlus<GArea, GAreaVo> {
      * @return
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    TableDataInfo myList(GAreaBo bo);
 }

+ 56 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/service/IGNetworkRelationService.java

@@ -0,0 +1,56 @@
+package com.ruoyi.gas.service;
+
+import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.gas.domain.GNetworkRelation;
+import com.ruoyi.gas.domain.bo.GNetworkRelationBo;
+import com.ruoyi.gas.domain.vo.GNetworkRelationVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 庭院管网目录中间Service接口
+ *
+ * @author ruoyi
+ * @date 2024-05-25
+ */
+public interface IGNetworkRelationService extends IServicePlus<GNetworkRelation, GNetworkRelationVo> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	GNetworkRelationVo queryById(Long id);
+
+	/**
+	 * 查询列表
+	 */
+    TableDataInfo<GNetworkRelationVo> queryPageList(GNetworkRelationBo bo);
+
+	/**
+	 * 查询列表
+	 */
+	List<GNetworkRelationVo> queryList(GNetworkRelationBo bo);
+
+	/**
+	 * 根据新增业务对象插入庭院管网目录中间
+	 * @param bo 庭院管网目录中间新增业务对象
+	 * @return
+	 */
+	Boolean insertByBo(GNetworkRelationBo bo);
+
+	/**
+	 * 根据编辑业务对象修改庭院管网目录中间
+	 * @param bo 庭院管网目录中间编辑业务对象
+	 * @return
+	 */
+	Boolean updateByBo(GNetworkRelationBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 3 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/service/IGValveWellPositionService.java

@@ -56,4 +56,7 @@ public interface IGValveWellPositionService extends IServicePlus<GValveWellPosit
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+
+	TableDataInfo myList(GValveWellPositionBo bo);
 }

+ 59 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/service/IGValvewellRelationService.java

@@ -0,0 +1,59 @@
+package com.ruoyi.gas.service;
+
+import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.gas.domain.GValvewellRelation;
+import com.ruoyi.gas.domain.bo.GValveWellInspectionBo;
+import com.ruoyi.gas.domain.bo.GValveWellPositionBo;
+import com.ruoyi.gas.domain.bo.GValvewellRelationBo;
+import com.ruoyi.gas.domain.vo.GValvewellRelationVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 阀井目录中间Service接口
+ *
+ * @author ruoyi
+ * @date 2024-05-25
+ */
+public interface IGValvewellRelationService extends IServicePlus<GValvewellRelation, GValvewellRelationVo> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	GValvewellRelationVo queryById(Long id);
+
+	/**
+	 * 查询列表
+	 */
+    TableDataInfo<GValvewellRelationVo> queryPageList(GValvewellRelationBo bo);
+
+	/**
+	 * 查询列表
+	 */
+	List<GValvewellRelationVo> queryList(GValvewellRelationBo bo);
+
+	/**
+	 * 根据新增业务对象插入阀井目录中间
+	 * @param bo 阀井目录中间新增业务对象
+	 * @return
+	 */
+	Boolean insertByBo(GValvewellRelationBo bo);
+
+	/**
+	 * 根据编辑业务对象修改阀井目录中间
+	 * @param bo 阀井目录中间编辑业务对象
+	 * @return
+	 */
+	Boolean updateByBo(GValvewellRelationBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+}

+ 33 - 11
ruoyi-gas/src/main/java/com/ruoyi/gas/service/impl/GAreaServiceImpl.java

@@ -2,6 +2,7 @@ package com.ruoyi.gas.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.PagePlus;
@@ -10,17 +11,18 @@ import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.gas.domain.GArea;
-import com.ruoyi.gas.domain.GBuilding;
+import com.ruoyi.gas.domain.*;
 import com.ruoyi.gas.domain.bo.GAreaBo;
 import com.ruoyi.gas.domain.bo.GAreaPhotoBo;
 import com.ruoyi.gas.domain.vo.GAreaVo;
 import com.ruoyi.gas.domain.vo.GImportVo;
+import com.ruoyi.gas.domain.vo.GPressureRegulatingBoxVo;
 import com.ruoyi.gas.domain.vo.GUserVo;
 import com.ruoyi.gas.mapper.GAreaMapper;
 import com.ruoyi.gas.mapper.GBuildingMapper;
 import com.ruoyi.gas.service.IGAreaPhotoService;
 import com.ruoyi.gas.service.IGAreaService;
+import com.ruoyi.gas.service.IGNetworkRelationService;
 import com.ruoyi.system.mapper.SysDictDataMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -190,15 +192,15 @@ public class GAreaServiceImpl extends ServicePlusImpl<GAreaMapper, GArea, GAreaV
     @Override
     public TableDataInfo<GAreaVo> queryPageList(GAreaBo bo) {
         PagePlus<GArea, GAreaVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
-        result.getRecordsVo().forEach(item -> {
-            if (StringUtils.isNotEmpty(item.getUserId()))
-                for (String uid : item.getUserId().split(",")) {
-                    GUserVo voById = gUserService.getVoById(uid);
-                    if (ObjectUtils.isEmpty(voById))
-                        continue;
-                    item.setUserName(StringUtils.isEmpty(item.getUserName()) ? voById.getName() : item.getUserName() + "," + voById.getName());
-                }
-        });
+//        result.getRecordsVo().forEach(item -> {
+//            if (StringUtils.isNotEmpty(item.getUserId()))
+//                for (String uid : item.getUserId().split(",")) {
+//                    GUserVo voById = gUserService.getVoById(uid);
+//                    if (ObjectUtils.isEmpty(voById))
+//                        continue;
+//                    item.setUserName(StringUtils.isEmpty(item.getUserName()) ? voById.getName() : item.getUserName() + "," + voById.getName());
+//                }
+//        });
         return PageUtils.buildDataInfo(result);
     }
 
@@ -285,4 +287,24 @@ public class GAreaServiceImpl extends ServicePlusImpl<GAreaMapper, GArea, GAreaV
         }
         return removeByIds(ids);
     }
+    @Autowired
+    private IGNetworkRelationService relationService;
+
+    @Override
+    public TableDataInfo myList(GAreaBo bo) {
+        LambdaQueryWrapper<GArea> lqw = Wrappers.lambdaQuery();
+        //查询我的
+        if (StringUtils.isNotBlank(bo.getJobNum())){
+            QueryWrapper<GNetworkRelation> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(GNetworkRelation::getUserId,bo.getJobNum());
+            List<Long> collect = relationService.list(queryWrapper).stream().map(GNetworkRelation::getRegulatorBoxId).collect(Collectors.toList());
+            if (!collect.isEmpty()){
+                lqw.in(GArea::getId,collect);
+            }else {
+                return new TableDataInfo<>(new ArrayList<>(),0);
+            }
+        }
+        PagePlus<GArea, GAreaVo> result = pageVo(PageUtils.buildPagePlus(), lqw);
+        return PageUtils.buildDataInfo(result);
+    }
 }

+ 98 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/service/impl/GNetworkRelationServiceImpl.java

@@ -0,0 +1,98 @@
+package com.ruoyi.gas.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.core.page.PagePlus;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.gas.domain.GNetworkRelation;
+import com.ruoyi.gas.domain.GRegulatorBoxRelation;
+import com.ruoyi.gas.domain.bo.GNetworkRelationBo;
+import com.ruoyi.gas.domain.vo.GNetworkRelationVo;
+import com.ruoyi.gas.mapper.GNetworkRelationMapper;
+import com.ruoyi.gas.service.IGNetworkRelationService;
+import org.springframework.stereotype.Service;
+import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.springframework.util.ObjectUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 庭院管网目录中间Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-05-25
+ */
+@Service
+public class GNetworkRelationServiceImpl extends ServicePlusImpl<GNetworkRelationMapper, GNetworkRelation, GNetworkRelationVo> implements IGNetworkRelationService {
+
+    @Override
+    public GNetworkRelationVo queryById(Long id){
+        return getVoById(id);
+    }
+
+    @Override
+    public TableDataInfo<GNetworkRelationVo> queryPageList(GNetworkRelationBo bo) {
+        PagePlus<GNetworkRelation, GNetworkRelationVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
+        return PageUtils.buildDataInfo(result);
+    }
+
+    @Override
+    public List<GNetworkRelationVo> queryList(GNetworkRelationBo bo) {
+        return listVo(buildQueryWrapper(bo));
+    }
+
+    private LambdaQueryWrapper<GNetworkRelation> buildQueryWrapper(GNetworkRelationBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<GNetworkRelation> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getUserId()), GNetworkRelation::getUserId, bo.getUserId());
+        lqw.eq(bo.getRegulatorBoxId() != null, GNetworkRelation::getRegulatorBoxId, bo.getRegulatorBoxId());
+        lqw.last("order by create_time desc");
+        return lqw;
+    }
+
+    @Override
+    public Boolean insertByBo(GNetworkRelationBo bo) {
+        if (!ObjectUtils.isEmpty(bo.getIds())){
+            List<GNetworkRelation> list = new ArrayList<>();
+            bo.getIds().forEach(item->{
+                GNetworkRelation boxRelation = new GNetworkRelation();
+                boxRelation.setUserId(bo.getJobNum());
+                boxRelation.setRegulatorBoxId(item);
+                list.add(boxRelation);
+            });
+            saveBatch(list);
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public Boolean updateByBo(GNetworkRelationBo bo) {
+        GNetworkRelation update = BeanUtil.toBean(bo, GNetworkRelation.class);
+        validEntityBeforeSave(update);
+        return updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(GNetworkRelation entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return removeByIds(ids);
+    }
+}

+ 7 - 5
ruoyi-gas/src/main/java/com/ruoyi/gas/service/impl/GPressureRegulatingBoxServiceImpl.java

@@ -10,6 +10,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.gas.domain.GArea;
 import com.ruoyi.gas.domain.GPressureRegulatingBox;
 import com.ruoyi.gas.domain.GRegulatorBox;
 import com.ruoyi.gas.domain.GRegulatorBoxRelation;
@@ -30,10 +31,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -226,7 +224,11 @@ public class GPressureRegulatingBoxServiceImpl extends ServicePlusImpl<GPressure
             QueryWrapper<GRegulatorBoxRelation> queryWrapper = new QueryWrapper<>();
             queryWrapper.lambda().eq(GRegulatorBoxRelation::getUserId,bo.getJobNum());
             List<Long> collect = regulatorBoxRelationService.list(queryWrapper).stream().map(GRegulatorBoxRelation::getRegulatorBoxId).collect(Collectors.toList());
-            lqw.in(GPressureRegulatingBox::getId,collect);
+            if (!collect.isEmpty()){
+                lqw.in(GPressureRegulatingBox::getId,collect);
+            }else {
+                return new TableDataInfo<>(new ArrayList<>(),0);
+            }
         }
         PagePlus<GPressureRegulatingBox, GPressureRegulatingBoxVo> result = pageVo(PageUtils.buildPagePlus(), lqw);
         return PageUtils.buildDataInfo(result);

+ 1 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/service/impl/GRegulatorBoxRelationServiceImpl.java

@@ -51,6 +51,7 @@ public class GRegulatorBoxRelationServiceImpl extends ServicePlusImpl<GRegulator
         LambdaQueryWrapper<GRegulatorBoxRelation> lqw = Wrappers.lambdaQuery();
         lqw.eq(bo.getJobNum() != null, GRegulatorBoxRelation::getUserId, bo.getJobNum());
         lqw.eq(bo.getRegulatorBoxId() != null, GRegulatorBoxRelation::getRegulatorBoxId, bo.getRegulatorBoxId());
+        lqw.last("order by create_time desc");
         return lqw;
     }
 

+ 26 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/service/impl/GValveWellPositionServiceImpl.java

@@ -12,17 +12,21 @@ import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.gas.domain.GRegulatorBox;
 import com.ruoyi.gas.domain.GValveWellPosition;
+import com.ruoyi.gas.domain.GValvewellRelation;
 import com.ruoyi.gas.domain.bo.GValveWellPositionBo;
 import com.ruoyi.gas.domain.vo.GValveWellPositionVo;
 import com.ruoyi.gas.domain.vo.GWellPositionImportVo;
 import com.ruoyi.gas.mapper.GValveWellPositionMapper;
 import com.ruoyi.gas.service.IGValveWellPositionService;
+import com.ruoyi.gas.service.IGValvewellRelationService;
 import com.ruoyi.system.mapper.SysDictDataMapper;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 阀井位置Service业务层处理
@@ -152,4 +156,26 @@ public class GValveWellPositionServiceImpl extends ServicePlusImpl<GValveWellPos
         }
         return removeByIds(ids);
     }
+
+    @Autowired
+    private IGValvewellRelationService valvewellRelationService;
+
+    @Override
+    public TableDataInfo myList(GValveWellPositionBo bo) {
+        LambdaQueryWrapper<GValveWellPosition> lqw = Wrappers.lambdaQuery();
+        //查询我的
+        if (StringUtils.isNotBlank(bo.getJobNum())){
+            QueryWrapper<GValvewellRelation> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(GValvewellRelation::getUserId,bo.getJobNum());
+            List<Long> collect = valvewellRelationService.list(queryWrapper).stream().map(GValvewellRelation::getRegulatorBoxId).collect(Collectors.toList());
+            if (!collect.isEmpty()){
+                lqw.in(GValveWellPosition::getId,collect);
+            }else {
+                return new TableDataInfo<>(new ArrayList<>(),0);
+            }
+        }
+        PagePlus<GValveWellPosition, GValveWellPositionVo> result = pageVo(PageUtils.buildPagePlus(), lqw);
+        return PageUtils.buildDataInfo(result);
+    }
+
 }

+ 106 - 0
ruoyi-gas/src/main/java/com/ruoyi/gas/service/impl/GValvewellRelationServiceImpl.java

@@ -0,0 +1,106 @@
+package com.ruoyi.gas.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.core.page.PagePlus;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.gas.domain.*;
+import com.ruoyi.gas.domain.bo.GValveWellInspectionBo;
+import com.ruoyi.gas.domain.bo.GValveWellPositionBo;
+import com.ruoyi.gas.domain.bo.GValvewellRelationBo;
+import com.ruoyi.gas.domain.vo.GAreaVo;
+import com.ruoyi.gas.domain.vo.GValveWellPositionVo;
+import com.ruoyi.gas.domain.vo.GValvewellRelationVo;
+import com.ruoyi.gas.mapper.GValvewellRelationMapper;
+import com.ruoyi.gas.service.IGValveWellPositionService;
+import com.ruoyi.gas.service.IGValvewellRelationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.springframework.util.ObjectUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+import java.util.stream.Collectors;
+
+/**
+ * 阀井目录中间Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-05-25
+ */
+@Service
+public class GValvewellRelationServiceImpl extends ServicePlusImpl<GValvewellRelationMapper, GValvewellRelation, GValvewellRelationVo> implements IGValvewellRelationService {
+
+    @Override
+    public GValvewellRelationVo queryById(Long id){
+        return getVoById(id);
+    }
+
+    @Override
+    public TableDataInfo<GValvewellRelationVo> queryPageList(GValvewellRelationBo bo) {
+        PagePlus<GValvewellRelation, GValvewellRelationVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
+        return PageUtils.buildDataInfo(result);
+    }
+
+    @Override
+    public List<GValvewellRelationVo> queryList(GValvewellRelationBo bo) {
+        return listVo(buildQueryWrapper(bo));
+    }
+
+    private LambdaQueryWrapper<GValvewellRelation> buildQueryWrapper(GValvewellRelationBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<GValvewellRelation> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getUserId()), GValvewellRelation::getUserId, bo.getUserId());
+        lqw.eq(bo.getRegulatorBoxId() != null, GValvewellRelation::getRegulatorBoxId, bo.getRegulatorBoxId());
+        lqw.last("order by create_time desc");
+        return lqw;
+    }
+
+    @Override
+    public Boolean insertByBo(GValvewellRelationBo bo) {
+        if (!ObjectUtils.isEmpty(bo.getIds())){
+            List<GValvewellRelation> list = new ArrayList<>();
+            bo.getIds().forEach(item->{
+                GValvewellRelation boxRelation = new GValvewellRelation();
+                boxRelation.setUserId(bo.getJobNum());
+                boxRelation.setRegulatorBoxId(Long.valueOf(item));
+                list.add(boxRelation);
+            });
+            saveBatch(list);
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public Boolean updateByBo(GValvewellRelationBo bo) {
+        GValvewellRelation update = BeanUtil.toBean(bo, GValvewellRelation.class);
+        validEntityBeforeSave(update);
+        return updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(GValvewellRelation entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return removeByIds(ids);
+    }
+
+}