Browse Source

隐患排查任务生成整改任务

chenguangyu 11 months ago
parent
commit
b2c1f59b9c

+ 4 - 0
js-security/security-common/src/main/java/com/rongwei/sfcommon/sys/service/ApsDetailsHazardInvestigationTasksService.java

@@ -2,6 +2,9 @@ package com.rongwei.sfcommon.sys.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.rongwe.scentity.domian.ApsDetailsHazardInvestigationTasksDo;
+import com.rongwei.rwcommon.base.R;
+
+import java.util.Map;
 
 
 /**
@@ -9,4 +12,5 @@ import com.rongwe.scentity.domian.ApsDetailsHazardInvestigationTasksDo;
 */
 public interface ApsDetailsHazardInvestigationTasksService extends IService<ApsDetailsHazardInvestigationTasksDo> {
 
+    R hazardInvestigationTaskSave(Map<String, String> map);
 }

+ 120 - 1
js-security/security-common/src/main/java/com/rongwei/sfcommon/sys/service/impl/ApsDetailsHazardInvestigationTasksServiceImpl.java

@@ -1,12 +1,29 @@
 package com.rongwei.sfcommon.sys.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.rongwe.scentity.domian.ApsDetailsHazardInvestigationTasksDo;
+import com.rongwe.scentity.domian.*;
+import com.rongwei.rwcommon.base.BaseDo;
+import com.rongwei.rwcommon.base.R;
+import com.rongwei.rwcommon.utils.SecurityUtil;
+import com.rongwei.rwcommon.utils.StringUtils;
 import com.rongwei.sfcommon.sys.dao.ApsDetailsHazardInvestigationTasksDao;
 import com.rongwei.sfcommon.sys.service.ApsDetailsHazardInvestigationTasksService;
+
+import com.rongwei.sfcommon.utils.MlConstants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 /**
 *
 */
@@ -14,4 +31,106 @@ import org.springframework.stereotype.Service;
 public class ApsDetailsHazardInvestigationTasksServiceImpl extends ServiceImpl<ApsDetailsHazardInvestigationTasksDao, ApsDetailsHazardInvestigationTasksDo>
 implements ApsDetailsHazardInvestigationTasksService {
 
+    private final Logger log = LoggerFactory.getLogger(this.getClass().getName());
+    @Autowired
+    private AspCheckDiscoveryItemServiceImpl aspCheckDiscoveryItemService;
+    @Autowired
+    private HiddenDangerTrackServiceImpl hiddenDangerTrackService;
+    @Autowired
+    private SafeCheckSendNotifyServiceImpl sendNotifyService;
+    @Autowired
+    private ApsDetailsHazardInvestigationTasksService apsDetailsHazardInvestigationTasksService;
+
+
+    @Override
+    public R hazardInvestigationTaskSave(Map<String, String> parameter) {
+        String id = parameter.getOrDefault("id", "");
+        if (StringUtils.isBlank(id)) {
+            log.error("隐患排查任务ID为空");
+            return R.ok();
+        }
+        // 获取隐患排查任务主表
+        ApsDetailsHazardInvestigationTasksDo apsDetailsHazardInvestigationTasksDo  = apsDetailsHazardInvestigationTasksService.getById(id);
+        if (null == apsDetailsHazardInvestigationTasksDo) {
+            log.error("通过id:{}无法获取到隐患排查任务", id);
+            return R.ok();
+        }
+
+        // 获取所有的隐患排查任务内容
+        List<AspCheckDiscoveryItemDo> aspCheckDiscoveryItemDos = aspCheckDiscoveryItemService.list(new LambdaQueryWrapper<AspCheckDiscoveryItemDo>()
+                .eq(AspCheckDiscoveryItemDo::getRiskunitid, id)
+                .eq(BaseDo::getDeleted, "0"));
+        if (aspCheckDiscoveryItemDos.isEmpty()) {
+            log.error("无法通过ID:{}获取到检查项信息", id);
+        }
+        // 任务生成
+        List<HiddenDangerTrackDo> sendNotifyData = generateHiddenDangerTrack(apsDetailsHazardInvestigationTasksDo, aspCheckDiscoveryItemDos);
+        // 更新任务状态
+        List<String> discoverIds = aspCheckDiscoveryItemDos.stream().map(AspCheckDiscoveryItemDo::getId).collect(Collectors.toList());
+        aspCheckDiscoveryItemService.update(new LambdaUpdateWrapper<AspCheckDiscoveryItemDo>()
+                .set(AspCheckDiscoveryItemDo::getCreatetask, 1)
+                .eq(AspCheckDiscoveryItemDo::getId, discoverIds));
+        sendNotifyService.sendDangerTasksNotify(sendNotifyData);
+        return R.ok();
+    }
+
+
+    /**
+     * 生成隐患跟踪任务
+     * 每一个检查项生成一个隐患跟踪任务
+     *
+     * @return
+     */
+    public List<HiddenDangerTrackDo> generateHiddenDangerTrack(ApsDetailsHazardInvestigationTasksDo apsDetailsHazardInvestigationTasksDo,List<AspCheckDiscoveryItemDo> aspCheckDiscoveryItemDos) {
+
+        List<HiddenDangerTrackDo> addList = new ArrayList<>();
+        aspCheckDiscoveryItemDos.forEach(info -> {
+            HiddenDangerTrackDo hiddenDangerTrack = new HiddenDangerTrackDo();
+            hiddenDangerTrack.setId(SecurityUtil.getUUID());
+            //风险分析对象编码
+            hiddenDangerTrack.setRiskanalysisobjectcode(info.getRiskunitcode());
+            //隐患等级hazardlevel
+            hiddenDangerTrack.setHazardlevel(info.getGrade());
+            //隐患来源
+            hiddenDangerTrack.setDangersource(MlConstants.DANGER_SOURCE_THEMECHECK);
+            //治理类型
+            hiddenDangerTrack.setGovernancetype(info.getGovernancetype());
+            //隐患类别
+            hiddenDangerTrack.setHiddendangerleibie(info.getClassification());
+            //隐患类型
+            hiddenDangerTrack.setHiddendangertype(info.getType());
+            //隐患状态 默认整改中
+            hiddenDangerTrack.setHazardstate("0");
+            //隐患名称
+            hiddenDangerTrack.setHazardname(info.getName());
+            //隐患描述
+            if (StringUtils.isNotBlank(info.getHazarddescription())) {
+                hiddenDangerTrack.setHazarddescription(info.getHazarddescription());
+            }
+            if (StringUtils.isNotBlank(info.getMeasure())) {
+                hiddenDangerTrack.setMeasure(info.getMeasure());
+            }
+            //整改责任人
+            hiddenDangerTrack.setResponsiblepersonforrectification(info.getTrackuser());
+            //责任人 id
+            hiddenDangerTrack.setTrackuserid(info.getTrackuserid());
+            //检查任务id
+            hiddenDangerTrack.setCheckid(info.getId());
+            //创建人
+            hiddenDangerTrack.setCreateusername(info.getModifyusername());
+            hiddenDangerTrack.setCreateuserid(info.getModifyuserid());
+            hiddenDangerTrack.setModifyusername(info.getModifyusername());
+            hiddenDangerTrack.setModifyuserid(info.getModifyuserid());
+            hiddenDangerTrack.setModifydate(new Date());
+            //创建时间当前时间
+            hiddenDangerTrack.setCreatedate(new Date());
+            //隐患图片
+            hiddenDangerTrack.setHazardphoto(info.getFileinfo());
+            addList.add(hiddenDangerTrack);
+        });
+        hiddenDangerTrackService.saveBatch(addList);
+//        checkItemDo.setSaved("1");
+//        themeCheckItemService.saveOrUpdate(checkItemDo);
+        return addList;
+    }
 }

+ 123 - 0
js-security/security-entity/src/main/java/com/rongwe/scentity/domian/AspRiskEventControlMeasuresDo.java

@@ -0,0 +1,123 @@
+package com.rongwe.scentity.domian;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * 安全风险分析单元
+ *
+ * @TableName asp_risk_unit
+ */
+@TableName(value = "asp_risk_event_control_measures")
+@Data
+public class AspRiskEventControlMeasuresDo extends BaseDo implements Serializable {
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+    /**
+     * 主键
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 租户ID
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 是否删除
+     */
+    private String deleted;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 创建时间
+     */
+    private Date createdate;
+
+    /**
+     * 创建用户ID
+     */
+    private String createuserid;
+
+    /**
+     * 修改日期
+     */
+    private Date modifydate;
+
+    /**
+     * 修改用户ID
+     */
+    private String modifyuserid;
+
+    /**
+     * 创建人名称
+     */
+    private String createusername;
+
+    /**
+     * 修改人名称
+     */
+    private String modifyusername;
+
+    /**
+     * 管控措施编号
+     */
+    private String controlnum;
+
+    /**
+     * 管控方式
+     */
+    private String controltype;
+
+    /**
+     * 管控措施描述
+     */
+    private String controldesc;
+
+    /**
+     * 管控措施分类1
+     */
+    private String classify1;
+
+    /**
+     * 管控措施分类2
+     */
+    private String classify2;
+
+    /**
+     * 管控措施分类3
+     */
+    private String classify3;
+
+    /**
+     * 隐患排查内容
+     */
+    private String investigationcontent;
+
+    /**
+     * 风险事件ID
+     */
+    private String riskeventid;
+
+    /**
+     * 管控措施ID
+     */
+    private String controlmeasuresid;
+}

+ 112 - 0
js-security/security-entity/src/main/java/com/rongwe/scentity/domian/AspRiskMapDo.java

@@ -0,0 +1,112 @@
+package com.rongwe.scentity.domian;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 风险四色图
+ */
+
+@TableName("asp_risk_map")
+@Data
+public class AspRiskMapDo extends BaseDo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+    @TableId
+    // 主键ID
+    private String id;
+
+    // 租户ID
+    private String tenantid;
+
+    // 选项
+    private String roption;
+
+    // 删除标志
+    private String deleted;
+
+    // 备注
+    private String remark;
+
+    // 创建日期
+    private Date createdate;
+
+    // 创建用户ID
+    private String createuserid;
+
+    // 修改日期
+    private Date modifydate;
+
+    // 修改用户ID
+    private String modifyuserid;
+
+    // 创建用户名
+    private String createusername;
+
+    // 修改用户名
+    private String modifyusername;
+
+    // 序列号
+    private String serialnumber;
+
+    // 名称
+    private String name;
+
+    // 风险等级
+    private String risklevel;
+
+    // 风险坐标
+    private String riskcoordinate;
+
+    // 固有风险等级
+    private String inherentrisklevel;
+
+    // 控制风险等级
+    private String controlrisklevel;
+
+    // 风险纠正因素
+    private String riskcorrectionfactors;
+
+    // 风险纠正等级
+    private String riskcorrectionlevel;
+
+    // 部门ID
+    private String deptid;
+
+    // 部门名称
+    private String deptname;
+
+    // 评估人ID
+    private String evaluatorid;
+
+    // 评估人姓名
+    private String evaluatorname;
+
+    // 复审日期
+    private Date reviewdate;
+
+    // 企业代码
+    private Integer enterprisecode;
+
+    // 同步时间
+    private Date synctime;
+
+    // 空间分布
+    private String spacedistribution;
+
+    // 同步状态(1、待同步、2、已同步、3、同步失败 4、同步中)
+    private String syncstatus;
+
+    // 同步日志
+    private String synclog;
+
+
+
+
+}

+ 102 - 0
js-security/security-entity/src/main/java/com/rongwe/scentity/domian/AspRiskUnitEventDo.java

@@ -0,0 +1,102 @@
+package com.rongwe.scentity.domian;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * 安全风险分析单元
+ * @TableName asp_risk_unit
+ */
+@TableName(value ="asp_risk_unit_event")
+@Data
+public class AspRiskUnitEventDo extends BaseDo implements Serializable {
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+    /**
+     * 主键
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 租户ID
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 是否删除
+     */
+    private String deleted;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 创建时间
+     */
+    private Date createdate;
+
+    /**
+     * 创建用户ID
+     */
+    private String createuserid;
+
+    /**
+     * 修改日期
+     */
+    private Date modifydate;
+
+    /**
+     * 修改用户ID
+     */
+    private String modifyuserid;
+
+    /**
+     * 创建人名称
+     */
+    private String createusername;
+
+    /**
+     * 修改人名称
+     */
+    private String modifyusername;
+
+    /**
+     * 风险单元ID(暂不用)
+     */
+    private String riskunitid;
+
+    /**
+     * 风险事件名称
+     */
+    private String riskeventname;
+
+    /**
+     * 风险事件编码
+     */
+    private String riskeventnumber;
+
+    /**
+     * 上次同步时间
+     */
+    private Date synctime;
+
+    /**
+     * 风险事件ID
+     */
+    private String riskeventid;
+}

+ 1 - 1
js-security/security-entity/src/main/java/com/rongwe/scentity/domian/ThemeCheckItemDo.java

@@ -30,7 +30,7 @@ public class ThemeCheckItemDo extends BaseDo implements Serializable {
     /**
      * 主题检查ID
      */
-    private String themecheckid;
+    private String /**/themecheckid;
     /**
      * 主题检查工段ID
      */

+ 15 - 0
js-security/security-server/src/main/java/com/rongwei/savecheck/controller/SaveCheckItemController.java

@@ -1,6 +1,7 @@
 package com.rongwei.savecheck.controller;
 
 import com.rongwei.rwcommon.base.R;
+import com.rongwei.sfcommon.sys.service.ApsDetailsHazardInvestigationTasksService;
 import com.rongwei.sfcommon.sys.service.SaveCheckItemService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -24,6 +25,8 @@ public class SaveCheckItemController {
     private final Logger log = LoggerFactory.getLogger(this.getClass().getName());
     @Autowired
     private SaveCheckItemService saveCheckItemService;
+    @Autowired
+    private ApsDetailsHazardInvestigationTasksService apsDetailsHazardInvestigationTasksService;
 
 
     /**
@@ -37,4 +40,16 @@ public class SaveCheckItemController {
         log.info("检查项保存!参数为:{}", map);
         return saveCheckItemService.checkItemSave(map);
     }
+
+
+    /**
+     * 隐患排查任务整改数据生成 aps_details_hazard_investigation_tasks
+     * @param map
+     * @return
+     */
+        @PostMapping("/saveYhpc")
+    public R hazardInvestigationTaskSave(@RequestBody Map<String, String> map) {
+        log.info("检查项保存!参数为:{}", map);
+        return apsDetailsHazardInvestigationTasksService.hazardInvestigationTaskSave(map);
+    }
 }