Procházet zdrojové kódy

拒检登记设备上报

xy před 6 dny
rodič
revize
1b699a3c66

+ 8 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equippipedetail/EquipPipeDetailController.java

@@ -71,6 +71,14 @@ public class EquipPipeDetailController {
         return success(BeanUtils.toBean(equipPipeDetail, EquipPipeDetailRespVO.class));
     }
 
+    @GetMapping("/page-join")
+    @Operation(summary = "获得管道设备明细-管线及其关联的管道设备")
+    @Parameter(name = "pipeRegCode", description = "管道注册代码", required = true, example = "1024")
+    //@PreAuthorize("@ss.hasPermission('pressure2:equip-pipe-detail:query')")
+    public CommonResult<List<EquipPipeDetailJoinRespVO>> getEquipPipeDetailJoin(@RequestParam("pipeRegCode") String pipeRegCode) {
+        return success(equipPipeDetailService.getEquipPipeDetailJoinByPipeRegCode(pipeRegCode));
+    }
+
     @GetMapping("/page")
     @Operation(summary = "获得管道设备明细-管线分页")
     //@PreAuthorize("@ss.hasPermission('pressure2:equip-pipe-detail:query')")

+ 25 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equippipedetail/vo/EquipPipeDetailJoinRespVO.java

@@ -0,0 +1,25 @@
+package cn.start.tz.module.pressure2.controller.admin.equippipedetail.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+/**
+ * 管道设备明细-管线关联管道设备的 Response VO
+ *
+ * 包含 EquipPipeDetailDO 的所有字段,以及关联 EquipPipeDO 的使用单位名称、使用单位地址、使用状态字段。
+ *
+ * @author 特种管理员
+ */
+@Schema(description = "管理后台 - 管道设备明细-管线关联管道设备 Response VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class EquipPipeDetailJoinRespVO extends EquipPipeDetailRespVO {
+
+    @Schema(description = "使用单位名称")
+    private String unitName;
+
+    @Schema(description = "使用单位地址")
+    private String unitAddress;
+
+}

+ 10 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equippipedetail/EquipPipeDetailService.java

@@ -78,4 +78,14 @@ public interface EquipPipeDetailService extends IService<EquipPipeDetailDO>  {
     List<EquipPipeDetailRespVO> getEquipPipeDetailByEquipPipeId(String equipPipeId);
 
     List<EquipPipeDetailRespVO> selectListByEquipPipeIdCollection(Set<String> equipPipeIds);
+
+    /**
+     * 根据管道注册代码获得管道设备明细-管线及其关联的管道设备信息
+     *
+     * 包含 EquipPipeDetailDO 的所有字段,以及关联 EquipPipeDO 的使用单位名称、使用单位地址、使用状态字段。
+     *
+     * @param pipeRegCode 管道注册代码
+     * @return 管道设备明细-管线列表(含管道设备关联字段)
+     */
+    List<EquipPipeDetailJoinRespVO> getEquipPipeDetailJoinByPipeRegCode(String pipeRegCode);
 }

+ 42 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equippipedetail/EquipPipeDetailServiceImpl.java

@@ -10,11 +10,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import java.util.*;
 
 import cn.start.tz.module.pressure2.controller.admin.equippipedetail.vo.*;
+import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
 import cn.start.tz.framework.common.pojo.PageResult;
 import cn.start.tz.framework.common.pojo.PageParam;
 import cn.start.tz.framework.common.util.object.BeanUtils;
 
+import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equippipedetail.EquipPipeDetailMapper;
 
 import static cn.start.tz.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -32,6 +34,9 @@ public class EquipPipeDetailServiceImpl extends ServiceImpl<EquipPipeDetailMappe
     @Resource
     private EquipPipeDetailMapper equipPipeDetailMapper;
 
+    @Resource
+    private EquipPipeMapper equipPipeMapper;
+
     @Override
     public String createEquipPipeDetail(EquipPipeDetailSaveReqVO createReqVO) {
         // 插入
@@ -111,4 +116,41 @@ public class EquipPipeDetailServiceImpl extends ServiceImpl<EquipPipeDetailMappe
         return BeanUtils.toBean(list, EquipPipeDetailRespVO.class);
     }
 
+    @Override
+    public List<EquipPipeDetailJoinRespVO> getEquipPipeDetailJoinByPipeRegCode(String pipeRegCode) {
+        // 按管道注册代码查询管线明细
+        LambdaQueryWrapper<EquipPipeDetailDO> queryWrapper = new LambdaQueryWrapper<EquipPipeDetailDO>()
+                .eq(EquipPipeDetailDO::getPipeRegCode, pipeRegCode);
+        List<EquipPipeDetailDO> detailList = equipPipeDetailMapper.selectList(queryWrapper);
+        if (detailList.isEmpty()) {
+            return Collections.emptyList();
+        }
+        // 收集关联的管道设备id,批量查询管道设备
+        Set<String> equipPipeIds = new HashSet<>();
+        for (EquipPipeDetailDO detail : detailList) {
+            if (detail.getEquipPipeId() != null) {
+                equipPipeIds.add(detail.getEquipPipeId());
+            }
+        }
+        Map<String, EquipPipeDO> equipPipeMap = new HashMap<>();
+        if (!equipPipeIds.isEmpty()) {
+            List<EquipPipeDO> equipPipeList = equipPipeMapper.selectByIds(equipPipeIds);
+            for (EquipPipeDO equipPipe : equipPipeList) {
+                equipPipeMap.put(equipPipe.getId(), equipPipe);
+            }
+        }
+        // 组装返回结果,补充使用单位名称、使用单位地址、使用状态字段
+        List<EquipPipeDetailJoinRespVO> result = new ArrayList<>();
+        for (EquipPipeDetailDO detail : detailList) {
+            EquipPipeDetailJoinRespVO respVO = BeanUtils.toBean(detail, EquipPipeDetailJoinRespVO.class);
+            EquipPipeDO equipPipe = equipPipeMap.get(detail.getEquipPipeId());
+            if (equipPipe != null) {
+                respVO.setUnitName(equipPipe.getUnitName());
+                respVO.setUnitAddress(equipPipe.getUnitAddress());
+            }
+            result.add(respVO);
+        }
+        return result;
+    }
+
 }