Sfoglia il codice sorgente

2023-4-20 安全检查相关代码提交。

chaiyunlong 2 anni fa
parent
commit
1084136879
19 ha cambiato i file con 523 aggiunte e 20 eliminazioni
  1. 28 0
      zd-api/zd-security-api/src/main/java/com/zd/security/api/bo/CheckClapBo.java
  2. 47 0
      zd-api/zd-security-api/src/main/java/com/zd/security/api/bo/CheckRectifyBo.java
  3. 8 0
      zd-api/zd-security-api/src/main/java/com/zd/security/api/dto/CheckHazardDto.java
  4. 16 0
      zd-api/zd-security-api/src/main/java/com/zd/security/api/dto/CheckRectifyDto.java
  5. 17 0
      zd-api/zd-security-api/src/main/java/com/zd/security/api/vo/CheckClapVo.java
  6. 7 0
      zd-api/zd-security-api/src/main/java/com/zd/security/api/vo/CheckHazardVo.java
  7. 26 0
      zd-api/zd-security-api/src/main/java/com/zd/security/api/vo/CheckRectifyVo.java
  8. 2 2
      zd-modules/zd-security/src/main/java/com/zd/security/CodeGenerator.java
  9. 42 1
      zd-modules/zd-security/src/main/java/com/zd/security/controller/CheckClapController.java
  10. 25 12
      zd-modules/zd-security/src/main/java/com/zd/security/controller/CheckHazardController.java
  11. 119 3
      zd-modules/zd-security/src/main/java/com/zd/security/controller/CheckRectifyController.java
  12. 1 1
      zd-modules/zd-security/src/main/java/com/zd/security/controller/TestController.java
  13. 12 0
      zd-modules/zd-security/src/main/java/com/zd/security/entity/CheckHazard.java
  14. 8 0
      zd-modules/zd-security/src/main/java/com/zd/security/mapper/CheckHazardMapper.java
  15. 6 0
      zd-modules/zd-security/src/main/java/com/zd/security/service/CheckClapService.java
  16. 25 0
      zd-modules/zd-security/src/main/java/com/zd/security/service/CheckHazardService.java
  17. 8 0
      zd-modules/zd-security/src/main/java/com/zd/security/service/impl/CheckClapServiceImpl.java
  18. 71 0
      zd-modules/zd-security/src/main/java/com/zd/security/service/impl/CheckHazardServiceImpl.java
  19. 55 1
      zd-modules/zd-security/src/main/resources/mapper/CheckHazardMapper.xml

+ 28 - 0
zd-api/zd-security-api/src/main/java/com/zd/security/api/bo/CheckClapBo.java

@@ -0,0 +1,28 @@
+package com.zd.security.api.bo;
+
+import com.zd.model.page.PageQuery;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * Controller
+ * <p>随手拍</p>
+ * @author cyl
+ * @date 2023/4/20
+ */
+@Data
+public class CheckClapBo extends PageQuery implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("组合搜索条件")
+    private String searchValue;
+
+    @ApiModelProperty("整改状态,0是待整改,1是已整改,2是暂无法整改")
+    private Integer rectifyStatus;
+
+    @ApiModelProperty("学院id")
+    private Long deptId;
+}

+ 47 - 0
zd-api/zd-security-api/src/main/java/com/zd/security/api/bo/CheckRectifyBo.java

@@ -0,0 +1,47 @@
+package com.zd.security.api.bo;
+
+import com.zd.model.page.PageQuery;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * Controller
+ *
+ * @author cyl
+ * @date 2023/4/20
+ */
+@Data
+public class CheckRectifyBo extends PageQuery implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("主键id")
+    private Long id;
+
+    @ApiModelProperty("隐患表id")
+    private Long checkHazardId;
+
+    @ApiModelProperty("整改结果1是已整改,0是暂无法整改")
+    private Integer rectifyResult;
+
+    @ApiModelProperty("整改措施")
+    private String rectifyMeasure;
+
+    @ApiModelProperty("审核结果1是通过,0是驳回")
+    private Integer examineResult;
+
+    @ApiModelProperty("审核意见")
+    private String examineOpinion;
+
+    @ApiModelProperty("审核人id")
+    private Long reviewedBy;
+
+    @ApiModelProperty("审核人姓名")
+    private String reviewedName;
+
+    @ApiModelProperty("审核时间")
+    private LocalDateTime reviewedTime;
+}

+ 8 - 0
zd-api/zd-security-api/src/main/java/com/zd/security/api/dto/CheckHazardDto.java

@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * <p>隐患类</p>
@@ -17,6 +19,9 @@ public class CheckHazardDto implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @ApiModelProperty("主键id")
+    private Long id;
+
     @ApiModelProperty("隐患级别,1重大隐患,2是一般隐患,3管理问题")
     private Integer hazardLevel;
 
@@ -29,4 +34,7 @@ public class CheckHazardDto implements Serializable {
     @ApiModelProperty("隐患描述")
     private String hazardDescribe;
 
+    @ApiModelProperty("上传文件")
+    private List <UploadDto> uploadDtoList = new ArrayList <>();
+
 }

+ 16 - 0
zd-api/zd-security-api/src/main/java/com/zd/security/api/dto/CheckRectifyDto.java

@@ -0,0 +1,16 @@
+package com.zd.security.api.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * Controller
+ * <p>整改类</p>
+ * @author cyl
+ * @date 2023/4/20
+ */
+@Data
+public class CheckRectifyDto implements Serializable {
+
+}

+ 17 - 0
zd-api/zd-security-api/src/main/java/com/zd/security/api/vo/CheckClapVo.java

@@ -0,0 +1,17 @@
+package com.zd.security.api.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * Controller
+ *
+ * @author cyl
+ * @date 2023/4/20
+ */
+@Data
+public class CheckClapVo  implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+}

+ 7 - 0
zd-api/zd-security-api/src/main/java/com/zd/security/api/vo/CheckHazardVo.java

@@ -1,5 +1,6 @@
 package com.zd.security.api.vo;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -28,5 +29,11 @@ public class CheckHazardVo implements Serializable {
 //    @ApiModelProperty("隐患描述")
 //    private String hazardDescribe;
 
+    @ApiModelProperty("整改开始时间")
+    private String beginTime;
+
+    @ApiModelProperty("整改结束时间")
+    private String endTime;
+
 
 }

+ 26 - 0
zd-api/zd-security-api/src/main/java/com/zd/security/api/vo/CheckRectifyVo.java

@@ -0,0 +1,26 @@
+package com.zd.security.api.vo;
+
+import com.zd.security.api.dto.CheckHazardDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+
+/**
+ * Controller
+ *
+ * @author cyl
+ * @date 2023/4/20
+ */
+@Data
+public class CheckRectifyVo implements Serializable {
+
+    @ApiModelProperty("隐患详情")
+    private CheckHazardDto checkHazardDto;
+
+    @ApiModelProperty("整改和审批流水线list")
+    private List <LinkedHashMap <String,Object>> checkRectifyMap = new ArrayList <>();
+}

+ 2 - 2
zd-modules/zd-security/src/main/java/com/zd/security/CodeGenerator.java

@@ -16,9 +16,9 @@ public class CodeGenerator {
 
     public static void main(String[] args) {
         //要生成的表名
-        String[] tables = {"chk_check_test"};
+        String[] tables = {"sec_check_rectify"};
         //表前缀,若不想生成在实体里,添加前缀,如:sys_user, 前缀为:sys_
-        String tablePrefix = "chk_";
+        String tablePrefix = "sec_";
         URL url = CodeGenerator.class.getResource("");
         MybatisPlusGenerator.generator(tables,tablePrefix, url);
     }

+ 42 - 1
zd-modules/zd-security/src/main/java/com/zd/security/controller/CheckClapController.java

@@ -1,8 +1,26 @@
 package com.zd.security.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.pagehelper.PageHelper;
+import com.zd.common.core.utils.StringUtils;
+import com.zd.common.core.web.controller.AbstractController;
+import com.zd.model.domain.ResultData;
+import com.zd.security.api.bo.CheckClapBo;
+import com.zd.security.entity.CheckClap;
+import com.zd.security.entity.CheckPlan;
+import com.zd.security.entity.CheckTest;
+import com.zd.security.service.CheckClapService;
+import com.zd.security.util.PageUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Objects;
+import java.util.Optional;
+
 /**
  * <p>
  * 随手拍 前端控制器
@@ -13,6 +31,29 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/checkClap")
-public class CheckClapController {
+public class CheckClapController  extends AbstractController {
+
+    @Autowired
+    private CheckClapService checkClapService;
+
+    /**
+     * 获取随手拍数据列表list
+     * @param checkClapBo
+     * @return
+     */
+    @GetMapping(value = "/list")
+    public ResultData list(CheckClapBo checkClapBo) {
+        //查询条件
+        QueryWrapper<CheckClap> wrapperClap = new QueryWrapper <>();
+        //整改状态
+        wrapperClap.lambda().eq(StringUtils.isNotNull(checkClapBo.getRectifyStatus()),CheckClap::getRectifyStatus,checkClapBo.getRectifyStatus());
+        wrapperClap.isNotNull(checkClapBo.getSearchValue()).lambda().and(wrapper->wrapper.like(CheckClap::getSubName,checkClapBo.getSearchValue()).or().like(CheckClap::getRoomNum,checkClapBo.getSearchValue()).or().like(CheckClap::getCreateName,checkClapBo.getSearchValue()));;
+        wrapperClap.lambda().eq(StringUtils.isNotNull(checkClapBo.getDeptId()),CheckClap::getDeptId,checkClapBo.getDeptId());
+
+        //过滤物理删除数据及倒叙
+        wrapperClap.lambda().eq(CheckClap::getIsDeleted, Boolean.FALSE).orderByDesc(CheckClap::getId);
+        IPage <CheckClap> resultClap = checkClapService.page(PageUtil.getQuery(checkClapBo.getPageSize(), checkClapBo.getPageSize()), wrapperClap);
+        return ResultData.success(resultClap);
+    }
 
 }

+ 25 - 12
zd-modules/zd-security/src/main/java/com/zd/security/controller/CheckHazardController.java

@@ -1,13 +1,12 @@
 package com.zd.security.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.github.pagehelper.PageHelper;
 import com.zd.common.core.log.BusinessType;
-import com.zd.common.core.utils.StringUtils;
 import com.zd.common.core.web.controller.AbstractController;
 import com.zd.model.domain.ResultData;
 import com.zd.security.api.bo.CheckHazardBo;
 import com.zd.security.entity.CheckHazard;
-import org.springframework.beans.BeanUtils;
 import com.zd.security.service.CheckHazardService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -57,8 +56,6 @@ public class CheckHazardController extends AbstractController {
     @Log(title = "安全服务-测试添加", businessType = BusinessType.INSERT)
     @PostMapping(value = "/add")
     public ResultData add(@RequestBody CheckHazardBo checkHazardBo) {
-        //todo 这里需要删除子项的数据,先不做,等回头再补
-
         Optional.ofNullable(checkHazardBo.getCheckHazardDtoList()).orElseGet(Collections::emptyList)
                 .stream()
                 .forEach(a->{
@@ -67,15 +64,31 @@ public class CheckHazardController extends AbstractController {
                             .notNull(a.getHazardLevel())
                             .strNotEmpty(a.getHazardCheckPro())
                             .strNotEmpty(a.getHazardDescribe());
-                    //保存隐患数据
-                    CheckHazard checkHazard = new CheckHazard();
-                    BeanUtils.copyProperties(checkHazardBo,checkHazard);
-                    checkHazard.setCheckManageId(checkHazardBo.getCheckManageId());
-                    checkHazard.setHazardType(checkHazardBo.getHazardType());
-                    checkHazardService.save(checkHazard);
-                    //保存上传上来的图片地址信息
-
                 });
+        checkHazardService.addHazard(checkHazardBo);
         return ResultData.fail("操作失败");
     }
+
+
+    /**
+     * 获取数据列表list(院校巡查和实验室自查)
+     * @param checkHazardBo
+     * @return
+     */
+    @GetMapping(value = "/list")
+    public ResultData list(CheckHazardBo checkHazardBo) {
+        PageHelper.startPage(checkHazardBo.getPageNum(),checkHazardBo.getPageSize());
+        return ResultData.success(checkHazardService.checkHazardList(checkHazardBo));
+    }
+
+    /**
+     * 获取数据列表list(暂无法整改)
+     * @param checkHazardBo
+     * @return
+     */
+    @GetMapping(value = "/unableRectifyList")
+    public ResultData unableRectifyList(CheckHazardBo checkHazardBo) {
+        PageHelper.startPage(checkHazardBo.getPageNum(),checkHazardBo.getPageSize());
+        return ResultData.success(checkHazardService.unableRectifyList(checkHazardBo));
+    }
 }

+ 119 - 3
zd-modules/zd-security/src/main/java/com/zd/security/controller/CheckRectifyController.java

@@ -1,7 +1,23 @@
 package com.zd.security.controller;
 
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.zd.common.core.annotation.Log;
+import com.zd.common.core.log.BusinessType;
+import com.zd.common.core.utils.StringUtils;
+import com.zd.common.core.web.controller.AbstractController;
+import com.zd.model.domain.ResultData;
+import com.zd.security.api.bo.CheckRectifyBo;
+import com.zd.security.api.vo.CheckRectifyVo;
+import com.zd.security.entity.CheckHazard;
+import com.zd.security.entity.CheckRectify;
+import com.zd.security.service.CheckHazardService;
+import com.zd.security.service.CheckRectifyService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDateTime;
+import java.util.*;
 
 /**
  * <p>
@@ -13,6 +29,106 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/checkRectify")
-public class CheckRectifyController {
+public class CheckRectifyController  extends AbstractController {
+
+    @Autowired
+    private CheckHazardService checkHazardService;
+
+    @Autowired
+    private CheckRectifyService checkRectifyService;
+
+    /**
+     * 根据隐患详情,跳入到整改信息表
+     * @param checkRectifyBo
+     * @return
+     */
+    @GetMapping(value = "/findByCheckRectifyList")
+    public ResultData find(CheckRectifyBo checkRectifyBo) {
+        //先查询隐患表数据
+        CheckHazard checkHazard = checkHazardService.getById(checkRectifyBo.getCheckHazardId());
+
+        //查询条件
+        QueryWrapper <CheckRectify> wrapper = new QueryWrapper <>();
+        //过滤物理删除数据及正序叙
+        wrapper.lambda().eq(CheckRectify::getIsDeleted, Boolean.FALSE)
+                .eq(CheckRectify::getCheckHazardId,checkRectifyBo.getCheckHazardId()).orderByAsc(CheckRectify::getId);
+        List <CheckRectify> checkRectifyList = checkRectifyService.list(wrapper);
+
+        //整合隐患和整改数据
+        CheckRectifyVo checkRectifyVo = new CheckRectifyVo();
+        Optional.ofNullable(checkRectifyList).orElseGet(Collections::emptyList)
+                .stream()
+                .forEach(a->{
+                    if(StringUtils.isNotNull(a.getRectifyResult())){
+                        LinkedHashMap <String,Object> linkedHashMap = new LinkedHashMap <>();
+                        linkedHashMap.put("rectifyResult",a.getRectifyResult()+"");
+                        linkedHashMap.put("rectifyMeasure",a.getRectifyMeasure()+"");
+                        linkedHashMap.put("rectifyImgs", new ArrayList<>());
+                        linkedHashMap.put("rectifyName",a.getCreateName());
+                        linkedHashMap.put("rectifyTime",a.getCreateTime());
+                        checkRectifyVo.getCheckRectifyMap().add(linkedHashMap);
+                    }
+
+                    if(StringUtils.isNotNull(a.getExamineResult())){
+                        LinkedHashMap <String,Object> linkedHashMap = new LinkedHashMap <>();
+                        linkedHashMap.put("examineResult",a.getExamineResult()+"");
+                        linkedHashMap.put("examineOpinion",a.getExamineOpinion()+"");
+                        linkedHashMap.put("reviewedName",a.getReviewedName()+"");
+                        linkedHashMap.put("reviewedTime",a.getReviewedTime()+"");
+                        checkRectifyVo.getCheckRectifyMap().add(linkedHashMap);
+                    }
+                });
+        return ResultData.success(checkRectifyVo);
+    }
+
+
+    /**
+     * 整改提交
+     * @param checkRectifyBo
+     * @return
+     */
+    @Log(title = "安全服务-整改添加", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/addOrApprove")
+    public ResultData addOrApprove(@RequestBody CheckRectifyBo checkRectifyBo) {
+        //判断整改是否有id,如果有,说明是整改审核,如果没有,就是整改提交。
+        if(StringUtils.isNotNull(checkRectifyBo.getId())){
+            CheckRectify checkRectify = new CheckRectify();
+            BeanUtils.copyProperties(checkRectifyBo,checkRectify);
+            checkRectify.setReviewedBy(getCurrentUserId());
+            checkRectify.setReviewedName(getCurrentUserName());
+            checkRectify.setReviewedTime(LocalDateTime.now());
+            checkRectifyService.saveOrUpdate(checkRectify);
+            ResultData.success("操作成功");
+        }else{
+            CheckRectify checkRectify = new CheckRectify();
+            BeanUtils.copyProperties(checkRectifyBo,checkRectify);
+            checkRectifyService.save(checkRectify);
+            ResultData.success("操作成功");
+        }
+        return ResultData.fail("操作失败");
+    }
+
 
+    /**
+     * 批量审批
+     * @param checkRectifyList
+     * @return
+     */
+    @Log(title = "安全服务-批量审批", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/batchApprove")
+    public ResultData batchApprove(@RequestBody List<CheckRectifyBo> checkRectifyList) {
+        Optional.ofNullable(checkRectifyList).orElseGet(Collections::emptyList)
+                .stream()
+                .forEach(a->{
+                    if(StringUtils.isNotNull(a.getId())){
+                        CheckRectify checkRectify = new CheckRectify();
+                        BeanUtils.copyProperties(a,checkRectify);
+                        checkRectify.setReviewedName(getCurrentUserName());
+                        checkRectify.setReviewedBy(getCurrentUserId());
+                        checkRectify.setReviewedTime(LocalDateTime.now());
+                        checkRectifyService.saveOrUpdate(checkRectify);
+                    }
+                });
+        return ResultData.success("操作成功");
+    }
 }

+ 1 - 1
zd-modules/zd-security/src/main/java/com/zd/security/controller/TestController.java

@@ -94,7 +94,7 @@ public class TestController extends AbstractController {
 
         //过滤物理删除数据及倒叙
         wrapper.lambda().eq(CheckTest::getIsDeleted, Boolean.FALSE).orderByDesc(CheckTest::getTestId);
-        IPage<CheckTest> result = checkTestService.page(PageUtil.getQuery(testBo.getPage(), testBo.getPageSize()), wrapper);
+        IPage<CheckTest> result = checkTestService.page(PageUtil.getQuery(testBo.getPageSize(), testBo.getPageSize()), wrapper);
         return ResultData.success(result);
     }
 

+ 12 - 0
zd-modules/zd-security/src/main/java/com/zd/security/entity/CheckHazard.java

@@ -39,6 +39,18 @@ public class CheckHazard extends Model<CheckHazard> {
     @ApiModelProperty("隐患级别,1重大隐患,2是一般隐患,3管理问题")
     private Integer hazardLevel;
 
+    @ApiModelProperty("整改状态,1是已完成,2是待整改,3是待复核")
+    private Integer rectifyStatus;
+
+    @ApiModelProperty("整改人,每次整改后,需要保存实验室的整改人")
+    private String rectifyName;
+
+    @ApiModelProperty("整改时间,和整改人一样,每次整改后,需要变动时间")
+    private LocalDateTime rectifyTime;
+
+    @ApiModelProperty("审核状态,同步整改的审核情况")
+    private Integer examineResult;
+
     @ApiModelProperty("隐患类别:1是院校巡查,2是自查")
     private Integer hazardType;
 

+ 8 - 0
zd-modules/zd-security/src/main/java/com/zd/security/mapper/CheckHazardMapper.java

@@ -1,9 +1,13 @@
 package com.zd.security.mapper;
 
+import com.zd.security.api.bo.CheckHazardBo;
+import com.zd.security.api.vo.CheckHazardVo;
 import com.zd.security.entity.CheckHazard;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * <p>
  * 隐患表 Mapper 接口
@@ -15,4 +19,8 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface CheckHazardMapper extends BaseMapper<CheckHazard> {
 
+    public List <CheckHazardVo> checkHazardList(CheckHazardBo checkHazardBo);
+
+    public List <CheckHazardVo> unableRectifyList(CheckHazardBo checkHazardBo);
+
 }

+ 6 - 0
zd-modules/zd-security/src/main/java/com/zd/security/service/CheckClapService.java

@@ -1,8 +1,12 @@
 package com.zd.security.service;
 
+import com.zd.security.api.bo.CheckClapBo;
+import com.zd.security.api.vo.CheckClapVo;
 import com.zd.security.entity.CheckClap;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 随手拍 服务类
@@ -13,4 +17,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface CheckClapService extends IService<CheckClap> {
 
+    public List<CheckClapVo> checkClapList(CheckClapBo checkClapBo);
+
 }

+ 25 - 0
zd-modules/zd-security/src/main/java/com/zd/security/service/CheckHazardService.java

@@ -1,8 +1,12 @@
 package com.zd.security.service;
 
+import com.zd.security.api.bo.CheckHazardBo;
+import com.zd.security.api.vo.CheckHazardVo;
 import com.zd.security.entity.CheckHazard;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 隐患表 服务类
@@ -13,4 +17,25 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface CheckHazardService extends IService<CheckHazard> {
 
+    /**
+     * 添加数据
+     * @param checkHazardBo
+     * @return
+     */
+    public int addHazard(CheckHazardBo checkHazardBo);
+
+    /**
+     * 获取数据列表list
+     * @param checkHazardBo
+     * @return
+     */
+    public List <CheckHazardVo> checkHazardList(CheckHazardBo checkHazardBo);
+
+    /**
+     * 获取数据列表list
+     * @param checkHazardBo
+     * @return
+     */
+    public List <CheckHazardVo> unableRectifyList(CheckHazardBo checkHazardBo);
+
 }

+ 8 - 0
zd-modules/zd-security/src/main/java/com/zd/security/service/impl/CheckClapServiceImpl.java

@@ -1,11 +1,15 @@
 package com.zd.security.service.impl;
 
+import com.zd.security.api.bo.CheckClapBo;
+import com.zd.security.api.vo.CheckClapVo;
 import com.zd.security.entity.CheckClap;
 import com.zd.security.mapper.CheckClapMapper;
 import com.zd.security.service.CheckClapService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 随手拍 服务实现类
@@ -17,4 +21,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class CheckClapServiceImpl extends ServiceImpl<CheckClapMapper, CheckClap> implements CheckClapService {
 
+    @Override
+    public List <CheckClapVo> checkClapList(CheckClapBo checkClapBo) {
+        return null;
+    }
 }

+ 71 - 0
zd-modules/zd-security/src/main/java/com/zd/security/service/impl/CheckHazardServiceImpl.java

@@ -1,10 +1,23 @@
 package com.zd.security.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.zd.security.api.bo.CheckHazardBo;
+import com.zd.security.api.dto.CheckHazardDto;
+import com.zd.security.api.vo.CheckHazardVo;
 import com.zd.security.entity.CheckHazard;
 import com.zd.security.mapper.CheckHazardMapper;
 import com.zd.security.service.CheckHazardService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zd.security.service.UploadService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+import java.util.function.Consumer;
 
 /**
  * <p>
@@ -17,4 +30,62 @@ import org.springframework.stereotype.Service;
 @Service
 public class CheckHazardServiceImpl extends ServiceImpl<CheckHazardMapper, CheckHazard> implements CheckHazardService {
 
+    @Autowired
+    private UploadService uploadService;
+
+    @Autowired
+    private CheckHazardMapper checkHazardMapper;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int addHazard(CheckHazardBo checkHazardBo) {
+        //todo 这里需要删除子项的数据
+        delHazardAndRectify(checkHazardBo);
+        //图片保存函数consumer
+        Consumer<CheckHazardDto> imgcsu = upl -> Optional.ofNullable(upl.getUploadDtoList()).orElseGet(Collections::emptyList)
+                .stream()
+                .forEach(img->{
+                    img.setFileType(2);
+                    img.setKeyId(upl.getId());
+                    img.setSource(2);
+                    img.setIsDeleted(Boolean.FALSE);
+                    uploadService.addUpload(img);
+                });
+        //插入安全隐患数据
+        Optional.ofNullable(checkHazardBo.getCheckHazardDtoList()).orElseGet(Collections::emptyList)
+                .stream()
+                .forEach(a->{
+                    //保存隐患数据
+                    CheckHazard checkHazard = new CheckHazard();
+                    BeanUtils.copyProperties(a,checkHazard);
+                    checkHazard.setCheckManageId(checkHazardBo.getCheckManageId());
+                    checkHazard.setHazardType(checkHazardBo.getHazardType());
+                    checkHazard.setRectifyStatus(2);
+                    checkHazard.setIsDeleted(Boolean.FALSE);
+                    this.save(checkHazard);
+                    a.setId(checkHazard.getId());
+                    //保存上传上来的图片地址信息
+                    imgcsu.accept(a);
+                });
+        return 0;
+    }
+
+    @Override
+    public List <CheckHazardVo> checkHazardList(CheckHazardBo checkHazardBo) {
+        return checkHazardMapper.checkHazardList(checkHazardBo);
+    }
+
+    @Override
+    public List <CheckHazardVo> unableRectifyList(CheckHazardBo checkHazardBo) {
+        return checkHazardMapper.unableRectifyList(checkHazardBo);
+    }
+
+    //删除宣传管理对应的隐患表和整改表
+    public void delHazardAndRectify(CheckHazardBo checkHazardBo){
+        QueryWrapper<CheckHazard> wrpRectify=new QueryWrapper<>();
+        wrpRectify.in("check_hazard_id",checkHazardBo.getCheckManageId());
+        //删除隐患表
+        this.remove(wrpRectify);
+    }
+
 }

+ 55 - 1
zd-modules/zd-security/src/main/resources/mapper/CheckHazardMapper.xml

@@ -7,6 +7,10 @@
         <id column="id" property="id" />
         <result column="check_manage_id" property="checkManageId" />
         <result column="hazard_level" property="hazardLevel" />
+        <result column="rectify_status" property="rectifyStatus" />
+        <result column="rectify_name" property="rectifyName" />
+        <result column="rectify_time" property="rectifyTime" />
+        <result column="examine_result" property="examineResult" />
         <result column="hazard_type" property="hazardType" />
         <result column="hazard_check_pro" property="hazardCheckPro" />
         <result column="hazard_check_point" property="hazardCheckPoint" />
@@ -22,7 +26,57 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, check_manage_id, hazard_level, hazard_type, hazard_check_pro, hazard_check_point, hazard_describe, create_name, create_by, create_time, update_name, update_by, update_time, is_deleted
+        id, check_manage_id, hazard_level, rectify_status, hazard_type, hazard_check_pro, hazard_check_point, hazard_describe, create_name, create_by, create_time, update_name, update_by, update_time, is_deleted
     </sql>
 
+    <select id="checkHazardList" resultType="com.zd.security.api.vo.CheckHazardVo">
+        SELECT m.manage_title,h.hazard_describe,m.subject,m.check_time,
+        h.rectify_name,
+        m.rectify_deadline,h.rectify_status,h.rectify_time,
+        IFNULL(h.examine_result,2) examine_result
+        FROM sec_check_manage m INNER JOIN sec_check_hazard h ON m.id = h.`check_manage_id`
+        <where>
+            <if test="hazardType != null">and h.hazard_type = #{hazardType}</if>
+            <if test="rectifyStatus != null">and h.rectify_status = #{rectifyStatus}</if>
+            <if test="searchValue != null and searchValue != ''">
+                and (
+                m.manage_title like concat('%', #{searchValue}, '%')
+                or m.subject like concat('%', #{searchValue}, '%')
+                or m.room_num like concat('%', #{searchValue}, '%')
+                )
+            </if>
+            <if test="beginTime != null and beginTime != ''"><!-- 开始时间检索 -->
+                and date_format(h.rectify_time,'%y%m%d') &gt;= date_format(#{beginTime},'%y%m%d')
+            </if>
+            <if test="endTime != null and endTime != ''"><!-- 结束时间检索 -->
+                and date_format(h.rectify_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
+            </if>
+            <if test="examineResult != null">and h.examine_result = #{examineResult}</if>
+        </where>
+
+    </select>
+
+    <select id="unableRectifyList" resultType="com.zd.security.api.vo.CheckHazardVo">
+        SELECT m.manage_title,h.hazard_type,m.subject,m.check_time,
+            h.rectify_name,
+            (SELECT r.rectify_measure FROM sec_check_rectify r WHERE r.check_hazard_id = h.`id` ORDER BY r.id DESC LIMIT 1) rectify_measure
+        FROM sec_check_manage m INNER JOIN sec_check_hazard h ON m.id = h.`check_manage_id`
+        <where>
+            <if test="hazardType != null">and h.hazard_type = #{hazardType}</if>
+            <if test="searchValue != null and searchValue != ''">
+                and (
+                m.manage_title like concat('%', #{searchValue}, '%')
+                or m.subject like concat('%', #{searchValue}, '%')
+                or m.room_num like concat('%', #{searchValue}, '%')
+                )
+            </if>
+            <if test="beginTime != null and beginTime != ''"><!-- 开始时间检索 -->
+                and date_format(h.rectify_time,'%y%m%d') &gt;= date_format(#{beginTime},'%y%m%d')
+            </if>
+            <if test="endTime != null and endTime != ''"><!-- 结束时间检索 -->
+                and date_format(h.rectify_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
+            </if>
+        </where>
+    </select>
+
 </mapper>