459242451@qq.com 3 rokov pred
rodič
commit
1ae5d1d3d8
31 zmenil súbory, kde vykonal 587 pridanie a 30 odobranie
  1. 24 1
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhdd/IncidentController.java
  2. 3 3
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/Incident.java
  3. 3 3
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/IncidentProcess.java
  4. 63 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/IncidentTask.java
  5. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/Plan.java
  6. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/PlanFile.java
  7. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/PlanTask.java
  8. 5 2
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentBo.java
  9. 4 2
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentProcessBo.java
  10. 75 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentTaskBo.java
  11. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/PlanBo.java
  12. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/PlanFileBo.java
  13. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/PlanTaskBo.java
  14. 2 2
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentProcessVo.java
  15. 56 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentTaskVo.java
  16. 2 2
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentVo.java
  17. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/PlanFileVo.java
  18. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/PlanTaskVo.java
  19. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/PlanVo.java
  20. 14 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/mapper/IncidentTaskMapper.java
  21. 5 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/mapper/PlanMapper.java
  22. 59 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/IIncidentTaskService.java
  23. 3 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/IPlanService.java
  24. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentProcessServiceImpl.java
  25. 48 3
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentServiceImpl.java
  26. 83 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentTaskServiceImpl.java
  27. 5 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/PlanServiceImpl.java
  28. 1 1
      ruoyi-zhdd/src/main/resources/mapper/zhdd/IncidentProcessMapper.xml
  29. 18 0
      ruoyi-zhdd/src/main/resources/mapper/zhdd/IncidentTaskMapper.xml
  30. 9 1
      ruoyi-zhdd/src/main/resources/mapper/zhdd/PlanMapper.xml
  31. 95 0
      sql/20211103修改.sql

+ 24 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhdd/IncidentController.java

@@ -8,7 +8,10 @@ import java.util.concurrent.TimeUnit;
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.zhdd.domain.IncidentProcess;
+import com.ruoyi.zhdd.domain.IncidentTask;
+import com.ruoyi.zhdd.domain.bo.IncidentTaskBo;
 import com.ruoyi.zhdd.service.IIncidentProcessService;
+import com.ruoyi.zhdd.service.IIncidentTaskService;
 import lombok.RequiredArgsConstructor;
 
 import javax.servlet.http.HttpServletResponse;
@@ -49,6 +52,8 @@ public class IncidentController extends BaseController {
 
     private final IIncidentService iIncidentService;
 
+    private final IIncidentTaskService incidentTaskService;
+
     private final IIncidentProcessService iIncidentProcessService;
 
     /**
@@ -83,8 +88,9 @@ public class IncidentController extends BaseController {
                                           @PathVariable("id") Long id) {
         Map<String, Object> map = new HashMap<>();
         map.put("baseInfo", iIncidentService.queryById(id));
+        map.put("task", incidentTaskService.list(Wrappers.<IncidentTask>lambdaQuery().eq(IncidentTask::getIncidentId, id)));
         map.put("process", iIncidentProcessService.list(Wrappers.<IncidentProcess>lambdaQuery()
-            .eq(IncidentProcess::getIId, id).orderByDesc(IncidentProcess::getCreateTime)));
+            .eq(IncidentProcess::getIncidentId, id).orderByDesc(IncidentProcess::getCreateTime)));
         return AjaxResult.success(map);
     }
 
@@ -125,4 +131,21 @@ public class IncidentController extends BaseController {
                                    @PathVariable Long[] ids) {
         return toAjax(iIncidentService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
     }
+
+    @ApiOperation("新增事件任务")
+    @Log(title = "事件任务", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping("/task")
+    public AjaxResult<Void> addTask(@Validated(AddGroup.class) @RequestBody IncidentTaskBo bo) {
+        bo.setSource(2);
+        return toAjax(incidentTaskService.insertByBo(bo) ? 1 : 0);
+    }
+
+    @ApiOperation("删除事件任务")
+    @Log(title = "事件任务", businessType = BusinessType.DELETE)
+    @DeleteMapping("/task/{ids}")
+    public AjaxResult<Void> removeTask(@NotEmpty(message = "主键不能为空")
+                                   @PathVariable Long[] ids) {
+        return toAjax(incidentTaskService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
+    }
 }

+ 3 - 3
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/Incident.java

@@ -9,7 +9,7 @@ import java.util.Date;
 import java.math.BigDecimal;
 
 /**
- * 事件基础对象 tbl_incident
+ * 事件基础对象 b_incident
  *
  * @author xitong
  * @date 2021-09-28
@@ -17,7 +17,7 @@ import java.math.BigDecimal;
 @Data
 @NoArgsConstructor
 @Accessors(chain = true)
-@TableName("tbl_incident")
+@TableName("b_incident")
 public class Incident implements Serializable {
 
     private static final long serialVersionUID=1L;
@@ -132,7 +132,7 @@ public class Incident implements Serializable {
     /**
      * 主办单位
      */
-    private Long madinDept;
+    private String madinDept;
 
     /**
      * 协办单位 多个数据用,分割

+ 3 - 3
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/IncidentProcess.java

@@ -9,7 +9,7 @@ import java.util.Date;
 import java.math.BigDecimal;
 
 /**
- * 事件处置流程对象 tbl_incident_process
+ * 事件处置流程对象 b_incident_process
  *
  * @author xitong
  * @date 2021-09-28
@@ -17,7 +17,7 @@ import java.math.BigDecimal;
 @Data
 @NoArgsConstructor
 @Accessors(chain = true)
-@TableName("tbl_incident_process")
+@TableName("b_incident_process")
 public class IncidentProcess implements Serializable {
 
     private static final long serialVersionUID=1L;
@@ -32,7 +32,7 @@ public class IncidentProcess implements Serializable {
     /**
      * 所属事件id
      */
-    private Long iId;
+    private Long incidentId;
 
     /**
      * 处置过程

+ 63 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/IncidentTask.java

@@ -0,0 +1,63 @@
+package com.ruoyi.zhdd.domain;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 事件处置流程对象 b_incident_process
+ *
+ * @author xitong
+ * @date 2021-09-28
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("b_incident_task")
+public class IncidentTask implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    /**
+     * 所属事件id
+     */
+    private Long incidentId;
+
+    private String taskName;
+
+    private String taskDes;
+
+    private Integer source;
+
+    @TableLogic
+    private String delFlag;
+
+    /**
+     * 过程创建时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /**
+     * 过程创建人
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+
+}

+ 1 - 1
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/Plan.java

@@ -9,7 +9,7 @@ import java.util.Date;
 import java.math.BigDecimal;
 
 /**
- * 预案管理对象 tbl_plan
+ * 预案管理对象 b_plan
  *
  * @author xitong
  * @date 2021-09-28

+ 1 - 1
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/PlanFile.java

@@ -14,7 +14,7 @@ import java.io.Serializable;
 import java.util.Date;
 
 /**
- * 预案文件管理对象 tbl_plan_task
+ * 预案文件管理对象 b_plan_task
  *
  * @author xitong
  * @date 2021-09-28

+ 1 - 1
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/PlanTask.java

@@ -9,7 +9,7 @@ import java.util.Date;
 import java.math.BigDecimal;
 
 /**
- * 预案任务管理对象 tbl_plan_task
+ * 预案任务管理对象 b_plan_task
  *
  * @author xitong
  * @date 2021-09-28

+ 5 - 2
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentBo.java

@@ -13,7 +13,7 @@ import java.util.Date;
 import com.ruoyi.common.core.domain.BaseEntity;
 
 /**
- * 事件基础业务对象 tbl_incident
+ * 事件基础业务对象 b_incident
  *
  * @author xitong
  * @date 2021-09-28
@@ -34,12 +34,14 @@ public class IncidentBo extends BaseEntity {
      * 事件类型
      */
     @ApiModelProperty(value = "事件类型")
+    @NotBlank(message = "type不能为空", groups = { AddGroup.class })
     private Integer type;
 
     /**
      * 事件等级
      */
     @ApiModelProperty(value = "事件等级")
+    @NotBlank(message = "level不能为空", groups = { AddGroup.class })
     private Integer level;
 
     /**
@@ -112,6 +114,7 @@ public class IncidentBo extends BaseEntity {
      * 事件标题
      */
     @ApiModelProperty(value = "事件标题")
+    @NotBlank(message = "name不能为空", groups = { AddGroup.class })
     private String name;
 
     /**
@@ -124,7 +127,7 @@ public class IncidentBo extends BaseEntity {
      * 主办单位
      */
     @ApiModelProperty(value = "主办单位")
-    private Long madinDept;
+    private String madinDept;
 
     /**
      * 协办单位 多个数据用,分割

+ 4 - 2
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentProcessBo.java

@@ -13,7 +13,7 @@ import java.util.Date;
 import com.ruoyi.common.core.domain.BaseEntity;
 
 /**
- * 事件处置流程业务对象 tbl_incident_process
+ * 事件处置流程业务对象 b_incident_process
  *
  * @author xitong
  * @date 2021-09-28
@@ -34,12 +34,14 @@ public class IncidentProcessBo extends BaseEntity {
      * 所属事件id
      */
     @ApiModelProperty(value = "所属事件id")
-    private Long iId;
+    @NotNull(message = "incidentId不能为空", groups = { AddGroup.class })
+    private Long incidentId;
 
     /**
      * 处置过程
      */
     @ApiModelProperty(value = "处置过程")
+    @NotBlank(message = "des不能为空", groups = { AddGroup.class })
     private String des;
 
     @ApiModelProperty(value = "事件状态 1:预警,2:事件 3:归档")

+ 75 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentTaskBo.java

@@ -0,0 +1,75 @@
+package com.ruoyi.zhdd.domain.bo;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 事件处置流程业务对象 b_incident_process
+ *
+ * @author xitong
+ * @date 2021-09-28
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("事件处置任务业务对象")
+public class IncidentTaskBo extends BaseEntity {
+
+    /**
+     * 主键id
+     */
+    @ApiModelProperty(value = "主键id")
+    private Long id;
+
+    /**
+     * 所属事件id
+     */
+    @ApiModelProperty(value = "所属事件id")
+    @NotNull(message = "incidentId不能为空", groups = { AddGroup.class })
+    private Long incidentId;
+
+    @ApiModelProperty(value = "任务名称")
+    @NotBlank(message = "taskName不能为空", groups = { AddGroup.class })
+    private String taskName;
+
+    @ApiModelProperty(value = "任务描述")
+    @NotBlank(message = "taskDes不能为空", groups = { AddGroup.class })
+    private String taskDes;
+
+    private Integer source;
+
+    private String delFlag;
+
+    /**
+     * 分页大小
+     */
+    @ApiModelProperty("分页大小")
+    private Integer pageSize;
+
+    /**
+     * 当前页数
+     */
+    @ApiModelProperty("当前页数")
+    private Integer pageNum;
+
+    /**
+     * 排序列
+     */
+    @ApiModelProperty("排序列")
+    private String orderByColumn;
+
+    /**
+     * 排序的方向desc或者asc
+     */
+    @ApiModelProperty(value = "排序的方向", example = "asc,desc")
+    private String isAsc;
+
+}

+ 1 - 1
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/PlanBo.java

@@ -16,7 +16,7 @@ import java.util.List;
 import com.ruoyi.common.core.domain.BaseEntity;
 
 /**
- * 预案管理业务对象 tbl_plan
+ * 预案管理业务对象 b_plan
  *
  * @author xitong
  * @date 2021-09-28

+ 1 - 1
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/PlanFileBo.java

@@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 
 /**
- * 预案任务管理业务对象 tbl_plan_task
+ * 预案任务管理业务对象 b_plan_task
  *
  * @author xitong
  * @date 2021-09-28

+ 1 - 1
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/PlanTaskBo.java

@@ -13,7 +13,7 @@ import java.util.Date;
 import com.ruoyi.common.core.domain.BaseEntity;
 
 /**
- * 预案任务管理业务对象 tbl_plan_task
+ * 预案任务管理业务对象 b_plan_task
  *
  * @author xitong
  * @date 2021-09-28

+ 2 - 2
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentProcessVo.java

@@ -12,7 +12,7 @@ import java.util.Date;
 
 
 /**
- * 事件处置流程视图对象 tbl_incident_process
+ * 事件处置流程视图对象 b_incident_process
  *
  * @author xitong
  * @date 2021-09-28
@@ -35,7 +35,7 @@ public class IncidentProcessVo {
      */
 	@ExcelProperty(value = "所属事件id")
 	@ApiModelProperty("所属事件id")
-	private Long iId;
+	private Long incidentId;
 
     /**
      * 处置过程

+ 56 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentTaskVo.java

@@ -0,0 +1,56 @@
+package com.ruoyi.zhdd.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+
+/**
+ * 事件处置流程视图对象 b_incident_process
+ *
+ * @author xitong
+ * @date 2021-09-28
+ */
+@Data
+@ApiModel("事件处置流程视图对象")
+@ExcelIgnoreUnannotated
+public class IncidentTaskVo {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     *  主键id
+     */
+	@ApiModelProperty("主键id")
+	private Long id;
+
+    /**
+     * 所属事件id
+     */
+	@ExcelProperty(value = "所属事件id")
+	@ApiModelProperty("所属事件id")
+	private Long incidentId;
+
+    @ApiModelProperty(value = "任务名称")
+    private String taskName;
+
+    private Integer source;
+
+    /**
+     * 处置过程
+     */
+	@ApiModelProperty("任务描述")
+	private String taskDes;
+
+    @ExcelProperty(value = "创建人")
+    @ApiModelProperty("创建人")
+    private String createBy;
+
+    @ExcelProperty(value = "创建时间")
+    @ApiModelProperty("创建时间")
+    private Date createTime;
+}

+ 2 - 2
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentVo.java

@@ -12,7 +12,7 @@ import java.util.Date;
 
 
 /**
- * 事件基础视图对象 tbl_incident
+ * 事件基础视图对象 b_incident
  *
  * @author xitong
  * @date 2021-09-28
@@ -133,7 +133,7 @@ public class IncidentVo {
      */
 	@ExcelProperty(value = "主办单位")
 	@ApiModelProperty("主办单位")
-	private Long madinDept;
+	private String madinDept;
 
     /**
      * 协办单位 多个数据用,分割

+ 1 - 1
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/PlanFileVo.java

@@ -10,7 +10,7 @@ import java.util.Date;
 
 
 /**
- * 预案任务管理视图对象 tbl_plan_task
+ * 预案任务管理视图对象 b_plan_task
  *
  * @author xitong
  * @date 2021-09-28

+ 1 - 1
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/PlanTaskVo.java

@@ -12,7 +12,7 @@ import java.util.Date;
 
 
 /**
- * 预案任务管理视图对象 tbl_plan_task
+ * 预案任务管理视图对象 b_plan_task
  *
  * @author xitong
  * @date 2021-09-28

+ 1 - 1
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/PlanVo.java

@@ -13,7 +13,7 @@ import java.util.Map;
 
 
 /**
- * 预案管理视图对象 tbl_plan
+ * 预案管理视图对象 b_plan
  *
  * @author xitong
  * @date 2021-09-28

+ 14 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/mapper/IncidentTaskMapper.java

@@ -0,0 +1,14 @@
+package com.ruoyi.zhdd.mapper;
+
+import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
+import com.ruoyi.zhdd.domain.IncidentTask;
+
+/**
+ * 事件处置流程Mapper接口
+ *
+ * @author xitong
+ * @date 2021-09-28
+ */
+public interface IncidentTaskMapper extends BaseMapperPlus<IncidentTask> {
+
+}

+ 5 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/mapper/PlanMapper.java

@@ -3,7 +3,11 @@ package com.ruoyi.zhdd.mapper;
 import com.ruoyi.zhdd.domain.Plan;
 import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
 import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
+import com.ruoyi.zhdd.domain.PlanTask;
 import org.apache.ibatis.annotations.CacheNamespace;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 预案管理Mapper接口
@@ -13,4 +17,5 @@ import org.apache.ibatis.annotations.CacheNamespace;
  */
 public interface PlanMapper extends BaseMapperPlus<Plan> {
 
+    List<PlanTask> queryTask(@Param("dept") String dept, @Param("type") Integer type, @Param("level") Integer level);
 }

+ 59 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/IIncidentTaskService.java

@@ -0,0 +1,59 @@
+package com.ruoyi.zhdd.service;
+
+import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.zhdd.domain.IncidentProcess;
+import com.ruoyi.zhdd.domain.IncidentTask;
+import com.ruoyi.zhdd.domain.bo.IncidentProcessBo;
+import com.ruoyi.zhdd.domain.bo.IncidentTaskBo;
+import com.ruoyi.zhdd.domain.vo.IncidentProcessVo;
+import com.ruoyi.zhdd.domain.vo.IncidentTaskVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 事件处置流程Service接口
+ *
+ * @author xitong
+ * @date 2021-09-28
+ */
+public interface IIncidentTaskService extends IServicePlus<IncidentTask, IncidentTaskVo> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	IncidentTaskVo queryById(Long id);
+
+	/**
+	 * 查询列表
+	 */
+    TableDataInfo<IncidentTaskVo> queryPageList(IncidentTaskBo bo);
+
+	/**
+	 * 查询列表
+	 */
+	List<IncidentTaskVo> queryList(IncidentTaskBo bo);
+
+	/**
+	 * 根据新增业务对象插入事件处置流程
+	 * @param bo 事件处置流程新增业务对象
+	 * @return
+	 */
+	Boolean insertByBo(IncidentTaskBo bo);
+
+	/**
+	 * 根据编辑业务对象修改事件处置流程
+	 * @param bo 事件处置流程编辑业务对象
+	 * @return
+	 */
+	Boolean updateByBo(IncidentTaskBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 3 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/IPlanService.java

@@ -1,6 +1,7 @@
 package com.ruoyi.zhdd.service;
 
 import com.ruoyi.zhdd.domain.Plan;
+import com.ruoyi.zhdd.domain.PlanTask;
 import com.ruoyi.zhdd.domain.vo.PlanVo;
 import com.ruoyi.zhdd.domain.bo.PlanBo;
 import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
@@ -53,4 +54,6 @@ public interface IPlanService extends IServicePlus<Plan, PlanVo> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    List<PlanTask> queryTask(String dept, Integer type, Integer level);
 }

+ 1 - 1
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentProcessServiceImpl.java

@@ -47,7 +47,7 @@ public class IncidentProcessServiceImpl extends ServicePlusImpl<IncidentProcessM
     private LambdaQueryWrapper<IncidentProcess> buildQueryWrapper(IncidentProcessBo bo) {
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<IncidentProcess> lqw = Wrappers.lambdaQuery();
-        lqw.eq(bo.getIId() != null, IncidentProcess::getIId, bo.getIId());
+        lqw.eq(bo.getIncidentId() != null, IncidentProcess::getIncidentId, bo.getIncidentId());
         lqw.eq(StringUtils.isNotBlank(bo.getDes()), IncidentProcess::getDes, bo.getDes());
         return lqw;
     }

+ 48 - 3
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentServiceImpl.java

@@ -1,12 +1,22 @@
 package com.ruoyi.zhdd.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.convert.Convert;
+import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.core.page.PagePlus;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.zhdd.domain.IncidentProcess;
+import com.ruoyi.zhdd.domain.IncidentTask;
+import com.ruoyi.zhdd.domain.PlanTask;
+import com.ruoyi.zhdd.domain.bo.IncidentProcessBo;
+import com.ruoyi.zhdd.domain.vo.IncidentProcessVo;
 import com.ruoyi.zhdd.service.IIncidentProcessService;
+import com.ruoyi.zhdd.service.IIncidentTaskService;
+import com.ruoyi.zhdd.service.IPlanService;
+import com.ruoyi.zhdd.service.IPlanTaskService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
@@ -19,6 +29,8 @@ import com.ruoyi.zhdd.mapper.IncidentMapper;
 import com.ruoyi.zhdd.service.IIncidentService;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.sql.Timestamp;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Collection;
@@ -34,6 +46,10 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
 
     @Autowired
     private IIncidentProcessService incidentProcessService;
+    @Autowired
+    private IPlanService planService;
+    @Autowired
+    private IIncidentTaskService incidentTaskService;
 
     @Override
     public IncidentVo queryById(Long id){
@@ -70,6 +86,8 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
         lqw.eq(bo.getStatus() != null, Incident::getStatus, bo.getStatus());
         lqw.eq(bo.getMadinDept() != null, Incident::getMadinDept, bo.getMadinDept());
         lqw.eq(StringUtils.isNotBlank(bo.getAssistDept()), Incident::getAssistDept, bo.getAssistDept());
+        lqw.between(params.get("beginTime") != null && params.get("endTime") != null,
+            Incident::getCreateTime, Timestamp.valueOf(Convert.toStr(params.get("beginTime"))+ " 00:00:00"), Timestamp.valueOf(Convert.toStr(params.get("endTime")) + " 23:59:59"));
         return lqw;
     }
 
@@ -81,16 +99,43 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean updateByBo(IncidentBo bo) {
         // 是否为状态变更
-//        boolean flag = false;
+        boolean flag = false;
         // 查询变更前信息
         IncidentVo beforeInfo = getVoById(bo.getId());
-        /*if (beforeInfo != null) {
+        if (beforeInfo != null) {
             flag = !(beforeInfo.getStatus().equals(bo.getStatus()));
-        }*/
+        }
         Incident update = BeanUtil.toBean(bo, Incident.class);
         validEntityBeforeSave(update);
+        if (flag && bo.getStatus() == 3) {
+            // 待处置状态
+            if (StrUtil.isBlank(bo.getMadinDept())) {
+                throw new ServiceException("请选择主办单位!");
+            }
+            // 查询初始设置的处置方案
+            List<PlanTask> planTask = planService.queryTask(bo.getMadinDept(), bo.getType(), bo.getLevel());
+            List<IncidentTask> incidentTasks = new ArrayList<>();
+            for (PlanTask task : planTask) {
+                IncidentTask incidentTask = new IncidentTask();
+                incidentTask.setIncidentId(update.getId());
+                incidentTask.setTaskName(task.getTaskName());
+                incidentTask.setTaskDes(task.getTaskDes());
+                incidentTask.setSource(1);
+                incidentTasks.add(incidentTask);
+            }
+            incidentTaskService.saveAll(incidentTasks);
+        } else if (flag && bo.getStatus() == 4) {
+            // 如果为归档的话,处置过程至少有一个
+            IncidentProcessBo incidentProcessBo = new IncidentProcessBo();
+            incidentProcessBo.setIncidentId(update.getId());
+            List<IncidentProcessVo> incidentProcessVos = incidentProcessService.queryList(incidentProcessBo);
+            if (incidentProcessVos.size() == 0) {
+                throw new ServiceException("至少需要一条处置过程!");
+            }
+        }
         return updateById(update);
     }
 

+ 83 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentTaskServiceImpl.java

@@ -0,0 +1,83 @@
+package com.ruoyi.zhdd.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.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
+import com.ruoyi.common.core.page.PagePlus;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.zhdd.domain.IncidentTask;
+import com.ruoyi.zhdd.domain.bo.IncidentTaskBo;
+import com.ruoyi.zhdd.domain.vo.IncidentTaskVo;
+import com.ruoyi.zhdd.mapper.IncidentTaskMapper;
+import com.ruoyi.zhdd.service.IIncidentTaskService;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 事件处置流程Service业务层处理
+ *
+ * @author xitong
+ * @date 2021-09-28
+ */
+@Service
+public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper, IncidentTask, IncidentTaskVo> implements IIncidentTaskService {
+
+    @Override
+    public IncidentTaskVo queryById(Long id){
+        return getVoById(id);
+    }
+
+    @Override
+    public TableDataInfo<IncidentTaskVo> queryPageList(IncidentTaskBo bo) {
+        PagePlus<IncidentTask, IncidentTaskVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
+        return PageUtils.buildDataInfo(result);
+    }
+
+    @Override
+    public List<IncidentTaskVo> queryList(IncidentTaskBo bo) {
+        return listVo(buildQueryWrapper(bo));
+    }
+
+    private LambdaQueryWrapper<IncidentTask> buildQueryWrapper(IncidentTaskBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<IncidentTask> lqw = Wrappers.lambdaQuery();
+        lqw.eq(bo.getIncidentId() != null, IncidentTask::getIncidentId, bo.getIncidentId());
+        return lqw;
+    }
+
+    @Override
+    public Boolean insertByBo(IncidentTaskBo bo) {
+        IncidentTask add = BeanUtil.toBean(bo, IncidentTask.class);
+        validEntityBeforeSave(add);
+        return save(add);
+    }
+
+    @Override
+    public Boolean updateByBo(IncidentTaskBo bo) {
+        IncidentTask update = BeanUtil.toBean(bo, IncidentTask.class);
+        validEntityBeforeSave(update);
+        return updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(IncidentTask entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return removeByIds(ids);
+    }
+}

+ 5 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/PlanServiceImpl.java

@@ -163,4 +163,9 @@ public class PlanServiceImpl extends ServicePlusImpl<PlanMapper, Plan, PlanVo> i
         planFileService.remove(Wrappers.<PlanFile>lambdaQuery().in(PlanFile::getPlanId, ids));
         return true;
     }
+
+    @Override
+    public List<PlanTask> queryTask(String dept, Integer type, Integer level) {
+        return baseMapper.queryTask(dept, type, level);
+    }
 }

+ 1 - 1
ruoyi-zhdd/src/main/resources/mapper/zhdd/IncidentProcessMapper.xml

@@ -6,7 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <resultMap type="com.ruoyi.zhdd.domain.IncidentProcess" id="IncidentProcessResult">
         <result property="id" column="id"/>
-        <result property="iId" column="i_id"/>
+        <result property="incidentId" column="incident_id"/>
         <result property="des" column="des"/>
         <result property="createTime" column="create_time"/>
         <result property="createBy" column="create_by"/>

+ 18 - 0
ruoyi-zhdd/src/main/resources/mapper/zhdd/IncidentTaskMapper.xml

@@ -0,0 +1,18 @@
+<?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.zhdd.mapper.IncidentTaskMapper">
+
+    <resultMap type="com.ruoyi.zhdd.domain.IncidentTask" id="IncidentTaskResult">
+        <result property="id" column="id"/>
+        <result property="incidentId" column="incident_id"/>
+        <result property="taskName" column="task_name"/>
+        <result property="taskDes" column="task_des"/>
+        <result property="createTime" column="create_time"/>
+        <result property="createBy" column="create_by"/>
+        <result property="source" column="source"/>
+    </resultMap>
+
+
+</mapper>

+ 9 - 1
ruoyi-zhdd/src/main/resources/mapper/zhdd/PlanMapper.xml

@@ -8,7 +8,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="id" column="id"/>
         <result property="name" column="name"/>
         <result property="type" column="type"/>
-        <result property="level" column="level"/>
         <result property="createBy" column="create_by"/>
         <result property="createTime" column="create_time"/>
         <result property="createDept" column="create_dept"/>
@@ -17,5 +16,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="delFlag" column="del_flag"/>
     </resultMap>
 
+    <select id="queryTask" resultType="com.ruoyi.zhdd.domain.PlanTask">
+        select t2.task_name taskName, t2.task_des taskDes
+        from b_plan t1
+                 left join b_plan_task t2 on t1.id = t2.plan_id
+        where t1.type = #{type}
+          and t2.level = #{level}
+          and create_dept = #{dept}
+    </select>
+
 
 </mapper>

+ 95 - 0
sql/20211103修改.sql

@@ -91,3 +91,98 @@ comment
 on column b_plan_file.file_name is '文件名称';
 comment
 on column b_plan_file.file_url is '文件路径';
+
+
+create table b_incident
+(
+    id          bigint not null primary key,
+    type        smallint,
+    level       smallint,
+    addr        varchar(255),
+    locations   varchar(255),
+    create_dept varchar(64),
+    create_by   varchar(64),
+    create_time timestamp(0),
+    update_by   varchar(64),
+    update_time timestamp(0),
+    del_flag    char default '0',
+    source      varchar(16),
+    des         varchar(2550),
+    pic         varchar(2550),
+    video       varchar(2550),
+    expr1       varchar(255),
+    expr2       varchar(255),
+    expr_json   text,
+    name        varchar(255),
+    status      smallint,
+    madin_dept  integer,
+    assist_dept varchar(255)
+);
+
+comment on table  b_incident is '事件基础表';
+comment on column b_incident.id is '主键id';
+comment on column b_incident.type is '事件类型';
+comment on column b_incident.level is '事件等级';
+comment on column b_incident.addr is '事件地址';
+comment on column b_incident.locations is '经纬度';
+comment on column b_incident.create_dept is '上报部门';
+comment on column b_incident.create_by is '上报人';
+comment on column b_incident.create_time is '上报时间';
+comment on column b_incident.update_by is '修改人';
+comment on column b_incident.update_time is '修改时间';
+comment on column b_incident.source is '事件来源';
+comment on column b_incident.des is '事件描述';
+comment on column b_incident.pic is '上传图片地址';
+comment on column b_incident.video is '上传视频地址';
+comment on column b_incident.expr1 is '拓展1';
+comment on column b_incident.expr2 is '拓展2';
+comment on column b_incident.expr_json is 'json拓展,用于存取多出的字段';
+comment on column b_incident.name is '事件标题';
+comment on column b_incident.status is '事件状态 1:预警,2:事件 3:归档';
+comment on column b_incident.madin_dept is '主办单位';
+comment on column b_incident.assist_dept is '协办单位 多个数据用,分割';
+
+
+create table b_incident_process
+(
+    id          bigint not null primary key,
+    incident_id        bigint,
+    des         varchar(2550),
+    create_time timestamp(0),
+    create_by   varchar(64),
+    status      smallint
+);
+comment on table  b_incident_process is '事件处置流程';
+comment on column b_incident_process.id is '主键id';
+comment on column b_incident_process.incident_id is '所属事件id';
+comment on column b_incident_process.des is '处置过程';
+comment on column b_incident_process.create_time is '过程创建时间';
+comment on column b_incident_process.create_by is '过程创建人';
+comment on column b_incident_process.status is '流程进度当前状态';
+
+
+create table b_incident_task
+(
+    id          bigint not null primary key,
+    incident_id        bigint,
+    task_name   varchar(255),
+    task_des         varchar(2550),
+    source      int,
+    create_time timestamp(0),
+    create_by   varchar(64),
+    del_flag    char default '0'
+);
+
+comment on table  b_incident_task is '事件处置任务';
+comment on column b_incident_task.id is '主键id';
+comment on column b_incident_task.incident_id is '所属事件id';
+comment on column b_incident_task.task_name is '事件任务名称';
+comment on column b_incident_task.task_des is '任务内容';
+comment on column b_incident_task.source is '任务内容来源。1-内置。2-新增';
+comment on column b_incident_task.create_time is '过程创建时间';
+comment on column b_incident_task.create_by is '过程创建人';
+
+INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, status, create_by, create_time, update_by, update_time, remark) VALUES (18, '应急资源', 'zhdd_resource', '0', 'admin', '2021-09-28 15:55:09', 'admin', '2021-09-28 15:55:09', null);
+INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES (127, 0, '应急仓库', '1', 'zhdd_resource', null, 'default', 'N', '0', 'admin', '2021-09-28 15:57:23', 'admin', '2021-09-28 15:57:23', null);
+INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES (128, 0, '应急队伍', '2', 'zhdd_resource', null, 'default', 'N', '0', 'admin', '2021-09-28 15:57:23', 'admin', '2021-09-28 15:57:23', null);
+INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES (129, 0, '应急车辆', '3', 'zhdd_resource', null, 'default', 'N', '0', 'admin', '2021-09-28 15:57:23', 'admin', '2021-09-28 15:57:23', null);