459242451@qq.com 3 år sedan
förälder
incheckning
d58968f784
25 ändrade filer med 536 tillägg och 66 borttagningar
  1. 93 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhdd/BigScreenController.java
  2. 5 13
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhdd/IncidentController.java
  3. 0 4
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/IncidentTask.java
  4. 56 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/IncidentTaskCommand.java
  5. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/IncidentTaskPerson.java
  6. 3 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentBo.java
  7. 0 6
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentTaskBo.java
  8. 63 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentTaskCommandBo.java
  9. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentTaskPersonBo.java
  10. 5 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentTasksBo.java
  11. 44 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentTaskCommandVo.java
  12. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentTaskPersonVo.java
  13. 3 6
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentTaskVo.java
  14. 15 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/mapper/IncidentTaskCommandMapper.java
  15. 59 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/IIncidentTaskCommandService.java
  16. 2 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/IIncidentTaskService.java
  17. 13 12
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentServiceImpl.java
  18. 90 0
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentTaskCommandServiceImpl.java
  19. 1 1
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentTaskPersonServiceImpl.java
  20. 37 9
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentTaskServiceImpl.java
  21. 10 2
      ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/PlanServiceImpl.java
  22. 16 0
      ruoyi-zhdd/src/main/resources/mapper/zhdd/IncidentTaskCommandMapper.xml
  23. 0 2
      ruoyi-zhdd/src/main/resources/mapper/zhdd/IncidentTaskMapper.xml
  24. 1 1
      ruoyi-zhdd/src/main/resources/mapper/zhdd/IncidentTaskPersonMapper.xml
  25. 17 6
      sql/20211103修改.sql

+ 93 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhdd/BigScreenController.java

@@ -0,0 +1,93 @@
+package com.ruoyi.web.controller.zhdd;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+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.AjaxResult;
+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.core.validate.QueryGroup;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.zhdd.domain.Incident;
+import com.ruoyi.zhdd.domain.IncidentProcess;
+import com.ruoyi.zhdd.domain.IncidentTask;
+import com.ruoyi.zhdd.domain.IncidentTaskPerson;
+import com.ruoyi.zhdd.domain.Plan;
+import com.ruoyi.zhdd.domain.bo.IncidentBo;
+import com.ruoyi.zhdd.domain.bo.IncidentTaskBo;
+import com.ruoyi.zhdd.domain.bo.IncidentTasksBo;
+import com.ruoyi.zhdd.domain.vo.IncidentVo;
+import com.ruoyi.zhdd.domain.vo.PlanVo;
+import com.ruoyi.zhdd.service.IIncidentProcessService;
+import com.ruoyi.zhdd.service.IIncidentService;
+import com.ruoyi.zhdd.service.IIncidentTaskPersonService;
+import com.ruoyi.zhdd.service.IIncidentTaskService;
+import com.ruoyi.zhdd.service.IPlanService;
+import com.ruoyi.zhdd.service.IPlanTaskService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 事件基础Controller
+ *
+ * @author xitong
+ * @date 2021-09-28
+ */
+@Validated
+@Api(value = "大屏接口控制器", tags = {"大屏接口管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/zhdd/bigscreen")
+public class BigScreenController extends BaseController {
+
+    private final IIncidentService iIncidentService;
+
+    private final IIncidentTaskService incidentTaskService;
+
+    private final IIncidentTaskPersonService incidentTaskPersonService;
+
+    private final IIncidentProcessService iIncidentProcessService;
+
+    private final IPlanTaskService planTaskService;
+
+    private final IPlanService planService;
+
+    /**
+     * 查询事件基础列表
+     */
+    @ApiOperation("大屏查询事件列表数据")
+    @GetMapping("/incident/list")
+    public AjaxResult<List<IncidentVo>> list(@Validated(QueryGroup.class) IncidentBo bo) {
+        return AjaxResult.success(iIncidentService.listVo(Wrappers.<Incident>lambdaQuery()
+            .eq(Incident::getStatus, 3)
+            .in(Incident::getLevel, 1, 2)
+            .orderByDesc(Incident::getCreateTime)));
+    }
+
+
+}

+ 5 - 13
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhdd/IncidentController.java

@@ -108,14 +108,14 @@ public class IncidentController extends BaseController {
         IncidentVo incidentVo = iIncidentService.queryById(id);
         map.put("baseInfo", incidentVo);
         // 查询所属预案
-        PlanVo voOne = planService.getVoOne(Wrappers.<Plan>lambdaQuery().eq(Plan::getType, incidentVo.getType()).eq(Plan::getCreateDept, incidentVo.getCreateDept()));
-        if (voOne != null) {
-            map.put("baseTask", planTaskService.queryPlanTaskByPlanId(voOne.getId()));
+        List<PlanVo> voOne = planService.listVo(Wrappers.<Plan>lambdaQuery().eq(Plan::getType, incidentVo.getType()).eq(Plan::getCreateDept, incidentVo.getCreateDept()));
+        if (voOne != null && voOne.size() > 0) {
+            map.put("baseTask", planTaskService.queryPlanTaskByPlanId(voOne.get(0).getId()));
         } else {
             map.put("baseTask", null);
         }
-        map.put("task", incidentTaskService.list(Wrappers.<IncidentTask>lambdaQuery().eq(IncidentTask::getIncidentId, id)));
-        map.put("taskPerson", incidentTaskPersonService.list(Wrappers.<IncidentTaskPerson>lambdaQuery().eq(IncidentTaskPerson::getIncidentId, id)));
+        // 查询处置方案
+        map.put("task", incidentTaskService.listTaskInfo(id));
         map.put("process", iIncidentProcessService.list(Wrappers.<IncidentProcess>lambdaQuery()
             .eq(IncidentProcess::getIncidentId, id).orderByAsc(IncidentProcess::getCreateTime)));
         return AjaxResult.success(map);
@@ -167,14 +167,6 @@ public class IncidentController extends BaseController {
         return toAjax(incidentTaskService.insertByBo(bo) ? 1 : 0);
     }
 
-    @ApiOperation("修改事件方案")
-    @Log(title = "事件方案", businessType = BusinessType.UPDATE)
-    @RepeatSubmit()
-    @PutMapping("/task")
-    public AjaxResult<Void> editTask(@Validated(AddGroup.class) @RequestBody IncidentTaskBo bo) {
-        return toAjax(incidentTaskService.updateByBo(bo) ? 1 : 0);
-    }
-
     @ApiOperation("删除事件方案")
     @Log(title = "事件方案", businessType = BusinessType.DELETE)
     @DeleteMapping("/task/{ids}")

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

@@ -41,10 +41,6 @@ public class IncidentTask implements Serializable {
 
     private String taskName;
 
-    private String taskDes;
-
-    private Integer source;
-
     @TableLogic
     private String delFlag;
 

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

@@ -0,0 +1,56 @@
+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_command")
+public class IncidentTaskCommand implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private String id;
+
+    /**
+     * 所属事件id
+     */
+    private String incidentTaskId;
+
+    private String command;
+
+    /**
+     * 过程创建时间
+     */
+    @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/IncidentTaskPerson.java

@@ -32,7 +32,7 @@ public class IncidentTaskPerson implements Serializable {
     /**
      * 事件id
      */
-    private String incidentId;
+    private String incidentTaskId;
 
     /**
      * 人员职位

+ 3 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/bo/IncidentBo.java

@@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode;
 import javax.validation.constraints.*;
 
 import java.util.Date;
+import java.util.List;
 
 import com.ruoyi.common.core.domain.BaseEntity;
 
@@ -44,6 +45,8 @@ public class IncidentBo extends BaseEntity {
     @NotNull(message = "level不能为空", groups = { AddGroup.class })
     private Integer level;
 
+    private List<Integer> levels;
+
     /**
      * 事件地址
      */

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

@@ -42,12 +42,6 @@ public class IncidentTaskBo extends BaseEntity {
     @NotBlank(message = "taskName不能为空", groups = { AddGroup.class, EditGroup.class })
     private String taskName;
 
-    @ApiModelProperty(value = "任务描述")
-//    @NotBlank(message = "taskDes不能为空", groups = { AddGroup.class })
-    private String taskDes;
-
-    private Integer source;
-
     private String delFlag;
 
     /**

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

@@ -0,0 +1,63 @@
+package com.ruoyi.zhdd.domain.bo;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 事件处置方案人员业务对象 b_incident_task_person
+ *
+ * @author xintong
+ * @date 2021-11-27
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("事件处置方案指令业务对象")
+public class IncidentTaskCommandBo extends BaseEntity {
+
+    /**
+     * 主键
+     */
+    @ApiModelProperty(value = "主键")
+    private String id;
+
+    /**
+     * 事件方案id
+     */
+    @ApiModelProperty(value = "事件方案id")
+    private String incidentTaskId;
+
+    /**
+     * 指令
+     */
+    @ApiModelProperty(value = "指令")
+    private String command;
+
+    /**
+     * 分页大小
+     */
+    @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/IncidentTaskPersonBo.java

@@ -34,7 +34,7 @@ public class IncidentTaskPersonBo extends BaseEntity {
      * 事件id
      */
     @ApiModelProperty(value = "事件id")
-    private String incidentId;
+    private String incidentTaskId;
 
     /**
      * 人员职位

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

@@ -2,6 +2,7 @@ package com.ruoyi.zhdd.domain.bo;
 
 import com.ruoyi.common.core.validate.AddGroup;
 import com.ruoyi.zhdd.domain.IncidentTask;
+import com.ruoyi.zhdd.domain.IncidentTaskCommand;
 import com.ruoyi.zhdd.domain.IncidentTaskPerson;
 import lombok.Data;
 
@@ -17,8 +18,11 @@ import java.util.List;
 @Data
 public class IncidentTasksBo {
 
+    private String id;
     @NotBlank(message = "incidentId不能为空", groups = { AddGroup.class })
     private String incidentId;
-    private List<IncidentTask> incidentTasks;
+    @NotBlank(message = "taskName不能为空", groups = { AddGroup.class })
+    private String taskName;
+    private List<IncidentTaskCommand> incidentTaskCommands;
     private List<IncidentTaskPerson> incidentTaskPeoples;
 }

+ 44 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentTaskCommandVo.java

@@ -0,0 +1,44 @@
+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;
+
+
+/**
+ * 事件处置方案人员视图对象 b_incident_task_person
+ *
+ * @author xintong
+ * @date 2021-11-27
+ */
+@Data
+@ApiModel("事件处置方案指令视图对象")
+@ExcelIgnoreUnannotated
+public class IncidentTaskCommandVo {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+     *  主键
+     */
+	@ApiModelProperty("主键")
+	private String id;
+
+    /**
+     * 事件id
+     */
+	@ExcelProperty(value = "事件方案id")
+	@ApiModelProperty("事件方案id")
+	private String incidentTaskId;
+
+    /**
+     * 指令
+     */
+	@ExcelProperty(value = "指令")
+	@ApiModelProperty("指令")
+	private String command;
+
+
+}

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

@@ -35,7 +35,7 @@ public class IncidentTaskPersonVo {
      */
 	@ExcelProperty(value = "事件id")
 	@ApiModelProperty("事件id")
-	private String incidentId;
+	private String incidentTaskId;
 
     /**
      * 人员职位

+ 3 - 6
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/domain/vo/IncidentTaskVo.java

@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.Date;
+import java.util.List;
 
 
 /**
@@ -38,13 +39,9 @@ public class IncidentTaskVo {
     @ApiModelProperty(value = "任务名称")
     private String taskName;
 
-    private Integer source;
+    private List<IncidentTaskCommandVo> taskCommandVos;
 
-    /**
-     * 处置过程
-     */
-	@ApiModelProperty("任务描述")
-	private String taskDes;
+    private List<IncidentTaskPersonVo> taskPersonVos;
 
     @ExcelProperty(value = "创建人")
     @ApiModelProperty("创建人")

+ 15 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/mapper/IncidentTaskCommandMapper.java

@@ -0,0 +1,15 @@
+package com.ruoyi.zhdd.mapper;
+
+import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
+import com.ruoyi.zhdd.domain.IncidentTaskCommand;
+import com.ruoyi.zhdd.domain.IncidentTaskPerson;
+
+/**
+ * 事件处置方案人员Mapper接口
+ *
+ * @author xintong
+ * @date 2021-11-27
+ */
+public interface IncidentTaskCommandMapper extends BaseMapperPlus<IncidentTaskCommand> {
+
+}

+ 59 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/IIncidentTaskCommandService.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.IncidentTaskCommand;
+import com.ruoyi.zhdd.domain.IncidentTaskPerson;
+import com.ruoyi.zhdd.domain.bo.IncidentTaskCommandBo;
+import com.ruoyi.zhdd.domain.bo.IncidentTaskPersonBo;
+import com.ruoyi.zhdd.domain.vo.IncidentTaskCommandVo;
+import com.ruoyi.zhdd.domain.vo.IncidentTaskPersonVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 事件处置方案人员Service接口
+ *
+ * @author xintong
+ * @date 2021-11-27
+ */
+public interface IIncidentTaskCommandService extends IServicePlus<IncidentTaskCommand, IncidentTaskCommandVo> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	IncidentTaskCommandVo queryById(String id);
+
+	/**
+	 * 查询列表
+	 */
+    TableDataInfo<IncidentTaskCommandVo> queryPageList(IncidentTaskCommandBo bo);
+
+	/**
+	 * 查询列表
+	 */
+	List<IncidentTaskCommandVo> queryList(IncidentTaskCommandBo bo);
+
+	/**
+	 * 根据新增业务对象插入事件处置方案人员
+	 * @param bo 事件处置方案人员新增业务对象
+	 * @return
+	 */
+	Boolean insertByBo(IncidentTaskCommandBo bo);
+
+	/**
+	 * 根据编辑业务对象修改事件处置方案人员
+	 * @param bo 事件处置方案人员编辑业务对象
+	 * @return
+	 */
+	Boolean updateByBo(IncidentTaskCommandBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
+}

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

@@ -57,4 +57,6 @@ public interface IIncidentTaskService extends IServicePlus<IncidentTask, Inciden
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
+
+    List<IncidentTaskVo> listTaskInfo(String id);
 }

+ 13 - 12
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentServiceImpl.java

@@ -89,6 +89,7 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
         if (params.get("beginTime") != null && params.get("endTime") != null) {
             lqw.between(Incident::getCreateTime, Timestamp.valueOf(Convert.toStr(params.get("beginTime"))+ " 00:00:00"), Timestamp.valueOf(Convert.toStr(params.get("endTime")) + " 23:59:59"));
         }
+        lqw.in(bo.getLevels() != null && bo.getLevels().size() > 0, Incident::getLevel, bo.getLevels());
         return lqw;
     }
 
@@ -116,18 +117,18 @@ public class IncidentServiceImpl extends ServicePlusImpl<IncidentMapper, Inciden
             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);
+//            // 查询初始设置的处置方案
+//            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();

+ 90 - 0
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentTaskCommandServiceImpl.java

@@ -0,0 +1,90 @@
+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.common.utils.StringUtils;
+import com.ruoyi.zhdd.domain.IncidentTaskCommand;
+import com.ruoyi.zhdd.domain.IncidentTaskPerson;
+import com.ruoyi.zhdd.domain.bo.IncidentTaskCommandBo;
+import com.ruoyi.zhdd.domain.bo.IncidentTaskPersonBo;
+import com.ruoyi.zhdd.domain.vo.IncidentTaskCommandVo;
+import com.ruoyi.zhdd.domain.vo.IncidentTaskPersonVo;
+import com.ruoyi.zhdd.mapper.IncidentTaskCommandMapper;
+import com.ruoyi.zhdd.mapper.IncidentTaskPersonMapper;
+import com.ruoyi.zhdd.service.IIncidentTaskCommandService;
+import com.ruoyi.zhdd.service.IIncidentTaskPersonService;
+import org.springframework.stereotype.Service;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 事件处置方案人员Service业务层处理
+ *
+ * @author xintong
+ * @date 2021-11-27
+ */
+@Service
+public class IncidentTaskCommandServiceImpl extends ServicePlusImpl<IncidentTaskCommandMapper, IncidentTaskCommand, IncidentTaskCommandVo> implements IIncidentTaskCommandService {
+
+    @Override
+    public IncidentTaskCommandVo queryById(String id){
+        return getVoById(id);
+    }
+
+    @Override
+    public TableDataInfo<IncidentTaskCommandVo> queryPageList(IncidentTaskCommandBo bo) {
+        PagePlus<IncidentTaskCommand, IncidentTaskCommandVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
+        return PageUtils.buildDataInfo(result);
+    }
+
+    @Override
+    public List<IncidentTaskCommandVo> queryList(IncidentTaskCommandBo bo) {
+        return listVo(buildQueryWrapper(bo));
+    }
+
+    private LambdaQueryWrapper<IncidentTaskCommand> buildQueryWrapper(IncidentTaskCommandBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<IncidentTaskCommand> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getIncidentTaskId()), IncidentTaskCommand::getIncidentTaskId, bo.getIncidentTaskId());
+        lqw.eq(StringUtils.isNotBlank(bo.getCommand()), IncidentTaskCommand::getCommand, bo.getCommand());
+        return lqw;
+    }
+
+    @Override
+    public Boolean insertByBo(IncidentTaskCommandBo bo) {
+        IncidentTaskCommand add = BeanUtil.toBean(bo, IncidentTaskCommand.class);
+        validEntityBeforeSave(add);
+        return save(add);
+    }
+
+    @Override
+    public Boolean updateByBo(IncidentTaskCommandBo bo) {
+        IncidentTaskCommand update = BeanUtil.toBean(bo, IncidentTaskCommand.class);
+        validEntityBeforeSave(update);
+        return updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(IncidentTaskCommand entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return removeByIds(ids);
+    }
+}

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

@@ -47,7 +47,7 @@ public class IncidentTaskPersonServiceImpl extends ServicePlusImpl<IncidentTaskP
     private LambdaQueryWrapper<IncidentTaskPerson> buildQueryWrapper(IncidentTaskPersonBo bo) {
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<IncidentTaskPerson> lqw = Wrappers.lambdaQuery();
-        lqw.eq(StringUtils.isNotBlank(bo.getIncidentId()), IncidentTaskPerson::getIncidentId, bo.getIncidentId());
+        lqw.eq(StringUtils.isNotBlank(bo.getIncidentTaskId()), IncidentTaskPerson::getIncidentTaskId, bo.getIncidentTaskId());
         lqw.eq(StringUtils.isNotBlank(bo.getPosition()), IncidentTaskPerson::getPosition, bo.getPosition());
         lqw.eq(StringUtils.isNotBlank(bo.getPerson()), IncidentTaskPerson::getPerson, bo.getPerson());
         return lqw;

+ 37 - 9
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/IncidentTaskServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ruoyi.zhdd.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
@@ -8,11 +9,14 @@ 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.IncidentTaskCommand;
 import com.ruoyi.zhdd.domain.IncidentTaskPerson;
+import com.ruoyi.zhdd.domain.Plan;
 import com.ruoyi.zhdd.domain.bo.IncidentTaskBo;
 import com.ruoyi.zhdd.domain.bo.IncidentTasksBo;
 import com.ruoyi.zhdd.domain.vo.IncidentTaskVo;
 import com.ruoyi.zhdd.mapper.IncidentTaskMapper;
+import com.ruoyi.zhdd.service.IIncidentTaskCommandService;
 import com.ruoyi.zhdd.service.IIncidentTaskPersonService;
 import com.ruoyi.zhdd.service.IIncidentTaskService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +38,8 @@ public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper,
 
     @Autowired
     private IIncidentTaskPersonService incidentTaskPersonService;
+    @Autowired
+    private IIncidentTaskCommandService incidentTaskCommandService;
 
     @Override
     public IncidentTaskVo queryById(String id){
@@ -61,17 +67,26 @@ public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper,
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean insertByBo(IncidentTasksBo bo) {
-        // 新增之前情况内容
-        remove(Wrappers.<IncidentTask>lambdaQuery().eq(IncidentTask::getIncidentId, bo.getIncidentId()));
-        incidentTaskPersonService.remove(Wrappers.<IncidentTaskPerson>lambdaQuery().eq(IncidentTaskPerson::getIncidentId, bo.getIncidentId()));
-        for (IncidentTask incidentTask : bo.getIncidentTasks()) {
-            incidentTask.setIncidentId(bo.getIncidentId());
-            incidentTask.setSource(2);
+        // 新增之前删除之前的内容
+        if (StrUtil.isNotBlank(bo.getId())) {
+            removeById(bo.getId());
+            incidentTaskPersonService.remove(Wrappers.<IncidentTaskPerson>lambdaQuery().eq(IncidentTaskPerson::getIncidentTaskId, bo.getId()));
+            incidentTaskCommandService.remove(Wrappers.<IncidentTaskCommand>lambdaQuery().eq(IncidentTaskCommand::getIncidentTaskId, bo.getId()));
+        }
+        IncidentTask add = BeanUtil.toBean(bo, IncidentTask.class);
+        save(add);
+        // 新增指令和人员
+        if (bo.getIncidentTaskCommands() != null) {
+            for (IncidentTaskCommand incidentTaskCommand : bo.getIncidentTaskCommands()) {
+                incidentTaskCommand.setIncidentTaskId(add.getId());
+            }
         }
-        for (IncidentTaskPerson incidentTaskPeople : bo.getIncidentTaskPeoples()) {
-            incidentTaskPeople.setIncidentId(bo.getIncidentId());
+        if (bo.getIncidentTaskPeoples() != null) {
+            for (IncidentTaskPerson incidentTaskPeople : bo.getIncidentTaskPeoples()) {
+                incidentTaskPeople.setIncidentTaskId(add.getId());
+            }
         }
-        saveAll(bo.getIncidentTasks());
+        incidentTaskCommandService.saveAll(bo.getIncidentTaskCommands());
         incidentTaskPersonService.saveAll(bo.getIncidentTaskPeoples());
         return true;
     }
@@ -83,6 +98,19 @@ public class IncidentTaskServiceImpl extends ServicePlusImpl<IncidentTaskMapper,
         return updateById(update);
     }
 
+    @Override
+    public List<IncidentTaskVo> listTaskInfo(String id) {
+        List<IncidentTaskVo> incidentTaskVo = listVo(Wrappers.<IncidentTask>lambdaQuery().eq(IncidentTask::getIncidentId, id));
+        if (incidentTaskVo != null) {
+            // 查询指令和人员
+            for (IncidentTaskVo taskVo : incidentTaskVo) {
+                taskVo.setTaskCommandVos(incidentTaskCommandService.listVo(Wrappers.<IncidentTaskCommand>lambdaQuery().eq(IncidentTaskCommand::getIncidentTaskId,taskVo.getId())));
+                taskVo.setTaskPersonVos(incidentTaskPersonService.listVo(Wrappers.<IncidentTaskPerson>lambdaQuery().eq(IncidentTaskPerson::getIncidentTaskId,taskVo.getId())));
+            }
+        }
+        return incidentTaskVo;
+    }
+
     /**
      * 保存前的数据校验
      *

+ 10 - 2
ruoyi-zhdd/src/main/java/com/ruoyi/zhdd/service/impl/PlanServiceImpl.java

@@ -3,6 +3,7 @@ package com.ruoyi.zhdd.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
+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;
@@ -103,6 +104,11 @@ public class PlanServiceImpl extends ServicePlusImpl<PlanMapper, Plan, PlanVo> i
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean insertByBo(PlanBo bo) {
+        // 根据类型和部门查询是否存在数据
+        List<PlanVo> planVos = listVo(Wrappers.<Plan>lambdaQuery().eq(Plan::getType, bo.getType()).eq(Plan::getCreateDept, bo.getCreateDept()));
+        if (planVos != null && planVos.size() > 0) {
+            throw new ServiceException("已存在该类型的预案,请勿重复输入!");
+        }
         Plan add = BeanUtil.toBean(bo, Plan.class);
         validEntityBeforeSave(add);
         save(add);
@@ -112,8 +118,10 @@ public class PlanServiceImpl extends ServicePlusImpl<PlanMapper, Plan, PlanVo> i
             planTask.setPlanId(planId);
         }
         // 处理预案文件
-        for (PlanFile planFile : bo.getPlanFiles()) {
-            planFile.setPlanId(planId);
+        if (bo.getPlanFiles() != null) {
+            for (PlanFile planFile : bo.getPlanFiles()) {
+                planFile.setPlanId(planId);
+            }
         }
         planTaskService.saveAll(bo.getPlanTasks());
         planFileService.saveAll(bo.getPlanFiles());

+ 16 - 0
ruoyi-zhdd/src/main/resources/mapper/zhdd/IncidentTaskCommandMapper.xml

@@ -0,0 +1,16 @@
+<?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.IncidentTaskCommandMapper">
+
+    <resultMap type="com.ruoyi.zhdd.domain.IncidentTaskCommand" id="IncidentTaskCommandResult">
+        <result property="id" column="id"/>
+        <result property="incidentTaskId" column="incident_task_id"/>
+        <result property="command" column="command"/>
+        <result property="createTime" column="create_time"/>
+        <result property="createBy" column="create_by"/>
+    </resultMap>
+
+
+</mapper>

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

@@ -8,10 +8,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <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>
 
 

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

@@ -6,7 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <resultMap type="com.ruoyi.zhdd.domain.IncidentTaskPerson" id="IncidentTaskPersonResult">
         <result property="id" column="id"/>
-        <result property="incidentId" column="incident_id"/>
+        <result property="incidentTaskId" column="incident_task_id"/>
         <result property="position" column="position"/>
         <result property="person" column="person"/>
         <result property="createTime" column="create_time"/>

+ 17 - 6
sql/20211103修改.sql

@@ -166,8 +166,6 @@ 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'
@@ -177,8 +175,6 @@ 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 '过程创建人';
 
@@ -216,6 +212,8 @@ alter table b_incident_task alter column incident_id type varchar(36) using inci
 alter table b_plan_file alter column plan_id type varchar(36) using plan_id::varchar(36);
 alter table b_plan_task alter column plan_id type varchar(36) using plan_id::varchar(36);
 alter table b_resource_detail alter column resource_id type varchar(36) using resource_id::varchar(36);
+alter table b_incident alter column madin_dept type varchar(36) using madin_dept::varchar(36);
+
 
 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) VALUES (138, 0, '皮卡', '皮卡', 'zhdd_car_type', null, 'default', 'N', '0', 'admin', '2021-09-28 15:57:23', 'admin', '2021-09-28 15:57:23');
 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) VALUES (139, 0, '轿车', '轿车', 'zhdd_car_type', null, 'default', 'N', '0', 'admin', '2021-09-28 15:57:23', 'admin', '2021-09-28 15:57:23');
@@ -225,7 +223,7 @@ INSERT INTO sys_dict_type (dict_id, dict_name, dict_type, status, create_by, cre
 create table b_incident_task_person
 (
     id varchar(36),
-    incident_id varchar(36),
+    incident_task_id varchar(36),
     position varchar(20),
     person varchar(10),
     create_time timestamp(0),
@@ -233,8 +231,21 @@ create table b_incident_task_person
 );
 comment on table b_incident_task_person is '事件处置方案人员';
 comment on column b_incident_task_person.id is '主键';
-comment on column b_incident_task_person.incident_id is '事件id';
+comment on column b_incident_task_person.incident_task_id is '事件id';
 comment on column b_incident_task_person.position is '人员职位';
 comment on column b_incident_task_person.person is '人员姓名';
 
+create table b_incident_task_command
+(
+    id          varchar(36),
+    incident_task_id varchar(36),
+    command    varchar(300),
+    create_time timestamp(0),
+    create_by   varchar(64)
+);
+comment on table  b_incident_task_command is '事件处置方案指令';
+comment on column b_incident_task_command.id is '主键';
+comment on column b_incident_task_command.incident_task_id is '事件方案id';
+comment on column b_incident_task_command.command is '指令';
+