Browse Source

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

# Conflicts:
#	ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringNodeService.java
wangtong 1 year ago
parent
commit
aeb837b9b5
29 changed files with 2399 additions and 18 deletions
  1. 6 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZComprehensiveController.java
  2. 110 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringDangerousController.java
  3. 106 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringIndustryController.java
  4. 113 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringPipeJackingController.java
  5. 179 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringDangerous.java
  6. 88 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringIndustry.java
  7. 75 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringPipeJacking.java
  8. 12 12
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZComprehensiveBo.java
  9. 245 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringDangerousBo.java
  10. 103 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringIndustryBo.java
  11. 2 2
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringNodeBo.java
  12. 97 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringPipeJackingBo.java
  13. 237 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringDangerousVo.java
  14. 94 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringIndustryVo.java
  15. 85 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringPipeJackingVo.java
  16. 15 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringDangerousMapper.java
  17. 15 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringIndustryMapper.java
  18. 21 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringPipeJackingMapper.java
  19. 51 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringDangerousService.java
  20. 48 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringIndustryService.java
  21. 2 1
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringInfoService.java
  22. 1 3
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringNodeService.java
  23. 49 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringPipeJackingService.java
  24. 163 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringDangerousServiceImpl.java
  25. 140 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringIndustryServiceImpl.java
  26. 189 0
      ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringPipeJackingServiceImpl.java
  27. 52 0
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringDangerousMapper.xml
  28. 30 0
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringIndustryMapper.xml
  29. 71 0
      ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringPipeJackingMapper.xml

+ 6 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZComprehensiveController.java

@@ -79,6 +79,9 @@ public class ZComprehensiveController extends BaseController {
     @RepeatSubmit()
     @PostMapping()
     public R<Void> add(@Validated(AddGroup.class) @RequestBody ZComprehensiveBo bo) {
+        if (bo.getPicIds() == null || bo.getPicIds().isEmpty()) {
+            return R.fail("照片必须上传!");
+        }
         return toAjax(iZComprehensiveService.insertByBo(bo));
     }
 
@@ -90,6 +93,9 @@ public class ZComprehensiveController extends BaseController {
     @RepeatSubmit()
     @PutMapping()
     public R<Void> edit(@Validated(EditGroup.class) @RequestBody ZComprehensiveBo bo) {
+        if (bo.getPicIds() == null || bo.getPicIds().isEmpty()) {
+            return R.fail("照片必须上传!");
+        }
         return toAjax(iZComprehensiveService.updateByBo(bo));
     }
 

+ 110 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringDangerousController.java

@@ -0,0 +1,110 @@
+package com.ruoyi.web.controller.zdsz;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
+
+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.core.validate.QueryGroup;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringDangerousVo;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringDangerousBo;
+import com.ruoyi.zdsz.service.IZEngineeringDangerousService;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 危险工程
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/zdsz/engineeringDangerous")
+public class ZEngineeringDangerousController extends BaseController {
+
+    private final IZEngineeringDangerousService iZEngineeringDangerousService;
+
+    /**
+     * 查询危险工程列表
+     */
+    @SaCheckPermission("system:engineeringDangerous:list")
+    @GetMapping("/list")
+    public TableDataInfo<ZEngineeringDangerousVo> list(ZEngineeringDangerousBo bo, PageQuery pageQuery) {
+        return iZEngineeringDangerousService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出危险工程列表
+     */
+    @SaCheckPermission("system:engineeringDangerous:export")
+    @Log(title = "危险工程", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(ZEngineeringDangerousBo bo, HttpServletResponse response) {
+        List<ZEngineeringDangerousVo> list = iZEngineeringDangerousService.queryList(bo);
+        ExcelUtil.exportExcel(list, "危险工程", ZEngineeringDangerousVo.class, response);
+    }
+
+    /**
+     * 获取危险工程详细信息
+     *
+     * @param id 主键
+     */
+    @SaCheckPermission("system:engineeringDangerous:query")
+    @GetMapping("/{id}")
+    public R<ZEngineeringDangerousVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable String id) {
+        return R.ok(iZEngineeringDangerousService.queryById(id));
+    }
+
+    /**
+     * 新增危险工程
+     */
+    @SaCheckPermission("system:engineeringDangerous:add")
+    @Log(title = "危险工程", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody ZEngineeringDangerousBo bo) {
+        bo.setCreateTime(new Date());
+        return toAjax(iZEngineeringDangerousService.insert(bo));
+    }
+
+    /**
+     * 修改危险工程
+     */
+    @SaCheckPermission("system:engineeringDangerous:edit")
+    @Log(title = "危险工程", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping()
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ZEngineeringDangerousBo bo) {
+        return toAjax(iZEngineeringDangerousService.updateByBo(bo));
+    }
+
+    /**
+     * 删除危险工程
+     *
+     * @param ids 主键串
+     */
+    @SaCheckPermission("system:engineeringDangerous:remove")
+    @Log(title = "危险工程", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable String[] ids) {
+        return toAjax(iZEngineeringDangerousService.deleteWithValidByIds(Arrays.asList(ids), true));
+    }
+}

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

@@ -0,0 +1,106 @@
+package com.ruoyi.web.controller.zdsz;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+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.bo.ZEngineeringIndustryBo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
+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.Date;
+import java.util.List;
+
+/**
+ * 工业工程|市政工程
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/zdsz/engineeringIndustry")
+public class ZEngineeringIndustryController extends BaseController {
+
+    private final IZEngineeringIndustryService iZEngineeringIndustryService;
+
+    /**
+     * 查询工业工程|市政工程列表
+     */
+    @SaCheckPermission("zdsz:engineeringIndustry:list")
+    @GetMapping("/list")
+    public TableDataInfo<ZEngineeringIndustryVo> list(ZEngineeringIndustryBo bo, PageQuery pageQuery) {
+        return iZEngineeringIndustryService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出工业工程|市政工程列表
+     */
+    @SaCheckPermission("zdsz:engineeringIndustry: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);
+    }
+
+    /**
+     * 获取工业工程|市政工程详细信息
+     *
+     * @param id 主键
+     */
+    @SaCheckPermission("zdsz:engineeringIndustry:query")
+    @GetMapping("/{id}")
+    public R<ZEngineeringIndustryVo> 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 ZEngineeringIndustryBo bo) {
+        return toAjax(iZEngineeringIndustryService.insertByBo(bo));
+    }
+
+    /**
+     * 修改工业工程|市政工程
+     */
+    @SaCheckPermission("zdsz:engineeringIndustry:edit")
+    @Log(title = "工业工程|市政工程", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping()
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ZEngineeringIndustryBo 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));
+    }
+}

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

@@ -0,0 +1,113 @@
+package com.ruoyi.web.controller.zdsz;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
+
+import com.ruoyi.zdsz.service.IZEngineeringNodeService;
+import lombok.RequiredArgsConstructor;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.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.core.validate.QueryGroup;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringPipeJackingVo;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringPipeJackingBo;
+import com.ruoyi.zdsz.service.IZEngineeringPipeJackingService;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 顶管工程
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/zdsz/engineeringPipeJacking")
+public class ZEngineeringPipeJackingController extends BaseController {
+
+    private final IZEngineeringPipeJackingService iZEngineeringPipeJackingService;
+    @Autowired
+    private IZEngineeringNodeService nodeService;
+    /**
+     * 查询顶管工程列表
+     */
+    @SaCheckPermission("zdsz:engineeringPipeJacking:list")
+    @GetMapping("/list")
+    public TableDataInfo<ZEngineeringPipeJackingVo> list(ZEngineeringPipeJackingBo bo, PageQuery pageQuery) {
+        return iZEngineeringPipeJackingService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出顶管工程列表
+     */
+    @SaCheckPermission("zdsz:engineeringPipeJacking:export")
+    @Log(title = "顶管工程", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(ZEngineeringPipeJackingBo bo, HttpServletResponse response) {
+        List<ZEngineeringPipeJackingVo> list = iZEngineeringPipeJackingService.queryList(bo);
+        ExcelUtil.exportExcel(list, "顶管工程", ZEngineeringPipeJackingVo.class, response);
+    }
+
+    /**
+     * 获取顶管工程详细信息
+     *
+     * @param id 主键
+     */
+    @SaCheckPermission("zdsz:engineeringPipeJacking:query")
+    @GetMapping("/{id}")
+    public R<ZEngineeringPipeJackingVo> getInfo(@NotNull(message = "主键不能为空")
+                                     @PathVariable String id) {
+        return R.ok(iZEngineeringPipeJackingService.queryById(id));
+    }
+
+    /**
+     * 新增顶管工程
+     */
+    @SaCheckPermission("zdsz:engineeringPipeJacking:add")
+    @Log(title = "顶管工程", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody ZEngineeringPipeJackingBo bo) {
+        bo.setCreateTime(new Date());
+        return toAjax(iZEngineeringPipeJackingService.insertByBo(bo));
+    }
+
+    /**
+     * 修改顶管工程
+     */
+    @SaCheckPermission("zdsz:engineeringPipeJacking:edit")
+    @Log(title = "顶管工程", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping()
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ZEngineeringPipeJackingBo bo) {
+        return toAjax(iZEngineeringPipeJackingService.updateByBo(bo));
+    }
+
+    /**
+     * 删除顶管工程
+     *
+     * @param ids 主键串
+     */
+    @SaCheckPermission("zdsz:engineeringPipeJacking:remove")
+    @Log(title = "顶管工程", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public R remove(@NotEmpty(message = "主键不能为空")
+                          @PathVariable String[] ids) {
+        return toAjax(iZEngineeringPipeJackingService.deleteWithValidByIds(Arrays.asList(ids), true));
+    }
+}

+ 179 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringDangerous.java

@@ -0,0 +1,179 @@
+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_engineering_dangerous
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("z_engineering_dangerous")
+public class ZEngineeringDangerous extends BaseEntity {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     *
+     */
+    @TableId(value = "id")
+    private String id;
+    /**
+     * 作业基本信息
+     */
+    private String basicInformation;
+    /**
+     * 工程名称
+     */
+    private String enginName;
+    /**
+     * 工程地点
+     */
+    private String enginAddre;
+    /**
+     * 工程时间
+     */
+    private Date enginTime;
+    /**
+     * 管径
+     */
+    private String pipeDiameter;
+    /**
+     * 管材
+     */
+    private String tubularProduct;
+    /**
+     * 是否存在套管
+     */
+    private String casingPresent;
+    /**
+     * 管道压力
+     */
+    private String pipePressure;
+    /**
+     * 气源方向
+     */
+    private String gasSourceDirection;
+    /**
+     * 作业位置
+     */
+    private String taskPosition;
+    /**
+     * 与作业相关阀门位置
+     */
+    private String valvePosition;
+    /**
+     * 压力报告
+     */
+    private String stressReport;
+    /**
+     * 监理旁站记录
+     */
+    private String supervisionRecord;
+    /**
+     * 工作联系单
+     */
+    private String workContactForm;
+    /**
+     * 巡线确认单
+     */
+    private String linePatrolConfirmationForm;
+    /**
+     * 危险作业坑大小(长)
+     */
+    private Long hazardousWorkPitsLong;
+    /**
+     * 危险作业坑大小(宽)
+     */
+    private Long hazardousWorkPitsWide;
+    /**
+     * 危险作业坑大小(深)
+     */
+    private Long hazardousWorkPitsDeep;
+    /**
+     * 是否需要支护
+     */
+    private String needSupport;
+    /**
+     * 作业坑内其他管道情况
+     */
+    private String otherPipelineConditionsWorkPit;
+    /**
+     * 现场负责人
+     */
+    private String siteHead;
+    /**
+     * 现场负责人电话
+     */
+    private String siteHeadPhone;
+    /**
+     * 作业人员信息
+     */
+    private String operatorInformation;
+    /**
+     * 检口
+     */
+    private String inspectionPort;
+    /**
+     * 管道刷油
+     */
+    private String pipelinePainting;
+    /**
+     * 管道支护
+     */
+    private String pipelineSupport;
+    /**
+     * 管道防腐
+     */
+    private String pipelineCorrosionProtection;
+    /**
+     * 砌筑阀门井
+     */
+    private String masonryValveWell;
+    /**
+     * 保护井
+     */
+    private String protectionWell;
+    /**
+     * 管件保护井砌筑
+     */
+    private String pipeProtectionWelMasonry;
+    /**
+     * 回填
+     */
+    private String backfill;
+    /**
+     * 夯实
+     */
+    private String tamp;
+    /**
+     * 平整场地
+     */
+    private String levelingTheSite;
+    /**
+     * 乐观锁
+     */
+    @Version
+    private String version;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 删除标识
+     */
+    @TableLogic
+    private String delFlag;
+
+}

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

@@ -0,0 +1,88 @@
+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_industry
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("z_engineering_industry")
+public class ZEngineeringIndustry 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 type;
+    /**
+     * 乐观锁
+     */
+    @Version
+    private String version;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 删除标识
+     */
+    @TableLogic
+    private String delFlag;
+
+}

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

@@ -0,0 +1,75 @@
+    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 com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 顶管工程对象 z_engineering_pipe_jacking
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("z_engineering_pipe_jacking")
+public class ZEngineeringPipeJacking extends BaseEntity {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     *
+     */
+    @TableId(value = "id")
+    private String id;
+    /**
+     * 工程id
+     */
+    private String enginId;
+
+    private String enginName;
+    /**
+     * 工程地址
+     */
+    private String enginAddre;
+    /**
+     * 工程编码
+     */
+    private String enginCode;
+    /**
+     * 施工单位
+     */
+    private String constructUnit;
+    /**
+     * 工程规模
+     */
+    private String enginScale;
+    /**
+     * 施工质量
+     */
+    private String constructQuality;
+    /**
+     * 施工进度
+     */
+    private String constructSchedule;
+    /**
+     * 乐观锁
+     */
+    @Version
+    private String version;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 删除标识
+     */
+    @TableLogic
+    private String delFlag;
+
+}

+ 12 - 12
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZComprehensiveBo.java

@@ -76,18 +76,18 @@ public class ZComprehensiveBo extends BaseEntity {
     @NotBlank(message = "是否维修不能为空", groups = {AddGroup.class, EditGroup.class})
     private String isMaintenance;
 
-    public List<String> getPicIds() {
-        return picIds;
-    }
-
-    public void setPicIds(List<String> picIds) {
-        if (picIds != null && (!picIds.isEmpty())) {
-            this.picIds = picIds;
-        }
-        else {
-            throw new IllegalArgumentException("照片必须上传");
-        }
-    }
+//    public List<String> getPicIds() {
+//        return picIds;
+//    }
+//
+//    public void setPicIds(List<String> picIds) {
+//        if (picIds != null && (!picIds.isEmpty())) {
+//            this.picIds = picIds;
+//        }
+//        else {
+//            throw new IllegalArgumentException("照片必须上传");
+//        }
+//    }
 
     /**
      * 备注

+ 245 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringDangerousBo.java

@@ -0,0 +1,245 @@
+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 com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 危险工程业务对象 z_engineering_dangerous
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ZEngineeringDangerousBo extends BaseEntity {
+
+    /**
+     *
+     */
+    @NotBlank(message = "不能为空", groups = { EditGroup.class })
+    private String id;
+
+    /**
+     * 作业基本信息
+     */
+    @NotBlank(message = "作业基本信息不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String basicInformation;
+
+    /**
+     * 工程名称
+     */
+    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String enginName;
+
+    /**
+     * 工程地点
+     */
+    @NotBlank(message = "工程地点不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String enginAddre;
+
+    /**
+     * 工程时间
+     */
+    @NotNull(message = "工程时间不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Date enginTime;
+
+    /**
+     * 管径
+     */
+    @NotBlank(message = "管径不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String pipeDiameter;
+
+    /**
+     * 管材
+     */
+    @NotBlank(message = "管材不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String tubularProduct;
+
+    /**
+     * 是否存在套管
+     */
+    @NotBlank(message = "是否存在套管不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String casingPresent;
+
+    /**
+     * 管道压力
+     */
+    @NotBlank(message = "管道压力不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String pipePressure;
+
+    /**
+     * 气源方向
+     */
+    @NotBlank(message = "气源方向不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String gasSourceDirection;
+
+    /**
+     * 作业位置
+     */
+    @NotBlank(message = "作业位置不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String taskPosition;
+
+    /**
+     * 与作业相关阀门位置
+     */
+    @NotBlank(message = "与作业相关阀门位置不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String valvePosition;
+
+    /**
+     * 压力报告
+     */
+    @NotBlank(message = "压力报告不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String stressReport;
+
+    /**
+     * 监理旁站记录
+     */
+    @NotBlank(message = "监理旁站记录不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String supervisionRecord;
+
+    /**
+     * 工作联系单
+     */
+    @NotBlank(message = "工作联系单不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String workContactForm;
+
+    /**
+     * 巡线确认单
+     */
+    @NotBlank(message = "巡线确认单不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String linePatrolConfirmationForm;
+
+    /**
+     * 危险作业坑大小(长)
+     */
+    @NotNull(message = "危险作业坑大小(长)不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long hazardousWorkPitsLong;
+
+    /**
+     * 危险作业坑大小(宽)
+     */
+    @NotNull(message = "危险作业坑大小(宽)不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long hazardousWorkPitsWide;
+
+    /**
+     * 危险作业坑大小(深)
+     */
+    @NotNull(message = "危险作业坑大小(深)不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long hazardousWorkPitsDeep;
+
+    /**
+     * 是否需要支护
+     */
+    @NotBlank(message = "是否需要支护不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String needSupport;
+
+    /**
+     * 作业坑内其他管道情况
+     */
+    @NotBlank(message = "作业坑内其他管道情况不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String otherPipelineConditionsWorkPit;
+
+    /**
+     * 现场负责人
+     */
+    @NotBlank(message = "现场负责人不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String siteHead;
+
+    /**
+     * 现场负责人电话
+     */
+    @NotBlank(message = "现场负责人电话不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String siteHeadPhone;
+
+    /**
+     * 作业人员信息
+     */
+    @NotBlank(message = "作业人员信息不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String operatorInformation;
+
+    /**
+     * 检口
+     */
+    @NotBlank(message = "检口不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String inspectionPort;
+
+    /**
+     * 管道刷油
+     */
+    @NotBlank(message = "管道刷油不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String pipelinePainting;
+
+    /**
+     * 管道支护
+     */
+    @NotBlank(message = "管道支护不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String pipelineSupport;
+
+    /**
+     * 管道防腐
+     */
+    @NotBlank(message = "管道防腐不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String pipelineCorrosionProtection;
+
+    /**
+     * 砌筑阀门井
+     */
+    @NotBlank(message = "砌筑阀门井不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String masonryValveWell;
+
+    /**
+     * 保护井
+     */
+    @NotBlank(message = "保护井不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String protectionWell;
+
+    /**
+     * 管件保护井砌筑
+     */
+    @NotBlank(message = "管件保护井砌筑不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String pipeProtectionWelMasonry;
+
+    /**
+     * 回填
+     */
+    @NotBlank(message = "回填不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String backfill;
+
+    /**
+     * 夯实
+     */
+    @NotBlank(message = "夯实不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String tamp;
+
+    /**
+     * 平整场地
+     */
+    @NotBlank(message = "平整场地不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String levelingTheSite;
+
+    /**
+     * 备注
+     */
+    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String remark;
+
+    private ZEngineeringNodeBo zEngineeringNodeBo;
+
+    public ZEngineeringNodeBo getzEngineeringNodeBo() {
+        return zEngineeringNodeBo;
+    }
+
+    public void setzEngineeringNodeBo(ZEngineeringNodeBo zEngineeringNodeBo) {
+        this.zEngineeringNodeBo = zEngineeringNodeBo;
+    }
+}

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

@@ -0,0 +1,103 @@
+package com.ruoyi.zdsz.domain.bo;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 工业工程|市政工程业务对象 z_engineering_industry
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ZEngineeringIndustryBo extends BaseEntity {
+
+    /**
+     *
+     */
+    @NotBlank(message = "不能为空", groups = { EditGroup.class })
+    private String id;
+
+    /**
+     * 工程类型
+     */
+    @NotBlank(message = "工程类型不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String enginType;
+
+    /**
+     * 建筑单位
+     */
+    @NotBlank(message = "建筑单位不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String constructUnit;
+
+    /**
+     * 项目负责人
+     */
+    @NotBlank(message = "项目负责人不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String projectHead;
+
+    /**
+     * 现场负责人
+     */
+    @NotBlank(message = "现场负责人不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String sceneHead;
+
+    /**
+     * 设计单位
+     */
+    @NotBlank(message = "设计单位不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String designUnit;
+
+    /**
+     * 设计负责人
+     */
+    @NotBlank(message = "设计负责人不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String designHead;
+
+    /**
+     * 设计联系电话
+     */
+    @NotBlank(message = "设计联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String designPhone;
+
+    /**
+     * 监理单位
+     */
+    @NotBlank(message = "监理单位不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String supervisionUnit;
+
+    /**
+     * 监理负责人
+     */
+    @NotBlank(message = "监理负责人不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String supervisionHead;
+
+    /**
+     * 监理联系电话
+     */
+    @NotBlank(message = "监理联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String supervisionPhone;
+
+    /**
+     * 类型(工业工程|市政工程)
+     */
+    @NotBlank(message = "类型(工业工程|市政工程)不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String type;
+
+    private ZEngineeringNodeBo zEngineeringNodeBo;
+
+    public ZEngineeringNodeBo getzEngineeringNodeBo() {
+        return zEngineeringNodeBo;
+    }
+
+    public void setzEngineeringNodeBo(ZEngineeringNodeBo zEngineeringNodeBo) {
+        this.zEngineeringNodeBo = zEngineeringNodeBo;
+    }
+}

+ 2 - 2
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringNodeBo.java

@@ -44,7 +44,7 @@ public class ZEngineeringNodeBo extends BaseEntity {
     /**
      * 备注
      */
-    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
+//    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
     private String remark;
 
     public ZEngineeringInfoBo getzEngineeringInfoBo() {
@@ -58,5 +58,5 @@ public class ZEngineeringNodeBo extends BaseEntity {
     /**
      * 工程详情
      */
-    private  ZEngineeringInfoBo zEngineeringInfoBo;
+    private ZEngineeringInfoBo zEngineeringInfoBo;
 }

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

@@ -0,0 +1,97 @@
+package com.ruoyi.zdsz.domain.bo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+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 com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 顶管工程业务对象 z_engineering_pipe_jacking
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ZEngineeringPipeJackingBo extends BaseEntity {
+
+    /**
+     *
+     */
+    @NotBlank(message = "不能为空", groups = { EditGroup.class })
+    @TableId(type = IdType.ASSIGN_UUID)
+    private String id;
+
+    /**
+     * 工程id
+     */
+    @NotBlank(message = "工程id不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String enginId;
+
+
+    private String enginName;
+    /**
+     * type
+     */
+    private Integer type;
+
+    /**
+     * 工程地址
+     */
+//    @NotBlank(message = "工程地址不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String enginAddre;
+
+    /**
+     * 工程编码
+     */
+//    @NotBlank(message = "工程编码不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String enginCode;
+
+    /**
+     * 施工单位
+     */
+//    @NotBlank(message = "施工单位不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String constructUnit;
+
+    /**
+     * 工程规模
+     */
+//    @NotBlank(message = "工程规模不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String enginScale;
+
+    /**
+     * 施工质量
+     */
+//    @NotBlank(message = "施工质量不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String constructQuality;
+
+    /**
+     * 施工进度
+     */
+//    @NotBlank(message = "施工进度不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String constructSchedule;
+
+    /**
+     * 备注
+     */
+//    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String remark;
+
+    private ZEngineeringNodeBo nodeBo;
+
+    public ZEngineeringNodeBo getNodeBo() {
+        return nodeBo;
+    }
+
+    public void setNodeBo(ZEngineeringNodeBo nodeBo) {
+        this.nodeBo = nodeBo;
+    }
+}

+ 237 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringDangerousVo.java

@@ -0,0 +1,237 @@
+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 lombok.Data;
+import java.util.Date;
+
+import java.io.Serializable;
+
+/**
+ * 危险工程视图对象 z_engineering_dangerous
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class ZEngineeringDangerousVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     *
+     */
+    @ExcelProperty(value = "")
+    private String id;
+
+    /**
+     * 作业基本信息
+     */
+    @ExcelProperty(value = "作业基本信息")
+    private String basicInformation;
+
+    /**
+     * 工程名称
+     */
+    @ExcelProperty(value = "工程名称")
+    private String enginName;
+
+    /**
+     * 工程地点
+     */
+    @ExcelProperty(value = "工程地点")
+    private String enginAddre;
+
+    /**
+     * 工程时间
+     */
+    @ExcelProperty(value = "工程时间")
+    private Date enginTime;
+
+    /**
+     * 管径
+     */
+    @ExcelProperty(value = "管径")
+    private String pipeDiameter;
+
+    /**
+     * 管材
+     */
+    @ExcelProperty(value = "管材")
+    private String tubularProduct;
+
+    /**
+     * 是否存在套管
+     */
+    @ExcelProperty(value = "是否存在套管")
+    private String casingPresent;
+
+    /**
+     * 管道压力
+     */
+    @ExcelProperty(value = "管道压力")
+    private String pipePressure;
+
+    /**
+     * 气源方向
+     */
+    @ExcelProperty(value = "气源方向")
+    private String gasSourceDirection;
+
+    /**
+     * 作业位置
+     */
+    @ExcelProperty(value = "作业位置")
+    private String taskPosition;
+
+    /**
+     * 与作业相关阀门位置
+     */
+    @ExcelProperty(value = "与作业相关阀门位置")
+    private String valvePosition;
+
+    /**
+     * 压力报告
+     */
+    @ExcelProperty(value = "压力报告")
+    private String stressReport;
+
+    /**
+     * 监理旁站记录
+     */
+    @ExcelProperty(value = "监理旁站记录")
+    private String supervisionRecord;
+
+    /**
+     * 工作联系单
+     */
+    @ExcelProperty(value = "工作联系单")
+    private String workContactForm;
+
+    /**
+     * 巡线确认单
+     */
+    @ExcelProperty(value = "巡线确认单")
+    private String linePatrolConfirmationForm;
+
+    /**
+     * 危险作业坑大小(长)
+     */
+    @ExcelProperty(value = "危险作业坑大小(长)")
+    private Long hazardousWorkPitsLong;
+
+    /**
+     * 危险作业坑大小(宽)
+     */
+    @ExcelProperty(value = "危险作业坑大小(宽)")
+    private Long hazardousWorkPitsWide;
+
+    /**
+     * 危险作业坑大小(深)
+     */
+    @ExcelProperty(value = "危险作业坑大小(深)")
+    private Long hazardousWorkPitsDeep;
+
+    /**
+     * 是否需要支护
+     */
+    @ExcelProperty(value = "是否需要支护")
+    private String needSupport;
+
+    /**
+     * 作业坑内其他管道情况
+     */
+    @ExcelProperty(value = "作业坑内其他管道情况")
+    private String otherPipelineConditionsWorkPit;
+
+    /**
+     * 现场负责人
+     */
+    @ExcelProperty(value = "现场负责人")
+    private String siteHead;
+
+    /**
+     * 现场负责人电话
+     */
+    @ExcelProperty(value = "现场负责人电话")
+    private String siteHeadPhone;
+
+    /**
+     * 作业人员信息
+     */
+    @ExcelProperty(value = "作业人员信息")
+    private String operatorInformation;
+
+    /**
+     * 检口
+     */
+    @ExcelProperty(value = "检口")
+    private String inspectionPort;
+
+    /**
+     * 管道刷油
+     */
+    @ExcelProperty(value = "管道刷油")
+    private String pipelinePainting;
+
+    /**
+     * 管道支护
+     */
+    @ExcelProperty(value = "管道支护")
+    private String pipelineSupport;
+
+    /**
+     * 管道防腐
+     */
+    @ExcelProperty(value = "管道防腐")
+    private String pipelineCorrosionProtection;
+
+    /**
+     * 砌筑阀门井
+     */
+    @ExcelProperty(value = "砌筑阀门井")
+    private String masonryValveWell;
+
+    /**
+     * 保护井
+     */
+    @ExcelProperty(value = "保护井")
+    private String protectionWell;
+
+    /**
+     * 管件保护井砌筑
+     */
+    @ExcelProperty(value = "管件保护井砌筑")
+    private String pipeProtectionWelMasonry;
+
+    /**
+     * 回填
+     */
+    @ExcelProperty(value = "回填")
+    private String backfill;
+
+    /**
+     * 夯实
+     */
+    @ExcelProperty(value = "夯实")
+    private String tamp;
+
+    /**
+     * 平整场地
+     */
+    @ExcelProperty(value = "平整场地")
+    private String levelingTheSite;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+
+}

+ 94 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringIndustryVo.java

@@ -0,0 +1,94 @@
+package com.ruoyi.zdsz.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 工业工程|市政工程视图对象 z_engineering_industry
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class ZEngineeringIndustryVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     *
+     */
+    @ExcelProperty(value = "")
+    private String id;
+
+    /**
+     * 工程类型
+     */
+    @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 type;
+
+
+}

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

@@ -0,0 +1,85 @@
+package com.ruoyi.zdsz.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.ruoyi.common.annotation.ExcelDictFormat;
+import com.ruoyi.common.convert.ExcelDictConvert;
+import 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_engineering_pipe_jacking
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class ZEngineeringPipeJackingVo extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     *
+     */
+    @ExcelProperty(value = "")
+    private String id;
+
+    /**
+     * 工程id
+     */
+    @ExcelProperty(value = "工程id")
+    private String enginId;
+
+    private String enginName;
+
+    /**
+     * 工程地址
+     */
+    @ExcelProperty(value = "工程地址")
+    private String enginAddre;
+
+    /**
+     * 工程编码
+     */
+    @ExcelProperty(value = "工程编码")
+    private String enginCode;
+
+    /**
+     * 施工单位
+     */
+    @ExcelProperty(value = "施工单位")
+    private String constructUnit;
+
+    /**
+     * 工程规模
+     */
+    @ExcelProperty(value = "工程规模")
+    private String enginScale;
+
+    /**
+     * 施工质量
+     */
+    @ExcelProperty(value = "施工质量")
+    private String constructQuality;
+
+    /**
+     * 施工进度
+     */
+    @ExcelProperty(value = "施工进度")
+    private String constructSchedule;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+    private List<ZEngineeringNodeBo> zEngineeringNodeBoList;
+
+}

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

@@ -0,0 +1,15 @@
+package com.ruoyi.zdsz.mapper;
+
+import com.ruoyi.zdsz.domain.ZEngineeringDangerous;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringDangerousVo;
+import com.ruoyi.common.core.mapper.BaseMapperPlus;
+
+/**
+ * 危险工程Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+public interface ZEngineeringDangerousMapper extends BaseMapperPlus<ZEngineeringDangerousMapper, ZEngineeringDangerous, ZEngineeringDangerousVo> {
+
+}

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

@@ -0,0 +1,15 @@
+package com.ruoyi.zdsz.mapper;
+
+import com.ruoyi.common.core.mapper.BaseMapperPlus;
+import com.ruoyi.zdsz.domain.ZEngineeringIndustry;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
+
+/**
+ * 工业工程|市政工程Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+public interface ZEngineeringIndustryMapper extends BaseMapperPlus<ZEngineeringIndustryMapper, ZEngineeringIndustry, ZEngineeringIndustryVo> {
+
+}

+ 21 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringPipeJackingMapper.java

@@ -0,0 +1,21 @@
+package com.ruoyi.zdsz.mapper;
+
+import com.ruoyi.zdsz.domain.ZEngineeringPipeJacking;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringPipeJackingVo;
+import com.ruoyi.common.core.mapper.BaseMapperPlus;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 顶管工程Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+public interface ZEngineeringPipeJackingMapper extends BaseMapperPlus<ZEngineeringPipeJackingMapper, ZEngineeringPipeJacking, ZEngineeringPipeJackingVo> {
+    List<Map<String,Object>> getCivil(String enginId);
+    List<Map<String,Object>> getIndustry(String enginId);
+    List<Map<String,Object>> getDangerous(String enginId);
+    List<Map<String,Object>> getInfrastructure(String enginId);
+}

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

@@ -0,0 +1,51 @@
+package com.ruoyi.zdsz.service;
+
+import com.ruoyi.zdsz.domain.ZEngineeringDangerous;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringDangerousVo;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringDangerousBo;
+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-01-02
+ */
+public interface IZEngineeringDangerousService {
+
+    /**
+     * 查询危险工程
+     */
+    ZEngineeringDangerousVo queryById(String id);
+
+    /**
+     * 查询危险工程列表
+     */
+    TableDataInfo<ZEngineeringDangerousVo> queryPageList(ZEngineeringDangerousBo bo, PageQuery pageQuery);
+
+    /**
+     * 查询危险工程列表
+     */
+    List<ZEngineeringDangerousVo> queryList(ZEngineeringDangerousBo bo);
+
+    /**
+     * 新增危险工程
+     */
+    Boolean insertByBo(ZEngineeringDangerousBo bo);
+
+    Boolean insert (ZEngineeringDangerousBo bo);
+
+    /**
+     * 修改危险工程
+     */
+    Boolean updateByBo(ZEngineeringDangerousBo bo);
+
+    /**
+     * 校验并批量删除危险工程信息
+     */
+    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
+}

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

@@ -0,0 +1,48 @@
+package com.ruoyi.zdsz.service;
+
+import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringIndustryBo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 工业工程|市政工程Service接口
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+public interface IZEngineeringIndustryService {
+
+    /**
+     * 查询工业工程|市政工程
+     */
+    ZEngineeringIndustryVo queryById(String id);
+
+    /**
+     * 查询工业工程|市政工程列表
+     */
+    TableDataInfo<ZEngineeringIndustryVo> queryPageList(ZEngineeringIndustryBo bo, PageQuery pageQuery);
+
+    /**
+     * 查询工业工程|市政工程列表
+     */
+    List<ZEngineeringIndustryVo> queryList(ZEngineeringIndustryBo bo);
+
+    /**
+     * 新增工业工程|市政工程
+     */
+    Boolean insertByBo(ZEngineeringIndustryBo bo);
+
+    /**
+     * 修改工业工程|市政工程
+     */
+    Boolean updateByBo(ZEngineeringIndustryBo bo);
+
+    /**
+     * 校验并批量删除工业工程|市政工程信息
+     */
+    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
+}

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

@@ -51,7 +51,6 @@ public interface IZEngineeringInfoService {
      * @return ZEngineeringInfo
      */
     ZEngineeringInfo insert(ZEngineeringInfoBo bo);
-
     /**
      * 修改工程详情
      */
@@ -64,9 +63,11 @@ public interface IZEngineeringInfoService {
      */
     Boolean update(ZEngineeringInfoBo bo);
 
+
     /**
      * 校验并批量删除工程详情信息
      */
     Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
     Boolean delete(ZEngineeringNodeBo bo);
+
 }

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

@@ -7,6 +7,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.domain.PageQuery;
 
 import java.util.Collection;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -60,9 +61,6 @@ public interface IZEngineeringNodeService {
     ZEngineeringNode insert(ZEngineeringNodeBo bo);
 
 
-
-
-
     /**
      * 修改工程节点
      */

+ 49 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringPipeJackingService.java

@@ -0,0 +1,49 @@
+package com.ruoyi.zdsz.service;
+
+import com.ruoyi.zdsz.domain.ZEngineeringPipeJacking;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringPipeJackingVo;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringPipeJackingBo;
+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-01-02
+ */
+public interface IZEngineeringPipeJackingService {
+
+    /**
+     * 查询顶管工程
+     */
+    ZEngineeringPipeJackingVo queryById(String id);
+
+    /**
+     * 查询顶管工程列表
+     */
+    TableDataInfo<ZEngineeringPipeJackingVo> queryPageList(ZEngineeringPipeJackingBo bo, PageQuery pageQuery);
+
+    /**
+     * 查询顶管工程列表
+     */
+    List<ZEngineeringPipeJackingVo> queryList(ZEngineeringPipeJackingBo bo);
+
+    /**
+     * 新增顶管工程
+     */
+    Boolean insertByBo(ZEngineeringPipeJackingBo bo);
+
+    /**
+     * 修改顶管工程
+     */
+    Boolean updateByBo(ZEngineeringPipeJackingBo bo);
+
+    /**
+     * 校验并批量删除顶管工程信息
+     */
+    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
+}

+ 163 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringDangerousServiceImpl.java

@@ -0,0 +1,163 @@
+package com.ruoyi.zdsz.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.ruoyi.common.annotation.DynamicName;
+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.service.IZEngineeringNodeService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringDangerousBo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringDangerousVo;
+import com.ruoyi.zdsz.domain.ZEngineeringDangerous;
+import com.ruoyi.zdsz.mapper.ZEngineeringDangerousMapper;
+import com.ruoyi.zdsz.service.IZEngineeringDangerousService;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 危险工程Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@RequiredArgsConstructor
+@Service
+public class ZEngineeringDangerousServiceImpl implements IZEngineeringDangerousService {
+
+    private final ZEngineeringDangerousMapper baseMapper;
+
+    @Autowired
+    private IZEngineeringNodeService izEngineeringNodeService;
+
+    /**
+     * 查询危险工程
+     */
+    @Override
+    public ZEngineeringDangerousVo queryById(String id){
+        return baseMapper.selectVoById(id);
+    }
+
+    /**
+     * 查询危险工程列表
+     */
+    @Override
+    public TableDataInfo<ZEngineeringDangerousVo> queryPageList(ZEngineeringDangerousBo bo, PageQuery pageQuery) {
+        LambdaQueryWrapper<ZEngineeringDangerous> lqw = buildQueryWrapper(bo);
+        Page<ZEngineeringDangerousVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
+    }
+
+    /**
+     * 查询危险工程列表
+     */
+    @Override
+    public List<ZEngineeringDangerousVo> queryList(ZEngineeringDangerousBo bo) {
+        LambdaQueryWrapper<ZEngineeringDangerous> lqw = buildQueryWrapper(bo);
+        return baseMapper.selectVoList(lqw);
+    }
+
+    private LambdaQueryWrapper<ZEngineeringDangerous> buildQueryWrapper(ZEngineeringDangerousBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<ZEngineeringDangerous> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getBasicInformation()), ZEngineeringDangerous::getBasicInformation, bo.getBasicInformation());
+        lqw.like(StringUtils.isNotBlank(bo.getEnginName()), ZEngineeringDangerous::getEnginName, bo.getEnginName());
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginAddre()), ZEngineeringDangerous::getEnginAddre, bo.getEnginAddre());
+        lqw.eq(bo.getEnginTime() != null, ZEngineeringDangerous::getEnginTime, bo.getEnginTime());
+        lqw.eq(StringUtils.isNotBlank(bo.getPipeDiameter()), ZEngineeringDangerous::getPipeDiameter, bo.getPipeDiameter());
+        lqw.eq(StringUtils.isNotBlank(bo.getTubularProduct()), ZEngineeringDangerous::getTubularProduct, bo.getTubularProduct());
+        lqw.eq(StringUtils.isNotBlank(bo.getCasingPresent()), ZEngineeringDangerous::getCasingPresent, bo.getCasingPresent());
+        lqw.eq(StringUtils.isNotBlank(bo.getPipePressure()), ZEngineeringDangerous::getPipePressure, bo.getPipePressure());
+        lqw.eq(StringUtils.isNotBlank(bo.getGasSourceDirection()), ZEngineeringDangerous::getGasSourceDirection, bo.getGasSourceDirection());
+        lqw.eq(StringUtils.isNotBlank(bo.getTaskPosition()), ZEngineeringDangerous::getTaskPosition, bo.getTaskPosition());
+        lqw.eq(StringUtils.isNotBlank(bo.getValvePosition()), ZEngineeringDangerous::getValvePosition, bo.getValvePosition());
+        lqw.eq(StringUtils.isNotBlank(bo.getStressReport()), ZEngineeringDangerous::getStressReport, bo.getStressReport());
+        lqw.eq(StringUtils.isNotBlank(bo.getSupervisionRecord()), ZEngineeringDangerous::getSupervisionRecord, bo.getSupervisionRecord());
+        lqw.eq(StringUtils.isNotBlank(bo.getWorkContactForm()), ZEngineeringDangerous::getWorkContactForm, bo.getWorkContactForm());
+        lqw.eq(StringUtils.isNotBlank(bo.getLinePatrolConfirmationForm()), ZEngineeringDangerous::getLinePatrolConfirmationForm, bo.getLinePatrolConfirmationForm());
+        lqw.eq(bo.getHazardousWorkPitsLong() != null, ZEngineeringDangerous::getHazardousWorkPitsLong, bo.getHazardousWorkPitsLong());
+        lqw.eq(bo.getHazardousWorkPitsWide() != null, ZEngineeringDangerous::getHazardousWorkPitsWide, bo.getHazardousWorkPitsWide());
+        lqw.eq(bo.getHazardousWorkPitsDeep() != null, ZEngineeringDangerous::getHazardousWorkPitsDeep, bo.getHazardousWorkPitsDeep());
+        lqw.eq(StringUtils.isNotBlank(bo.getNeedSupport()), ZEngineeringDangerous::getNeedSupport, bo.getNeedSupport());
+        lqw.eq(StringUtils.isNotBlank(bo.getOtherPipelineConditionsWorkPit()), ZEngineeringDangerous::getOtherPipelineConditionsWorkPit, bo.getOtherPipelineConditionsWorkPit());
+        lqw.eq(StringUtils.isNotBlank(bo.getSiteHead()), ZEngineeringDangerous::getSiteHead, bo.getSiteHead());
+        lqw.eq(StringUtils.isNotBlank(bo.getSiteHeadPhone()), ZEngineeringDangerous::getSiteHeadPhone, bo.getSiteHeadPhone());
+        lqw.eq(StringUtils.isNotBlank(bo.getOperatorInformation()), ZEngineeringDangerous::getOperatorInformation, bo.getOperatorInformation());
+        lqw.eq(StringUtils.isNotBlank(bo.getInspectionPort()), ZEngineeringDangerous::getInspectionPort, bo.getInspectionPort());
+        lqw.eq(StringUtils.isNotBlank(bo.getPipelinePainting()), ZEngineeringDangerous::getPipelinePainting, bo.getPipelinePainting());
+        lqw.eq(StringUtils.isNotBlank(bo.getPipelineSupport()), ZEngineeringDangerous::getPipelineSupport, bo.getPipelineSupport());
+        lqw.eq(StringUtils.isNotBlank(bo.getPipelineCorrosionProtection()), ZEngineeringDangerous::getPipelineCorrosionProtection, bo.getPipelineCorrosionProtection());
+        lqw.eq(StringUtils.isNotBlank(bo.getMasonryValveWell()), ZEngineeringDangerous::getMasonryValveWell, bo.getMasonryValveWell());
+        lqw.eq(StringUtils.isNotBlank(bo.getProtectionWell()), ZEngineeringDangerous::getProtectionWell, bo.getProtectionWell());
+        lqw.eq(StringUtils.isNotBlank(bo.getPipeProtectionWelMasonry()), ZEngineeringDangerous::getPipeProtectionWelMasonry, bo.getPipeProtectionWelMasonry());
+        lqw.eq(StringUtils.isNotBlank(bo.getBackfill()), ZEngineeringDangerous::getBackfill, bo.getBackfill());
+        lqw.eq(StringUtils.isNotBlank(bo.getTamp()), ZEngineeringDangerous::getTamp, bo.getTamp());
+        lqw.eq(StringUtils.isNotBlank(bo.getLevelingTheSite()), ZEngineeringDangerous::getLevelingTheSite, bo.getLevelingTheSite());
+        return lqw;
+    }
+
+    /**
+     * 新增危险工程
+     */
+    @Override
+    public Boolean insertByBo(ZEngineeringDangerousBo bo) {
+        ZEngineeringDangerous add = BeanUtil.toBean(bo, ZEngineeringDangerous.class);
+        validEntityBeforeSave(add);
+        boolean flag = baseMapper.insert(add) > 0;
+        if (flag) {
+            bo.setId(add.getId());
+        }
+        return flag;
+    }
+
+    @Override
+    @Transactional(rollbackFor=Exception.class)
+    @DynamicName(spel = "#bo.createTime")
+    public Boolean insert(ZEngineeringDangerousBo bo) {
+        ZEngineeringDangerous add = BeanUtil.toBean(bo, ZEngineeringDangerous.class);
+        validEntityBeforeSave(add);
+        boolean flag = baseMapper.insert(add) > 0;
+        if (flag) {
+            bo.setId(add.getId());
+        }
+        bo.getzEngineeringNodeBo().setCivliId(add.getId());
+        izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());
+        return flag;
+    }
+
+    /**
+     * 修改危险工程
+     */
+    @Override
+    public Boolean updateByBo(ZEngineeringDangerousBo bo) {
+        ZEngineeringDangerous update = BeanUtil.toBean(bo, ZEngineeringDangerous.class);
+        validEntityBeforeSave(update);
+        return baseMapper.updateById(update) > 0;
+    }
+
+    /**
+     * 保存前的数据校验
+     */
+    private void validEntityBeforeSave(ZEngineeringDangerous entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    /**
+     * 批量删除危险工程
+     */
+    @Override
+    public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return baseMapper.deleteBatchIds(ids) > 0;
+    }
+}

+ 140 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringIndustryServiceImpl.java

@@ -0,0 +1,140 @@
+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.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.zdsz.domain.ZEngineeringIndustry;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringIndustryBo;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
+import com.ruoyi.zdsz.mapper.ZEngineeringIndustryMapper;
+import com.ruoyi.zdsz.service.IZEngineeringIndustryService;
+import com.ruoyi.zdsz.service.IZEngineeringInfoService;
+import com.ruoyi.zdsz.service.IZEngineeringNodeService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 工业工程|市政工程Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@RequiredArgsConstructor
+@Service
+public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustryService {
+
+    private final ZEngineeringIndustryMapper baseMapper;
+
+    @Resource
+    private IZEngineeringInfoService izEngineeringInfoService;
+    @Resource
+    private IZEngineeringNodeService izEngineeringNodeService;
+
+    /**
+     * 查询工业工程|市政工程
+     */
+    @Override
+    public ZEngineeringIndustryVo queryById(String id){
+        return baseMapper.selectVoById(id);
+    }
+
+    /**
+     * 查询工业工程|市政工程列表
+     */
+    @Override
+    public TableDataInfo<ZEngineeringIndustryVo> queryPageList(ZEngineeringIndustryBo bo, PageQuery pageQuery) {
+        LambdaQueryWrapper<ZEngineeringIndustry> lqw = buildQueryWrapper(bo);
+        Page<ZEngineeringIndustryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
+    }
+
+    /**
+     * 查询工业工程|市政工程列表
+     */
+    @Override
+    public List<ZEngineeringIndustryVo> queryList(ZEngineeringIndustryBo bo) {
+        LambdaQueryWrapper<ZEngineeringIndustry> lqw = buildQueryWrapper(bo);
+        return baseMapper.selectVoList(lqw);
+    }
+
+    private LambdaQueryWrapper<ZEngineeringIndustry> buildQueryWrapper(ZEngineeringIndustryBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<ZEngineeringIndustry> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringIndustry::getEnginType, bo.getEnginType());
+        lqw.eq(StringUtils.isNotBlank(bo.getConstructUnit()), ZEngineeringIndustry::getConstructUnit, bo.getConstructUnit());
+        lqw.eq(StringUtils.isNotBlank(bo.getProjectHead()), ZEngineeringIndustry::getProjectHead, bo.getProjectHead());
+        lqw.eq(StringUtils.isNotBlank(bo.getSceneHead()), ZEngineeringIndustry::getSceneHead, bo.getSceneHead());
+        lqw.eq(StringUtils.isNotBlank(bo.getDesignUnit()), ZEngineeringIndustry::getDesignUnit, bo.getDesignUnit());
+        lqw.eq(StringUtils.isNotBlank(bo.getDesignHead()), ZEngineeringIndustry::getDesignHead, bo.getDesignHead());
+        lqw.eq(StringUtils.isNotBlank(bo.getDesignPhone()), ZEngineeringIndustry::getDesignPhone, bo.getDesignPhone());
+        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());
+        }
+        bo.getzEngineeringNodeBo().setCivliId(add.getId());
+        bo.getzEngineeringNodeBo().setType(add.getType());
+        izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());
+        return flag;
+    }
+
+    /**
+     * 修改工业工程|市政工程
+     */
+    @Override
+    public Boolean updateByBo(ZEngineeringIndustryBo bo) {
+        ZEngineeringIndustry update = BeanUtil.toBean(bo, ZEngineeringIndustry.class);
+        validEntityBeforeSave(update);
+        boolean flag = baseMapper.updateById(update) > 0;
+        bo.getzEngineeringNodeBo().setCivliId(bo.getId());
+        bo.getzEngineeringNodeBo().setType(bo.getType());
+        izEngineeringNodeService.update(bo.getzEngineeringNodeBo());
+        return flag;
+    }
+
+    /**
+     * 保存前的数据校验
+     */
+    private void validEntityBeforeSave(ZEngineeringIndustry entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    /**
+     * 批量删除工业工程|市政工程
+     */
+    @Override
+    public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        boolean flag = baseMapper.deleteBatchIds(ids) > 0;
+        izEngineeringNodeService.deleteWithValidByIds(ids,true);
+        return flag;
+    }
+}

+ 189 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringPipeJackingServiceImpl.java

@@ -0,0 +1,189 @@
+package com.ruoyi.zdsz.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.annotation.DynamicName;
+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.ZEngineeringNodeVo;
+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.ZEngineeringPipeJackingBo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringPipeJackingVo;
+import com.ruoyi.zdsz.domain.ZEngineeringPipeJacking;
+import com.ruoyi.zdsz.mapper.ZEngineeringPipeJackingMapper;
+import com.ruoyi.zdsz.service.IZEngineeringPipeJackingService;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 顶管工程Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@RequiredArgsConstructor
+@Service
+public class ZEngineeringPipeJackingServiceImpl implements IZEngineeringPipeJackingService {
+
+    private final ZEngineeringPipeJackingMapper baseMapper;
+
+    @Autowired
+    private IZEngineeringNodeService nodeService;
+
+    /**
+     * 查询顶管工程
+     */
+    @Override
+    public ZEngineeringPipeJackingVo queryById(String id){
+        ZEngineeringPipeJackingVo jackingVo = baseMapper.selectVoById(id);
+        ZEngineeringNodeBo bo = new ZEngineeringNodeBo();
+        bo.setCreateTime(new Date());
+        jackingVo.setZEngineeringNodeBoList(nodeService.queryListDetails(bo));
+        return jackingVo;
+    }
+
+    /**
+     * 查询顶管工程列表
+     */
+    @Override
+    public TableDataInfo<ZEngineeringPipeJackingVo> queryPageList(ZEngineeringPipeJackingBo bo, PageQuery pageQuery) {
+        LambdaQueryWrapper<ZEngineeringPipeJacking> lqw = buildQueryWrapper(bo);
+        Page<ZEngineeringPipeJackingVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
+    }
+
+    /**
+     * 查询顶管工程列表
+     */
+    @Override
+    public List<ZEngineeringPipeJackingVo> queryList(ZEngineeringPipeJackingBo bo) {
+        LambdaQueryWrapper<ZEngineeringPipeJacking> lqw = buildQueryWrapper(bo);
+        return baseMapper.selectVoList(lqw);
+    }
+
+    private LambdaQueryWrapper<ZEngineeringPipeJacking> buildQueryWrapper(ZEngineeringPipeJackingBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<ZEngineeringPipeJacking> lqw = Wrappers.lambdaQuery();
+        lqw.like(StringUtils.isNotBlank(bo.getEnginName()), ZEngineeringPipeJacking::getEnginName, bo.getEnginName());
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginAddre()), ZEngineeringPipeJacking::getEnginAddre, bo.getEnginAddre());
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginCode()), ZEngineeringPipeJacking::getEnginCode, bo.getEnginCode());
+        lqw.eq(StringUtils.isNotBlank(bo.getConstructUnit()), ZEngineeringPipeJacking::getConstructUnit, bo.getConstructUnit());
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginScale()), ZEngineeringPipeJacking::getEnginScale, bo.getEnginScale());
+        lqw.eq(StringUtils.isNotBlank(bo.getConstructQuality()), ZEngineeringPipeJacking::getConstructQuality, bo.getConstructQuality());
+        lqw.eq(StringUtils.isNotBlank(bo.getConstructSchedule()), ZEngineeringPipeJacking::getConstructSchedule, bo.getConstructSchedule());
+        return lqw;
+    }
+
+    /**
+     * 新增顶管工程
+     */
+    @Transactional(rollbackFor=Exception.class)
+    @Override
+    public Boolean insertByBo(ZEngineeringPipeJackingBo bo) {
+        ZEngineeringPipeJacking add = BeanUtil.toBean(bo, ZEngineeringPipeJacking.class);
+        validEntityBeforeSave(add);
+        //民用
+        if (bo.getType()==1){
+            List<Map<String, Object>> civil = baseMapper.getCivil(bo.getEnginId());
+            if (!civil.isEmpty()){
+                add.setEnginAddre((String) civil.get(0).get("name"));
+            }
+        }
+        //工业市政
+        else if(bo.getType()==2){
+        }
+        // 危险
+        else if(bo.getType()==3){
+            List<Map<String, Object>> civil = baseMapper.getDangerous(bo.getEnginId());
+            if (!civil.isEmpty()){
+                add.setEnginName((String) civil.get(0).get("name"));
+                add.setEnginAddre((String) civil.get(0).get("address"));
+            }
+        }
+        //基建
+        else if(bo.getType()==4){
+            List<Map<String, Object>> civil = baseMapper.getInfrastructure(bo.getEnginId());
+            if (!civil.isEmpty()){
+                add.setEnginName((String) civil.get(0).get("name"));
+                add.setEnginAddre((String) civil.get(0).get("address"));
+            }
+        }
+        boolean flag = baseMapper.insert(add) > 0;
+        if (flag) {
+            bo.setId(add.getId());
+            bo.getNodeBo().setCivliId(add.getId());
+            bo.getNodeBo().setCreateTime(bo.getCreateTime());
+            nodeService.insert(bo.getNodeBo());
+        }
+        return flag;
+    }
+
+    /**
+     * 修改顶管工程
+     */
+    @Override
+    public Boolean updateByBo(ZEngineeringPipeJackingBo bo) {
+        ZEngineeringPipeJacking update = BeanUtil.toBean(bo, ZEngineeringPipeJacking.class);
+        validEntityBeforeSave(update);
+        //民用
+        if (bo.getType()==1){
+            List<Map<String, Object>> civil = baseMapper.getCivil(bo.getEnginId());
+            if (!civil.isEmpty()){
+                update.setEnginAddre((String) civil.get(0).get("name"));
+            }
+        }
+        //工业市政
+        else if(bo.getType()==2){
+        }
+        // 危险
+        else if(bo.getType()==3){
+            List<Map<String, Object>> civil = baseMapper.getDangerous(bo.getEnginId());
+            if (!civil.isEmpty()){
+                update.setEnginName((String) civil.get(0).get("name"));
+                update.setEnginAddre((String) civil.get(0).get("address"));
+            }
+        }
+        //基建
+        else if(bo.getType()==4){
+            List<Map<String, Object>> civil = baseMapper.getInfrastructure(bo.getEnginId());
+            if (!civil.isEmpty()){
+                update.setEnginName((String) civil.get(0).get("name"));
+                update.setEnginAddre((String) civil.get(0).get("address"));
+            }
+        }
+        bo.getNodeBo().setCivliId(bo.getId());
+        bo.getNodeBo().setCreateTime(bo.getCreateTime());
+        nodeService.update(bo.getNodeBo());
+        return baseMapper.updateById(update) > 0;
+    }
+
+    /**
+     * 保存前的数据校验
+     */
+    private void validEntityBeforeSave(ZEngineeringPipeJacking entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    /**
+     * 批量删除顶管工程
+     */
+    @Override
+    public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return baseMapper.deleteBatchIds(ids) > 0;
+    }
+}

+ 52 - 0
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringDangerousMapper.xml

@@ -0,0 +1,52 @@
+<?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.ZEngineeringDangerousMapper">
+
+    <resultMap type="com.ruoyi.zdsz.domain.ZEngineeringDangerous" id="ZEngineeringDangerousResult">
+        <result property="id" column="id"/>
+        <result property="basicInformation" column="basic_information"/>
+        <result property="enginName" column="engin_name"/>
+        <result property="enginAddre" column="engin_addre"/>
+        <result property="enginTime" column="engin_time"/>
+        <result property="pipeDiameter" column="pipe_diameter"/>
+        <result property="tubularProduct" column="tubular_product"/>
+        <result property="casingPresent" column="casing_present"/>
+        <result property="pipePressure" column="pipe_pressure"/>
+        <result property="gasSourceDirection" column="gas_source_direction"/>
+        <result property="taskPosition" column="task_position"/>
+        <result property="valvePosition" column="valve_position"/>
+        <result property="stressReport" column="stress_report"/>
+        <result property="supervisionRecord" column="supervision_record"/>
+        <result property="workContactForm" column="work_contact_form"/>
+        <result property="linePatrolConfirmationForm" column="line_patrol_confirmation_form"/>
+        <result property="hazardousWorkPitsLong" column="hazardous_work_pits_long"/>
+        <result property="hazardousWorkPitsWide" column="hazardous_work_pits_wide"/>
+        <result property="hazardousWorkPitsDeep" column="hazardous_work_pits_deep"/>
+        <result property="needSupport" column="need_support"/>
+        <result property="otherPipelineConditionsWorkPit" column="other_pipeline_conditions_work_pit"/>
+        <result property="siteHead" column="site_head"/>
+        <result property="siteHeadPhone" column="site_head_phone"/>
+        <result property="operatorInformation" column="operator_information"/>
+        <result property="inspectionPort" column="inspection_port"/>
+        <result property="pipelinePainting" column="pipeline_painting"/>
+        <result property="pipelineSupport" column="pipeline_support"/>
+        <result property="pipelineCorrosionProtection" column="pipeline_corrosion_protection"/>
+        <result property="masonryValveWell" column="masonry_valve_well"/>
+        <result property="protectionWell" column="protection_well"/>
+        <result property="pipeProtectionWelMasonry" column="pipe_protection_wel_masonry"/>
+        <result property="backfill" column="backfill"/>
+        <result property="tamp" column="tamp"/>
+        <result property="levelingTheSite" column="leveling_the_site"/>
+        <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>

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

@@ -0,0 +1,30 @@
+<?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.ZEngineeringIndustryMapper">
+
+    <resultMap type="com.ruoyi.zdsz.domain.ZEngineeringIndustry" id="ZEngineeringIndustryResult">
+        <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="type" column="type"/>
+        <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>

+ 71 - 0
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringPipeJackingMapper.xml

@@ -0,0 +1,71 @@
+<?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.ZEngineeringPipeJackingMapper">
+
+    <resultMap type="com.ruoyi.zdsz.domain.ZEngineeringPipeJacking" id="ZEngineeringPipeJackingResult">
+        <result property="id" column="id"/>
+        <result property="enginName" column="engin_name"/>
+        <result property="enginAddre" column="engin_addre"/>
+        <result property="enginCode" column="engin_code"/>
+        <result property="constructUnit" column="construct_unit"/>
+        <result property="enginScale" column="engin_scale"/>
+        <result property="constructQuality" column="construct_quality"/>
+        <result property="constructSchedule" column="construct_schedule"/>
+        <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>
+
+    <select id="getCivil" resultType="java.util.Map">
+        SELECT
+            m.*,
+            CONCAT(
+                COALESCE ( area.NAME, '无' ),
+                '-',
+                COALESCE ( build.NAME, '无' ),
+                '-',
+                COALESCE ( unit.NAME, '无' ),
+                '-',
+                COALESCE ( house.NAME, '无' )
+            ) AS NAME
+        FROM
+            z_engineering_civil as m
+                left join z_area as area on area.del_flag = '0' and area.id = m.area_id
+                left join z_building as build on build.del_flag = '0' and build.id = m.building_id
+                left join z_unit as unit on unit.del_flag = '0' and unit.id = m.unit_id
+                left join z_house as house on house.del_flag = '0' and house.id = m.house_id
+        WHERE
+            m.del_flag = '0'  and m.id = #{enginId}
+    </select>
+    <select id="getIndustry" resultType="java.util.Map">
+        SELECT
+            m.id,m.engin_name as name
+        FROM
+            z_engineering_industry as m
+        WHERE
+            m.del_flag = '0'  and m.id = #{enginId}
+    </select>
+    <select id="getDangerous" resultType="java.util.Map">
+        SELECT
+            m.id,m.engin_name as name,engin_addre as address
+        FROM
+            z_engineering_dangerous as m
+        WHERE
+            m.del_flag = '0'  and m.id = #{enginId}
+    </select>
+    <select id="getInfrastructure" resultType="java.util.Map">
+        SELECT
+            m.id,m.engin_name as name,engin_addre as address
+        FROM
+            z_engineering_infrastructure as m
+        WHERE
+            m.del_flag = '0'  and m.id = #{enginId}
+    </select>
+
+</mapper>