wang_xy 1 rok pred
rodič
commit
cba8139841

+ 1 - 20
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringGasOpeningController.java

@@ -11,6 +11,7 @@ import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringGasOpeningBo;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringReviewBo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringGasOpeningVo;
 import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryTypeVo;
 import com.ruoyi.zdsz.service.IZEngineeringGasOpeningService;
@@ -117,24 +118,4 @@ public class ZEngineeringGasOpeningController extends BaseController {
         return R.ok(iZEngineeringGasOpeningService.query(id, "带气封堵施工"));
     }
 
-    /**
-     * 开栓施工根据工程类型查询工程名称
-     */
-    @GetMapping("/queryNameByType")
-//    @SaCheckPermission("zdsz:engineeringIndustry:type")
-    public R<List<ZEngineeringIndustryTypeVo>> queryNameByType(ZEngineeringGasOpeningBo bo) {
-        return R.ok(iZEngineeringGasOpeningService.queryNameByType(bo));
-    }
-
-    /**
-     * 开栓施工修改工程
-     */
-    @PutMapping("/updateNodeByBo")
-    @Log(title = "开栓施工", businessType = BusinessType.UPDATE)
-    @RepeatSubmit()
-//    @SaCheckPermission("zdsz:engineeringIndustry:removeNode")
-    public R<Void> updateNodeByBo(@Validated(EditGroup.class) @RequestBody ZEngineeringGasOpeningBo bo) {
-        return toAjax(iZEngineeringGasOpeningService.updateNodeByBo(bo));
-    }
-
 }

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringGasOpening.java

@@ -30,6 +30,7 @@ public class ZEngineeringGasOpening extends BaseEntity {
      */
     @TableId(value = "id")
     private String id;
+    private String state;
     /**
      * 工程类型
      */

+ 7 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringGasOpeningBo.java

@@ -25,8 +25,9 @@ public class ZEngineeringGasOpeningBo extends BaseEntity {
     private String id;
 
     /**
-     * 工程名称
+     * 开栓状态
      */
+    private String state;
     private String enginName;
 
     /**
@@ -162,6 +163,11 @@ public class ZEngineeringGasOpeningBo extends BaseEntity {
     private ZEngineeringNodeBo zEngineeringNodeBo;
 
     /**
+     * 手机端用审核状态传值
+     */
+    private String completionStatus;
+
+    /**
      * 附件
      */
     private List<ZFileBo> files;

+ 4 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringGasOpeningVo.java

@@ -27,6 +27,8 @@ public class ZEngineeringGasOpeningVo extends BaseEntity {
     @ExcelProperty(value = "")
     private String id;
 
+    private String state;
+
     /**
      * 工程类型
      */
@@ -99,6 +101,7 @@ public class ZEngineeringGasOpeningVo extends BaseEntity {
      */
     @ExcelProperty(value = "进气方向")
     private String gasMeterDirection;
+    private String gasMeterDirectionName;
     /**
      * 型号
      */
@@ -119,6 +122,7 @@ public class ZEngineeringGasOpeningVo extends BaseEntity {
      */
     @ExcelProperty(value = "阀管改造类型")
     private String gasChangeType;
+    private String gasChangeTypeName;
     /**
      * 是否使用防风圈
      */

+ 1 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringGasOpeningMapper.java

@@ -17,5 +17,5 @@ public interface ZEngineeringGasOpeningMapper extends BaseMapperPlus<ZEngineerin
 
     Page<ZEngineeringGasOpeningVo> queryPageList(@Param("p") ZEngineeringGasOpeningBo bo, @Param("pa") Page<?> page, @Param("page") Integer pages, @Param("size") Integer size);
 
-
+    ZEngineeringGasOpeningVo queryVoById(String id);
 }

+ 0 - 2
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringGasOpeningService.java

@@ -50,6 +50,4 @@ public interface IZEngineeringGasOpeningService {
     Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
 
     ZEngineeringGasOpeningVo query(String id, String type);
-
-    List<ZEngineeringIndustryTypeVo> queryNameByType(ZEngineeringGasOpeningBo bo);
 }

+ 36 - 105
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringGasOpeningServiceImpl.java

@@ -5,9 +5,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.helper.LoginHelper;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.service.ISysDictDataService;
 import com.ruoyi.zdsz.domain.ZEngiineeringPhoto;
 import com.ruoyi.zdsz.domain.ZEngineeringGasOpening;
 import com.ruoyi.zdsz.domain.bo.*;
@@ -57,20 +60,20 @@ public class ZEngineeringGasOpeningServiceImpl implements IZEngineeringGasOpenin
      */
     @Override
     public ZEngineeringGasOpeningVo queryById(String id) {
-        ZEngineeringGasOpeningVo zEngineeringGasOpeningVo = baseMapper.selectVoById(id);
+        ZEngineeringGasOpeningVo zEngineeringGasOpeningVo = baseMapper.queryVoById(id);
         ZEngiineeringPhotoBo photoBo = new ZEngiineeringPhotoBo();
         photoBo.setCreateTime(zEngineeringGasOpeningVo.getCreateTime());
         photoBo.setParentId(zEngineeringGasOpeningVo.getId());
         List<ZEngiineeringPhotoVo> photoVoList = photoService.queryList(photoBo);
-        zEngineeringGasOpeningVo.setGasCylinderPic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("gasCylinderPic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
-        zEngineeringGasOpeningVo.setPressureTestPic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("pressureTestPic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
-        zEngineeringGasOpeningVo.setGasMeterPic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("gasMeterPic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
-        zEngineeringGasOpeningVo.setRearPipePic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("rearPipePic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
-        zEngineeringGasOpeningVo.setGasChangePic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("gasChangePic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
-        zEngineeringGasOpeningVo.setSoftPipePic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("softPipePic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
-        zEngineeringGasOpeningVo.setWindproofCirclePic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("windproofCirclePic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
-        zEngineeringGasOpeningVo.setGasEnvironmentPic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("gasEnvironmentPic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
-        zEngineeringGasOpeningVo.setReceiptFormPic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("receiptFormPic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
+        zEngineeringGasOpeningVo.setGasCylinderPic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("gasCylinderPic")==null?new ArrayList<>():photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("gasCylinderPic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
+        zEngineeringGasOpeningVo.setPressureTestPic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("pressureTestPic")==null?new ArrayList<>():photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("pressureTestPic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
+        zEngineeringGasOpeningVo.setGasMeterPic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("gasMeterPic")==null?new ArrayList<>():photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("gasMeterPic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
+        zEngineeringGasOpeningVo.setRearPipePic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("rearPipePic")==null?new ArrayList<>():photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("rearPipePic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
+        zEngineeringGasOpeningVo.setGasChangePic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("gasChangePic")==null?new ArrayList<>():photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("gasChangePic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
+        zEngineeringGasOpeningVo.setSoftPipePic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("softPipePic")==null?new ArrayList<>():photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("softPipePic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
+        zEngineeringGasOpeningVo.setWindproofCirclePic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("windproofCirclePic")==null?new ArrayList<>():photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("windproofCirclePic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
+        zEngineeringGasOpeningVo.setGasEnvironmentPic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("gasEnvironmentPic")==null?new ArrayList<>():photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("gasEnvironmentPic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
+        zEngineeringGasOpeningVo.setReceiptFormPic(photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("receiptFormPic")==null?new ArrayList<>():photoVoList.stream().collect(Collectors.groupingBy(ZEngiineeringPhotoVo::getType)).get("receiptFormPic").stream().map(s -> s.getPicUrl()).collect(Collectors.toList()));
         return zEngineeringGasOpeningVo;
     }
 
@@ -129,6 +132,11 @@ public class ZEngineeringGasOpeningServiceImpl implements IZEngineeringGasOpenin
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean insertByBo(ZEngineeringGasOpeningBo bo) {
+        LambdaQueryWrapper<ZEngineeringGasOpening> lqw = buildQueryWrapper(bo);
+        List<ZEngineeringGasOpeningVo> list = baseMapper.selectVoList(lqw);
+        if(list.size() > 0){
+            throw new ServiceException("当前房间已开栓,不能重复提交!");
+        }
         ZEngineeringGasOpening add = BeanUtil.toBean(bo, ZEngineeringGasOpening.class);
         validEntityBeforeSave(add);
         boolean flag = baseMapper.insert(add) > 0;
@@ -166,11 +174,11 @@ public class ZEngineeringGasOpeningServiceImpl implements IZEngineeringGasOpenin
             batchInsertPic(bo.getGasEnvironmentPic(), bo.getId(), "gasEnvironmentPic");
             batchInsertPic(bo.getReceiptFormPic(), bo.getId(), "receiptFormPic");
         }
-        if (!ObjectUtils.isEmpty(bo.getzEngineeringNodeBo())) {
-            bo.getzEngineeringNodeBo().setCivliId(add.getId());
-            bo.getzEngineeringNodeBo().setCreateTime(new Date());
-            izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());
-        }
+//        if (!ObjectUtils.isEmpty(bo.getzEngineeringNodeBo())) {
+//            bo.getzEngineeringNodeBo().setCivliId(add.getId());
+//            bo.getzEngineeringNodeBo().setCreateTime(new Date());
+//            izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());
+//        }
         return flag;
     }
 
@@ -183,69 +191,19 @@ public class ZEngineeringGasOpeningServiceImpl implements IZEngineeringGasOpenin
         ZEngineeringGasOpening update = BeanUtil.toBean(bo, ZEngineeringGasOpening.class);
         validEntityBeforeSave(update);
         boolean flag = baseMapper.updateById(update) > 0;
-        if (flag) {
-            List<ZEngiineeringPhoto> list = new ArrayList<>();
-            // 查询数据库中已存在的文件列表
-            ZEngiineeringPhotoBo zEngiineeringPhotoBo = new ZEngiineeringPhotoBo();
-            zEngiineeringPhotoBo.setParentId(update.getId());
-            zEngiineeringPhotoBo.setCreateTime(bo.getCreateTime());
-            List<String> existingPhotos = photoService.queryList(zEngiineeringPhotoBo).stream().map(ZEngiineeringPhotoVo::getPicUrl).collect(Collectors.toList());
-            // 插入前端传来的新文件
-            if (!ObjectUtils.isEmpty(bo.getFiles())) {
-                for (ZFileBo pic : bo.getFiles()) {
-                    if (!existingPhotos.contains(pic.getUrl())) {
-                        ZEngiineeringPhoto newPhoto = new ZEngiineeringPhoto();
-                        newPhoto.setParentId(bo.getId());
-                        newPhoto.setPicUrl(pic.getUrl());
-                        newPhoto.setFileName(pic.getName());
-                        newPhoto.setCreateBy(String.valueOf(LoginHelper.getUserId()));
-                        newPhoto.setCreateTime(bo.getCreateTime());
-                        newPhoto.setUpdateTime(new Date());
-                        list.add(newPhoto);
-                    }
-                }
-                // 删除数据库中多余的文件
-                List<String> photosToDelete = existingPhotos.stream().filter(pic -> !bo.getFiles().stream().map(ZFileBo::getUrl).collect(Collectors.toList()).contains(pic)).collect(Collectors.toList());
-                if (!photosToDelete.isEmpty()) {
-                    photosToDelete.forEach(item -> {
-                        ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
-                        zEngiineeringPhoto.setPicUrl(item);
-                        zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
-                        photoService.deleteWithValid(zEngiineeringPhoto);
-                    });
-                }
-                // 批量插入新图片
-                if (!list.isEmpty()) {
-                    photoService.insertBatch(list);
-                }
-            }
-            batchUpdatePic(bo.getGasCylinderPic(), bo.getId(), "gasCylinderPic", bo.getCreateTime());
-            batchUpdatePic(bo.getPressureTestPic(), bo.getId(), "pressureTestPic", bo.getCreateTime());
-            batchUpdatePic(bo.getGasMeterPic(), bo.getId(), "gasMeterPic", bo.getCreateTime());
-            batchUpdatePic(bo.getRearPipePic(), bo.getId(), "rearPipePic", bo.getCreateTime());
-            batchUpdatePic(bo.getGasChangePic(), bo.getId(), "gasChangePic", bo.getCreateTime());
-            batchUpdatePic(bo.getSoftPipePic(), bo.getId(), "softPipePic", bo.getCreateTime());
-            batchUpdatePic(bo.getWindproofCirclePic(), bo.getId(), "windproofCirclePic", bo.getCreateTime());
-            batchUpdatePic(bo.getGasEnvironmentPic(), bo.getId(), "gasEnvironmentPic", bo.getCreateTime());
-            batchUpdatePic(bo.getReceiptFormPic(), bo.getId(), "receiptFormPic", bo.getCreateTime());
-        }
-        bo.getzEngineeringNodeBo().setCivliId(bo.getId());
-//        bo.getzEngineeringNodeBo().setType(bo.getType());
-        bo.getzEngineeringNodeBo().setCreateTime(bo.getCreateTime());
-        ZEngineeringNodeBo zEngineeringNodeBo = new ZEngineeringNodeBo();
-        zEngineeringNodeBo.setCivliId(update.getId());
-//        zEngineeringNodeBo.setType(bo.getType());
-//        zEngineeringNodeBo.setType(bo.getzEngineeringNodeBo().getType()); // zEngineeringNodeBo.setType(bo.getzEngineeringNodeBo().getType());
-        zEngineeringNodeBo.setType("开栓施工"); // zEngineeringNodeBo.setType(bo.getzEngineeringNodeBo().getType());
-        zEngineeringNodeBo.setCreateTime(baseMapper.selectVoById(bo.getId()).getCreateTime());
-        ZEngineeringNodeBo query = izEngineeringNodeService.query(zEngineeringNodeBo);
-        if (!ObjectUtils.isEmpty(query)) {
-            bo.getzEngineeringNodeBo().setId(query.getId());
-        }
-        bo.getzEngineeringNodeBo().setType("开栓施工");
-        bo.getzEngineeringNodeBo().setCreateTime(zEngineeringNodeBo.getCreateTime());
-        izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());
-        System.out.println("izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());");
+        ZEngineeringInfoBo photoBo = new ZEngineeringInfoBo();
+        photoBo.setCreateTime(bo.getCreateTime());
+        photoBo.setId(bo.getId());
+        photoService.delete(photoBo);
+        batchInsertPic(bo.getGasCylinderPic(), bo.getId(), "gasCylinderPic");
+        batchInsertPic(bo.getPressureTestPic(), bo.getId(), "pressureTestPic");
+        batchInsertPic(bo.getGasMeterPic(), bo.getId(), "gasMeterPic");
+        batchInsertPic(bo.getRearPipePic(), bo.getId(), "rearPipePic");
+        batchInsertPic(bo.getGasChangePic(), bo.getId(), "gasChangePic");
+        batchInsertPic(bo.getSoftPipePic(), bo.getId(), "softPipePic");
+        batchInsertPic(bo.getWindproofCirclePic(), bo.getId(), "windproofCirclePic");
+        batchInsertPic(bo.getGasEnvironmentPic(), bo.getId(), "gasEnvironmentPic");
+        batchInsertPic(bo.getReceiptFormPic(), bo.getId(), "receiptFormPic");
         return flag;
     }
 
@@ -426,31 +384,4 @@ public class ZEngineeringGasOpeningServiceImpl implements IZEngineeringGasOpenin
         return zEngineeringGasOpeningVo;
     }
 
-    @Override
-    public List<ZEngineeringIndustryTypeVo> queryNameByType(ZEngineeringGasOpeningBo bo) {
-        LambdaQueryWrapper<ZEngineeringGasOpening> zEngineeringGasOpeningBoLambdaQueryWrapper = buildListByType(bo);
-        zEngineeringGasOpeningBoLambdaQueryWrapper.orderByDesc(ZEngineeringGasOpening::getCreateTime);
-//        List<ZEngineeringGasOpening> zEngineeringAirWalVos = baseMapper.selectList(zEngineeringGasOpeningBoLambdaQueryWrapper);
-//        List<ZEngineeringIndustryTypeVo> zEngineeringAirWalTypeVos = zEngineeringAirWalVos.stream().map(ZEngineeringIndustryTypeVo::new).collect(Collectors.toList());
-//        return zEngineeringAirWalTypeVos;
-        return new ArrayList<ZEngineeringIndustryTypeVo>();
-    }
-
-    private LambdaQueryWrapper<ZEngineeringGasOpening> buildListByType(ZEngineeringGasOpeningBo bo) {
-
-        LambdaQueryWrapper<ZEngineeringGasOpening> queryWrapper = new LambdaQueryWrapper<ZEngineeringGasOpening>();
-        queryWrapper.orderByDesc(ZEngineeringGasOpening::getCreateTime);
-//        queryWrapper.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringIndustry::getEnginType, bo.getEnginType());
-//        queryWrapper.eq(StringUtils.isNotBlank(bo.getType()), ZEngineeringIndustry::getType, bo.getType());
-//        if (!"null".equals(bo.getEnginClassification())) {
-//            queryWrapper.like(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringIndustry::getEnginClassification, bo.getEnginClassification());
-//        }
-        if (!"null".equals(bo.getEnginName())) {
-            queryWrapper.like(StringUtils.isNotBlank(bo.getEnginName()), ZEngineeringGasOpening::getEnginName, bo.getEnginName());
-        }
-
-        return queryWrapper;
-    }
-
-
 }

+ 1 - 2
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZComprehensiveMapper.xml

@@ -132,8 +132,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         order by zc.create_time desc
     </select>
     <select id="getIsQualifiedString" resultType="java.lang.String" parameterType="java.lang.String">
-        SELECT
-            CASE is_qualified WHEN 'N' THEN 0 ELSE 1 END as isQualified
+        SELECT state
         FROM
             z_engineering_gas_opening
         WHERE

+ 55 - 1
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringGasOpeningMapper.xml

@@ -13,6 +13,8 @@
             z.unit_id,
             z.house_id,
             e.dict_label AS districtName,
+            z.state,
+            z.create_time as createTime,
             if(a.name is null , '未知' ,a.NAME) AS areaName,
             if(b.name is null , '未知' ,b.NAME) AS buildingName,
             if(c.name is null , '未知' ,c.NAME) AS unitName,
@@ -43,7 +45,59 @@
         <if test="p.createBy != null and p.createBy != ''">
             and z.create_by = #{p.createBy}
         </if>
+        <if test="p.completionStatus != null and p.completionStatus != ''">
+            and z.state = #{p.completionStatus}
+        </if>
         order by z.update_info_time desc
     </select>
-
+    <select id="queryVoById" parameterType="java.lang.String" resultType="com.ruoyi.zdsz.domain.vo.ZEngineeringGasOpeningVo">
+        SELECT
+            z.id,
+            z.state,
+            z.engin_type AS engintype,
+            z.district,
+            z.area_id AS areaId,
+            z.building_id AS buildingId,
+            z.unit_id AS unitId,
+            z.house_id AS houseId,
+            z.is_anti_corrosion_paint AS isAntiCorrosionPaint,
+            z.is_vertical_bar_clamp AS isVerticalBarClamp,
+            z.vertical_bar_test AS verticalBarTest,
+            z.household_test AS householdTest,
+            z.gas_meter_number AS gasMeterNumber,
+            z.gas_meter_count AS gasMeterCount,
+            z.gas_meter_brand AS gasMeterBrand,
+            z.gas_meter_direction AS gasMeterDirection,
+            e1.dict_label AS gasMeterDirectionName,
+            z.gas_meter_type AS gasMeterType,
+            z.is_rear_pipe_clamp AS isRearPipeClamp,
+            z.is_gas_change_type AS isGasChangeType,
+            z.gas_change_type AS gasChangeType,
+            e2.dict_label AS gasChangeTypeName,
+            z.is_windproof_circle AS isWindproofCircle,
+            z.engin_name AS enginName,
+            z.version,
+            z.remark,
+            z.del_flag AS delFlag,
+            z.create_by AS createBy,
+            z.create_time AS createTime,
+            z.update_by AS updateBy,
+            z.update_time AS updateTime,
+            z.update_info_time AS updateInfoTime,
+            e.dict_label AS districtName,
+            if(a.name is null , '未知' ,a.NAME) AS areaName,
+            if(b.name is null , '未知' ,b.NAME) AS buildingName,
+            if(c.name is null , '未知' ,c.NAME) AS unitName,
+            if(d.name is null , '未知' ,d.NAME) AS houseName
+        FROM
+            z_engineering_gas_opening z
+                LEFT JOIN z_area a ON z.area_id = a.id
+                LEFT JOIN z_building b ON z.building_id = b.id
+                LEFT JOIN z_unit c ON z.unit_id = c.id
+                LEFT JOIN z_house d ON z.house_id = d.id
+                LEFT JOIN sys_dict_data e ON e.dict_value = z.district
+                LEFT JOIN sys_dict_data e1 ON e1.dict_value = z.gas_meter_direction
+                LEFT JOIN sys_dict_data e2 ON e2.dict_value = z.gas_change_type
+        where z.del_flag = 0 and z.id = #{id}
+    </select>
 </mapper>