Browse Source

Merge remote-tracking branch 'origin/zdsz3.0' into zdsz3.0

wangzhe 1 year ago
parent
commit
e4f80c0008
52 changed files with 2486 additions and 620 deletions
  1. 13 4
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringCivilController.java
  2. 144 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringGYController.java
  3. 18 20
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringIndustryController.java
  4. 0 1
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringPipeJackingController.java
  5. 106 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZTouchOperationEngineeringController.java
  6. BIN
      ruoyi-admin/src/main/resources/excel/civilExcelColor.xlsx
  7. 2 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
  8. 2 1
      ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java
  9. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEnginMaterialQuality.java
  10. 100 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringGY.java
  11. 3 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringIndustry.java
  12. 3 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringPipeJacking.java
  13. 58 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZTouchOperationEngineering.java
  14. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEnginMaterialQualityBo.java
  15. 7 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringIndustryBo.java
  16. 118 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringIndustryGYBo.java
  17. 28 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringInfoBo.java
  18. 3 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringPipeJackingBo.java
  19. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringReviewBo.java
  20. 74 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZTouchOperationEngineeringBo.java
  21. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEnginMaterialQualityVo.java
  22. 11 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringCivilVo.java
  23. 133 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringGYVo.java
  24. 10 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringIndustryVo.java
  25. 5 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringPipeJackingVo.java
  26. 87 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZTouchOperationEngineeringVo.java
  27. 5 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/enums/photoType.java
  28. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringCivilMapper.java
  29. 18 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringGYMapper.java
  30. 1 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringIndustryMapper.java
  31. 15 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZTouchOperationEngineeringMapper.java
  32. 1 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngiineeringPhotoService.java
  33. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringCivilService.java
  34. 62 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringGYService.java
  35. 1 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringIndustryService.java
  36. 3 2
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringNodeService.java
  37. 51 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZTouchOperationEngineeringService.java
  38. 19 19
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngiineeringPhotoServiceImpl.java
  39. 1 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEnginMaterialQualityServiceImpl.java
  40. 64 11
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java
  41. 392 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringGYServiceImpl.java
  42. 164 209
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringIndustryServiceImpl.java
  43. 75 17
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringInfoServiceImpl.java
  44. 334 231
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringNodeServiceImpl.java
  45. 44 56
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringPipeJackingServiceImpl.java
  46. 165 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZTouchOperationEngineeringServiceImpl.java
  47. 5 3
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngiineeringPhotoMapper.xml
  48. 3 0
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEnginMaterialQualityMapper.xml
  49. 56 2
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringCivilMapper.xml
  50. 29 0
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringGYMapper.xml
  51. 25 39
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringIndustryMapper.xml
  52. 22 0
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZTouchOperationEngineeringMapper.xml

+ 13 - 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringCivilController.java

@@ -67,7 +67,7 @@ public class ZEngineeringCivilController extends BaseController {
      * 导出民用工程列表
      */
     //    @SaCheckPermission("zdsz:engineeringCivil:export")
-    @Log(title = "民用工程", businessType = BusinessType.EXPORT)
+    @Log(title = "民用工程导出", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(ZEngineeringCivilBo bo, PageQuery pageQuery, HttpServletResponse response) {
         if ("indoor_engin".equals(bo.getEnginClassification())) {
@@ -77,21 +77,30 @@ public class ZEngineeringCivilController extends BaseController {
             // 庭院
             List<ZEngineeringCivilExportVos> zEngineeringCivilExportVos = iZEngineeringCivilService.exportCcourtyardList(bo);
             ExcelUtil.exportTemplate(Collections.singletonList(zEngineeringCivilExportVos), "民用工程-庭院", "excel/CivilCourtyardExcel.xlsx", response);
-
         }else if ("overhead".equals(bo.getEnginClassification())) {
             // 架空
             List<ZEngineeringCivilExportVos> zEngineeringCivilExportVos = iZEngineeringCivilService.exportOverheadList(bo);
             ExcelUtil.exportTemplate(Collections.singletonList(zEngineeringCivilExportVos), "民用工程-架空", "excel/CivilOverheadExcel.xlsx", response);
-
         }else if ("bottom_leg".equals(bo.getEnginClassification())) {
             // 低腿
             List<ZEngineeringCivilExportVos> zEngineeringCivilExportVos = iZEngineeringCivilService.exportBottomLegList(bo);
             ExcelUtil.exportTemplate(Collections.singletonList(zEngineeringCivilExportVos), "民用工程-底腿", "excel/CivilBottLegExcel.xlsx", response);
-
         }
     }
 
     /**
+     * 导出民用工程列表
+     */
+    //    @SaCheckPermission("zdsz:engineeringCivil:export")
+    @Log(title = "民用工程导出带进度颜色", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportColor")
+    public void exportColor(ZEngineeringCivilBo bo, PageQuery pageQuery, HttpServletResponse response) {
+//            List<ZEngineeringCivilExportVos> zEngineeringCivilExportVos = iZEngineeringCivilService.exportList(bo);
+            List<ZEngineeringCivilVo> zEngineeringCivilExportVos = iZEngineeringCivilService.queryAllList(bo);
+            ExcelUtil.exportTemplate(Collections.singletonList(zEngineeringCivilExportVos), "民用工程-室内", "excel/civilExcelColor.xlsx", response);
+    }
+
+    /**
      * 获取民用工程详细信息
      *
      * @param id 主键

+ 144 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringGYController.java

@@ -0,0 +1,144 @@
+package com.ruoyi.web.controller.zdsz;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
+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.page.TableDataInfo;
+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.ZEngineeringGY;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringIndustryBo;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringIndustryGYBo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringGYVo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryTypeVo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
+import com.ruoyi.zdsz.service.IZEngineeringGYService;
+import com.ruoyi.zdsz.service.IZEngineeringIndustryService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 工业工程
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/zdsz/engineeringGY")
+public class ZEngineeringGYController extends BaseController {
+
+    private final IZEngineeringGYService iZEngineeringIndustryService;
+
+
+    /**
+     * 查询工业工程
+     */
+//    @SaCheckPermission("zdsz:engineeringIndustry:list")
+    @GetMapping("/list")
+    public TableDataInfo<ZEngineeringGYVo> list(ZEngineeringIndustryGYBo bo, PageQuery pageQuery) {
+        return iZEngineeringIndustryService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出工业工程列表
+     */
+//    @SaCheckPermission("zdsz:engineeringIndustry:export")
+    @Log(title = "工业工程", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(ZEngineeringIndustryGYBo bo, HttpServletResponse response) {
+        List<ZEngineeringGYVo> list = iZEngineeringIndustryService.queryList(bo);
+        ExcelUtil.exportExcel(list, "工业工程", ZEngineeringGYVo.class, response);
+    }
+
+    /**
+     * 获取工业工程详细信息
+     *
+     * @param id 主键
+     */
+//    @SaCheckPermission("zdsz:engineeringIndustry:query")
+    @GetMapping("/{id}")
+    public R<ZEngineeringGYVo> getInfo(@NotNull(message = "主键不能为空")@PathVariable String id) {
+        return R.ok(iZEngineeringIndustryService.queryById(id));
+    }
+
+    /**
+     * 新增工业工程
+     */
+//    @SaCheckPermission("zdsz:engineeringIndustry:add")
+    @Log(title = "工业工程", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody ZEngineeringIndustryGYBo bo) {
+        return toAjax(iZEngineeringIndustryService.insertByBo(bo));
+    }
+
+    @GetMapping("query/{id}/{type}")
+    public R<ZEngineeringGYVo> querys(@NotNull(message = "主键不能为空") @PathVariable String id) {
+        return R.ok(iZEngineeringIndustryService.query(id));
+    }
+    /**
+     * 修改工业工程
+     */
+//    @SaCheckPermission("zdsz:engineeringIndustry:edit")
+    @Log(title = "工业工程", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping()
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ZEngineeringIndustryGYBo bo) {
+        return toAjax(iZEngineeringIndustryService.updateByBo(bo));
+    }
+
+    /**
+     * 删除工业工程
+     *
+     * @param ids 主键串
+     */
+//    @SaCheckPermission("zdsz:engineeringIndustry:remove")
+    @Log(title = "工业工程", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")@PathVariable String[] ids) {
+        return toAjax(iZEngineeringIndustryService.deleteWithValidByIds(Arrays.asList(ids), true));
+    }
+
+    /**
+     * 工业工程历史
+     *
+     */
+//    @SaCheckPermission("zdsz:engineeringIndustry:query")
+    @GetMapping("/{id}/{type}")
+    public R<ZEngineeringGYVo> query(@PathVariable String id, @PathVariable String type) {
+        return R.ok(iZEngineeringIndustryService.query(id, type));
+    }
+
+    /**
+     * 工程分类与工程类型查询工业工程
+     */
+    @GetMapping("/queryByType")
+//    @SaCheckPermission("zdsz:engineeringIndustry:type")
+    public R<List<?>> queryNameByType(ZEngineeringIndustryGYBo bo) {
+        return R.ok(iZEngineeringIndustryService.queryByType(bo));
+    }
+
+    /**
+     * 工业工程修改工程
+     */
+    @PutMapping("/updateNodeByBo")
+    @Log(title = "工业工程", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    public R<Void> updateNodeByBo(@Validated(EditGroup.class) @RequestBody ZEngineeringIndustryGYBo bo) {
+        return toAjax(iZEngineeringIndustryService.updateNodeByBo(bo));
+    }
+
+}

+ 18 - 20
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringIndustryController.java

@@ -49,8 +49,8 @@ public class ZEngineeringIndustryController extends BaseController {
     private final IZEngineeringIndustryService iZEngineeringIndustryService;
 
     @GetMapping("getByUserList")
-    public R<?> getByUserList(String type,String enginName,String enginType,String enginProcedure,String enginStatus,PageQuery pageQuery,String nodeType,String createBy){
-        return R.ok(iZEngineeringIndustryService.getByUserList(type,enginName,enginType,enginProcedure,enginStatus, pageQuery,nodeType,createBy));
+    public R<?> getByUserList(String type,String enginName,String enginType,String enginProcedure,String enginStatus,PageQuery pageQuery,String nodeType,String createBy,String enginClassification){
+        return R.ok(iZEngineeringIndustryService.getByUserList(type,enginName,enginType,enginProcedure,enginStatus, pageQuery,nodeType,createBy,enginClassification));
     }
 
     @GetMapping("/getByUserListAndDicts/{dictType}")
@@ -59,28 +59,27 @@ public class ZEngineeringIndustryController extends BaseController {
     }
 
     /**
-     * 查询工业工程|市政工程列表
+     * 查询市政工程
      */
 //    @SaCheckPermission("zdsz:engineeringIndustry:list")
     @GetMapping("/list")
-    public TableDataInfo<ZEngineeringIndustryVo> list(ZEngineeringIndustryBo bo, PageQuery pageQuery,String type) {
-        bo.setType(type);
+    public TableDataInfo<ZEngineeringIndustryVo> list(ZEngineeringIndustryBo bo, PageQuery pageQuery) {
         return iZEngineeringIndustryService.queryPageList(bo, pageQuery);
     }
 
     /**
-     * 导出工业工程|市政工程列表
+     * 导出市政工程列表
      */
 //    @SaCheckPermission("zdsz:engineeringIndustry:export")
-    @Log(title = "工业工程|市政工程", businessType = BusinessType.EXPORT)
+    @Log(title = "市政工程", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(ZEngineeringIndustryBo bo, HttpServletResponse response) {
         List<ZEngineeringIndustryVo> list = iZEngineeringIndustryService.queryList(bo);
-        ExcelUtil.exportExcel(list, "工业工程|市政工程", ZEngineeringIndustryVo.class, response);
+        ExcelUtil.exportExcel(list, "市政工程", ZEngineeringIndustryVo.class, response);
     }
 
     /**
-     * 获取工业工程|市政工程详细信息
+     * 获取市政工程详细信息
      *
      * @param id 主键
      */
@@ -91,10 +90,10 @@ public class ZEngineeringIndustryController extends BaseController {
     }
 
     /**
-     * 新增工业工程|市政工程
+     * 新增市政工程
      */
 //    @SaCheckPermission("zdsz:engineeringIndustry:add")
-    @Log(title = "工业工程|市政工程", businessType = BusinessType.INSERT)
+    @Log(title = "市政工程", businessType = BusinessType.INSERT)
     @RepeatSubmit()
     @PostMapping()
     public R<Void> add(@Validated(AddGroup.class) @RequestBody ZEngineeringIndustryBo bo) {
@@ -106,10 +105,10 @@ public class ZEngineeringIndustryController extends BaseController {
         return R.ok(iZEngineeringIndustryService.query(id));
     }
     /**
-     * 修改工业工程|市政工程
+     * 修改市政工程
      */
 //    @SaCheckPermission("zdsz:engineeringIndustry:edit")
-    @Log(title = "工业工程|市政工程", businessType = BusinessType.UPDATE)
+    @Log(title = "市政工程", businessType = BusinessType.UPDATE)
     @RepeatSubmit()
     @PutMapping()
     public R<Void> edit(@Validated(EditGroup.class) @RequestBody ZEngineeringIndustryBo bo) {
@@ -117,19 +116,19 @@ public class ZEngineeringIndustryController extends BaseController {
     }
 
     /**
-     * 删除工业工程|市政工程
+     * 删除市政工程
      *
      * @param ids 主键串
      */
 //    @SaCheckPermission("zdsz:engineeringIndustry:remove")
-    @Log(title = "工业工程|市政工程", businessType = BusinessType.DELETE)
+    @Log(title = "市政工程", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public R<Void> remove(@NotEmpty(message = "主键不能为空")@PathVariable String[] ids) {
         return toAjax(iZEngineeringIndustryService.deleteWithValidByIds(Arrays.asList(ids), true));
     }
 
     /**
-     * 工业工程|市政工程历史
+     * 市政工程历史
      *
      */
 //    @SaCheckPermission("zdsz:engineeringIndustry:query")
@@ -139,7 +138,7 @@ public class ZEngineeringIndustryController extends BaseController {
     }
 
     /**
-     * 工业工程|市政工程根据工程类型查询工程名称
+     * 工程分类查询市政工程
      */
     @GetMapping("/queryNameByType")
 //    @SaCheckPermission("zdsz:engineeringIndustry:type")
@@ -148,12 +147,11 @@ public class ZEngineeringIndustryController extends BaseController {
     }
 
     /**
-     * 工业工程|市政工程修改工程
+     * 市政工程修改工程
      */
     @PutMapping("/updateNodeByBo")
-    @Log(title = "工业工程|市政工程", businessType = BusinessType.UPDATE)
+    @Log(title = "市政工程", businessType = BusinessType.UPDATE)
     @RepeatSubmit()
-//    @SaCheckPermission("zdsz:engineeringIndustry:removeNode")
     public R<Void> updateNodeByBo(@Validated(EditGroup.class) @RequestBody ZEngineeringIndustryBo bo) {
         return toAjax(iZEngineeringIndustryService.updateNodeByBo(bo));
     }

+ 0 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringPipeJackingController.java

@@ -112,7 +112,6 @@ public class ZEngineeringPipeJackingController extends BaseController {
     @RepeatSubmit()
     @PostMapping()
     public R<Void> add(@Validated(AddGroup.class) @RequestBody ZEngineeringPipeJackingBo bo) {
-        bo.setCreateTime(new Date());
         return toAjax(iZEngineeringPipeJackingService.insertByBo(bo));
     }
     @Value("${filePath}")

+ 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));
+    }
+}

BIN
ruoyi-admin/src/main/resources/excel/civilExcelColor.xlsx


+ 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是)
      */

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

@@ -44,5 +44,6 @@ public class ZEnginMaterialQuality extends BaseEntity {
     private String enginNode;
     private String enginStep;
     private String nameType;
+    private String materialType;
 
 }

+ 100 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringGY.java

@@ -0,0 +1,100 @@
+package com.ruoyi.zdsz.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 工业工程对象 z_engineering_gy
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("z_engineering_gy")
+public class ZEngineeringGY extends BaseEntity {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     *
+     */
+    @TableId(value = "id")
+    private String id;
+    /**
+     * 工程类型
+     */
+    private String enginType;
+    /**
+     * 建筑单位
+     */
+    private String constructUnit;
+    /**
+     * 项目负责人
+     */
+    private String projectHead;
+    /**
+     * 现场负责人
+     */
+    private String sceneHead;
+    /**
+     * 设计单位
+     */
+    private String designUnit;
+    /**
+     * 设计负责人
+     */
+    private String designHead;
+    /**
+     * 设计联系电话
+     */
+    private String designPhone;
+    /**
+     * 监理单位
+     */
+    private String supervisionUnit;
+    /**
+     * 监理负责人
+     */
+    private String supervisionHead;
+    /**
+     * 监理联系电话
+     */
+    private String supervisionPhone;
+
+    /**
+     * 工程名称
+     */
+    private String enginName;
+
+    /**
+     * 工程分类
+     */
+    private String enginClassification;
+
+    /**
+     * 乐观锁
+     */
+    @Version
+    private  Long version;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 删除标识
+     */
+    @TableLogic
+    private String delFlag;
+
+    private Double pePreset;
+    private Double gcPreset;
+
+
+
+}

+ 3 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringIndustry.java

@@ -106,6 +106,9 @@ public class ZEngineeringIndustry extends BaseEntity {
     @TableLogic
     private String delFlag;
 
+    private Double pePreset;
+    private Double gcPreset;
+
 
 
 }

+ 3 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringPipeJacking.java

@@ -75,4 +75,7 @@ public class ZEngineeringPipeJacking extends BaseEntity {
     @TableLogic
     private String delFlag;
 
+    private Double pePreset;
+    private Double gcPreset;
+
 }

+ 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;
+
+}

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

@@ -36,6 +36,7 @@ public class ZEnginMaterialQualityBo extends BaseEntity {
     private String enginNode;
     private String enginStep;
     private String nameType;
+    private String materialType;
 
     /**
      * 材质名称

+ 7 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringIndustryBo.java

@@ -26,6 +26,11 @@ public class ZEngineeringIndustryBo extends BaseEntity {
     private String id;
 
     /**
+     * 施工内容
+     */
+    private String remark;
+
+    /**
      * 工程类型
      */
     private String enginType;
@@ -89,6 +94,8 @@ public class ZEngineeringIndustryBo extends BaseEntity {
      * 类型(工业工程|市政工程)
      */
     private String type;
+    private Double pePreset;
+    private Double gcPreset;
 
     /**
      * 字典项

+ 118 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringIndustryGYBo.java

@@ -0,0 +1,118 @@
+package com.ruoyi.zdsz.domain.bo;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * 工业工程业务对象 z_engineering_gy
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ZEngineeringIndustryGYBo extends BaseEntity {
+
+    /**
+     *
+     */
+    private String id;
+
+    /**
+     * 施工内容
+     */
+    private String remark;
+
+    /**
+     * 工程类型
+     */
+    private String enginType;
+
+    /**
+     * 建筑单位
+     */
+    private String constructUnit;
+
+    /**
+     * 项目负责人
+     */
+    private String projectHead;
+
+    /**
+     * 现场负责人
+     */
+    private String sceneHead;
+
+    /**
+     * 设计单位
+     */
+    private String designUnit;
+
+    /**
+     * 设计负责人
+     */
+    private String designHead;
+
+    /**
+     * 设计联系电话
+     */
+    private String designPhone;
+
+    /**
+     * 监理单位
+     */
+    private String supervisionUnit;
+
+    /**
+     * 监理负责人
+     */
+    private String supervisionHead;
+
+    /**
+     * 监理联系电话
+     */
+    private String supervisionPhone;
+
+    /**
+     * 工程名称
+     */
+    private String enginName;
+
+    /**
+     * 工程分类
+     */
+    private String enginClassification;
+
+    private Double pePreset;
+    private Double gcPreset;
+
+
+    private ZEngineeringNodeBo zEngineeringNodeBo;
+
+    /**
+     * 附件
+     */
+    private List<ZFileBo> files;
+
+    public ZEngineeringNodeBo getzEngineeringNodeBo() {
+        return zEngineeringNodeBo;
+    }
+
+    public void setzEngineeringNodeBo(ZEngineeringNodeBo zEngineeringNodeBo) {
+        this.zEngineeringNodeBo = zEngineeringNodeBo;
+    }
+
+    private List<ZEngineeringNodeBo> zEngineeringNodeBoList;
+
+    public List<ZEngineeringNodeBo> getzEngineeringNodeBoList() {
+        return zEngineeringNodeBoList;
+    }
+
+    public void setzEngineeringNodeBoList(List<ZEngineeringNodeBo> zEngineeringNodeBoList) {
+        this.zEngineeringNodeBoList = zEngineeringNodeBoList;
+    }
+}

+ 28 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringInfoBo.java

@@ -146,6 +146,34 @@ public class ZEngineeringInfoBo extends BaseEntity {
     @NotNull(message = "沟上部分不能为空", groups = { AddGroup.class, EditGroup.class })
     public List<String> onTheDitch;
 
+    public List<String> getzEngiineeringPhotoBoListThree() {
+        return zEngiineeringPhotoBoListThree;
+    }
+
+    public void setzEngiineeringPhotoBoListThree(List<String> zEngiineeringPhotoBoListThree) {
+        this.zEngiineeringPhotoBoListThree = zEngiineeringPhotoBoListThree;
+    }
+
+    public List<String> getzEngiineeringPhotoBoListTwo() {
+        return zEngiineeringPhotoBoListTwo;
+    }
+
+    public void setzEngiineeringPhotoBoListTwo(List<String> zEngiineeringPhotoBoListTwo) {
+        this.zEngiineeringPhotoBoListTwo = zEngiineeringPhotoBoListTwo;
+    }
+
+    public List<String> getzEngiineeringPhotoBoListOne() {
+        return zEngiineeringPhotoBoListOne;
+    }
+
+    public void setzEngiineeringPhotoBoListOne(List<String> zEngiineeringPhotoBoListOne) {
+        this.zEngiineeringPhotoBoListOne = zEngiineeringPhotoBoListOne;
+    }
+
+    public List<String> zEngiineeringPhotoBoListThree;
+    public List<String> zEngiineeringPhotoBoListTwo;
+    public List<String> zEngiineeringPhotoBoListOne;
+
     // 市政施工-沟上施工 焊接
     public List<String> welding;
     // 市政施工-沟上施工 防腐

+ 3 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringPipeJackingBo.java

@@ -87,6 +87,9 @@ public class ZEngineeringPipeJackingBo extends BaseEntity {
 //    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
     private String remark;
 
+    private Double pePreset;
+    private Double gcPreset;
+
     //单表单
     private ZEngineeringNodeBo zEngineeringNodeBo;
 

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

@@ -58,6 +58,7 @@ public class ZEngineeringReviewBo extends BaseEntity {
      */
     @NotBlank(message = "节点ID不能为空", groups = { AddGroup.class, EditGroup.class })
     private String engInfoId;
+    private String engInfoName;
 
     /**
      * 备注

+ 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;
+    }
+}

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

@@ -47,6 +47,7 @@ public class ZEnginMaterialQualityVo implements Serializable {
     private String enginNode;
     private String enginStep;
     private String nameType;
+    private String materialType;
 
     private String createBy;
 

+ 11 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringCivilVo.java

@@ -36,6 +36,7 @@ public class ZEngineeringCivilVo extends BaseEntity implements Serializable {
     @ExcelProperty(value = "行政区", converter = ExcelDictConvert.class)
     @ExcelDictFormat(dictType = "district")
     private String district;
+    private String districtName;
 
     /**
      * 小区id
@@ -68,6 +69,7 @@ public class ZEngineeringCivilVo extends BaseEntity implements Serializable {
     private String houseId;
     @ExcelProperty(value = "房间")
     private String houseName;
+    private String source;
 
     /**
      * 工程类型
@@ -140,4 +142,13 @@ public class ZEngineeringCivilVo extends BaseEntity implements Serializable {
     public void setzEngineeringNodeBoList(List<ZEngineeringNodeBo> zEngineeringNodeBoList) {
         this.zEngineeringNodeBoList = zEngineeringNodeBoList;
     }
+
+    //导出专用 其他没用
+    private String gx1;
+    private String gx2;
+    private String gx3;
+    private String gx4;
+    private String gx5;
+    private String gx6;
+    private String gx7;
 }

+ 133 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringGYVo.java

@@ -0,0 +1,133 @@
+package com.ruoyi.zdsz.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 工业工程视图对象 z_engineering_gy
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class ZEngineeringGYVo extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     *
+     */
+    @ExcelProperty(value = "")
+    private String id;
+    /**
+     * 施工内容
+     */
+    private String remark;
+    /**
+     * 工程类型
+     */
+    @ExcelProperty(value = "工程类型")
+    private String enginType;
+
+    /**
+     * 建筑单位
+     */
+    @ExcelProperty(value = "建筑单位")
+    private String constructUnit;
+
+    /**
+     * 项目负责人
+     */
+    @ExcelProperty(value = "项目负责人")
+    private String projectHead;
+
+    /**
+     * 现场负责人
+     */
+    @ExcelProperty(value = "现场负责人")
+    private String sceneHead;
+
+    /**
+     * 设计单位
+     */
+    @ExcelProperty(value = "设计单位")
+    private String designUnit;
+
+    /**
+     * 设计负责人
+     */
+    @ExcelProperty(value = "设计负责人")
+    private String designHead;
+
+    /**
+     * 设计联系电话
+     */
+    @ExcelProperty(value = "设计联系电话")
+    private String designPhone;
+
+    /**
+     * 监理单位
+     */
+    @ExcelProperty(value = "监理单位")
+    private String supervisionUnit;
+
+    /**
+     * 监理负责人
+     */
+    @ExcelProperty(value = "监理负责人")
+    private String supervisionHead;
+
+    /**
+     * 监理联系电话
+     */
+    @ExcelProperty(value = "监理联系电话")
+    private String supervisionPhone;
+
+    /**
+     * 工程名称
+     */
+    @ExcelProperty(value = "工程名称")
+    private String enginName;
+
+    /**
+     * 工程分类
+     */
+    @ExcelProperty(value = "工程分类")
+    private String enginClassification;
+
+    private Double pePreset;
+    private Double gcPreset;
+    private Double pesj=0.0;
+    private Double gsj=0.0;
+
+    /**
+     * 字典项
+     * municipal_engineering_node
+     * 市政工程节点类型(沟上施工|沟下施工)
+     */
+    private String municipalEngineeringNode;
+
+    @JsonProperty("zEngineeringNodeBo")
+    private ZEngineeringNodeBo zEngineeringNodeBo;
+
+    @JsonProperty("zEngineeringNodeBoList")
+    private List<ZEngineeringNodeBo> zEngineeringNodeBoList;
+
+
+    private List<ZEngiineeringPhotoVo> pics;
+    private Object nodeReViewStateList;
+    public Object getNodeReViewStateList() {
+        return nodeReViewStateList;
+    }
+
+    public void setNodeReViewStateList(Object nodeReViewStateList) {
+        this.nodeReViewStateList = nodeReViewStateList;
+    }
+}

+ 10 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringIndustryVo.java

@@ -9,6 +9,7 @@ import com.ruoyi.common.core.validate.EditGroup;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
 import lombok.Data;
 import lombok.Getter;
+import org.jetbrains.annotations.Contract;
 
 import javax.validation.constraints.NotBlank;
 import java.io.Serializable;
@@ -31,7 +32,10 @@ public class ZEngineeringIndustryVo extends BaseEntity {
      */
     @ExcelProperty(value = "")
     private String id;
-
+    /**
+     * 施工内容
+     */
+    private String remark;
     /**
      * 工程类型
      */
@@ -133,4 +137,9 @@ public class ZEngineeringIndustryVo extends BaseEntity {
     public void setNodeReViewStateList(Object nodeReViewStateList) {
         this.nodeReViewStateList = nodeReViewStateList;
     }
+
+    private Double pePreset;
+    private Double gcPreset;
+    private Double pesj=0.0;
+    private Double gsj=0.0;
 }

+ 5 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringPipeJackingVo.java

@@ -81,6 +81,11 @@ public class ZEngineeringPipeJackingVo extends BaseEntity implements Serializabl
     @ExcelProperty(value = "备注")
     private String remark;
 
+    private Double pePreset;
+    private Double gcPreset;
+    private Double pesj=0.0;
+    private Double gsj=0.0;
+
     @JsonProperty("zEngineeringNodeBoList")
     private List<ZEngineeringNodeBo> zEngineeringNodeBoList;
     @JsonProperty("pics")

+ 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;
+    }
+}

+ 5 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/enums/photoType.java

@@ -135,6 +135,10 @@ public enum photoType {
      * 调压箱护栏及地面硬化(远景)
      *
      */
-    GroundHardening;
+    GroundHardening,
+
+    beforeBack,
+    afterBack,
+    warnBack,
 
 }

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

@@ -21,6 +21,7 @@ import java.util.Map;
 public interface ZEngineeringCivilMapper extends BaseMapperPlus<ZEngineeringCivilMapper, ZEngineeringCivil, ZEngineeringCivilVo> {
     List<Map<String, Integer>> selectByDistrictStatistics(String district);
     Page<ZEngineeringCivilVo> queryPageList(@Param("p") ZEngineeringCivilBo bo,@Param("pa")Page<?> page,@Param("page") Integer pages,@Param("size") Integer size);
+    List<ZEngineeringCivilVo> queryAllList(@Param("p") ZEngineeringCivilBo bo);
     Page<ZEngineeringCivilVo> queryPageIdList(@Param("idList") List idList, @Param("total") Long total, @Param("pa")Page<?> page,@Param("page") Integer pages,@Param("size") Integer size);
 
     List<roomStatusVo> getObtainRoomcCompletionInformationList(ZEngineeringCivilBo bo);

+ 18 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringGYMapper.java

@@ -0,0 +1,18 @@
+package com.ruoyi.zdsz.mapper;
+
+import com.ruoyi.common.core.mapper.BaseMapperPlus;
+import com.ruoyi.zdsz.domain.ZEngineeringGY;
+import com.ruoyi.zdsz.domain.ZEngineeringInfrastructure;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringGYVo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringInfrastructureVo;
+
+/**
+ * 工业工程Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-01-03
+ */
+public interface ZEngineeringGYMapper extends BaseMapperPlus<ZEngineeringGYMapper, ZEngineeringGY, ZEngineeringGYVo> {
+
+
+}

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

@@ -17,7 +17,7 @@ import java.util.Map;
  */
 public interface ZEngineeringIndustryMapper extends BaseMapperPlus<ZEngineeringIndustryMapper, ZEngineeringIndustry, ZEngineeringIndustryVo> {
 
-    Page<Map<String,Object>> getByUserList(@Param("names") List DateList, @Param("by")String name, @Param("type")String type,@Param("szAndGy")String szAndGy,@Param("pa") Page<?> page,@Param("enginName")String enginName,@Param("enginType")String enginType);
+    Page<Map<String,Object>> getByUserList(@Param("names") List DateList, @Param("by")String name, @Param("type")String type,@Param("szAndGy")String szAndGy,@Param("pa") Page<?> page,@Param("enginName")String enginName,@Param("enginType")String enginType,@Param("enginClassification")String enginClassification);
     Page<Map<String,Object>> getByUserList1(@Param("names") List DateList, @Param("by")String name, @Param("type")String type,@Param("szAndGy")String szAndGy,@Param("pa") Page<?> page,@Param("enginName")String enginName,@Param("enginType")String enginType);
     List<Map<String,String>> getReviewStatusByNodeId(@Param("id") String id);
     List<Map<String,String>> getDicts(@Param("type") String type);

+ 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/IZEngiineeringPhotoService.java

@@ -84,5 +84,5 @@ public interface IZEngiineeringPhotoService {
     Boolean deleteWithValidByurls(String url);
     Boolean deleteWithValid(ZEngiineeringPhoto bo);
     void write(ZEngineeringCivilBo zEngineeringCivilBo);
-    void writeImg(List<ZEngineeringInfoBo> infoIdList, ZEngineeringInfoBo bo);
+    void writeImg(List<ZEngineeringInfoBo> infoIdList, ZEngineeringInfoBo bo,String engInfoName);
 }

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

@@ -33,6 +33,7 @@ public interface IZEngineeringCivilService {
      * 查询民用工程列表
      */
     TableDataInfo<ZEngineeringCivilVo> queryPageList(ZEngineeringCivilBo bo, PageQuery pageQuery);
+    List<ZEngineeringCivilVo> queryAllList(ZEngineeringCivilBo bo);
     List<ZEngineeringCivilExportVos> exportList(ZEngineeringCivilBo bo);
     List<ZEngineeringCivilExportVos> exportCcourtyardList(ZEngineeringCivilBo bo);
     List<ZEngineeringCivilExportVos> exportOverheadList(ZEngineeringCivilBo bo);

+ 62 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringGYService.java

@@ -0,0 +1,62 @@
+package com.ruoyi.zdsz.service;
+
+import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.zdsz.domain.ZEngineeringGY;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringIndustryBo;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringIndustryGYBo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringGYVo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryTypeVo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 工业工程Service接口
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+public interface IZEngineeringGYService {
+
+
+    /**
+     * 查询工业工程
+     */
+    ZEngineeringGYVo queryById(String id);
+
+    /**
+     * 查询工业工程
+     */
+    TableDataInfo<ZEngineeringGYVo> queryPageList(ZEngineeringIndustryGYBo bo, PageQuery pageQuery);
+
+    /**
+     * 查询工业工程
+     */
+    List<ZEngineeringGYVo> queryList(ZEngineeringIndustryGYBo bo);
+
+    /**
+     * 新增工业工程
+     */
+    Boolean insertByBo(ZEngineeringIndustryGYBo bo);
+
+    /**
+     * 修改工业工程
+     */
+    Boolean updateByBo(ZEngineeringIndustryGYBo bo);
+
+    Boolean updateNodeByBo(ZEngineeringIndustryGYBo bo);
+
+    /**
+     * 校验并批量删除工业工程
+     */
+    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
+
+    ZEngineeringGYVo query(String id, String type);
+
+    ZEngineeringGYVo query(String id);
+    List<?> queryByType(ZEngineeringIndustryGYBo bo);
+
+}

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

@@ -19,7 +19,7 @@ import java.util.Map;
  */
 public interface IZEngineeringIndustryService {
 
-    TableDataInfo<Map<String, Object>> getByUserList(String type,String enginName,String enginType,String enginProcedure,String enginStatus,PageQuery pageQuery,String nodeType,String createBy);
+    TableDataInfo<Map<String, Object>> getByUserList(String type,String enginName,String enginType,String enginProcedure,String enginStatus,PageQuery pageQuery,String nodeType,String createBy,String enginClassification);
 
     /**
      * 查询工业工程|市政工程

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

@@ -88,8 +88,8 @@ public interface IZEngineeringNodeService {
     Map<String,Object> ReViewPipeJackingList(List<ZEngineeringPipeJackingVo> list);
     Map<String,Object> ReViewInfrastructureList(List<ZEngineeringInfrastructureVo> list);
     Map<String,Object> ReViewSZList(List<ZEngineeringIndustryVo> list);
-    Map<String,Object> ReViewGYList(List<ZEngineeringIndustryVo> list);
-
+    Map<String,Object> ReViewGYList(List<ZEngineeringGYVo> list);
+    Map<Long,Object> ReViewPKList(List<ZTouchOperationEngineeringVo> list);
     /**
      * 校验并批量删除工程节点信息
      */
@@ -115,4 +115,5 @@ public interface IZEngineeringNodeService {
     Integer  batchNodes(switchBo bo);
 
     Map<String, Object> ReViewAirList(List<ZEngineeringAirWallVo> records);
+
 }

+ 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);
+}

+ 19 - 19
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngiineeringPhotoServiceImpl.java

@@ -2,14 +2,17 @@ package com.ruoyi.zdsz.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.annotation.DynamicName;
 import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.handler.MonthTableNameHandler;
 import com.ruoyi.framework.obs.ObsService;
 import com.ruoyi.zdsz.domain.ZEngiineeringPhoto;
+import com.ruoyi.zdsz.domain.ZEngineeringInfo;
 import com.ruoyi.zdsz.domain.bo.ZEngiineeringPhotoBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringCivilBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringInfoBo;
@@ -312,11 +315,11 @@ public class ZEngiineeringPhotoServiceImpl implements IZEngiineeringPhotoService
     @Override
     @DynamicName(spel = "#bo.createTime")
     @Async
-    public void writeImg(List<ZEngineeringInfoBo> infoIdList,ZEngineeringInfoBo bo) {
+    public void writeImg(List<ZEngineeringInfoBo> infoIdList,ZEngineeringInfoBo bo,String engInfoName) {
+        SimpleDateFormat format = new SimpleDateFormat("yyyy_MM");
+        MonthTableNameHandler.setData(format.format(bo.getCreateTime()));
         Map<String, String> objInfo = baseMapper.getObjInfo(bo.getEngInfoId());
-        System.out.println("-------------节点信息-------------");
-        System.out.println(objInfo);
-        System.out.println("--------------------------------");
+        MonthTableNameHandler.removeData();
         infoIdList.forEach(item -> {
             item.getzEngiineeringPhotoBoList().forEach(photo -> {
                 if (StringUtils.isNotBlank(photo)) {
@@ -328,39 +331,36 @@ public class ZEngiineeringPhotoServiceImpl implements IZEngiineeringPhotoService
                         if (!file.exists()) {
                             file.mkdirs();
                         }
+                        // 第二程文件夹名称(工程大类:工业工程、市政工程等)
                        byte[] typeFileNameBytes = (file.getPath() + "/" + objInfo.get("type")).getBytes("UTF-8");
                         // 使用UTF-8编码创建文件
                         File typeFile = new File(new String(typeFileNameBytes, "UTF-8"));
                         if (!typeFile.exists()) {
                             typeFile.mkdirs();
                         }
+                        // 第二程文件夹名称(工程名称)
                         byte[] enginNameFileNameBytes = (typeFile.getPath() + "/" + objInfo.get("engin_name")).getBytes("UTF-8");
                         // 使用UTF-8编码创建文件
                         File enginNameFile = new File(new String(enginNameFileNameBytes, "UTF-8"));
                         if (!enginNameFile.exists()) {
                             enginNameFile.mkdirs();
                         }
-                        byte[] CreateTimeFileNameBytes;
-                       if (StringUtils.isNotBlank(item.getNodeName())){
-                           //节点类型
-                           byte[] nodeType = (enginNameFile.getPath() + "/" + item.getNodeName()).getBytes("UTF-8");
-                           // 使用UTF-8编码创建文件
-                           File f = new File(new String(nodeType, "UTF-8"));
-                           if (!f.exists()) {
-                               f.mkdirs();
-                           }
-                           CreateTimeFileNameBytes = (f.getPath() + "/" + new SimpleDateFormat("yyyy-MM-dd").format(item.getUpdateTime())).getBytes("UTF-8");
-                       }else {
-                           CreateTimeFileNameBytes = (enginNameFile.getPath() + "/" + new SimpleDateFormat("yyyy-MM-dd").format(item.getUpdateTime())).getBytes("UTF-8");
-                       }
+                        //节点
+                        byte[] TypeNameBytes = (enginNameFile.getPath() + "/" + engInfoName).getBytes("UTF-8");
+                        // 使用UTF-8编码创建文件
+                        File Type = new File(new String(TypeNameBytes, "UTF-8"));
+                        if (!Type.exists()) {
+                            Type.mkdirs();
+                        }
+
                         // 时间
-                        //                        File CreateTimeFile = new File(Type.getPath() + "/" + new SimpleDateFormat("yyyy-MM-dd").format(zEngineeringInfoBo.getCreateTime()) );
+                        byte[] CreateTimeFileNameBytes = (Type.getPath() + "/" + new SimpleDateFormat("yyyy-MM-dd").format(item.getUpdateTime())).getBytes("UTF-8");
                         // 使用UTF-8编码创建文件
                         File CreateTimeFile = new File(new String(CreateTimeFileNameBytes, "UTF-8"));
                         if (!CreateTimeFile.exists()) {
                             CreateTimeFile.mkdirs();
                         }
-                        //                        File CreateByFile = new File(CreateTimeFile.getPath() + "/" + zEngineeringInfoBo.getConstructUser());
+                        // 人名
                         byte[] CreateByFileNameBytes = (CreateTimeFile.getPath() + "/" + item.getConstructUser()).getBytes("UTF-8");
                         // 使用UTF-8编码创建文件
                         File CreateByFile = new File(new String(CreateByFileNameBytes, "UTF-8"));

+ 1 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEnginMaterialQualityServiceImpl.java

@@ -97,6 +97,7 @@ public class ZEnginMaterialQualityServiceImpl implements IZEnginMaterialQualityS
         lqw.eq(StringUtils.isNotBlank(bo.getEnginNode()), ZEnginMaterialQuality::getEnginNode, bo.getEnginNode());
         lqw.eq(StringUtils.isNotBlank(bo.getEnginStep()), ZEnginMaterialQuality::getEnginStep, bo.getEnginStep());
         lqw.eq(StringUtils.isNotBlank(bo.getNameType()), ZEnginMaterialQuality::getNameType, bo.getNameType());
+        lqw.eq(StringUtils.isNotBlank(bo.getMaterialType()), ZEnginMaterialQuality::getMaterialType, bo.getMaterialType());
         return lqw;
     }
 

+ 64 - 11
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringCivilServiceImpl.java

@@ -232,6 +232,69 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
         return TableDataInfo.build(result);
     }
 
+    /**
+     * 查询民用工程列表
+     */
+    @Override
+    public List<ZEngineeringCivilVo> queryAllList(ZEngineeringCivilBo bo) {
+        LambdaQueryWrapper<ZEngineeringCivil> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringCivil::getEnginType, bo.getEnginType());
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringCivil::getEnginClassification, bo.getEnginClassification());
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginCycle()), ZEngineeringCivil::getEnginCycle, bo.getEnginCycle());
+        lqw.eq(StringUtils.isNotBlank(bo.getAreaId()), ZEngineeringCivil::getAreaId, bo.getAreaId());
+        lqw.eq(StringUtils.isNotBlank(bo.getBuildingId()), ZEngineeringCivil::getBuildingId, bo.getBuildingId());
+        lqw.eq(StringUtils.isNotBlank(bo.getUnitId()), ZEngineeringCivil::getUnitId, bo.getUnitId());
+        lqw.eq(StringUtils.isNotBlank(bo.getDistrict()), ZEngineeringCivil::getDistrict, bo.getDistrict());
+        lqw.eq(StringUtils.isNotBlank(bo.getHouseId()), ZEngineeringCivil::getHouseId, bo.getHouseId());
+        List<ZEngineeringCivilVo> result = new ArrayList<>();
+        if (!"".equals(bo.getType()) && !ObjectUtils.isEmpty(bo.getType())) {
+            List IDList = zEngineeringNodeService.nodeTypeList(baseMapper.selectList(lqw), bo.getType(), bo.getCompletionStatus(), bo);
+
+            if (IDList.size() == 0) {
+                return result;
+            }
+            LinkedList<String> list = baseMapper.getTableNames("z_engineering_info");
+            List DateList = new ArrayList();
+            list.removeLast();
+            list.stream().forEach(item -> {
+
+                DateList.add(item.substring(item.indexOf("2")));
+            });
+            result = baseMapper.queryPageIdList(IDList, baseMapper.getTypeNumber(DateList, bo), null, null, null).getRecords();
+            Map<String, Object> ReviewList = zEngineeringNodeService.ReViewList(result);
+            result.forEach(item -> {
+                item.setNodeReViewStateList(ReviewList.get(item.getId()));
+            });
+            return result;
+        }
+        if ((!"".equals(bo.getBeginTime()) && !ObjectUtils.isEmpty(bo.getBeginTime())) || (!"".equals(bo.getCreateBy()) && !ObjectUtils.isEmpty(bo.getCreateBy()))) {
+            List<String> a = zEngineeringCivilList(bo.getBeginTime(), bo.getCreateBy(), bo);
+            if (a.size() == 0) {
+                return result;
+            }
+            result = baseMapper.queryPageIdList(a, Long.parseLong(String.valueOf(a.size())), null,null,null).getRecords();
+            Map<String, Object> ReviewList = zEngineeringNodeService.ReViewList(result);
+            result.forEach(item -> {
+                item.setNodeReViewStateList(ReviewList.get(item.getId()));
+            });
+            return result;
+        }
+        result = baseMapper.queryAllList(bo);
+        Map<String, Object> ReviewList = zEngineeringNodeService.ReViewList(result);
+        result.forEach(item -> {
+            item.setNodeReViewStateList(ReviewList.get(item.getId()));
+            item.setGx1(((List<Map<String,String>>) item.getNodeReViewStateList()).get(0).get("state"));
+            item.setGx2(((List<Map<String,String>>) item.getNodeReViewStateList()).get(1).get("state"));
+            item.setGx3(((List<Map<String,String>>) item.getNodeReViewStateList()).get(2).get("state"));
+            item.setGx4(((List<Map<String,String>>) item.getNodeReViewStateList()).get(3).get("state"));
+            item.setGx5(((List<Map<String,String>>) item.getNodeReViewStateList()).get(4).get("state"));
+            item.setGx6(((List<Map<String,String>>) item.getNodeReViewStateList()).get(5).get("state"));
+            item.setGx7(((List<Map<String,String>>) item.getNodeReViewStateList()).get(6).get("state"));
+        });
+
+        return result;
+    }
+
     @Override
     public List<ZEngineeringCivilExportVos> exportList(ZEngineeringCivilBo bo) {
         SimpleDateFormat format = new SimpleDateFormat("yyyy_MM");
@@ -1041,16 +1104,6 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
     @Override
     @DynamicName(spel = "#zEngineeringReviewBo.createTime")
     public int insertReview(ZEngineeringReviewBo zEngineeringReviewBo, infoIdList infoIdList) {
-        //        ZEngineeringNode zEngineeringNode = zEngineeringNodeMapper.selectById(zEngineeringReviewBo.getEngInfoId());
-        //        if (zEngineeringReviewBo.getReviewStatus().equals("1"))
-        //        {
-        //        infoIdList.getDelInfoIdList().stream().forEach(item -> {
-        //            ZEngineeringInfoBo zEngineeringInfoBo = new ZEngineeringInfoBo();
-        //            zEngineeringInfoBo.setCreateTime(zEngineeringNode.getCreateTime());
-        //            zEngineeringInfoBo.setId(item);
-        //            izEngineeringInfoService.deleteByIdNoDelFiles(zEngineeringInfoBo);
-        //        });
-        //        }
         try {
             infoIdList.getInfoIdList().stream().forEach(item -> {
                 item.setState(zEngineeringReviewBo.getReviewStatus());
@@ -1060,7 +1113,7 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
                 MonthTableNameHandler.setData(format.format(item.getCreateTime()));
                 zEngineeringInfoMapper.update(lqw);
                 MonthTableNameHandler.removeData();
-                izEngiineeringPhotoService.writeImg(infoIdList.getInfoIdList(), item);
+                izEngiineeringPhotoService.writeImg(infoIdList.getInfoIdList(), item,zEngineeringReviewBo.getEngInfoName());
             });
             izEngineeringReviewService.insert(zEngineeringReviewBo);
         } catch (Exception e) {

+ 392 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringGYServiceImpl.java

@@ -0,0 +1,392 @@
+package com.ruoyi.zdsz.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+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.helper.LoginHelper;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.redis.RedisUtils;
+import com.ruoyi.framework.handler.MonthTableNameHandler;
+import com.ruoyi.zdsz.domain.ZEngiineeringPhoto;
+import com.ruoyi.zdsz.domain.ZEngineeringGY;
+import com.ruoyi.zdsz.domain.ZEngineeringIndustry;
+import com.ruoyi.zdsz.domain.bo.*;
+import com.ruoyi.zdsz.domain.vo.ZEngiineeringPhotoVo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringGYVo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryTypeVo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
+import com.ruoyi.zdsz.mapper.ZEngineeringCivilMapper;
+import com.ruoyi.zdsz.mapper.ZEngineeringGYMapper;
+import com.ruoyi.zdsz.mapper.ZEngineeringIndustryMapper;
+import com.ruoyi.zdsz.service.IZEngiineeringPhotoService;
+import com.ruoyi.zdsz.service.IZEngineeringGYService;
+import com.ruoyi.zdsz.service.IZEngineeringIndustryService;
+import com.ruoyi.zdsz.service.IZEngineeringNodeService;
+import lombok.RequiredArgsConstructor;
+import org.apache.poi.ss.formula.functions.T;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * 工业工程Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@RequiredArgsConstructor
+@Service
+public class ZEngineeringGYServiceImpl implements IZEngineeringGYService {
+
+    @Resource
+    private final ZEngineeringGYMapper baseMapper;
+
+    @Resource
+    private IZEngineeringNodeService izEngineeringNodeService;
+
+    @Resource
+    private IZEngineeringNodeService nodeService;
+
+    @Resource
+    private IZEngiineeringPhotoService photoService;
+
+
+    /**
+     * 查询工业工程
+     */
+    @Override
+    public ZEngineeringGYVo queryById(String id) {
+        ZEngineeringGYVo zEngineeringIndustryVo = baseMapper.selectVoById(id);
+        ZEngiineeringPhotoBo zEngiineeringPhotoBo = new ZEngiineeringPhotoBo();
+        zEngiineeringPhotoBo.setParentId(zEngineeringIndustryVo.getId());
+        zEngiineeringPhotoBo.setCreateTime(zEngineeringIndustryVo.getCreateTime());
+        zEngineeringIndustryVo.setPics(photoService.queryList(zEngiineeringPhotoBo));
+        ZEngineeringNodeBo zEngineeringNodeBo = new ZEngineeringNodeBo();
+        zEngineeringNodeBo.setCivliId(id);
+        zEngineeringNodeBo.setCreateTime(zEngineeringIndustryVo.getCreateTime());
+        List<ZEngineeringNodeBo> zEngineeringNodeBos = izEngineeringNodeService.queryListDetails(zEngineeringNodeBo);
+        zEngineeringIndustryVo.setZEngineeringNodeBoList(zEngineeringNodeBos);
+        return zEngineeringIndustryVo;
+    }
+
+    /**
+     * 查询工业工程列表
+     */
+    @Override
+    public TableDataInfo<ZEngineeringGYVo> queryPageList(ZEngineeringIndustryGYBo bo, PageQuery pageQuery) {
+        LambdaQueryWrapper<ZEngineeringGY> lqw = buildQueryWrapper(bo);
+        Page<ZEngineeringGYVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        Map<String, Object> ReviewList;
+        ReviewList = nodeService.ReViewGYList(result.getRecords());
+        result.getRecords().forEach(item -> {
+            item.setNodeReViewStateList(ReviewList.get(item.getId()));
+        });
+        return TableDataInfo.build(result);
+    }
+
+    /**
+     * 查询工业工程列表
+     */
+    @Override
+    public List<ZEngineeringGYVo> queryList(ZEngineeringIndustryGYBo bo) {
+        LambdaQueryWrapper<ZEngineeringGY> lqw = buildQueryWrapper(bo);
+        return baseMapper.selectVoList(lqw);
+    }
+
+    private LambdaQueryWrapper<ZEngineeringGY> buildQueryWrapper(ZEngineeringIndustryGYBo bo) {
+        LambdaQueryWrapper<ZEngineeringGY> lqw = Wrappers.lambdaQuery();
+        lqw.orderByDesc(ZEngineeringGY::getCreateTime);
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringGY::getEnginType, bo.getEnginType());
+        lqw.like(StringUtils.isNotBlank(bo.getEnginName()), ZEngineeringGY::getEnginName, bo.getEnginName());
+        lqw.like(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringGY::getEnginClassification, bo.getEnginClassification());
+        lqw.eq(StringUtils.isNotBlank(bo.getConstructUnit()), ZEngineeringGY::getConstructUnit, bo.getConstructUnit());
+        lqw.eq(StringUtils.isNotBlank(bo.getProjectHead()), ZEngineeringGY::getProjectHead, bo.getProjectHead());
+        lqw.eq(StringUtils.isNotBlank(bo.getSceneHead()), ZEngineeringGY::getSceneHead, bo.getSceneHead());
+        lqw.eq(StringUtils.isNotBlank(bo.getDesignUnit()), ZEngineeringGY::getDesignUnit, bo.getDesignUnit());
+        lqw.eq(StringUtils.isNotBlank(bo.getDesignHead()), ZEngineeringGY::getDesignHead, bo.getDesignHead());
+        lqw.eq(StringUtils.isNotBlank(bo.getDesignPhone()), ZEngineeringGY::getDesignPhone, bo.getDesignPhone());
+        lqw.eq(StringUtils.isNotBlank(bo.getSupervisionUnit()), ZEngineeringGY::getSupervisionUnit, bo.getSupervisionUnit());
+        lqw.eq(StringUtils.isNotBlank(bo.getSupervisionHead()), ZEngineeringGY::getSupervisionHead, bo.getSupervisionHead());
+        lqw.eq(StringUtils.isNotBlank(bo.getSupervisionPhone()), ZEngineeringGY::getSupervisionPhone, bo.getSupervisionPhone());
+        return lqw;
+    }
+
+    /**
+     * 新增工业工程
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean insertByBo(ZEngineeringIndustryGYBo bo) {
+        ZEngineeringGY add = BeanUtil.toBean(bo, ZEngineeringGY.class);
+        validEntityBeforeSave(add);
+        if (StringUtils.isEmpty(bo.getId())){
+            LambdaQueryWrapper<ZEngineeringGY> lqw = buildQueryWrapper(bo);
+            lqw.eq(ZEngineeringGY::getEnginName,bo.getEnginName()).eq(ZEngineeringGY::getEnginClassification,bo.getEnginClassification());
+            Long selected = baseMapper.selectCount(lqw);
+            if (selected>0){
+                throw new IllegalArgumentException("同一工程类型,不能建相同工程名称数据!");
+            }
+            boolean flag = baseMapper.insert(add) > 0;
+            if (flag) {
+                bo.setId(add.getId());
+                List<ZEngiineeringPhoto> list = new ArrayList<>();
+                bo.getFiles().forEach(o -> {
+                    ZEngiineeringPhoto pic = new ZEngiineeringPhoto();
+                    pic.setParentId(bo.getId());
+                    pic.setPicUrl(o.getUrl());
+                    pic.setFileName(o.getName());
+                    pic.setCreateBy(String.valueOf(LoginHelper.getUserId()));
+                    pic.setCreateTime(new Date());
+                    list.add(pic);
+                });
+                if (!list.isEmpty()) {
+                    photoService.insertBatch(list);
+                }
+            }
+            if (!ObjectUtils.isEmpty(bo.getzEngineeringNodeBo())) {
+                bo.getzEngineeringNodeBo().setCivliId(add.getId());
+                bo.getzEngineeringNodeBo().setCreateTime(new Date());
+                izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());
+            }
+            return flag;
+        }
+        else if (StringUtils.isNotBlank(bo.getId())){
+            ZEngineeringGYVo voById = baseMapper.selectVoById(bo.getId());
+            List<ZEngineeringNodeBo> zEngineeringNodeBoList = bo.getzEngineeringNodeBoList();
+            ZEngineeringNodeBo entity = bo.getzEngineeringNodeBo();
+            //pc
+            if (!ObjectUtils.isEmpty(zEngineeringNodeBoList)) {
+                for (ZEngineeringNodeBo zEngineeringNodeBo : zEngineeringNodeBoList) {
+                    zEngineeringNodeBo.setCivliId(voById.getId());
+                    zEngineeringNodeBo.setCreateTime(voById.getCreateTime());
+                    ZEngineeringNodeBo query = izEngineeringNodeService.query(zEngineeringNodeBo);
+                    if (!ObjectUtils.isEmpty(query)) {
+                        zEngineeringNodeBo.setId(query.getId());
+                    }
+                    izEngineeringNodeService.insert(zEngineeringNodeBo);
+                }
+            }
+            //uniapp
+            if (!ObjectUtils.isEmpty(entity)) {
+                entity.setCivliId(voById.getId());
+                entity.setCreateTime(voById.getCreateTime());
+                ZEngineeringNodeBo query = izEngineeringNodeService.query(entity);
+                if (!ObjectUtils.isEmpty(query)) {
+                    entity.setId(query.getId());
+                }
+                izEngineeringNodeService.insert(entity);
+            }
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 修改工业工程
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean updateByBo(ZEngineeringIndustryGYBo bo) {
+        ZEngineeringGY update = BeanUtil.toBean(bo, ZEngineeringGY.class);
+        validEntityBeforeSave(update);
+        //工程表
+        boolean flag = baseMapper.updateById(update) > 0;
+        ZEngineeringGYVo voById = baseMapper.selectVoById(bo.getId());
+        bo.setCreateTime(voById.getCreateTime());
+        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);
+                }
+            }
+        }
+        //节点表与info表
+        if (!ObjectUtils.isEmpty(bo.getzEngineeringNodeBo())) {
+            bo.getzEngineeringNodeBo().setCreateTime(voById.getCreateTime());
+            izEngineeringNodeService.update(bo.getzEngineeringNodeBo());
+        }
+        return flag;
+    }
+
+
+    /**
+     * 修改工业工程
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean updateNodeByBo(ZEngineeringIndustryGYBo bo) {
+        ZEngineeringGY update = BeanUtil.toBean(bo, ZEngineeringGY.class);
+        boolean flag = baseMapper.updateById(update) > 0;
+        ZEngineeringGYVo voById = baseMapper.selectVoById(bo.getId());
+        bo.setCreateTime(voById.getCreateTime());
+        if (flag) {
+            if (!ObjectUtils.isEmpty(bo.getFiles())) {
+                List<ZEngiineeringPhoto> list = new ArrayList<>();
+                // 查询数据库中已存在的文件列表
+                ZEngiineeringPhotoBo zEngiineeringPhotoBo = new ZEngiineeringPhotoBo();
+                zEngiineeringPhotoBo.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhotoBo.setParentId(update.getId());
+                List<String> existingPhotos = photoService.queryList(zEngiineeringPhotoBo).stream().map(ZEngiineeringPhotoVo::getPicUrl).collect(Collectors.toList());
+                // 插入前端传来的新文件
+                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.getUsername()));
+                        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);
+                }
+            }
+        }
+        return flag;
+    }
+
+
+    /**
+     * 保存前的数据校验
+     */
+    private void validEntityBeforeSave(ZEngineeringGY entity) {
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    /**
+     * 批量删除工业工程
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
+
+        ids.forEach(item -> {
+            ZEngineeringGYVo vo = baseMapper.selectVoById(item);
+            // 查询数据库中已存在的文件列表
+            ZEngiineeringPhotoBo zEngiineeringPhotoBo = new ZEngiineeringPhotoBo();
+            zEngiineeringPhotoBo.setParentId(item);
+            zEngiineeringPhotoBo.setCreateTime(vo.getCreateTime());
+            // 将查询出的url放入existingPhotos
+            List<String> existingPhotos = photoService.queryList(zEngiineeringPhotoBo).stream().map(ZEngiineeringPhotoVo::getPicUrl).collect(Collectors.toList());
+            // 若存在 则进行删除
+            if (!existingPhotos.isEmpty()) {
+                existingPhotos.forEach(i -> {
+                    photoService.deleteWithValidByurls(i);
+                });
+            }
+            // 初始化工程节点对象
+
+            ZEngineeringNodeBo zEngineeringNodeBo = new ZEngineeringNodeBo();
+            zEngineeringNodeBo.setCreateTime(vo.getCreateTime());
+            zEngineeringNodeBo.setCivliId(vo.getId());
+            //  查询数据库中已存在的工程节点
+            List<ZEngineeringNodeBo> zEngineeringNodeBos = nodeService.queryListDetails(zEngineeringNodeBo);
+            // 若存在 则进行删除
+            if (!zEngineeringNodeBos.isEmpty()) {
+                zEngineeringNodeBos.forEach(ite -> nodeService.delete(ite));
+            }
+        });
+        return baseMapper.deleteBatchIds(ids) > 0;
+    }
+
+    @Override
+    public ZEngineeringGYVo query(String id, String type) {
+        ZEngineeringGYVo zEngineeringIndustryVo = baseMapper.selectVoById(id);
+        ZEngineeringNodeBo zEngineeringNodeBo = new ZEngineeringNodeBo();
+        zEngineeringNodeBo.setCreateTime(zEngineeringIndustryVo.getCreateTime());
+        zEngineeringNodeBo.setCivliId(zEngineeringIndustryVo.getId());
+        zEngineeringNodeBo.setType(type);
+        zEngineeringIndustryVo.setZEngineeringNodeBo(izEngineeringNodeService.query(zEngineeringNodeBo));
+        return zEngineeringIndustryVo;
+    }
+
+    @Override
+    public ZEngineeringGYVo query(String id) {
+        ZEngineeringGYVo zEngineeringIndustryVo = baseMapper.selectVoById(id);
+        ZEngineeringNodeBo zEngineeringNodeBo = new ZEngineeringNodeBo();
+        zEngineeringNodeBo.setCreateTime(zEngineeringIndustryVo.getCreateTime());
+        zEngineeringNodeBo.setCivliId(zEngineeringIndustryVo.getId());
+        zEngineeringIndustryVo.setZEngineeringNodeBo(izEngineeringNodeService.query(zEngineeringNodeBo));
+        return zEngineeringIndustryVo;
+    }
+
+    @Override
+    public List<?> queryByType(ZEngineeringIndustryGYBo bo) {
+        LambdaQueryWrapper<ZEngineeringGY> zEngineeringIndustryBoLambdaQueryWrapper = buildListByType(bo);
+        List<ZEngineeringGY> zEngineeringIndustryVos = baseMapper.selectList(zEngineeringIndustryBoLambdaQueryWrapper);
+        List<Map<String, Object>> result = zEngineeringIndustryVos.stream()
+            .map(vo -> {
+                Map<String, Object> map = new HashMap<>();
+                map.put("id", vo.getId());
+                map.put("name", vo.getEnginName());
+                return map;
+            })
+            .collect(Collectors.toList());
+        return result;
+    }
+
+    private LambdaQueryWrapper<ZEngineeringGY> buildListByType(ZEngineeringIndustryGYBo bo) {
+        LambdaQueryWrapper<ZEngineeringGY> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.orderByDesc(ZEngineeringGY::getCreateTime);
+        queryWrapper.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringGY::getEnginType, bo.getEnginType());
+        queryWrapper.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringGY::getEnginClassification, bo.getEnginClassification());
+        return queryWrapper;
+    }
+
+
+}

+ 164 - 209
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringIndustryServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ruoyi.zdsz.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -41,7 +42,7 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 /**
- * 工业工程|市政工程Service业务层处理
+ * 市政工程Service业务层处理
  *
  * @author ruoyi
  * @date 2024-01-02
@@ -62,11 +63,11 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
     @Resource
     private IZEngiineeringPhotoService photoService;
 
-    @Autowired
+    @Resource
     private ZEngineeringCivilMapper zEngineeringCivilMapper;
 
     @Override
-    public TableDataInfo<Map<String, Object>> getByUserList(String type,String enginName,String enginType,String enginProcedure,String enginStatus,PageQuery pageQuery,String nodeType,String createBy) {
+    public TableDataInfo<Map<String, Object>> getByUserList(String type,String enginName,String enginType,String enginProcedure,String enginStatus,PageQuery pageQuery,String nodeType,String createBy,String enginClassification) {
         Page<T> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize());
         String leftJoin = null;
         String szAndGy = null;
@@ -84,16 +85,19 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
         }
         else if ("4".equals(type)){
             leftJoin = "z_engineering_industry"; // 市政工程
-            szAndGy = "sz";
             enginType = "";
         }
         else if ("5".equals(type)){
-            leftJoin = "z_engineering_industry"; // 工业工程
+            leftJoin = "z_engineering_gy"; // 工业工程
             szAndGy = "gy";
         }
         else if ("6".equals(type)){
             leftJoin = "z_engineering_air_wall"; // 带气工程
         }
+        else if ("7".equals(type)){
+            leftJoin = "z_touch_operation_engineering"; // 碰口工程
+            szAndGy = "pk";
+        }
         LinkedList<String> list = zEngineeringCivilMapper.getTableNames("z_engineering_info");
         List DateList = new ArrayList();
         list.removeLast();
@@ -105,7 +109,7 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
         if (type.equals("6")) {
             listPage = baseMapper.getByUserList1(DateList, username, leftJoin, szAndGy, page,enginName,enginType);
         } else {
-            listPage = baseMapper.getByUserList(DateList, username, leftJoin, szAndGy, page,enginName,enginType);
+            listPage = baseMapper.getByUserList(DateList, username, leftJoin, szAndGy, page,enginName,enginType,enginClassification);
         }
 
         if ("1".equals(type)){ // 顶管
@@ -207,10 +211,9 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
                 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("municipal_engineering_node");
+                List<SysDictData> municipalEngineeringNode = sysDictMap.get("municipal_node_types");
                 mapList.forEach(ite -> {
                     String str = "2".equals(ite.get("reviewStatus"))?"未审核":"1".equals(ite.get("reviewStatus"))?"通过":"未通过";
-                    // "municipal_engineering_node";
                     try {
                         ite.put("type",municipalEngineeringNode.stream().filter(ie-> ie.getDictValue() .equals(ite.get("type"))).collect(Collectors.toList()).get(0).getDictLabel());
                     } catch (Exception e) {
@@ -243,26 +246,56 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
         }
         else if ("5".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()));
                 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 = new ArrayList<>();
+                if (item.get("enginClassification").equals("室内管线")){
+                    municipalEngineeringNode.addAll(sysDictMap.get("gy_inner"));
+                }
+                if (item.get("enginClassification").equals("室外管线")){
+                    municipalEngineeringNode.addAll(sysDictMap.get("gy_out"));
+                }
+                if (item.get("enginClassification").equals("调压柜")){
+                    municipalEngineeringNode.addAll(sysDictMap.get("gy_tyg"));
+                }
                 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();
             });
             MonthTableNameHandler.removeData();
         }
         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");
 
@@ -280,20 +313,65 @@ 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);
     }
 
     /**
-     * 查询工业工程|市政工程
+     * 查询市政工程
      */
     @Override
     public ZEngineeringIndustryVo queryById(String id) {
@@ -312,17 +390,14 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
     }
 
     /**
-     * 查询工业工程|市政工程列表
+     * 查询市政工程列表
      */
     @Override
     public TableDataInfo<ZEngineeringIndustryVo> queryPageList(ZEngineeringIndustryBo bo, PageQuery pageQuery) {
         LambdaQueryWrapper<ZEngineeringIndustry> lqw = buildQueryWrapper(bo);
         Page<ZEngineeringIndustryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
         Map<String, Object> ReviewList;
-        if ("1".equals(bo.getType()))
-            ReviewList = nodeService.ReViewGYList(result.getRecords());
-        else
-            ReviewList = nodeService.ReViewSZList(result.getRecords());
+        ReviewList = nodeService.ReViewSZList(result.getRecords());
         result.getRecords().forEach(item -> {
             item.setNodeReViewStateList(ReviewList.get(item.getId()));
         });
@@ -330,7 +405,7 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
     }
 
     /**
-     * 查询工业工程|市政工程列表
+     * 查询市政工程列表
      */
     @Override
     public List<ZEngineeringIndustryVo> queryList(ZEngineeringIndustryBo bo) {
@@ -353,53 +428,85 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
         lqw.eq(StringUtils.isNotBlank(bo.getSupervisionUnit()), ZEngineeringIndustry::getSupervisionUnit, bo.getSupervisionUnit());
         lqw.eq(StringUtils.isNotBlank(bo.getSupervisionHead()), ZEngineeringIndustry::getSupervisionHead, bo.getSupervisionHead());
         lqw.eq(StringUtils.isNotBlank(bo.getSupervisionPhone()), ZEngineeringIndustry::getSupervisionPhone, bo.getSupervisionPhone());
-        lqw.eq(StringUtils.isNotBlank(bo.getType()), ZEngineeringIndustry::getType, bo.getType());
         return lqw;
     }
 
     /**
-     * 新增工业工程|市政工程
+     * 新增市政工程
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean insertByBo(ZEngineeringIndustryBo bo) {
         ZEngineeringIndustry add = BeanUtil.toBean(bo, ZEngineeringIndustry.class);
         validEntityBeforeSave(add);
-        boolean flag = baseMapper.insert(add) > 0;
-        if (flag) {
-            bo.setId(add.getId());
-            List<ZEngiineeringPhoto> list = new ArrayList<>();
-            bo.getFiles().forEach(o -> {
-                ZEngiineeringPhoto pic = new ZEngiineeringPhoto();
-                pic.setParentId(bo.getId());
-                pic.setPicUrl(o.getUrl());
-                pic.setFileName(o.getName());
-                pic.setCreateBy(String.valueOf(LoginHelper.getUserId()));
-                pic.setCreateTime(new Date());
-                list.add(pic);
-            });
-            if (!list.isEmpty()) {
-                photoService.insertBatch(list);
+        if (StringUtils.isEmpty(bo.getId())){
+            boolean flag = baseMapper.insert(add) > 0;
+            if (flag) {
+                bo.setId(add.getId());
+                List<ZEngiineeringPhoto> list = new ArrayList<>();
+                bo.getFiles().forEach(o -> {
+                    ZEngiineeringPhoto pic = new ZEngiineeringPhoto();
+                    pic.setParentId(bo.getId());
+                    pic.setPicUrl(o.getUrl());
+                    pic.setFileName(o.getName());
+                    pic.setCreateBy(String.valueOf(LoginHelper.getUserId()));
+                    pic.setCreateTime(new Date());
+                    list.add(pic);
+                });
+                if (!list.isEmpty()) {
+                    photoService.insertBatch(list);
+                }
+            }
+            if (!ObjectUtils.isEmpty(bo.getzEngineeringNodeBo())) {
+                bo.getzEngineeringNodeBo().setCivliId(add.getId());
+                bo.getzEngineeringNodeBo().setCreateTime(new Date());
+                izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());
             }
+            return flag;
         }
-        if (!ObjectUtils.isEmpty(bo.getzEngineeringNodeBo())) {
-            bo.getzEngineeringNodeBo().setCivliId(add.getId());
-            bo.getzEngineeringNodeBo().setCreateTime(new Date());
-            izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());
+        else if (StringUtils.isNotBlank(bo.getId())){
+            ZEngineeringIndustryVo voById = baseMapper.selectVoById(bo.getId());
+            List<ZEngineeringNodeBo> zEngineeringNodeBoList = bo.getzEngineeringNodeBoList();
+            ZEngineeringNodeBo entity = bo.getzEngineeringNodeBo();
+            //pc
+            if (!ObjectUtils.isEmpty(zEngineeringNodeBoList)) {
+                for (ZEngineeringNodeBo zEngineeringNodeBo : zEngineeringNodeBoList) {
+                    zEngineeringNodeBo.setCivliId(voById.getId());
+                    zEngineeringNodeBo.setCreateTime(voById.getCreateTime());
+                    ZEngineeringNodeBo query = izEngineeringNodeService.query(zEngineeringNodeBo);
+                    if (!ObjectUtils.isEmpty(query)) {
+                        zEngineeringNodeBo.setId(query.getId());
+                    }
+                    izEngineeringNodeService.insert(zEngineeringNodeBo);
+                }
+            }
+            //uniapp
+            if (!ObjectUtils.isEmpty(entity)) {
+                entity.setCivliId(voById.getId());
+                entity.setCreateTime(voById.getCreateTime());
+                ZEngineeringNodeBo query = izEngineeringNodeService.query(entity);
+                if (!ObjectUtils.isEmpty(query)) {
+                    entity.setId(query.getId());
+                }
+                izEngineeringNodeService.insert(entity);
+            }
+            return true;
         }
-        return flag;
+        return false;
     }
 
     /**
-     * 修改工业工程|市政工程
+     * 修改市政工程
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean updateByBo(ZEngineeringIndustryBo bo) {
         ZEngineeringIndustry update = BeanUtil.toBean(bo, ZEngineeringIndustry.class);
         validEntityBeforeSave(update);
+        //工程表
         boolean flag = baseMapper.updateById(update) > 0;
-        bo.setCreateTime(baseMapper.selectVoById(bo.getId()).getCreateTime());
+        ZEngineeringIndustryVo voById = baseMapper.selectVoById(bo.getId());
+        bo.setCreateTime(voById.getCreateTime());
         if (flag) {
             List<ZEngiineeringPhoto> list = new ArrayList<>();
             // 查询数据库中已存在的文件列表
@@ -437,116 +544,17 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
                 }
             }
         }
-        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.setCreateTime(baseMapper.selectVoById(bo.getId()).getCreateTime());
-        ZEngineeringNodeBo query = izEngineeringNodeService.query(zEngineeringNodeBo);
-        if (!ObjectUtils.isEmpty(query)) {
-            bo.getzEngineeringNodeBo().setId(query.getId());
+        //节点表与info表
+        if (!ObjectUtils.isEmpty(bo.getzEngineeringNodeBo())) {
+            bo.getzEngineeringNodeBo().setCreateTime(voById.getCreateTime());
+            izEngineeringNodeService.update(bo.getzEngineeringNodeBo());
         }
-        bo.getzEngineeringNodeBo().setCreateTime(zEngineeringNodeBo.getCreateTime());
-        izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());
-        System.out.println("izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());");
         return flag;
     }
 
-    private void batchUpdatePic(ZEngineeringIndustryBo bo,  String methodName, String type) throws NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException {
-        // 获取类对象
-        Class<?> cls = ZEngineeringInfoBo.class;
-        // 获取指定方法
-        Method method = cls.getDeclaredMethod(methodName);
-//        System.out.println("method.invoke(obj);==="+method.invoke(bo.getzEngineeringNodeBo().getzEngineeringInfoBoList().get(0)));
-        // 故事正文开始
-        List<ZEngineeringInfoBo> zEngineeringInfoBoList = bo.getzEngineeringNodeBo().getzEngineeringInfoBoList();
-        for (int i = 0; i < zEngineeringInfoBoList.size(); i++) {
-            ZEngineeringInfoBo zEngineeringInfoBo = zEngineeringInfoBoList.get(i);
-            if (!ObjectUtils.isEmpty(method.invoke(zEngineeringInfoBo))) {
-                List<ZEngiineeringPhoto> list = new ArrayList<>();
-                // 查询数据库中已存在的文件列表
-                ZEngiineeringPhotoBo zEngiineeringPhotoBo = new ZEngiineeringPhotoBo();
-                zEngiineeringPhotoBo.setCreateTime(zEngineeringInfoBo.getCreateTime());//
-                zEngiineeringPhotoBo.setType(type);
-                zEngiineeringPhotoBo.setParentId(zEngineeringInfoBo.getId());
-                List<String> existingPhotos = photoService.queryList(zEngiineeringPhotoBo).stream().map(ZEngiineeringPhotoVo::getPicUrl).collect(Collectors.toList());
-                // 插入前端传来的新文件
-                for (String pic : (List<String>)method.invoke(zEngineeringInfoBo)) {
-                    if (!existingPhotos.contains(pic)) {
-                        ZEngiineeringPhoto newPhoto = new ZEngiineeringPhoto();
-                        newPhoto.setParentId(zEngineeringInfoBo.getId());
-                        newPhoto.setPicUrl(pic);
-                        newPhoto.setFileName(pic);
-                        newPhoto.setType(type);
-                        newPhoto.setCreateBy(String.valueOf(LoginHelper.getUsername()));
-                        newPhoto.setCreateTime(bo.getCreateTime());
-                        newPhoto.setUpdateTime(new Date());
-                        list.add(newPhoto);
-                    }
-                }
-                // 删除数据库中多余的文件
-                List<String> photosToDelete = existingPhotos.stream().filter(pic -> {
-                    try {
-                        return !((List<String>)(method.invoke(zEngineeringInfoBo))).contains(pic);
-                    } catch (IllegalAccessException e) {
-                        throw new RuntimeException(e);
-                    } catch (InvocationTargetException e) {
-                        throw new RuntimeException(e);
-                    }
-                }).collect(Collectors.toList());
-                if (!photosToDelete.isEmpty()) {
-                    photosToDelete.forEach(item -> {
-                        ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
-                        zEngiineeringPhoto.setType(type);
-                        zEngiineeringPhoto.setPicUrl(item);
-                        zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
-                        photoService.deleteWithValid(zEngiineeringPhoto);
-                    });
-                }
-                // 批量插入新图片
-                if (!list.isEmpty()) {
-                    photoService.insertBatch(list);
-                }
-            }else {
-                // 查询数据库中已存在的文件列表
-                ZEngiineeringPhotoBo zEngiineeringPhotoBo = new ZEngiineeringPhotoBo();
-                zEngiineeringPhotoBo.setCreateTime(zEngineeringInfoBo.getCreateTime());//
-                zEngiineeringPhotoBo.setParentId(zEngineeringInfoBo.getId());
-                zEngiineeringPhotoBo.setType(type);
-                List<String> existingPhotos = photoService.queryList(zEngiineeringPhotoBo).stream().map(ZEngiineeringPhotoVo::getPicUrl).collect(Collectors.toList());
-                // 删除数据库中多余的文件
-                List<String> photosToDelete = null;
-                try {
-                    photosToDelete = existingPhotos.stream().filter(pic -> {
-                        try {
-                            return !((List<String>)(method.invoke(zEngineeringInfoBo))).contains(pic);
-                        } catch (IllegalAccessException e) {
-                            throw new RuntimeException(e);
-                        } catch (InvocationTargetException e) {
-                            throw new RuntimeException(e);
-                        }
-                    }).collect(Collectors.toList());
-                }catch (Exception e){
-
-                }
-                if (!photosToDelete.isEmpty()) {
-                    photosToDelete.forEach(item -> {
-                        ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
-                        zEngiineeringPhoto.setType(type);
-                        zEngiineeringPhoto.setPicUrl(item);
-                        zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
-                        photoService.deleteWithValid(zEngiineeringPhoto);
-                    });
-                }
-            }
-        }
-    }
 
     /**
-     * 修改工业工程|市政工程
+     * 修改市政工程
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -591,51 +599,7 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
                     photoService.insertBatch(list);
                 }
             }
-
-//            // 市政施工-沟上施工 焊接
-//            public List<String> welding;
-//            // 市政施工-沟上施工 防腐
-//            public List<String> aczoiling;
-//            // 市政施工-沟下施工 管道下沟
-//            public List<String> piping;
-//            // 市政施工-沟下施工 警示带铺设
-//            public List<String> warning;
-//            // 市政施工-沟下施工 回填
-//            public List<String> backfilling;
-            /**
-             * 焊接照片
-             * 防腐照片
-             *
-             */
-            try {
-                batchUpdatePic(bo,  "getWelding", "welding");
-                batchUpdatePic(bo,  "getAczoiling", "aczoiling");
-                batchUpdatePic(bo,  "getPiping", "piping");
-                batchUpdatePic(bo,  "getWarning", "warning");
-                batchUpdatePic(bo,  "getBackfilling", "backfilling");
-            }catch (Exception e){
-                e.printStackTrace();
-            }
-        }
-
-
-        if (!ObjectUtils.isEmpty(bo.getzEngineeringNodeBo())){
-            List<ZEngineeringInfoBo> engineeringInfoBoList1 = bo.getzEngineeringNodeBo().getzEngineeringInfoBoList();
-            if (engineeringInfoBoList1 != null && !engineeringInfoBoList1.isEmpty()) {
-                if ("2".equals(voById.getType())) {
-                    engineeringInfoBoList1.stream().forEach(iy->{
-                        iy.setzEngiineeringPhotoBoList(Collections.EMPTY_LIST);
-                    });
-                }
-                nodeService.updateMuch(bo.getzEngineeringNodeBo());
-            }
         }
-        //        bo.getzEngineeringNodeBoList().stream().forEach(item->{
-        //            item.setCivliId(bo.getId());
-        //            item.setCreateTime(bo.getCreateTime());
-        //            item.setType(bo.getType());
-        //            izEngineeringNodeService.updateMuch(item);
-        //        });
         return flag;
     }
 
@@ -648,7 +612,7 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
     }
 
     /**
-     * 批量删除工业工程|市政工程
+     * 批量删除市政工程
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -689,9 +653,7 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
         ZEngineeringNodeBo zEngineeringNodeBo = new ZEngineeringNodeBo();
         zEngineeringNodeBo.setCreateTime(zEngineeringIndustryVo.getCreateTime());
         zEngineeringNodeBo.setCivliId(zEngineeringIndustryVo.getId());
-        System.out.println("type===" + type);
         zEngineeringNodeBo.setType(type);
-//        zEngineeringNodeBo.setType("trench_construction");
         zEngineeringIndustryVo.setZEngineeringNodeBo(izEngineeringNodeService.query(zEngineeringNodeBo));
         return zEngineeringIndustryVo;
     }
@@ -709,10 +671,8 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
     @Override
     public List<ZEngineeringIndustryTypeVo> queryNameByType(ZEngineeringIndustryBo bo) {
         LambdaQueryWrapper<ZEngineeringIndustry> zEngineeringIndustryBoLambdaQueryWrapper = buildListByType(bo);
-        zEngineeringIndustryBoLambdaQueryWrapper.orderByDesc(ZEngineeringIndustry::getCreateTime);
         List<ZEngineeringIndustry> zEngineeringIndustryVos = baseMapper.selectList(zEngineeringIndustryBoLambdaQueryWrapper);
-        List<ZEngineeringIndustryTypeVo> zEngineeringIndustryTypeVos = zEngineeringIndustryVos.stream().map(ZEngineeringIndustryTypeVo::new).collect(Collectors.toList());
-        return zEngineeringIndustryTypeVos;
+        return zEngineeringIndustryVos.stream().map(ZEngineeringIndustryTypeVo::new).collect(Collectors.toList());
     }
 
     @Override
@@ -725,11 +685,6 @@ public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustrySer
         LambdaQueryWrapper<ZEngineeringIndustry> queryWrapper = new LambdaQueryWrapper<ZEngineeringIndustry>();
         queryWrapper.orderByDesc(ZEngineeringIndustry::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());
-        }
-
         return queryWrapper;
     }
 

+ 75 - 17
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringInfoServiceImpl.java

@@ -107,23 +107,9 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
             zEngineeringInfoBo1.setConstructionRecords(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.constructionRecords.name()));
             zEngineeringInfoBo1.setOnTheDitch(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.onTheDitch.name()));
             // 市政施工-查询 start
-            /*
-                // 市政施工-沟上施工 焊接
-                welding,
-                // 市政施工-沟上施工 防腐
-                aczoiling,
-                // 市政施工-沟下施工 管道下沟
-                piping,
-                // 市政施工-沟下施工 警示带铺设
-                warning,
-                // 市政施工-沟下施工 回填
-                backfilling
-            */
-            zEngineeringInfoBo1.setWelding(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.welding.name()));
-            zEngineeringInfoBo1.setAczoiling(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.aczoiling.name()));
-            zEngineeringInfoBo1.setPiping(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.piping.name()));
-            zEngineeringInfoBo1.setWarning(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.warning.name()));
-            zEngineeringInfoBo1.setBackfilling(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.backfilling.name()));
+            zEngineeringInfoBo1.setzEngiineeringPhotoBoListOne(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.beforeBack.name()));
+            zEngineeringInfoBo1.setzEngiineeringPhotoBoListTwo(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.warnBack.name()));
+            zEngineeringInfoBo1.setzEngiineeringPhotoBoListThree(izEngiineeringPhotoService.queryTypeList(zEngineeringInfoBo1,photoType.afterBack.name()));
             // 市政施工-查询 end
 
             // 带气封堵施工-查询 start
@@ -339,6 +325,42 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
 
 
         }
+        if (!ObjectUtils.isEmpty(bo.getzEngiineeringPhotoBoListOne()))
+        {
+            bo.getzEngiineeringPhotoBoListOne().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(bo.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.beforeBack.name().toString());
+                photoList.add(zEngiineeringPhoto);
+            });
+        }
+        if (!ObjectUtils.isEmpty(bo.getzEngiineeringPhotoBoListTwo()))
+        {
+            bo.getzEngiineeringPhotoBoListTwo().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(bo.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.warnBack.name().toString());
+                photoList.add(zEngiineeringPhoto);
+            });
+        }
+        if (!ObjectUtils.isEmpty(bo.getzEngiineeringPhotoBoListThree()))
+        {
+            bo.getzEngiineeringPhotoBoListThree().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(bo.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.afterBack.name().toString());
+                photoList.add(zEngiineeringPhoto);
+            });
+        }
         if (!ObjectUtils.isEmpty(bo.getLightning()))
         {
             bo.getLightning().forEach(item -> {
@@ -841,6 +863,42 @@ public class ZEngineeringInfoServiceImpl implements IZEngineeringInfoService {
             izEngiineeringPhotoService.updateBatch(photoList);
         }
         List<ZEngiineeringPhoto> photoList2 = new ArrayList<>();
+        if (!ObjectUtils.isEmpty(bo.getzEngiineeringPhotoBoListOne()))
+        {
+            bo.getzEngiineeringPhotoBoListOne().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(bo.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.beforeBack.name().toString());
+                photoList2.add(zEngiineeringPhoto);
+            });
+        }
+        if (!ObjectUtils.isEmpty(bo.getzEngiineeringPhotoBoListTwo()))
+        {
+            bo.getzEngiineeringPhotoBoListTwo().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(bo.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.warnBack.name().toString());
+                photoList2.add(zEngiineeringPhoto);
+            });
+        }
+        if (!ObjectUtils.isEmpty(bo.getzEngiineeringPhotoBoListThree()))
+        {
+            bo.getzEngiineeringPhotoBoListThree().forEach(item -> {
+                ZEngiineeringPhoto zEngiineeringPhoto = new ZEngiineeringPhoto();
+                zEngiineeringPhoto.setParentId(bo.getId());
+                zEngiineeringPhoto.setPicUrl(item);
+                zEngiineeringPhoto.setCreateTime(bo.getCreateTime());
+                zEngiineeringPhoto.setUpdateTime(new Date());
+                zEngiineeringPhoto.setType(photoType.afterBack.name().toString());
+                photoList2.add(zEngiineeringPhoto);
+            });
+        }
         if (!ObjectUtils.isEmpty(bo.getConstructionRecords()))
         {
             bo.getConstructionRecords().forEach(item -> {

+ 334 - 231
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringNodeServiceImpl.java

@@ -33,6 +33,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -65,11 +66,15 @@ public class ZEngineeringNodeServiceImpl implements IZEngineeringNodeService {
     @Autowired
     private ZEngineeringCivilMapper zEngineeringCivilMapper;
     @Autowired
-    private  ZEngineeringReviewMapper zEngineeringReviewMapper;
+    private ZEngineeringReviewMapper zEngineeringReviewMapper;
     @Autowired
     private ZComprehensiveMapper zComprehensiveMapper;
     @Autowired
     private ZEngineeringInfoMapper zEngineeringInfoMapper;
+    @Autowired
+    private ZEngineeringMaterialMapper zEngineeringMaterialMapper;
+    @Autowired
+    private  ZEnginMaterialQualityMapper zEnginMaterialQualityMapper;
 
 
     /**
@@ -89,8 +94,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 +106,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 +123,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 +135,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 +219,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 +314,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 +363,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 +391,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 +404,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 +433,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 +456,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 +469,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 +493,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 +678,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 +740,108 @@ 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));
                 }
-
+                if("回拖".equals(item2.getType())){
+                    LambdaQueryWrapper<ZEngineeringInfo> lqw3 = Wrappers.lambdaQuery();
+                    lqw3.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringInfo::getEngInfoId, item2.getId());
+                    List<ZEngineeringInfo> info= zEngineeringInfoMapper.selectList(lqw3);
+                    info.stream().forEach(item3->{
+                        LambdaQueryWrapper<ZEngineeringMaterial> lqw4 = Wrappers.lambdaQuery();
+                        lqw4.eq(StringUtils.isNotBlank(item3.getId()), ZEngineeringMaterial::getDetailsId, item3.getId());
+                        List<ZEngineeringMaterial> material= zEngineeringMaterialMapper.selectList(lqw4);
+                        material.stream().forEach(item4->{
+                            String type = zEnginMaterialQualityMapper.selectVoById(item4.getMaterialQuality()).getMaterialType();
+                            if("0".equals(type)){
+                                item.setPesj(new BigDecimal(Double.toString(item.getPesj())).add(new BigDecimal(Double.toString(item4.getNumber()))).doubleValue());
+                            }else if("1".equals(type)){
+                                item.setGsj(new BigDecimal(Double.toString(item.getGsj())).add(new BigDecimal(Double.toString(item4.getNumber()))).doubleValue());
+                            }
+                        });
+                    });
+                }
             });
             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();
         });
@@ -839,72 +849,132 @@ 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());
+    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());
             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.isEmpty()) {
                     nodeTypeList.add(ReviewList.get(0));
                 }
-
+                if("下管".equals(item2.getType())){
+                    LambdaQueryWrapper<ZEngineeringInfo> lqw3 = Wrappers.lambdaQuery();
+                    lqw3.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringInfo::getEngInfoId, item2.getId());
+                    List<ZEngineeringInfo> info= zEngineeringInfoMapper.selectList(lqw3);
+                    info.stream().forEach(item3->{
+                        LambdaQueryWrapper<ZEngineeringMaterial> lqw4 = Wrappers.lambdaQuery();
+                        lqw4.eq(StringUtils.isNotBlank(item3.getId()), ZEngineeringMaterial::getDetailsId, item3.getId());
+                        List<ZEngineeringMaterial> material= zEngineeringMaterialMapper.selectList(lqw4);
+                        material.stream().forEach(item4->{
+                            String type = zEnginMaterialQualityMapper.selectVoById(item4.getMaterialQuality()).getMaterialType();
+                            if("0".equals(type)){
+                                item.setPesj(new BigDecimal(Double.toString(item.getPesj())).add(new BigDecimal(Double.toString(item4.getNumber()))).doubleValue());
+                            }else if("1".equals(type)){
+                                item.setGsj(new BigDecimal(Double.toString(item.getGsj())).add(new BigDecimal(Double.toString(item4.getNumber()))).doubleValue());
+                            }
+                        });
+                    });
+                }
             });
-            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","暂未审核");
-            }
-            statemap.put(item.getId(),Arrays.asList(map));
+            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", "暂未审核");
+                }
+                stateList.add(map);
+                ReViewStateMap.set(stateList);
+            });
+            statemap.put(item.getId(),ReViewStateMap.get());
+
             MonthTableNameHandler.removeData();
         });
         return statemap;
     }
-
     @Override
-    public Map<String,Object> ReViewSZList(List<ZEngineeringIndustryVo> list){
+    public Map<String,Object> ReViewGYList(List<ZEngineeringGYVo> 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());
+            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);
+            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)
+                if (!ReviewList.isEmpty())
                 {
                     nodeTypeList.add(ReviewList.get(0));
                 }
-
+                if("焊接".equals(item2.getType())&&item.getEnginClassification().equals("室内管线")){
+                    LambdaQueryWrapper<ZEngineeringInfo> lqw3 = Wrappers.lambdaQuery();
+                    lqw3.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringInfo::getEngInfoId, item2.getId());
+                    List<ZEngineeringInfo> info= zEngineeringInfoMapper.selectList(lqw3);
+                    info.stream().forEach(item3->{
+                        LambdaQueryWrapper<ZEngineeringMaterial> lqw4 = Wrappers.lambdaQuery();
+                        lqw4.eq(StringUtils.isNotBlank(item3.getId()), ZEngineeringMaterial::getDetailsId, item3.getId());
+                        List<ZEngineeringMaterial> material= zEngineeringMaterialMapper.selectList(lqw4);
+                        material.stream().forEach(item4->{
+                            String type = zEnginMaterialQualityMapper.selectVoById(item4.getMaterialQuality()).getMaterialType();
+                            if("0".equals(type)){
+                                item.setPesj(new BigDecimal(Double.toString(item.getPesj())).add(new BigDecimal(Double.toString(item4.getNumber()))).doubleValue());
+                            }else if("1".equals(type)){
+                                item.setGsj(new BigDecimal(Double.toString(item.getGsj())).add(new BigDecimal(Double.toString(item4.getNumber()))).doubleValue());
+                            }
+                        });
+                    });
+                }else if("下管".equals(item2.getType())&&item.getEnginClassification().equals("室外管线")){
+                    LambdaQueryWrapper<ZEngineeringInfo> lqw3 = Wrappers.lambdaQuery();
+                    lqw3.eq(StringUtils.isNotBlank(item2.getId()), ZEngineeringInfo::getEngInfoId, item2.getId());
+                    List<ZEngineeringInfo> info= zEngineeringInfoMapper.selectList(lqw3);
+                    info.stream().forEach(item3->{
+                        LambdaQueryWrapper<ZEngineeringMaterial> lqw4 = Wrappers.lambdaQuery();
+                        lqw4.eq(StringUtils.isNotBlank(item3.getId()), ZEngineeringMaterial::getDetailsId, item3.getId());
+                        List<ZEngineeringMaterial> material= zEngineeringMaterialMapper.selectList(lqw4);
+                        material.stream().forEach(item4->{
+                            String type = zEnginMaterialQualityMapper.selectVoById(item4.getMaterialQuality()).getMaterialType();
+                            if("0".equals(type)){
+                                item.setPesj(new BigDecimal(Double.toString(item.getPesj())).add(new BigDecimal(Double.toString(item4.getNumber()))).doubleValue());
+                            }else if("1".equals(type)){
+                                item.setGsj(new BigDecimal(Double.toString(item.getGsj())).add(new BigDecimal(Double.toString(item4.getNumber()))).doubleValue());
+                            }
+                        });
+                    });
+                }
             });
-            System.out.println(nodeList.toString());
-            System.out.println(nodeTypeList.toString());
+            String flag = null;
+            if (item.getEnginClassification().equals("室内管线")){
+                flag = "gy_inner";
+            }
+            if (item.getEnginClassification().equals("室外管线")){
+                flag = "gy_out";
+            }
+            if (item.getEnginClassification().equals("调压柜")){
+                flag = "gy_tyg";
+            }
             List stateList=new ArrayList();
-            sysDictMap.get("municipal_engineering_node").stream().forEach(item3 -> {
+            sysDictMap.get(flag).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());
@@ -918,7 +988,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();
         });
@@ -926,54 +996,87 @@ 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();
         });

+ 44 - 56
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringPipeJackingServiceImpl.java

@@ -13,7 +13,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.framework.obs.ObsService;
 import com.ruoyi.zdsz.domain.ZEngiineeringPhoto;
-import com.ruoyi.zdsz.domain.ZEngineeringNode;
 import com.ruoyi.zdsz.domain.bo.*;
 import com.ruoyi.zdsz.domain.vo.*;
 import com.ruoyi.zdsz.service.IZEngiineeringPhotoService;
@@ -136,73 +135,62 @@ public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJack
     public Boolean insertByBo(ZEngineeringPipeJackingBo bo) {
         ZEngineeringPipeJacking add = BeanUtil.toBean(bo, ZEngineeringPipeJacking.class);
         validEntityBeforeSave(add);
-        LambdaQueryWrapper<ZEngineeringPipeJacking> wrapper = Wrappers.lambdaQuery();
-        wrapper.eq(StringUtils.isNotEmpty(bo.getEnginName()),ZEngineeringPipeJacking::getEnginName,bo.getEnginName());
-        List<ZEngineeringPipeJacking> zEngineeringPipeJackings = baseMapper.selectList(wrapper);
-        if (zEngineeringPipeJackings.size() > 0){
-            return false;
-        }
-        LambdaQueryWrapper<ZEngineeringPipeJacking> lqw = Wrappers.lambdaQuery();
-        lqw.eq(StringUtils.isNotBlank(bo.getId()), ZEngineeringPipeJacking::getId, bo.getId());
-        lqw.eq(StringUtils.isNotBlank(bo.getEnginId()), ZEngineeringPipeJacking::getEnginId, bo.getEnginId());
-        ZEngineeringPipeJackingVo jackingVo = baseMapper.selectVoOne(lqw);
-        boolean flag = false;
-        if (ObjectUtil.isEmpty(jackingVo)) {
-            //不存在工程
-            flag = baseMapper.insert(add) > 0;
+        if (StringUtils.isEmpty(bo.getId())){
+            boolean flag = baseMapper.insert(add) > 0;
             if (flag) {
                 bo.setId(add.getId());
-                //多表单
-                if (bo.getzEngineeringNodeBoList() != null && !bo.getzEngineeringNodeBoList().isEmpty()) {
-                    for (int i = 0; i < bo.getzEngineeringNodeBoList().size(); i++) {
-                        bo.getzEngineeringNodeBoList().get(i).setCivliId(add.getId());
-                        bo.getzEngineeringNodeBoList().get(i).setCreateTime(add.getCreateTime());
-                        nodeService.insert(bo.getzEngineeringNodeBoList().get(i));
-                    }
+                List<ZEngiineeringPhoto> list = new ArrayList<>();
+                bo.getFiles().forEach(o -> {
+                    ZEngiineeringPhoto pic = new ZEngiineeringPhoto();
+                    pic.setParentId(bo.getId());
+                    pic.setPicUrl(o.getUrl());
+                    pic.setFileName(o.getName());
+                    pic.setCreateBy(String.valueOf(LoginHelper.getUserId()));
+                    pic.setCreateTime(new Date());
+                    list.add(pic);
+                });
+                if (!list.isEmpty()) {
+                    photoService.insertBatch(list);
                 }
             }
+            if (!ObjectUtils.isEmpty(bo.getzEngineeringNodeBo())) {
+                bo.getzEngineeringNodeBo().setCivliId(add.getId());
+                bo.getzEngineeringNodeBo().setCreateTime(new Date());
+                nodeService.insert(bo.getzEngineeringNodeBo());
+            }
+            return flag;
         }
-        else {
-            //多表单
-            if (bo.getzEngineeringNodeBoList() != null && !bo.getzEngineeringNodeBoList().isEmpty()) {
-                for (int i = 0; i < bo.getzEngineeringNodeBoList().size(); i++) {
-                    ZEngineeringNodeBo bo1 = bo.getzEngineeringNodeBoList().get(i);
-                    bo1.setCivliId(jackingVo.getId());
-                    bo1.setType(bo1.getType());
-                    bo1.setCreateTime(jackingVo.getCreateTime());
-                    ZEngineeringNodeBo query = nodeService.query(bo1);
-                    if (!ObjectUtils.isEmpty(query)){
-                        bo1.setId(query.getId());
+        else if (StringUtils.isNotBlank(bo.getId())){
+            ZEngineeringPipeJackingVo voById = baseMapper.selectVoById(bo.getId());
+            List<ZEngineeringNodeBo> zEngineeringNodeBoList = bo.getzEngineeringNodeBoList();
+            ZEngineeringNodeBo entity = bo.getzEngineeringNodeBo();
+            //pc
+            if (!ObjectUtils.isEmpty(zEngineeringNodeBoList)) {
+                for (ZEngineeringNodeBo zEngineeringNodeBo : zEngineeringNodeBoList) {
+                    zEngineeringNodeBo.setCivliId(voById.getId());
+                    zEngineeringNodeBo.setCreateTime(voById.getCreateTime());
+                    ZEngineeringNodeBo query = nodeService.query(zEngineeringNodeBo);
+                    if (!ObjectUtils.isEmpty(query)) {
+                        zEngineeringNodeBo.setId(query.getId());
                     }
-                    nodeService.insert(bo1);
+                    nodeService.insert(zEngineeringNodeBo);
                 }
             }
-            flag = true;
-        }
-        //文件集合
-        if (bo.getFiles()!=null&&!bo.getFiles().isEmpty()){
-            List<ZEngiineeringPhoto> list = new ArrayList<>();
-            bo.getFiles().forEach(o->{
-                ZEngiineeringPhoto pic = new ZEngiineeringPhoto();
-                pic.setParentId(bo.getId());
-                pic.setPicUrl(o.getUrl());
-                pic.setFileName(o.getName());
-                pic.setCreateBy(String.valueOf(LoginHelper.getUsername()));
-                pic.setCreateTime(new Date());
-                pic.setUpdateBy(String.valueOf(LoginHelper.getUsername()));
-                pic.setUpdateTime(new Date());
-                list.add(pic);
-            });
-            if (!list.isEmpty()) {
-                photoService.insertBatch(list);
+            //uniapp
+            if (!ObjectUtils.isEmpty(entity)) {
+                entity.setCivliId(voById.getId());
+                entity.setCreateTime(voById.getCreateTime());
+                ZEngineeringNodeBo query = nodeService.query(entity);
+                if (!ObjectUtils.isEmpty(query)) {
+                    entity.setId(query.getId());
+                }
+                nodeService.insert(entity);
             }
+            return true;
         }
-        return flag;
+        return false;
     }
 
-
-
-
     @Transactional(rollbackFor=Exception.class)
     @Override
     public Boolean insertByBoApp(ZEngineeringPipeJackingBo bo) {

+ 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;
+    }
+}

+ 5 - 3
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngiineeringPhotoMapper.xml

@@ -38,14 +38,16 @@
 
     <select id="getObjInfo" resultType="java.util.Map">
         SELECT
-            IF(ISNULL(zepj.engin_name),IF(ISNULL(zei.engin_name),IF(ISNULL(zed.engin_name),IF(ISNULL(zein.engin_name),'-',zein.engin_name),zed.engin_name),zei.engin_name),zepj.engin_name) AS engin_name,
-            IF(ISNULL(zepj.engin_name),IF(ISNULL(zei.engin_name),IF(ISNULL(zed.engin_name),IF(ISNULL(zein.engin_name),'-',IF(zein.type = '1','工业工程','市政工程')),'危险工程'),'基建工程'),'顶管工程') AS type
-        FROM z_engineering_node_2024_05 ze
+            IF(ISNULL(gy.engin_name),IF(ISNULL(zepj.engin_name),IF(ISNULL(zei.engin_name),IF(ISNULL(zed.engin_name),IF(ISNULL(zein.engin_name),'-',zein.engin_name),zed.engin_name),zei.engin_name),zepj.engin_name),gy.engin_name) AS engin_name,
+            IF(ISNULL(gy.engin_name),IF(ISNULL(zepj.engin_name),IF(ISNULL(zei.engin_name),IF(ISNULL(zed.engin_name),IF(ISNULL(zein.engin_name),'-','市政工程'),'危险工程'),'基建工程'),'顶管工程'),'工业工程') AS type
+        FROM z_engineering_node ze
                  LEFT JOIN z_engineering_pipe_jacking zepj ON zepj.id = ze.civli_id
                  LEFT JOIN z_engineering_infrastructure zei ON zei.id = ze.civli_id
                  LEFT JOIN z_engineering_dangerous zed ON zed.id = ze.civli_id
                  LEFT JOIN z_engineering_industry zein ON zein.id = ze.civli_id
+                 LEFT JOIN z_engineering_gy gy ON gy.id = ze.civli_id
         WHERE ze.id = #{nodeId}
     </select>
 
+
 </mapper>

+ 3 - 0
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEnginMaterialQualityMapper.xml

@@ -35,6 +35,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="nameType != null and nameType != ''">
                 and zc.name_type = #{nameType}
             </if>
+            <if test="materialType != null and materialType != ''">
+                and zc.material_type = #{materialType}
+            </if>
         </where>
         order by zc.create_time desc
     </select>

+ 56 - 2
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringCivilMapper.xml

@@ -108,10 +108,61 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             and engin_cycle = 0
         </if>
         order by a.update_info_time desc
-        LIMIT #{page},#{size}
+            LIMIT #{page},#{size}
         ) AS at)
         order by a.update_info_time desc
     </select>
+    <select id="queryAllList" resultType="com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo">
+        select
+        a.*,
+        g.dict_label as districtName,
+        h.dict_label as source,
+        if(b.name is null , '未知' ,b.NAME) AS areaName,
+        if(c.name is null , '未知' ,c.NAME) AS buildingName,
+        if(d.name is null , '未知' ,d.NAME) AS unitName,
+        if(e.name is null , '未知' ,e.NAME) AS houseName,
+        f.dict_label AS enginClassificationName
+        from z_engineering_civil a
+        left join z_area b on b.id = a.area_id
+        left join z_building c on c.id = a.building_id
+        left join z_unit d on d.id = a.unit_id
+        left join z_house e on e.id = a.house_id
+        left join sys_dict_data f on f.dict_type = a.engin_type and f.dict_value = a.engin_classification
+        left join sys_dict_data g on g.dict_value = a.district
+        left join sys_dict_data h on h.dict_type='community_source' and h.dict_value = e.source
+        where a.id in (SELECT at.* FROM (SELECT a.id from z_engineering_civil a
+        where a.del_flag = 0
+        <if test="p.district != null and p.district != ''">
+            and a.district = #{p.district}
+        </if>
+        <if test="p.areaId != null and p.areaId != ''">
+            and a.area_id = #{p.areaId}
+        </if>
+        <if test="p.buildingId != null and p.buildingId != ''">
+            and a.building_id = #{p.buildingId}
+        </if>
+        <if test="p.unitId != null and p.unitId != ''">
+            and a.unit_id = #{p.unitId}
+        </if>
+        <if test="p.houseId != null and p.houseId != ''">
+            and house_id = #{p.houseId}
+        </if>
+        <if test="p.enginType != null and p.enginType != ''">
+            and engin_type = #{p.enginType}
+        </if>
+        <if test="p.enginClassification != null and p.enginClassification != ''">
+            and engin_classification = #{p.enginClassification}
+        </if>
+        <if test="p.enginCycle != null and p.enginCycle != ''">
+            and engin_cycle = 0
+        </if>
+        ) AS at)
+        ORDER BY
+        b.name,
+        CONVERT ( REPLACE ( c.name, '栋', '' ), UNSIGNED ),
+        CONVERT ( REPLACE ( d.name, '单元', '' ), UNSIGNED ),
+        CONVERT ( REPLACE ( e.name, '号', '' ), UNSIGNED ) ASC
+    </select>
     <select id="queryPageIdList" resultType="com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo">
        select
        #{total} as total,
@@ -152,7 +203,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     CAST(CONCAT( REPLACE ( bd.NAME, '栋', '' ),REPLACE ( c.NAME, '单元', '' )) AS SIGNED) AS unitOrder
     FROM
     z_house a
-    LEFT JOIN z_engineering_civil b ON a.id = b.house_id AND b.engin_cycle=#{enginCycle}
+    LEFT JOIN z_engineering_civil b ON a.id = b.house_id
+    and b.del_flag = '0'
+    and b.engin_classification='indoor_engin'
+    AND b.engin_cycle=#{enginCycle}
     <if test="enginType != null and enginType != ''">
         and b.engin_type=#{enginType}
     </if>

+ 29 - 0
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringGYMapper.xml

@@ -0,0 +1,29 @@
+<?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.ZEngineeringGYMapper">
+
+    <resultMap type="com.ruoyi.zdsz.domain.ZEngineeringGY" id="ZEngineeringGYResult">
+        <result property="id" column="id"/>
+        <result property="enginType" column="engin_type"/>
+        <result property="constructUnit" column="construct_unit"/>
+        <result property="projectHead" column="project_head"/>
+        <result property="sceneHead" column="scene_head"/>
+        <result property="designUnit" column="design_unit"/>
+        <result property="designHead" column="design_head"/>
+        <result property="designPhone" column="design_phone"/>
+        <result property="supervisionUnit" column="supervision_unit"/>
+        <result property="supervisionHead" column="supervision_head"/>
+        <result property="supervisionPhone" column="supervision_phone"/>
+        <result property="version" column="version"/>
+        <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"/>
+    </resultMap>
+
+
+</mapper>

+ 25 - 39
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringIndustryMapper.xml

@@ -31,7 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         from sys_dict_data
         where 1 = 1
         <if test="type == 4">
-            and dict_type = 'municipal_engineering_node'
+            and dict_type = 'municipal_node_types'
         </if>
         <if test="type == 2">
             and dict_type = 'engineering_infrastructure'
@@ -63,28 +63,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT
             epj.id AS id,
             epj.engin_name AS enginName,
+        <if test="szAndGy=='gy'">
+            epj.engin_classification AS enginClassification,
+        </if>
+            <if test="szAndGy=='pk'">
+                if(#{type} = 'z_touch_operation_engineering',epj.mode_operation,'') AS modeOperation,
+            </if>
             epj.create_time AS createTime
         FROM z_engineering_info  ei
                  LEFT JOIN z_engineering_node en ON ei.eng_info_id = en.id
                  LEFT JOIN ${type} epj ON epj.id = en.civli_id
-                <if test="szAndGy != null and szAndGy != ''">
-                    <if test="szAndGy == 'gy'">
-                        and epj.type = '1'
-                    </if>
-                    <if test="szAndGy == 'sz'">
-                        and epj.type = '2'
-                    </if>
-                </if>
                 and epj.del_flag = '0'
         WHERE ei.create_by = #{by} AND epj.id IS NOT NULL
         <if test="enginName != '' and enginName != null ">
             and epj.engin_name LIKE CONCAT('%',#{enginName},'%')
         </if>
-        <if test="enginType != '' and enginType != null and szAndGy!='gy'">
+        <if test="enginType != '' and enginType != null and szAndGy!='pk'">
             and epj.engin_type LIKE CONCAT('%',#{enginType},'%')
         </if>
-        <if test="enginType != '' and enginType != null and szAndGy=='gy'">
-            and epj.engin_classification LIKE CONCAT('%',#{enginType},'%')
+        <if test="enginClassification != '' and enginClassification != null and szAndGy=='gy'">
+            and epj.engin_classification LIKE CONCAT('%',#{enginClassification},'%')
+        </if>
+        <if test="enginType != '' and enginType != null and szAndGy=='pk'">
+            and epj.mode_operation LIKE CONCAT('%',#{enginType},'%')
         </if>
         GROUP BY epj.id
         <foreach collection="names" item="name">
@@ -92,28 +93,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             SELECT
             epj.id AS id,
             epj.engin_name AS enginName,
+            <if test="szAndGy=='gy'">
+                epj.engin_classification AS enginClassification,
+            </if>
+            <if test="szAndGy=='pk'">
+                if(#{type} = 'z_touch_operation_engineering',epj.mode_operation,'') AS modeOperation,
+            </if>
             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
             LEFT JOIN ${type} epj ON epj.id = en.civli_id
-            <if test="szAndGy != null and szAndGy != ''">
-                <if test="szAndGy == 'gy'">
-                    and epj.type = '1'
-                </if>
-                <if test="szAndGy == 'sz'">
-                    and epj.type = '2'
-                </if>
-            </if>
             and epj.del_flag = '0'
             WHERE ei.create_by = #{by} AND epj.id IS NOT NULL
             <if test="enginName != '' and enginName != null ">
                 and epj.engin_name LIKE CONCAT('%',#{enginName},'%')
             </if>
-            <if test="enginType != '' and enginType != null and szAndGy!='gy'">
+            <if test="enginType != '' and enginType != null and szAndGy!='pk'">
                 and epj.engin_type LIKE CONCAT('%',#{enginType},'%')
             </if>
-            <if test="enginType != '' and enginType != null and szAndGy=='gy'">
-                and epj.engin_classification LIKE CONCAT('%',#{enginType},'%')
+            <if test="enginClassification != '' and enginClassification != null and szAndGy=='gy'">
+                and epj.engin_classification LIKE CONCAT('%',#{enginClassification},'%')
+            </if>
+            <if test="enginType != '' and enginType != null and szAndGy=='pk'">
+                and epj.mode_operation LIKE CONCAT('%',#{enginType},'%')
             </if>
             GROUP BY epj.id
 
@@ -131,14 +133,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         LEFT JOIN z_engineering_node en ON ei.eng_info_id = en.id
         LEFT JOIN ${type} epj ON epj.id = en.civli_id
         left join sys_dict_data as dict ON dict.dict_value = epj.engin_type
-        <if test="szAndGy != null and szAndGy != ''">
-            <if test="szAndGy == 'gy'">
-                and epj.type = '1'
-            </if>
-            <if test="szAndGy == 'sz'">
-                and epj.type = '2'
-            </if>
-        </if>
         and epj.del_flag = '0'
         WHERE ei.create_by = #{by} AND epj.id IS NOT NULL
         <if test="enginName != '' and enginName != null ">
@@ -160,14 +154,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             LEFT JOIN z_engineering_node_${name} en ON ei.eng_info_id = en.id
             LEFT JOIN ${type} epj ON epj.id = en.civli_id
             left join sys_dict_data as dict ON dict.dict_value = epj.engin_type
-            <if test="szAndGy != null and szAndGy != ''">
-                <if test="szAndGy == 'gy'">
-                    and epj.type = '1'
-                </if>
-                <if test="szAndGy == 'sz'">
-                    and epj.type = '2'
-                </if>
-            </if>
             and epj.del_flag = '0'
             WHERE ei.create_by = #{by} AND epj.id IS NOT NULL
             <if test="enginName != '' and enginName != null ">

+ 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>