JX.Li 11 ماه پیش
والد
کامیت
7ff98a732a

+ 106 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZTouchOperationEngineeringController.java

@@ -0,0 +1,106 @@
+package com.ruoyi.web.controller.zdsz;
+
+import java.util.List;
+import java.util.Arrays;
+
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
+import lombok.RequiredArgsConstructor;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+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.PageQuery;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.validate.AddGroup;
+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.vo.ZTouchOperationEngineeringVo;
+import com.ruoyi.zdsz.domain.bo.ZTouchOperationEngineeringBo;
+import com.ruoyi.zdsz.service.IZTouchOperationEngineeringService;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 碰口作业
+ *
+ * @author ruoyi
+ * @date 2024-06-12
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/zdsz/touchOperationEngineering")
+public class ZTouchOperationEngineeringController extends BaseController {
+
+    private final IZTouchOperationEngineeringService iZTouchOperationEngineeringService;
+
+    /**
+     * 查询碰口作业列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo<ZTouchOperationEngineeringVo> list(ZTouchOperationEngineeringBo bo, PageQuery pageQuery) {
+        return iZTouchOperationEngineeringService.queryPageList(bo, pageQuery);
+    }
+
+
+    @GetMapping("query/{id}/{type}")
+    public R<ZTouchOperationEngineeringVo> querys(@NotNull(message = "主键不能为空") @PathVariable Long id,@NotNull(message = "环节不能为空") @PathVariable String type) {
+        return R.ok(iZTouchOperationEngineeringService.query(id, type));
+    }
+    /**
+     * 导出碰口作业列表
+     */
+    @Log(title = "碰口作业", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(ZTouchOperationEngineeringBo bo, HttpServletResponse response) {
+        List<ZTouchOperationEngineeringVo> list = iZTouchOperationEngineeringService.queryList(bo);
+        ExcelUtil.exportExcel(list, "碰口作业", ZTouchOperationEngineeringVo.class, response);
+    }
+
+    /**
+     * 获取碰口作业详细信息
+     *
+     * @param id 主键
+     */
+    @GetMapping("/{id}")
+    public R<ZTouchOperationEngineeringVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable Long id) {
+        return R.ok(iZTouchOperationEngineeringService.queryById(id));
+    }
+
+    /**
+     * 新增碰口作业
+     */
+    @Log(title = "碰口作业", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody ZTouchOperationEngineeringBo bo) {
+        return toAjax(iZTouchOperationEngineeringService.insertByBo(bo));
+    }
+
+    /**
+     * 修改碰口作业
+     */
+    @Log(title = "碰口作业", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping()
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ZTouchOperationEngineeringBo bo) {
+        return toAjax(iZTouchOperationEngineeringService.updateByBo(bo));
+    }
+
+    /**
+     * 删除碰口作业
+     *
+     * @param ids 主键串
+     */
+    @Log(title = "碰口作业", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable Long[] ids) {
+        return toAjax(iZTouchOperationEngineeringService.deleteWithValidByIds(Arrays.asList(ids), true));
+    }
+}

+ 2 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java

@@ -10,6 +10,7 @@ import org.apache.commons.lang3.ArrayUtils;
 
 import javax.validation.Valid;
 import javax.validation.constraints.NotBlank;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -149,6 +150,7 @@ public class GenTable extends BaseEntity {
      */
     @TableField(exist = false)
     private String treeName;
+    private Date updateInfoTime;
 
     /*
      * 菜单id列表

+ 2 - 1
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java

@@ -11,6 +11,7 @@ import lombok.EqualsAndHashCode;
 import org.apache.ibatis.type.JdbcType;
 
 import javax.validation.constraints.NotBlank;
+import java.util.Date;
 
 /**
  * 代码生成业务字段表 gen_table_column
@@ -66,7 +67,7 @@ public class GenTableColumn extends BaseEntity {
      */
     @TableField(updateStrategy = FieldStrategy.IGNORED, jdbcType = JdbcType.VARCHAR)
     private String isPk;
-
+    private Date updateInfoTime;
     /**
      * 是否自增(1是)
      */

+ 58 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZTouchOperationEngineering.java

@@ -0,0 +1,58 @@
+package com.ruoyi.zdsz.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 碰口作业对象 z_touch_operation_engineering
+ *
+ * @author ruoyi
+ * @date 2024-06-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("z_touch_operation_engineering")
+public class ZTouchOperationEngineering extends BaseEntity {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 
+     */
+    @TableId(value = "id")
+    private Long id;
+    /**
+     * 作业方式
+     */
+    private String modeOperation;
+    /**
+     * 工程名称
+     */
+    private String enginName;
+    /**
+     * 地点
+     */
+    private String locations;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 删除标识
+     */
+    @TableLogic
+    private String delFlag;
+    /**
+     * 修改信息时间
+     */
+    private Date updateInfoTime;
+
+}

+ 74 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZTouchOperationEngineeringBo.java

@@ -0,0 +1,74 @@
+package com.ruoyi.zdsz.domain.bo;
+
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import javax.validation.constraints.*;
+
+import java.util.Date;
+
+import java.util.Date;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 碰口作业业务对象 z_touch_operation_engineering
+ *
+ * @author ruoyi
+ * @date 2024-06-12
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ZTouchOperationEngineeringBo extends BaseEntity {
+
+    /**
+     *
+     */
+    @NotNull(message = "不能为空", groups = { EditGroup.class })
+    private Long id;
+
+    /**
+     * 作业方式
+     */
+    @NotBlank(message = "作业方式不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String modeOperation;
+
+    /**
+     * 工程名称
+     */
+    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String enginName;
+
+    /**
+     * 地点
+     */
+    @NotBlank(message = "地点不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String locations;
+
+    /**
+     * 备注
+     */
+    private String remark;
+    private List<ZEngineeringNodeBo> zEngineeringNodeBoList;
+    private ZEngineeringNodeBo zEngineeringNodeBo;
+
+    public ZEngineeringNodeBo getzEngineeringNodeBo() {
+        return zEngineeringNodeBo;
+    }
+
+    public void setzEngineeringNodeBo(ZEngineeringNodeBo zEngineeringNodeBo) {
+        this.zEngineeringNodeBo = zEngineeringNodeBo;
+    }
+
+    public List<ZEngineeringNodeBo> getzEngineeringNodeBoList() {
+        return zEngineeringNodeBoList;
+    }
+
+    public void setzEngineeringNodeBoList(List<ZEngineeringNodeBo> zEngineeringNodeBoList) {
+        this.zEngineeringNodeBoList = zEngineeringNodeBoList;
+    }
+}

+ 87 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZTouchOperationEngineeringVo.java

@@ -0,0 +1,87 @@
+package com.ruoyi.zdsz.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+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 com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
+import lombok.Data;
+import java.util.Date;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 碰口作业视图对象 z_touch_operation_engineering
+ *
+ * @author ruoyi
+ * @date 2024-06-12
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class ZTouchOperationEngineeringVo extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     *
+     */
+    @ExcelProperty(value = "")
+    private Long id;
+
+    /**
+     * 作业方式
+     */
+    @ExcelProperty(value = "作业方式", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(dictType = "tapping_operation")
+    private String modeOperation;
+
+    /**
+     * 工程名称
+     */
+    @ExcelProperty(value = "工程名称")
+    private String enginName;
+
+    /**
+     * 地点
+     */
+    @ExcelProperty(value = "地点")
+    private String locations;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+    private List<ZEngineeringNodeBo> zEngineeringNodeBoList;
+    private ZEngineeringNodeBo zEngineeringNodeBo;
+    private Object nodeReViewStateList;
+
+    public ZEngineeringNodeBo getzEngineeringNodeBo() {
+        return zEngineeringNodeBo;
+    }
+
+    public void setzEngineeringNodeBo(ZEngineeringNodeBo zEngineeringNodeBo) {
+        this.zEngineeringNodeBo = zEngineeringNodeBo;
+    }
+
+    public Object getNodeReViewStateList() {
+        return nodeReViewStateList;
+    }
+
+    public void setNodeReViewStateList(Object nodeReViewStateList) {
+        this.nodeReViewStateList = nodeReViewStateList;
+    }
+
+    public List<ZEngineeringNodeBo> getzEngineeringNodeBoList() {
+        return zEngineeringNodeBoList;
+    }
+
+    public void setzEngineeringNodeBoList(List<ZEngineeringNodeBo> zEngineeringNodeBoList) {
+        this.zEngineeringNodeBoList = zEngineeringNodeBoList;
+    }
+}

+ 15 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZTouchOperationEngineeringMapper.java

@@ -0,0 +1,15 @@
+package com.ruoyi.zdsz.mapper;
+
+import com.ruoyi.zdsz.domain.ZTouchOperationEngineering;
+import com.ruoyi.zdsz.domain.vo.ZTouchOperationEngineeringVo;
+import com.ruoyi.common.core.mapper.BaseMapperPlus;
+
+/**
+ * 碰口作业Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-06-12
+ */
+public interface ZTouchOperationEngineeringMapper extends BaseMapperPlus<ZTouchOperationEngineeringMapper, ZTouchOperationEngineering, ZTouchOperationEngineeringVo> {
+
+}

+ 1 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringNodeService.java

@@ -90,7 +90,7 @@ public interface IZEngineeringNodeService {
     Map<String,Object> ReViewSZList(List<ZEngineeringIndustryVo> list);
     Map<String,Object> ReViewGList(List<ZEngineeringGYVo> list);
     Map<String,Object> ReViewGYList(List<ZEngineeringIndustryVo> list);
-
+    Map<Long,Object> ReViewPKList(List<ZTouchOperationEngineeringVo> list);
     /**
      * 校验并批量删除工程节点信息
      */

+ 51 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZTouchOperationEngineeringService.java

@@ -0,0 +1,51 @@
+package com.ruoyi.zdsz.service;
+
+import com.ruoyi.zdsz.domain.ZTouchOperationEngineering;
+import com.ruoyi.zdsz.domain.vo.ZTouchOperationEngineeringVo;
+import com.ruoyi.zdsz.domain.bo.ZTouchOperationEngineeringBo;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.core.domain.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 碰口作业Service接口
+ *
+ * @author ruoyi
+ * @date 2024-06-12
+ */
+public interface IZTouchOperationEngineeringService {
+
+    /**
+     * 查询碰口作业
+     */
+    ZTouchOperationEngineeringVo queryById(Long id);
+
+    ZTouchOperationEngineeringVo query(Long id, String type);
+
+    /**
+     * 查询碰口作业列表
+     */
+    TableDataInfo<ZTouchOperationEngineeringVo> queryPageList(ZTouchOperationEngineeringBo bo, PageQuery pageQuery);
+
+    /**
+     * 查询碰口作业列表
+     */
+    List<ZTouchOperationEngineeringVo> queryList(ZTouchOperationEngineeringBo bo);
+
+    /**
+     * 新增碰口作业
+     */
+    Boolean insertByBo(ZTouchOperationEngineeringBo bo);
+
+    /**
+     * 修改碰口作业
+     */
+    Boolean updateByBo(ZTouchOperationEngineeringBo bo);
+
+    /**
+     * 校验并批量删除碰口作业信息
+     */
+    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 57 - 9
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringIndustryServiceImpl.java

@@ -93,6 +93,9 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
         else if ("6".equals(type)){
             leftJoin = "z_engineering_air_wall"; // 带气工程
         }
+        else if ("7".equals(type)){
+            leftJoin = "z_touch_operation_engineering"; // 碰口工程
+        }
         LinkedList<String> list = zEngineeringCivilMapper.getTableNames("z_engineering_info");
         List DateList = new ArrayList();
         list.removeLast();
@@ -259,8 +262,7 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
         }
         else if ("6".equals(type)){ // 带气封堵
             listPage.getRecords().forEach(item -> {
-                String date = new SimpleDateFormat("yyyy_MM").format(Date.from(((LocalDateTime)item.get("createTime")).atZone(ZoneId.systemDefault()).toInstant()));;
-;
+                String date = new SimpleDateFormat("yyyy_MM").format(Date.from(((LocalDateTime)item.get("createTime")).atZone(ZoneId.systemDefault()).toInstant()));
                 Map<String, List<SysDictData>> sysDictMap = RedisUtils.getCacheMap("sys_dict");
                 List<SysDictData> municipalEngineeringNode = sysDictMap.get("air_wall_node");
 
@@ -278,15 +280,61 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
             });
             MonthTableNameHandler.removeData();
         }
-        if (!ObjectUtils.isEmpty(listPage)){
-            for (int i = 0; i < listPage.getRecords().size(); i++) {
-                if (ObjectUtils.isEmpty(listPage.getRecords().get(i).get("status"))){
-                    listPage.getRecords().remove(i);
-                    i--;
+        else if ("7".equals(type)){ // 带气封堵
+
+            listPage.getRecords().forEach(item -> {
+                String modeOperation = item.get("modeOperation").toString();
+                String dists = "";
+                if ("地埋扳孔".equals(modeOperation)){
+                    dists="bury_the_wrench_hole";
+                }else if ("架空扳孔".equals(modeOperation)){
+                    dists="aerial_wrench_hole";
+                }else if ("停气作业".equals(modeOperation)){
+                    dists="shutdown_operation";
+                }else if ("PE 封堵".equals(modeOperation)){
+                    dists="pe_plugging";
+                }else if ("钢管带气封堵".equals(modeOperation)){
+                    dists="the_steel_pipe_sealed_with_gas";
                 }
-            }
-            page.setTotal(listPage.getRecords().size());
+                String date = new SimpleDateFormat("yyyy_MM").format(Date.from(((LocalDateTime)item.get("createTime")).atZone(ZoneId.systemDefault()).toInstant()));;
+                ;
+                MonthTableNameHandler.setData(date);
+                List<Map<String, String>> mapList = baseMapper.getReviewStatusByNodeId(item.get("id").toString());
+                Map<String, List<SysDictData>> sysDictMap = RedisUtils.getCacheMap("sys_dict");
+                List<SysDictData> municipalEngineeringNode = sysDictMap.get(dists);
+                mapList.forEach(ite -> {
+                    String str = "2".equals(ite.get("reviewStatus"))?"未审核":"1".equals(ite.get("reviewStatus"))?"通过":"未通过";
+                    try {
+                        ite.put("type",municipalEngineeringNode.stream().filter(ie-> ie.getDictValue() .equals(ite.get("type"))).collect(Collectors.toList()).get(0).getDictLabel());
+                    } catch (Exception e) {
+                        ite.put("type","");
+                    }
+                    ite.put("reviewStatus", str);
+                });
+                List<Map<String, String>> finalMapList = mapList;
+                municipalEngineeringNode.forEach(ite -> {
+                    String dictLabel = ite.getDictLabel();
+                    List<Map<String, String>> type1 = finalMapList.stream().filter(it -> it.get("type").equals(dictLabel)).collect(Collectors.toList());
+                    if (type1.size() == 0) {
+                        HashMap<String, String> objectObjectHashMap = new HashMap<>();
+                        objectObjectHashMap.put("reviewStatus","未审核");
+                        objectObjectHashMap.put("type",dictLabel);
+                        finalMapList.add(objectObjectHashMap);
+                    }
+                });
+                mapList = finalMapList;
+                if (!ObjectUtils.isEmpty(enginStatus)){
+                    String s = "2".equals(enginStatus)?"未审核":"1".equals(enginStatus)?"通过":"未通过";
+                    mapList = mapList.stream().filter(obj->obj.get("reviewStatus").equals(s)).collect(Collectors.toList());
+                }
+                if (!ObjectUtils.isEmpty(nodeType)){
+                    mapList = mapList.stream().filter(obj->obj.get("type").equals(nodeType)).collect(Collectors.toList());
+                }
+                item.put("status",mapList);
+                MonthTableNameHandler.removeData();
+            });
         }
+
         return TableDataInfo.build(listPage);
     }
 

+ 255 - 234
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringNodeServiceImpl.java

@@ -65,7 +65,7 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
     @Autowired
     private ZEngineeringCivilMapper zEngineeringCivilMapper;
     @Autowired
-    private  ZEngineeringReviewMapper zEngineeringReviewMapper;
+    private ZEngineeringReviewMapper zEngineeringReviewMapper;
     @Autowired
     private ZComprehensiveMapper zComprehensiveMapper;
     @Autowired
@@ -89,8 +89,8 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
         lqw.eq(StringUtils.isNotBlank(bo.getType()), ZEngineeringNode::getType, bo.getType());
         System.out.println(LoginHelper.getUserType());
         System.out.println(UserType.SYS_USER);
-//        if (!LoginHelper.getUserType().equals(UserType.SYS_USER))
-//            lqw.eq(ZEngineeringNode::getCreateBy, LoginHelper.getLoginUser().getUsername());
+        //        if (!LoginHelper.getUserType().equals(UserType.SYS_USER))
+        //            lqw.eq(ZEngineeringNode::getCreateBy, LoginHelper.getLoginUser().getUsername());
         ZEngineeringNode zEngineeringNode = baseMapper.selectOne(lqw);
         //        ZEngineeringNode zEngineeringNodeVo=baseMapper.selectById(bo.getId());
         if (zEngineeringNode == null) {
@@ -101,13 +101,14 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
         BeanUtil.copyProperties(zEngineeringNode, zEngineeringNodeBo, "id");
         zEngineeringNodeBo.setId(zEngineeringNode.getId());
         List<ZEngineeringInfoBo> zEngineeringInfoBo = izEngineeringInfoService.query(zEngineeringNodeBo);
-        ZEngineeringReviewBo zEngineeringReview=  izEngineeringReviewService.query(zEngineeringNodeBo);
-        zEngineeringNodeBo.setReviewStatus(ObjectUtils.isEmpty(zEngineeringReview)?"0":zEngineeringReview.getReviewStatus());
-        zEngineeringNodeBo.setReviewContent(ObjectUtils.isEmpty(zEngineeringReview)?"0":zEngineeringReview.getReviewContent());
+        ZEngineeringReviewBo zEngineeringReview = izEngineeringReviewService.query(zEngineeringNodeBo);
+        zEngineeringNodeBo.setReviewStatus(ObjectUtils.isEmpty(zEngineeringReview) ? "0" : zEngineeringReview.getReviewStatus());
+        zEngineeringNodeBo.setReviewContent(ObjectUtils.isEmpty(zEngineeringReview) ? "0" : zEngineeringReview.getReviewContent());
         zEngineeringNodeBo.setId(zEngineeringNode.getId());
         zEngineeringNodeBo.setzEngineeringInfoBoList(zEngineeringInfoBo);
         return zEngineeringNodeBo;
     }
+
     @Override
     @DynamicName(spel = "#bo.createTime")
     //    @Async("threadPoolTaskExecutor")
@@ -117,8 +118,8 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
         lqw.eq(StringUtils.isNotBlank(bo.getType()), ZEngineeringNode::getType, bo.getType());
         System.out.println(LoginHelper.getUserType());
         System.out.println(UserType.SYS_USER);
-//        if (!LoginHelper.getUserType().equals(UserType.SYS_USER))
-//            lqw.eq(ZEngineeringNode::getCreateBy, LoginHelper.getLoginUser().getUsername());
+        //        if (!LoginHelper.getUserType().equals(UserType.SYS_USER))
+        //            lqw.eq(ZEngineeringNode::getCreateBy, LoginHelper.getLoginUser().getUsername());
         ZEngineeringNode zEngineeringNode = baseMapper.selectOne(lqw);
         //        ZEngineeringNode zEngineeringNodeVo=baseMapper.selectById(bo.getId());
         if (zEngineeringNode == null) {
@@ -129,9 +130,9 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
         BeanUtil.copyProperties(zEngineeringNode, zEngineeringNodeBo, "id");
         zEngineeringNodeBo.setId(zEngineeringNode.getId());
         List<ZEngineeringInfoBo> zEngineeringInfoBo = izEngineeringInfoService.queryInsert(zEngineeringNodeBo);
-        ZEngineeringReviewBo zEngineeringReview=  izEngineeringReviewService.query(zEngineeringNodeBo);
-        zEngineeringNodeBo.setReviewStatus(ObjectUtils.isEmpty(zEngineeringReview)?"0":zEngineeringReview.getReviewStatus());
-        zEngineeringNodeBo.setReviewContent(ObjectUtils.isEmpty(zEngineeringReview)?"0":zEngineeringReview.getReviewContent());
+        ZEngineeringReviewBo zEngineeringReview = izEngineeringReviewService.query(zEngineeringNodeBo);
+        zEngineeringNodeBo.setReviewStatus(ObjectUtils.isEmpty(zEngineeringReview) ? "0" : zEngineeringReview.getReviewStatus());
+        zEngineeringNodeBo.setReviewContent(ObjectUtils.isEmpty(zEngineeringReview) ? "0" : zEngineeringReview.getReviewContent());
         zEngineeringNodeBo.setId(zEngineeringNode.getId());
         zEngineeringNodeBo.setzEngineeringInfoBoList(zEngineeringInfoBo);
         return zEngineeringNodeBo;
@@ -213,7 +214,7 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
             ZEngineeringReviewBo zEngineeringReviewBo = izEngineeringReviewService.query(zEngineeringNodeBo);
             if (!ObjectUtils.isEmpty(zEngineeringReviewBo)) {
                 zEngineeringNodeBo.setReviewStatus(zEngineeringReviewBo.getReviewStatus());
-            }else {
+            } else {
                 zEngineeringNodeBo.setReviewStatus("0");
             }
             zEngineeringNodeBoList.add(zEngineeringNodeBo);
@@ -308,24 +309,21 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
             MonthTableNameHandler.removeData();
             //        zEngineeringCivilBo.setCreateTime(zEngineeringReviewBo.getCreateTime());
             //        izEngineeringReviewService.Civilinsert(zEngineeringCivil,zEngineeringReviewBo);
-            areaMessageVo areaMessageVo=new areaMessageVo();
-            if (zEngineeringCivilBo.getEnginClassification().equals("courtyard")||zEngineeringCivilBo.getEnginClassification().equals("overhead "))
-            {
-                if (!"".equals(zEngineeringCivilBo.getBuildingId()))
-                {
+            areaMessageVo areaMessageVo = new areaMessageVo();
+            if (zEngineeringCivilBo.getEnginClassification().equals("courtyard") || zEngineeringCivilBo.getEnginClassification().equals("overhead ")) {
+                if (!"".equals(zEngineeringCivilBo.getBuildingId())) {
                     areaMessageVo = zEngineeringCivilMapper.getAreaMessage(zEngineeringCivilBo.getBuildingId());
                     areaMessageVo.setHouseId("未知");
                     areaMessageVo.setUnitId("未知");
-                }else
-                {
+                } else {
                     areaMessageVo = zEngineeringCivilMapper.getAreaName(zEngineeringCivilBo.getAreaId());
                     areaMessageVo.setHouseId("未知");
                     areaMessageVo.setUnitId("未知");
                     areaMessageVo.setBuildingId("未知");
                 }
 
-            }else{
-                 areaMessageVo = zEngineeringCivilMapper.getHouseMessage(zEngineeringCivilBo.getHouseId());
+            } else {
+                areaMessageVo = zEngineeringCivilMapper.getHouseMessage(zEngineeringCivilBo.getHouseId());
             }
             if (!ObjectUtils.isEmpty(areaMessageVo))
                 BeanUtils.copyProperties(areaMessageVo, zEngineeringCivilBo);
@@ -360,16 +358,16 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
 
     @Override
     @Async
-    public Integer batchNode(List<ZHouse> zHouseList,ZEngineeringCivilBo zEngineeringCivilBo,String userId) {
-        zHouseList.stream().forEach(item->{
+    public Integer batchNode(List<ZHouse> zHouseList, ZEngineeringCivilBo zEngineeringCivilBo, String userId) {
+        zHouseList.stream().forEach(item -> {
             LambdaQueryWrapper<ZEngineeringCivil> lqw = Wrappers.lambdaQuery();
             lqw.eq(StringUtils.isNotBlank(item.getAreaId()), ZEngineeringCivil::getAreaId, item.getAreaId());
             lqw.eq(ZEngineeringCivil::getBuildingId, item.getBuildingId());
-//        .isNull(!StringUtils.isNotBlank(item.getBuildingId()),ZEngineeringCivil::getBuildingId);
+            //        .isNull(!StringUtils.isNotBlank(item.getBuildingId()),ZEngineeringCivil::getBuildingId);
             lqw.eq(ZEngineeringCivil::getUnitId, item.getUnitId());
-//            .isNull(!StringUtils.isNotBlank(item.getUnitId()),ZEngineeringCivil::getUnitId);
-            lqw.eq( ZEngineeringCivil::getHouseId, item.getId());
-//            .isNull(!StringUtils.isNotBlank(item.getId()),ZEngineeringCivil::getHouseId);
+            //            .isNull(!StringUtils.isNotBlank(item.getUnitId()),ZEngineeringCivil::getUnitId);
+            lqw.eq(ZEngineeringCivil::getHouseId, item.getId());
+            //            .isNull(!StringUtils.isNotBlank(item.getId()),ZEngineeringCivil::getHouseId);
             lqw.eq(StringUtils.isNotBlank(zEngineeringCivilBo.getEnginCycle()), ZEngineeringCivil::getEnginCycle, zEngineeringCivilBo.getEnginCycle());
             lqw.eq(StringUtils.isNotBlank(zEngineeringCivilBo.getEnginType()), ZEngineeringCivil::getEnginType, zEngineeringCivilBo.getEnginType());
             lqw.eq(StringUtils.isNotBlank(zEngineeringCivilBo.getEnginClassification()), ZEngineeringCivil::getEnginClassification, zEngineeringCivilBo.getEnginClassification());
@@ -388,13 +386,12 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
                     zEngineeringReview.setReviewUser(userId);
                     zEngineeringReview.setEngInfoId(zEngineeringNode.getId());
                     zEngineeringReviewMapper.insert(zEngineeringReview);
-                } else
-                {
-                    ZEngineeringNode zEngineeringNode1=new ZEngineeringNode();
+                } else {
+                    ZEngineeringNode zEngineeringNode1 = new ZEngineeringNode();
                     zEngineeringNode1.setCivliId(zEngineeringCivilVo.getId());
                     zEngineeringNode1.setType(zEngineeringCivilBo.getType());
                     baseMapper.insert(zEngineeringNode1);
-                    ZEngineeringReview zEngineeringReview=new ZEngineeringReview();
+                    ZEngineeringReview zEngineeringReview = new ZEngineeringReview();
                     zEngineeringReview.setReviewTime(new Date());
                     zEngineeringReview.setReviewStatus(zEngineeringCivilBo.getCompletionStatus());
                     zEngineeringReview.setReviewUser(userId);
@@ -402,20 +399,19 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
                     zEngineeringReviewMapper.insert(zEngineeringReview);
                 }
                 MonthTableNameHandler.removeData();
-            }else
-            {
-                ZEngineeringCivil zEngineeringCivil=new ZEngineeringCivil();
-                BeanUtils.copyProperties(zEngineeringCivilBo,zEngineeringCivil);
-                BeanUtils.copyProperties(item,zEngineeringCivil);
+            } else {
+                ZEngineeringCivil zEngineeringCivil = new ZEngineeringCivil();
+                BeanUtils.copyProperties(zEngineeringCivilBo, zEngineeringCivil);
+                BeanUtils.copyProperties(item, zEngineeringCivil);
                 zEngineeringCivil.setId(null);
                 zEngineeringCivil.setCompletionStatus("施工中");
                 zEngineeringCivil.setHouseId(item.getId());
                 zEngineeringCivilMapper.insert(zEngineeringCivil);
-                ZEngineeringNode zEngineeringNode1=new ZEngineeringNode();
+                ZEngineeringNode zEngineeringNode1 = new ZEngineeringNode();
                 zEngineeringNode1.setCivliId(zEngineeringCivil.getId());
                 zEngineeringNode1.setType(zEngineeringCivilBo.getType());
                 baseMapper.insert(zEngineeringNode1);
-                ZEngineeringReview zEngineeringReview=new ZEngineeringReview();
+                ZEngineeringReview zEngineeringReview = new ZEngineeringReview();
                 zEngineeringReview.setReviewTime(new Date());
                 zEngineeringReview.setReviewStatus(zEngineeringCivilBo.getCompletionStatus());
                 zEngineeringReview.setReviewUser(userId);
@@ -432,11 +428,11 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
         LambdaQueryWrapper<ZEngineeringCivil> lqw = Wrappers.lambdaQuery();
         lqw.eq(StringUtils.isNotBlank(bo.getAreaId()), ZEngineeringCivil::getAreaId, bo.getAreaId());
         lqw.eq(ZEngineeringCivil::getBuildingId, bo.getBuildingId());
-//        .isNull(!StringUtils.isNotBlank(item.getBuildingId()),ZEngineeringCivil::getBuildingId);
+        //        .isNull(!StringUtils.isNotBlank(item.getBuildingId()),ZEngineeringCivil::getBuildingId);
         lqw.eq(ZEngineeringCivil::getUnitId, bo.getUnitId());
-//            .isNull(!StringUtils.isNotBlank(item.getUnitId()),ZEngineeringCivil::getUnitId);
-        lqw.eq( ZEngineeringCivil::getHouseId, bo.getHouseId());
-//            .isNull(!StringUtils.isNotBlank(item.getId()),ZEngineeringCivil::getHouseId);
+        //            .isNull(!StringUtils.isNotBlank(item.getUnitId()),ZEngineeringCivil::getUnitId);
+        lqw.eq(ZEngineeringCivil::getHouseId, bo.getHouseId());
+        //            .isNull(!StringUtils.isNotBlank(item.getId()),ZEngineeringCivil::getHouseId);
         lqw.eq(StringUtils.isNotBlank(bo.getEnginCycle()), ZEngineeringCivil::getEnginCycle, bo.getEnginCycle());
         lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringCivil::getEnginType, bo.getEnginType());
         lqw.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringCivil::getEnginClassification, bo.getEnginClassification());
@@ -455,13 +451,12 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
                 zEngineeringReview.setReviewUser(LoginHelper.getLoginUser().getUserId().toString());
                 zEngineeringReview.setEngInfoId(zEngineeringNode.getId());
                 zEngineeringReviewMapper.insert(zEngineeringReview);
-            } else
-            {
-                ZEngineeringNode zEngineeringNode1=new ZEngineeringNode();
+            } else {
+                ZEngineeringNode zEngineeringNode1 = new ZEngineeringNode();
                 zEngineeringNode1.setCivliId(zEngineeringCivilVo.getId());
                 zEngineeringNode1.setType(bo.getActiveNames());
                 baseMapper.insert(zEngineeringNode1);
-                ZEngineeringReview zEngineeringReview=new ZEngineeringReview();
+                ZEngineeringReview zEngineeringReview = new ZEngineeringReview();
                 zEngineeringReview.setReviewTime(new Date());
                 zEngineeringReview.setReviewStatus(bo.getReviewStatus());
                 zEngineeringReview.setReviewUser(LoginHelper.getLoginUser().getUserId().toString());
@@ -469,20 +464,19 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
                 zEngineeringReviewMapper.insert(zEngineeringReview);
             }
             MonthTableNameHandler.removeData();
-        }else
-        {
-            ZEngineeringCivil zEngineeringCivil=new ZEngineeringCivil();
-            BeanUtils.copyProperties(bo,zEngineeringCivil);
-            BeanUtils.copyProperties(bo,zEngineeringCivil);
+        } else {
+            ZEngineeringCivil zEngineeringCivil = new ZEngineeringCivil();
+            BeanUtils.copyProperties(bo, zEngineeringCivil);
+            BeanUtils.copyProperties(bo, zEngineeringCivil);
             zEngineeringCivil.setId(null);
             zEngineeringCivil.setCompletionStatus("施工中");
             zEngineeringCivil.setHouseId(bo.getHouseId());
             zEngineeringCivilMapper.insert(zEngineeringCivil);
-            ZEngineeringNode zEngineeringNode1=new ZEngineeringNode();
+            ZEngineeringNode zEngineeringNode1 = new ZEngineeringNode();
             zEngineeringNode1.setCivliId(zEngineeringCivil.getId());
             zEngineeringNode1.setType(bo.getActiveNames());
             baseMapper.insert(zEngineeringNode1);
-            ZEngineeringReview zEngineeringReview=new ZEngineeringReview();
+            ZEngineeringReview zEngineeringReview = new ZEngineeringReview();
             zEngineeringReview.setReviewTime(new Date());
             zEngineeringReview.setReviewStatus(bo.getReviewStatus());
             zEngineeringReview.setReviewUser(LoginHelper.getLoginUser().getUserId().toString());
@@ -494,46 +488,46 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
     }
 
     @Override
-    public Map<String,Object> ReViewAirList(List<ZEngineeringAirWallVo> list){
+    public Map<String, Object> ReViewAirList(List<ZEngineeringAirWallVo> list) {
         Map<String, List<SysDictData>> sysDictMap = RedisUtils.getCacheMap("sys_dict");
-        List<ZEngineeringReview> nodeTypeList=new ArrayList<>();
-        Map<String,Object> statemap=new HashMap<>();
-        AtomicReference<List<Map<String, Object>>> ReViewStateMap= new AtomicReference<>(new ArrayList<>());
-        list.stream().forEach(item->{
-            String date=  new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
+        List<ZEngineeringReview> nodeTypeList = new ArrayList<>();
+        Map<String, Object> statemap = new HashMap<>();
+        AtomicReference<List<Map<String, Object>>> ReViewStateMap = new AtomicReference<>(new ArrayList<>());
+        list.stream().forEach(item -> {
+            String date = new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
             MonthTableNameHandler.setData(date);
             LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
             lqw.eq(StringUtils.isNotBlank(item.getId()), ZEngineeringNode::getCivliId, item.getId());
             // lqw.eq(StringUtils.isNotBlank(type), ZEngineeringNode::getType, type);
-            List <ZEngineeringNode> nodeList=baseMapper.selectList(lqw);
-            nodeList.stream().forEach(item2->{
+            List<ZEngineeringNode> nodeList = baseMapper.selectList(lqw);
+            nodeList.stream().forEach(item2 -> {
                 LambdaQueryWrapper<ZEngineeringReview> lqw2 = Wrappers.lambdaQuery();
                 lqw2.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringReview::getEngInfoId, item2.getId()).orderByDesc(ZEngineeringReview::getReviewTime);
-                List<ZEngineeringReview> ReviewList= zEngineeringReviewMapper.selectList(lqw2);
-                if (ReviewList.size()>0)
-                {
+                List<ZEngineeringReview> ReviewList = zEngineeringReviewMapper.selectList(lqw2);
+                if (ReviewList.size() > 0) {
                     nodeTypeList.add(ReviewList.get(0));
                 }
 
             });
             System.out.println(nodeList.toString());
             System.out.println(nodeTypeList.toString());
-            List stateList=new ArrayList();
+            List stateList = new ArrayList();
             Stream.of("带气封堵施工").forEach(item3 -> {
-                Map<String,Object> map=new HashMap<>();
-                if (nodeList.size()>0&&nodeList.stream().anyMatch(x->x.getType().equals(item3))){
-                    map.put("Type",item3);
-                    map.put("state",nodeTypeList.stream().anyMatch(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3)).collect(Collectors.toList()).get(0).getId()))?nodeTypeList.stream().filter(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3)).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewStatus():"0");
-                    map.put("content",nodeTypeList.stream().anyMatch(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3)).collect(Collectors.toList()).get(0).getId()))?nodeTypeList.stream().filter(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3)).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewContent():"暂未审核");
-                }else {
-                    map.put("Type",item3);
-                    map.put("state","0");
-                    map.put("content","暂未审核");
+                Map<String, Object> map = new HashMap<>();
+                if (nodeList.size() > 0 && nodeList.stream().anyMatch(x -> x.getType().equals(item3))) {
+                    map.put("Type", item3);
+                    map.put("state", nodeTypeList.stream().anyMatch(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3)).collect(Collectors.toList()).get(0).getId())) ? nodeTypeList.stream().filter(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3)).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewStatus() : "0");
+                    map.put("content", nodeTypeList.stream().anyMatch(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3)).collect(Collectors.toList()).get(0).getId())) ? nodeTypeList.stream().filter(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3)).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewContent() : "暂未审核");
+                } else {
+                    map.put("Type", item3);
+                    map.put("state", "0");
+                    map.put("content", "暂未审核");
                 }
                 stateList.add(map);
-                ReViewStateMap.set(stateList);;
+                ReViewStateMap.set(stateList);
+                ;
             });
-            statemap.put(item.getId(),ReViewStateMap.get());
+            statemap.put(item.getId(), ReViewStateMap.get());
 
             MonthTableNameHandler.removeData();
         });
@@ -679,68 +673,61 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
     }
 
     @Override
-    public List<String> nodeTypeList(List<ZEngineeringCivil> zEngineeringCivilList,String type,String state,ZEngineeringCivilBo bo) {
-        List<ZEngineeringNode> nodeTypeList=new ArrayList<>();
-        zEngineeringCivilList.forEach(item->{
-            String date=  new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
+    public List<String> nodeTypeList(List<ZEngineeringCivil> zEngineeringCivilList, String type, String state, ZEngineeringCivilBo bo) {
+        List<ZEngineeringNode> nodeTypeList = new ArrayList<>();
+        zEngineeringCivilList.forEach(item -> {
+            String date = new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
             MonthTableNameHandler.setData(date);
             LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
             lqw.eq(StringUtils.isNotBlank(item.getId()), ZEngineeringNode::getCivliId, item.getId());
             lqw.eq(StringUtils.isNotBlank(type), ZEngineeringNode::getType, type);
-            List<ZEngineeringNode>nodeList=baseMapper.selectList(lqw);
-            if (StringUtils.isNotBlank(state))
-            {
-            if (nodeList.size()>0) {
-                nodeList.forEach(item2 -> {
-                    LambdaQueryWrapper<ZEngineeringReview> lqw2 = Wrappers.lambdaQuery();
-                    lqw2.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringReview::getEngInfoId, item2.getId()).orderByDesc(ZEngineeringReview::getReviewTime);
-                    List<ZEngineeringReview> ReviewList = zEngineeringReviewMapper.selectList(lqw2);
-                    if (state.equals("2"))
-                    {
-                    if (ReviewList.size() == 0 ) {
-                        nodeTypeList.add(item2);
-                    }
-                    }else if (state.equals("1"))
-                    {
-                        if (ReviewList.size() > 0 && ReviewList.get(0).getReviewStatus().equals("1")) {
-                            nodeTypeList.add(item2);
+            List<ZEngineeringNode> nodeList = baseMapper.selectList(lqw);
+            if (StringUtils.isNotBlank(state)) {
+                if (nodeList.size() > 0) {
+                    nodeList.forEach(item2 -> {
+                        LambdaQueryWrapper<ZEngineeringReview> lqw2 = Wrappers.lambdaQuery();
+                        lqw2.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringReview::getEngInfoId, item2.getId()).orderByDesc(ZEngineeringReview::getReviewTime);
+                        List<ZEngineeringReview> ReviewList = zEngineeringReviewMapper.selectList(lqw2);
+                        if (state.equals("2")) {
+                            if (ReviewList.size() == 0) {
+                                nodeTypeList.add(item2);
+                            }
+                        } else if (state.equals("1")) {
+                            if (ReviewList.size() > 0 && ReviewList.get(0).getReviewStatus().equals("1")) {
+                                nodeTypeList.add(item2);
+                            }
+                        } else if (state.equals("0")) {
+                            if (ReviewList.size() > 0 && ReviewList.get(0).getReviewStatus().equals("0")) {
+                                nodeTypeList.add(item2);
+                            }
                         }
-                    }else if (state.equals("0"))
-                    {
-                        if (ReviewList.size() > 0 && ReviewList.get(0).getReviewStatus().equals("0")) {
-                            nodeTypeList.add(item2);
-                        }
-                    }
-                });
-            }
-            }else
-            {
+                    });
+                }
+            } else {
                 nodeTypeList.addAll(nodeList);
             }
             MonthTableNameHandler.removeData();
         });
-        if((!"".equals(bo.getBeginTime())&&!ObjectUtils.isEmpty(bo.getBeginTime()))||(!"".equals(bo.getCreateBy())&&!ObjectUtils.isEmpty(bo.getCreateBy())))
-        {
+        if ((!"".equals(bo.getBeginTime()) && !ObjectUtils.isEmpty(bo.getBeginTime())) || (!"".equals(bo.getCreateBy()) && !ObjectUtils.isEmpty(bo.getCreateBy()))) {
             Iterator<ZEngineeringNode> iterator = nodeTypeList.iterator();
-            while(iterator.hasNext()) {
+            while (iterator.hasNext()) {
                 ZEngineeringNode item = iterator.next();
                 String date = new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
                 MonthTableNameHandler.setData(date);
                 LambdaQueryWrapper<ZEngineeringInfo> lqw = Wrappers.lambdaQuery();
                 lqw.eq(StringUtils.isNotBlank(item.getId()), ZEngineeringInfo::getEngInfoId, item.getId());
                 lqw.like(ZEngineeringInfo::getCreateBy, bo.getCreateBy());
-                if(!"".equals(bo.getBeginTime())&&!ObjectUtils.isEmpty(bo.getBeginTime())){
-                    lqw.between(ZEngineeringInfo::getUpdateInfoTime,bo.getBeginTime().get(0),bo.getBeginTime().get(1));
+                if (!"".equals(bo.getBeginTime()) && !ObjectUtils.isEmpty(bo.getBeginTime())) {
+                    lqw.between(ZEngineeringInfo::getUpdateInfoTime, bo.getBeginTime().get(0), bo.getBeginTime().get(1));
                 }
-                if (zEngineeringInfoMapper.selectCount(lqw)==0){
+                if (zEngineeringInfoMapper.selectCount(lqw) == 0) {
                     iterator.remove();
                 }
             }
         }
-        List<String>IDList=new ArrayList<>();
-        if (!ObjectUtils.isEmpty(nodeTypeList))
-        {
-            IDList=nodeTypeList.stream().map(ZEngineeringNode::getCivliId).collect(Collectors.toList());
+        List<String> IDList = new ArrayList<>();
+        if (!ObjectUtils.isEmpty(nodeTypeList)) {
+            IDList = nodeTypeList.stream().map(ZEngineeringNode::getCivliId).collect(Collectors.toList());
         }
         return IDList;
     }
@@ -748,90 +735,91 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
     @Override
     public Map<String, Object> ReViewInfrastructureList(List<ZEngineeringInfrastructureVo> list) {
         Map<String, List<SysDictData>> sysDictMap = RedisUtils.getCacheMap("sys_dict");
-        List<ZEngineeringReview> nodeTypeList=new ArrayList<>();
-        Map<String,Object> statemap=new HashMap<>();
-        AtomicReference<List<Map<String, Object>>> ReViewStateMap= new AtomicReference<>(new ArrayList<>());
-        list.stream().forEach(item->{
-            String date=  new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
+        List<ZEngineeringReview> nodeTypeList = new ArrayList<>();
+        Map<String, Object> statemap = new HashMap<>();
+        AtomicReference<List<Map<String, Object>>> ReViewStateMap = new AtomicReference<>(new ArrayList<>());
+        list.stream().forEach(item -> {
+            String date = new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
             MonthTableNameHandler.setData(date);
             LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
             lqw.eq(StringUtils.isNotBlank(item.getId()), ZEngineeringNode::getCivliId, item.getId());
             // lqw.eq(StringUtils.isNotBlank(type), ZEngineeringNode::getType, type);
-            List <ZEngineeringNode> nodeList=baseMapper.selectList(lqw);
-            nodeList.stream().forEach(item2->{
+            List<ZEngineeringNode> nodeList = baseMapper.selectList(lqw);
+            nodeList.stream().forEach(item2 -> {
                 LambdaQueryWrapper<ZEngineeringReview> lqw2 = Wrappers.lambdaQuery();
                 lqw2.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringReview::getEngInfoId, item2.getId()).orderByDesc(ZEngineeringReview::getReviewTime);
-                List<ZEngineeringReview> ReviewList= zEngineeringReviewMapper.selectList(lqw2);
-                if (ReviewList.size()>0)
-                {
+                List<ZEngineeringReview> ReviewList = zEngineeringReviewMapper.selectList(lqw2);
+                if (ReviewList.size() > 0) {
                     nodeTypeList.add(ReviewList.get(0));
                 }
 
             });
             System.out.println(nodeList.toString());
             System.out.println(nodeTypeList.toString());
-            List stateList=new ArrayList();
+            List stateList = new ArrayList();
             sysDictMap.get("engineering_infrastructure").stream().forEach(item3 -> {
-                Map<String,Object> map=new HashMap<>();
-                if (nodeList.size()>0&&nodeList.stream().anyMatch(x->x.getType().equals(item3.getDictValue()))){
-                    map.put("Type",item3.getDictValue());
-                    map.put("state",nodeTypeList.stream().anyMatch(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId()))?nodeTypeList.stream().filter(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewStatus():"0");
-                    map.put("content",nodeTypeList.stream().anyMatch(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId()))?nodeTypeList.stream().filter(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewContent():"暂未审核");
-                }else {
-                    map.put("Type",item3.getDictValue());
-                    map.put("state","0");
-                    map.put("content","暂未审核");
+                Map<String, Object> map = new HashMap<>();
+                if (nodeList.size() > 0 && nodeList.stream().anyMatch(x -> x.getType().equals(item3.getDictValue()))) {
+                    map.put("Type", item3.getDictValue());
+                    map.put("state", nodeTypeList.stream().anyMatch(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())) ? nodeTypeList.stream().filter(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewStatus() : "0");
+                    map.put("content", nodeTypeList.stream().anyMatch(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())) ? nodeTypeList.stream().filter(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewContent() : "暂未审核");
+                } else {
+                    map.put("Type", item3.getDictValue());
+                    map.put("state", "0");
+                    map.put("content", "暂未审核");
                 }
                 stateList.add(map);
-                ReViewStateMap.set(stateList);;
+                ReViewStateMap.set(stateList);
+                ;
             });
-            statemap.put(item.getId(),ReViewStateMap.get());
+            statemap.put(item.getId(), ReViewStateMap.get());
 
             MonthTableNameHandler.removeData();
         });
         return statemap;
     }
+
     @Override
     public Map<String, Object> ReViewPipeJackingList(List<ZEngineeringPipeJackingVo> list) {
         Map<String, List<SysDictData>> sysDictMap = RedisUtils.getCacheMap("sys_dict");
-        List<ZEngineeringReview> nodeTypeList=new ArrayList<>();
-        Map<String,Object> statemap=new HashMap<>();
-        AtomicReference<List<Map<String, Object>>> ReViewStateMap= new AtomicReference<>(new ArrayList<>());
-        list.stream().forEach(item->{
-            String date=  new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
+        List<ZEngineeringReview> nodeTypeList = new ArrayList<>();
+        Map<String, Object> statemap = new HashMap<>();
+        AtomicReference<List<Map<String, Object>>> ReViewStateMap = new AtomicReference<>(new ArrayList<>());
+        list.stream().forEach(item -> {
+            String date = new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
             MonthTableNameHandler.setData(date);
             LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
             lqw.eq(StringUtils.isNotBlank(item.getId()), ZEngineeringNode::getCivliId, item.getId());
             // lqw.eq(StringUtils.isNotBlank(type), ZEngineeringNode::getType, type);
-            List <ZEngineeringNode> nodeList=baseMapper.selectList(lqw);
-            nodeList.stream().forEach(item2->{
+            List<ZEngineeringNode> nodeList = baseMapper.selectList(lqw);
+            nodeList.stream().forEach(item2 -> {
                 LambdaQueryWrapper<ZEngineeringReview> lqw2 = Wrappers.lambdaQuery();
                 lqw2.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringReview::getEngInfoId, item2.getId()).orderByDesc(ZEngineeringReview::getReviewTime);
-                List<ZEngineeringReview> ReviewList= zEngineeringReviewMapper.selectList(lqw2);
-                if (ReviewList.size()>0)
-                {
+                List<ZEngineeringReview> ReviewList = zEngineeringReviewMapper.selectList(lqw2);
+                if (ReviewList.size() > 0) {
                     nodeTypeList.add(ReviewList.get(0));
                 }
 
             });
             System.out.println(nodeList.toString());
             System.out.println(nodeTypeList.toString());
-            List stateList=new ArrayList();
+            List stateList = new ArrayList();
             sysDictMap.get("pipe_jack").stream().forEach(item3 -> {
-                Map<String,Object> map=new HashMap<>();
-                if (nodeList.size()>0&&nodeList.stream().anyMatch(x->x.getType().equals(item3.getDictValue()))){
-                    map.put("Type",item3.getDictValue());
-                    map.put("state",nodeTypeList.stream().anyMatch(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId()))?nodeTypeList.stream().filter(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewStatus():"0");
-                    map.put("content",nodeTypeList.stream().anyMatch(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId()))?nodeTypeList.stream().filter(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewContent():"暂未审核");
-                }else {
-                    map.put("Type",item3.getDictValue());
-                    map.put("state","0");
-                    map.put("content","暂未审核");
+                Map<String, Object> map = new HashMap<>();
+                if (nodeList.size() > 0 && nodeList.stream().anyMatch(x -> x.getType().equals(item3.getDictValue()))) {
+                    map.put("Type", item3.getDictValue());
+                    map.put("state", nodeTypeList.stream().anyMatch(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())) ? nodeTypeList.stream().filter(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewStatus() : "0");
+                    map.put("content", nodeTypeList.stream().anyMatch(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())) ? nodeTypeList.stream().filter(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewContent() : "暂未审核");
+                } else {
+                    map.put("Type", item3.getDictValue());
+                    map.put("state", "0");
+                    map.put("content", "暂未审核");
                 }
                 stateList.add(map);
-                ReViewStateMap.set(stateList);;
+                ReViewStateMap.set(stateList);
+                ;
             });
-            statemap.put(item.getId(),ReViewStateMap.get());
+            statemap.put(item.getId(), ReViewStateMap.get());
 
             MonthTableNameHandler.removeData();
         });
@@ -841,79 +829,78 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
     @Override
     public Map<String, Object> ReViewGYList(List<ZEngineeringIndustryVo> list) {
 
-        List<ZEngineeringReview> nodeTypeList=new ArrayList<>();
-        Map<String,Object> statemap=new HashMap<>();
-        list.stream().forEach(item->{
-            String date=  new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
+        List<ZEngineeringReview> nodeTypeList = new ArrayList<>();
+        Map<String, Object> statemap = new HashMap<>();
+        list.stream().forEach(item -> {
+            String date = new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
             MonthTableNameHandler.setData(date);
             LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
             lqw.eq(StringUtils.isNotBlank(item.getId()), ZEngineeringNode::getCivliId, item.getId());
             // lqw.eq(StringUtils.isNotBlank(type), ZEngineeringNode::getType, type);
-            List <ZEngineeringNode> nodeList=baseMapper.selectList(lqw);
-            nodeList.stream().forEach(item2->{
+            List<ZEngineeringNode> nodeList = baseMapper.selectList(lqw);
+            nodeList.stream().forEach(item2 -> {
                 LambdaQueryWrapper<ZEngineeringReview> lqw2 = Wrappers.lambdaQuery();
                 lqw2.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringReview::getEngInfoId, item2.getId()).orderByDesc(ZEngineeringReview::getReviewTime);
-                List<ZEngineeringReview> ReviewList= zEngineeringReviewMapper.selectList(lqw2);
-                if (ReviewList.size()>0)
-                {
+                List<ZEngineeringReview> ReviewList = zEngineeringReviewMapper.selectList(lqw2);
+                if (ReviewList.size() > 0) {
                     nodeTypeList.add(ReviewList.get(0));
                 }
 
             });
             System.out.println(nodeList.toString());
             System.out.println(nodeTypeList.toString());
-            Map<String,Object> map=new HashMap<>();
-            if (nodeList.size()>0&&nodeList.stream().anyMatch(x->x.getType().equals("工业工程"))){
-                map.put("Type","工业工程");
-                map.put("state",nodeTypeList.stream().anyMatch(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals("工业工程")).collect(Collectors.toList()).get(0).getId()))?nodeTypeList.stream().filter(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals("工业工程")).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewStatus():"0");
-                map.put("content",nodeTypeList.stream().anyMatch(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals("工业工程")).collect(Collectors.toList()).get(0).getId()))?nodeTypeList.stream().filter(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals("工业工程")).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewContent():"暂未审核");
-            }else {
-                map.put("Type","工业工程");
-                map.put("state","0");
-                map.put("content","暂未审核");
+            Map<String, Object> map = new HashMap<>();
+            if (nodeList.size() > 0 && nodeList.stream().anyMatch(x -> x.getType().equals("工业工程"))) {
+                map.put("Type", "工业工程");
+                map.put("state", nodeTypeList.stream().anyMatch(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals("工业工程")).collect(Collectors.toList()).get(0).getId())) ? nodeTypeList.stream().filter(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals("工业工程")).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewStatus() : "0");
+                map.put("content", nodeTypeList.stream().anyMatch(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals("工业工程")).collect(Collectors.toList()).get(0).getId())) ? nodeTypeList.stream().filter(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals("工业工程")).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewContent() : "暂未审核");
+            } else {
+                map.put("Type", "工业工程");
+                map.put("state", "0");
+                map.put("content", "暂未审核");
             }
-            statemap.put(item.getId(),Arrays.asList(map));
+            statemap.put(item.getId(), Arrays.asList(map));
             MonthTableNameHandler.removeData();
         });
         return statemap;
     }
 
     @Override
-    public Map<String,Object> ReViewSZList(List<ZEngineeringIndustryVo> list){
+    public Map<String, Object> ReViewSZList(List<ZEngineeringIndustryVo> list) {
         Map<String, List<SysDictData>> sysDictMap = RedisUtils.getCacheMap("sys_dict");
-        List<ZEngineeringReview> nodeTypeList=new ArrayList<>();
-        Map<String,Object> statemap=new HashMap<>();
-        AtomicReference<List<Map<String, Object>>> ReViewStateMap= new AtomicReference<>(new ArrayList<>());
-        list.stream().forEach(item->{
-            String date=  new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
+        List<ZEngineeringReview> nodeTypeList = new ArrayList<>();
+        Map<String, Object> statemap = new HashMap<>();
+        AtomicReference<List<Map<String, Object>>> ReViewStateMap = new AtomicReference<>(new ArrayList<>());
+        list.stream().forEach(item -> {
+            String date = new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
             MonthTableNameHandler.setData(date);
             LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
             lqw.eq(StringUtils.isNotBlank(item.getId()), ZEngineeringNode::getCivliId, item.getId());
-            List <ZEngineeringNode> nodeList=baseMapper.selectList(lqw);
-            nodeList.stream().forEach(item2->{
+            List<ZEngineeringNode> nodeList = baseMapper.selectList(lqw);
+            nodeList.stream().forEach(item2 -> {
                 LambdaQueryWrapper<ZEngineeringReview> lqw2 = Wrappers.lambdaQuery();
                 lqw2.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringReview::getEngInfoId, item2.getId()).orderByDesc(ZEngineeringReview::getReviewTime);
-                List<ZEngineeringReview> ReviewList= zEngineeringReviewMapper.selectList(lqw2);
-                if (ReviewList.size()>0)
-                {
+                List<ZEngineeringReview> ReviewList = zEngineeringReviewMapper.selectList(lqw2);
+                if (ReviewList.size() > 0) {
                     nodeTypeList.add(ReviewList.get(0));
                 }
 
             });
-            List stateList=new ArrayList();
+            List stateList = new ArrayList();
             sysDictMap.get("municipal_node_types").stream().forEach(item3 -> {
-                Map<String,Object> map=new HashMap<>();
-                if (nodeList.size()>0&&nodeList.stream().anyMatch(x->x.getType().equals(item3.getDictValue()))){
-                    map.put("Type",item3.getDictValue());
-                    map.put("state",nodeTypeList.stream().anyMatch(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId()))?nodeTypeList.stream().filter(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewStatus():"0");
-                    map.put("content",nodeTypeList.stream().anyMatch(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId()))?nodeTypeList.stream().filter(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewContent():"暂未审核");
-                }else {
-                    map.put("Type",item3.getDictValue());
-                    map.put("state","0");
-                    map.put("content","暂未审核");
+                Map<String, Object> map = new HashMap<>();
+                if (nodeList.size() > 0 && nodeList.stream().anyMatch(x -> x.getType().equals(item3.getDictValue()))) {
+                    map.put("Type", item3.getDictValue());
+                    map.put("state", nodeTypeList.stream().anyMatch(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())) ? nodeTypeList.stream().filter(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewStatus() : "0");
+                    map.put("content", nodeTypeList.stream().anyMatch(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())) ? nodeTypeList.stream().filter(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewContent() : "暂未审核");
+                } else {
+                    map.put("Type", item3.getDictValue());
+                    map.put("state", "0");
+                    map.put("content", "暂未审核");
                 }
                 stateList.add(map);
-                ReViewStateMap.set(stateList);;
+                ReViewStateMap.set(stateList);
+                ;
             });
             statemap.put(item.getId(),ReViewStateMap.get());
 
@@ -968,7 +955,7 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
                 stateList.add(map);
                 ReViewStateMap.set(stateList);;
             });
-            statemap.put(item.getId(),ReViewStateMap.get());
+            statemap.put(item.getId(), ReViewStateMap.get());
 
             MonthTableNameHandler.removeData();
         });
@@ -976,54 +963,88 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
     }
 
     @Override
-    public Map<String,Object> ReViewList(List<ZEngineeringCivilVo> zEngineeringCivilList) {
+    public Map<Long, Object> ReViewPKList(List<ZTouchOperationEngineeringVo> list) {
         Map<String, List<SysDictData>> sysDictMap = RedisUtils.getCacheMap("sys_dict");
-        List<ZEngineeringReview> nodeTypeList=new ArrayList<>();
-        Map<String,Object> statemap=new HashMap<>();
-        List<Map<String,Object>> ReViewMap=new ArrayList<>();
-        AtomicReference<List<Map<String, Object>>> ReViewStateMap= new AtomicReference<>(new ArrayList<>());
-        zEngineeringCivilList.stream().forEach(item->{
-            String date=  new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
+        List<ZEngineeringReview> nodeTypeList = new ArrayList<>();
+        Map<Long, Object> statemap = new HashMap<>();
+        AtomicReference<List<Map<String, Object>>> ReViewStateMap = new AtomicReference<>(new ArrayList<>());
+        list.stream().forEach(item -> {
+            List stateList = new ArrayList();
+            String dists = "";
+            if ("地埋扳孔".equals(item.getModeOperation())){
+                dists="bury_the_wrench_hole";
+            }else if ("架空扳孔".equals(item.getModeOperation())){
+                dists="aerial_wrench_hole";
+            }else if ("停气作业".equals(item.getModeOperation())){
+                dists="shutdown_operation";
+            }else if ("PE 封堵".equals(item.getModeOperation())){
+                dists="pe_plugging";
+            }else if ("钢管带气封堵".equals(item.getModeOperation())){
+                dists="the_steel_pipe_sealed_with_gas";
+            }
+            sysDictMap.get(dists).stream().forEach(item3 -> {
+                Map<String, Object> map = new HashMap<>();
+                map.put("Type", item3.getDictValue());
+                map.put("state", "0");
+                map.put("content", "暂未审核");
+                stateList.add(map);
+
+            });
+            statemap.put(item.getId(), stateList);
+            MonthTableNameHandler.removeData();
+        });
+        return statemap;
+    }
+
+    @Override
+    public Map<String, Object> ReViewList(List<ZEngineeringCivilVo> zEngineeringCivilList) {
+        Map<String, List<SysDictData>> sysDictMap = RedisUtils.getCacheMap("sys_dict");
+        List<ZEngineeringReview> nodeTypeList = new ArrayList<>();
+        Map<String, Object> statemap = new HashMap<>();
+        List<Map<String, Object>> ReViewMap = new ArrayList<>();
+        AtomicReference<List<Map<String, Object>>> ReViewStateMap = new AtomicReference<>(new ArrayList<>());
+        zEngineeringCivilList.stream().forEach(item -> {
+            String date = new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
             MonthTableNameHandler.setData(date);
             LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
             lqw.eq(StringUtils.isNotBlank(item.getId()), ZEngineeringNode::getCivliId, item.getId());
-           // lqw.eq(StringUtils.isNotBlank(type), ZEngineeringNode::getType, type);
-            List <ZEngineeringNode> nodeList=baseMapper.selectList(lqw);
-            nodeList.stream().forEach(item2->{
+            // lqw.eq(StringUtils.isNotBlank(type), ZEngineeringNode::getType, type);
+            List<ZEngineeringNode> nodeList = baseMapper.selectList(lqw);
+            nodeList.stream().forEach(item2 -> {
                 LambdaQueryWrapper<ZEngineeringReview> lqw2 = Wrappers.lambdaQuery();
                 lqw2.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringReview::getEngInfoId, item2.getId()).orderByDesc(ZEngineeringReview::getReviewTime);
-                List<ZEngineeringReview> ReviewList= zEngineeringReviewMapper.selectList(lqw2);
-                if (ReviewList.size()>0)
-                {
+                List<ZEngineeringReview> ReviewList = zEngineeringReviewMapper.selectList(lqw2);
+                if (ReviewList.size() > 0) {
                     nodeTypeList.add(ReviewList.get(0));
                 }
 
             });
-            List stateList=new ArrayList();
-            List<SysDictData> list = sysDictMap.get(item.getEnginType()+"_"+item.getEnginClassification());
-            if (list!=null&&!list.isEmpty()){
+            List stateList = new ArrayList();
+            List<SysDictData> list = sysDictMap.get(item.getEnginType() + "_" + item.getEnginClassification());
+            if (list != null && !list.isEmpty()) {
                 list.stream().forEach(item3 -> {
-                    Map<String,Object> map=new HashMap<>();
-                    if (nodeList.size()>0&&nodeList.stream().anyMatch(x->x.getType().equals(item3.getDictValue()))){
-                        map.put("Type",item3.getDictValue());
-                        map.put("state",nodeTypeList.stream().anyMatch(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId()))?nodeTypeList.stream().filter(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewStatus():"0");
-                        map.put("content",nodeTypeList.stream().anyMatch(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId()))?nodeTypeList.stream().filter(y->y.getEngInfoId().equals(nodeList.stream().filter(x->x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewContent():"暂未审核");
-                    }else {
-                        map.put("Type",item3.getDictValue());
-                        map.put("state","0");
-                        map.put("content","暂未审核");
+                    Map<String, Object> map = new HashMap<>();
+                    if (nodeList.size() > 0 && nodeList.stream().anyMatch(x -> x.getType().equals(item3.getDictValue()))) {
+                        map.put("Type", item3.getDictValue());
+                        map.put("state", nodeTypeList.stream().anyMatch(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())) ? nodeTypeList.stream().filter(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewStatus() : "0");
+                        map.put("content", nodeTypeList.stream().anyMatch(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())) ? nodeTypeList.stream().filter(y -> y.getEngInfoId().equals(nodeList.stream().filter(x -> x.getType().equals(item3.getDictValue())).collect(Collectors.toList()).get(0).getId())).collect(Collectors.toList()).get(0).getReviewContent() : "暂未审核");
+                    } else {
+                        map.put("Type", item3.getDictValue());
+                        map.put("state", "0");
+                        map.put("content", "暂未审核");
                     }
                     stateList.add(map);
-                    ReViewStateMap.set(stateList);;
+                    ReViewStateMap.set(stateList);
+                    ;
                 });
             }
-            if(item.getEnginClassification().contains("indoor_engin")){
-                Map<String,Object> map=new HashMap<>();
-                map.put("Type","开栓");
-                map.put("state",zComprehensiveMapper.getIsQualifiedString(item.getHouseId()));
+            if (item.getEnginClassification().contains("indoor_engin")) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("Type", "开栓");
+                map.put("state", zComprehensiveMapper.getIsQualifiedString(item.getHouseId()));
                 ReViewStateMap.get().add(map);
             }
-            statemap.put(item.getId(),ReViewStateMap.get());
+            statemap.put(item.getId(), ReViewStateMap.get());
 
             MonthTableNameHandler.removeData();
         });

+ 165 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZTouchOperationEngineeringServiceImpl.java

@@ -0,0 +1,165 @@
+package com.ruoyi.zdsz.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.core.domain.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
+import com.ruoyi.zdsz.service.IZEngineeringNodeService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.zdsz.domain.bo.ZTouchOperationEngineeringBo;
+import com.ruoyi.zdsz.domain.vo.ZTouchOperationEngineeringVo;
+import com.ruoyi.zdsz.domain.ZTouchOperationEngineering;
+import com.ruoyi.zdsz.mapper.ZTouchOperationEngineeringMapper;
+import com.ruoyi.zdsz.service.IZTouchOperationEngineeringService;
+import org.springframework.util.ObjectUtils;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 碰口作业Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-06-12
+ */
+@RequiredArgsConstructor
+@Service
+public class ZTouchOperationEngineeringServiceImpl implements IZTouchOperationEngineeringService {
+
+    private final ZTouchOperationEngineeringMapper baseMapper;
+
+    @Override
+    public ZTouchOperationEngineeringVo query(Long id,String type) {
+        ZTouchOperationEngineeringVo zTouchOperationEngineeringVo = baseMapper.selectVoById(id);
+        ZEngineeringNodeBo zEngineeringNodeBo = new ZEngineeringNodeBo();
+        zEngineeringNodeBo.setCreateTime(zTouchOperationEngineeringVo.getCreateTime());
+        zEngineeringNodeBo.setCivliId(zTouchOperationEngineeringVo.getId().toString());
+        zEngineeringNodeBo.setType(type);
+        zTouchOperationEngineeringVo.setzEngineeringNodeBo(zEngineeringNodeService.query(zEngineeringNodeBo));
+        return zTouchOperationEngineeringVo;
+    }
+
+    /**
+     * 查询碰口作业
+     */
+    @Override
+    public ZTouchOperationEngineeringVo queryById(Long id){
+        return baseMapper.selectVoById(id);
+    }
+
+    @Autowired
+    private IZEngineeringNodeService zEngineeringNodeService;
+
+    /**
+     * 查询碰口作业列表
+     */
+    @Override
+    public TableDataInfo<ZTouchOperationEngineeringVo> queryPageList(ZTouchOperationEngineeringBo bo, PageQuery pageQuery) {
+        LambdaQueryWrapper<ZTouchOperationEngineering> lqw = buildQueryWrapper(bo);
+        Page<ZTouchOperationEngineeringVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        Map<Long, Object> ReviewList = zEngineeringNodeService.ReViewPKList(result.getRecords());
+        result.getRecords().forEach(item-> {
+            item.setNodeReViewStateList(ReviewList.get(item.getId()));
+        });
+        return TableDataInfo.build(result);
+    }
+
+    /**
+     * 查询碰口作业列表
+     */
+    @Override
+    public List<ZTouchOperationEngineeringVo> queryList(ZTouchOperationEngineeringBo bo) {
+        LambdaQueryWrapper<ZTouchOperationEngineering> lqw = buildQueryWrapper(bo);
+        return baseMapper.selectVoList(lqw);
+    }
+
+    private LambdaQueryWrapper<ZTouchOperationEngineering> buildQueryWrapper(ZTouchOperationEngineeringBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<ZTouchOperationEngineering> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getModeOperation()), ZTouchOperationEngineering::getModeOperation, bo.getModeOperation());
+        lqw.like(StringUtils.isNotBlank(bo.getEnginName()), ZTouchOperationEngineering::getEnginName, bo.getEnginName());
+        lqw.like(StringUtils.isNotBlank(bo.getLocations()), ZTouchOperationEngineering::getLocations, bo.getLocations());
+        lqw.orderByDesc(ZTouchOperationEngineering::getCreateTime);
+        return lqw;
+    }
+
+    /**
+     * 新增碰口作业
+     */
+    @Override
+    public Boolean insertByBo(ZTouchOperationEngineeringBo bo) {
+        ZTouchOperationEngineering add = BeanUtil.toBean(bo, ZTouchOperationEngineering.class);
+        validEntityBeforeSave(add);
+        if (ObjectUtils.isEmpty(add.getId())){
+            boolean flag = baseMapper.insert(add) > 0;
+            if (flag) {
+                bo.setId(add.getId());
+            }
+            return flag;
+        }else {
+            try {
+                for (ZEngineeringNodeBo zEngineeringNodeBo : bo.getzEngineeringNodeBoList()) {
+                    zEngineeringNodeBo.setCivliId(add.getId().toString());
+                    zEngineeringNodeBo.setCreateTime(add.getCreateTime());
+                    zEngineeringNodeBo.setType(zEngineeringNodeBo.getType());
+                    ZEngineeringNodeBo query = zEngineeringNodeService.query(zEngineeringNodeBo);
+                    if (!ObjectUtils.isEmpty(query)) {
+                        zEngineeringNodeBo.setId(query.getId());
+                    }
+                    zEngineeringNodeService.insert(zEngineeringNodeBo);
+                }
+                return true;
+            }catch (Exception e){
+                return false;
+            }
+        }
+    }
+
+    /**
+     * 修改碰口作业
+     */
+    @Override
+    public Boolean updateByBo(ZTouchOperationEngineeringBo bo) {
+        ZTouchOperationEngineering update = BeanUtil.toBean(bo, ZTouchOperationEngineering.class);
+        validEntityBeforeSave(update);
+        boolean flag = baseMapper.updateById(update) > 0;
+        if (flag) {
+            ZTouchOperationEngineeringVo zTouchOperationEngineeringVo = baseMapper.selectVoById(update.getId());
+            ZEngineeringNodeBo zEngineeringNodeBo = bo.getzEngineeringNodeBo();
+                if (!ObjectUtils.isEmpty(zEngineeringNodeBo)) {
+                    zEngineeringNodeBo.setCivliId(zTouchOperationEngineeringVo.getId().toString());
+                    zEngineeringNodeBo.setCreateTime(zTouchOperationEngineeringVo.getCreateTime());
+                    if (!ObjectUtils.isEmpty(zEngineeringNodeBo.getzEngineeringInfoBoList()))
+                        zEngineeringNodeService.updateMuch(zEngineeringNodeBo);
+                }
+        }
+        return flag;
+    }
+
+    /**
+     * 保存前的数据校验
+     */
+    private void validEntityBeforeSave(ZTouchOperationEngineering entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    /**
+     * 批量删除碰口作业
+     */
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return baseMapper.deleteBatchIds(ids) > 0;
+    }
+}

+ 2 - 0
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringIndustryMapper.xml

@@ -63,6 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT
             epj.id AS id,
             epj.engin_name AS enginName,
+            if(#{type} = 'z_touch_operation_engineering',epj.mode_operation,'') AS modeOperation,
             epj.create_time AS createTime
         FROM z_engineering_info  ei
                  LEFT JOIN z_engineering_node en ON ei.eng_info_id = en.id
@@ -84,6 +85,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             SELECT
             epj.id AS id,
             epj.engin_name AS enginName,
+            if(#{type} = 'z_touch_operation_engineering',epj.mode_operation,'') AS modeOperation,
             epj.create_time AS createTime
             FROM z_engineering_info_${name}  ei
             LEFT JOIN z_engineering_node_${name} en ON ei.eng_info_id = en.id

+ 22 - 0
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZTouchOperationEngineeringMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.zdsz.mapper.ZTouchOperationEngineeringMapper">
+
+    <resultMap type="com.ruoyi.zdsz.domain.ZTouchOperationEngineering" id="ZTouchOperationEngineeringResult">
+        <result property="id" column="id"/>
+        <result property="modeOperation" column="mode_operation"/>
+        <result property="enginName" column="engin_name"/>
+        <result property="locations" column="locations"/>
+        <result property="remark" column="remark"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="updateInfoTime" column="update_info_time"/>
+    </resultMap>
+
+
+</mapper>