Quellcode durchsuchen

应急预案接口修改

459242451@qq.com vor 3 Jahren
Ursprung
Commit
1dbe1aa5f2

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

@@ -17,7 +17,7 @@ import java.math.BigDecimal;
 @Data
 @NoArgsConstructor
 @Accessors(chain = true)
-@TableName("tbl_plan")
+@TableName("b_plan")
 public class Plan implements Serializable {
 
     private static final long serialVersionUID=1L;
@@ -37,12 +37,7 @@ public class Plan implements Serializable {
     /**
      * 预案类型
      */
-    private Long type;
-
-    /**
-     * 预案等级
-     */
-    private Long level;
+    private Integer type;
 
     /**
      * 创建人

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

@@ -17,7 +17,7 @@ import java.math.BigDecimal;
 @Data
 @NoArgsConstructor
 @Accessors(chain = true)
-@TableName("tbl_plan_task")
+@TableName("b_plan_task")
 public class PlanTask implements Serializable {
 
     private static final long serialVersionUID=1L;
@@ -35,6 +35,11 @@ public class PlanTask implements Serializable {
     private Long planId;
 
     /**
+     * 预案等级
+     */
+    private Integer level;
+
+    /**
      * 任务名称
      */
     private String taskName;

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

@@ -2,6 +2,7 @@ package com.ruoyi.zhdd.domain.bo;
 
 import com.ruoyi.common.core.validate.AddGroup;
 import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.zhdd.domain.PlanTask;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -9,6 +10,7 @@ import lombok.EqualsAndHashCode;
 import javax.validation.constraints.*;
 
 import java.util.Date;
+import java.util.List;
 
 import com.ruoyi.common.core.domain.BaseEntity;
 
@@ -34,24 +36,21 @@ public class PlanBo extends BaseEntity {
      * 预案名称
      */
     @ApiModelProperty(value = "预案名称")
+    @NotBlank(message = "name不能为空", groups = { AddGroup.class, EditGroup.class })
     private String name;
 
     /**
      * 预案类型
      */
     @ApiModelProperty(value = "预案类型")
-    private Long type;
-
-    /**
-     * 预案等级
-     */
-    @ApiModelProperty(value = "预案等级")
-    private Long level;
+    @NotNull(message = "type不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Integer type;
 
     /**
      * 创建部门
      */
     @ApiModelProperty(value = "创建部门")
+    @NotBlank(message = "createDept不能为空", groups = { AddGroup.class, EditGroup.class })
     private String createDept;
 
     /**
@@ -85,4 +84,7 @@ public class PlanBo extends BaseEntity {
     @ApiModelProperty(value = "排序的方向", example = "asc,desc")
     private String isAsc;
 
+    @ApiModelProperty("预案任务")
+    private List<PlanTask> planTasks;
+
 }

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

@@ -37,6 +37,12 @@ public class PlanTaskBo extends BaseEntity {
     private Long planId;
 
     /**
+     * 预案等级
+     */
+    @ApiModelProperty(value = "预案等级")
+    private Integer level;
+
+    /**
      * 任务名称
      */
     @ApiModelProperty(value = "任务名称")

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

@@ -38,6 +38,13 @@ public class PlanTaskVo {
 	private Long planId;
 
     /**
+     * 预案等级
+     */
+    @ExcelProperty(value = "预案等级")
+    @ApiModelProperty("预案等级")
+    private Integer level;
+
+    /**
      * 任务名称
      */
 	@ExcelProperty(value = "任务名称")

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

@@ -8,7 +8,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import java.util.Date;
-
+import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -42,14 +43,7 @@ public class PlanVo {
      */
 	@ExcelProperty(value = "预案类型")
 	@ApiModelProperty("预案类型")
-	private Long type;
-
-    /**
-     * 预案等级
-     */
-	@ExcelProperty(value = "预案等级")
-	@ApiModelProperty("预案等级")
-	private Long level;
+	private Integer type;
 
     /**
      * 创建部门
@@ -65,4 +59,10 @@ public class PlanVo {
     @ExcelProperty(value = "创建时间")
     @ApiModelProperty("创建时间")
     private Date createTime;
+
+    @ExcelProperty(value = "更新时间")
+    @ApiModelProperty("更新时间")
+    private Date updateTime;
+
+    private Map<String, List<PlanTaskVo>> planTasks;
 }

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

@@ -1,10 +1,17 @@
 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.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.PlanTask;
+import com.ruoyi.zhdd.domain.bo.PlanTaskBo;
+import com.ruoyi.zhdd.domain.vo.PlanTaskVo;
+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;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -14,7 +21,10 @@ import com.ruoyi.zhdd.domain.vo.PlanVo;
 import com.ruoyi.zhdd.domain.Plan;
 import com.ruoyi.zhdd.mapper.PlanMapper;
 import com.ruoyi.zhdd.service.IPlanService;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Collection;
@@ -28,9 +38,38 @@ import java.util.Collection;
 @Service
 public class PlanServiceImpl extends ServicePlusImpl<PlanMapper, Plan, PlanVo> implements IPlanService {
 
+    @Autowired
+    private IPlanTaskService planTaskService;
+
     @Override
     public PlanVo queryById(Long id){
-        return getVoById(id);
+        PlanVo voById = getVoById(id);
+        // 查询预案的任务
+        PlanTaskBo planTaskBo = new PlanTaskBo();
+        planTaskBo.setPlanId(id);
+        List<PlanTaskVo> planTaskVos = planTaskService.queryList(planTaskBo);
+        List<PlanTaskVo> one = new ArrayList<>();
+        List<PlanTaskVo> two = new ArrayList<>();
+        List<PlanTaskVo> three = new ArrayList<>();
+        List<PlanTaskVo> four = new ArrayList<>();
+        Map<String, List<PlanTaskVo>> map = new HashMap<>(4);
+        for (PlanTaskVo planTaskVo : planTaskVos) {
+            if (planTaskVo.getLevel() == 1) {
+                one.add(planTaskVo);
+            } else if (planTaskVo.getLevel() == 2) {
+                two.add(planTaskVo);
+            } else if (planTaskVo.getLevel() == 3) {
+                three.add(planTaskVo);
+            } else if (planTaskVo.getLevel() == 4) {
+                four.add(planTaskVo);
+            }
+        }
+        map.put("1", one);
+        map.put("2", two);
+        map.put("3", three);
+        map.put("4", four);
+        voById.setPlanTasks(map);
+        return voById;
     }
 
     @Override
@@ -49,23 +88,37 @@ public class PlanServiceImpl extends ServicePlusImpl<PlanMapper, Plan, PlanVo> i
         LambdaQueryWrapper<Plan> lqw = Wrappers.lambdaQuery();
         lqw.like(StringUtils.isNotBlank(bo.getName()), Plan::getName, bo.getName());
         lqw.eq(bo.getType() != null, Plan::getType, bo.getType());
-        lqw.eq(bo.getLevel() != null, Plan::getLevel, bo.getLevel());
         lqw.eq(StringUtils.isNotBlank(bo.getCreateDept()), Plan::getCreateDept, bo.getCreateDept());
         return lqw;
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean insertByBo(PlanBo bo) {
         Plan add = BeanUtil.toBean(bo, Plan.class);
         validEntityBeforeSave(add);
-        return save(add);
+        save(add);
+        Long planId = add.getId();
+        // 处理预案内容数据
+        for (PlanTask planTask : bo.getPlanTasks()) {
+            planTask.setPlanId(planId);
+        }
+        return planTaskService.saveAll(bo.getPlanTasks());
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean updateByBo(PlanBo bo) {
         Plan update = BeanUtil.toBean(bo, Plan.class);
         validEntityBeforeSave(update);
-        return updateById(update);
+        updateById(update);
+        Long planId = update.getId();
+        // 处理预案内容数据,更新之前先删除
+        planTaskService.remove(Wrappers.<PlanTask>lambdaQuery().eq(PlanTask::getPlanId, planId));
+        for (PlanTask planTask : bo.getPlanTasks()) {
+            planTask.setPlanId(planId);
+        }
+        return planTaskService.saveAll(bo.getPlanTasks());
     }
 
     /**
@@ -78,10 +131,13 @@ public class PlanServiceImpl extends ServicePlusImpl<PlanMapper, Plan, PlanVo> i
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
         if(isValid){
             //TODO 做一些业务上的校验,判断是否需要校验
         }
-        return removeByIds(ids);
+        removeByIds(ids);
+        // 同时删除预案任务数据
+        return planTaskService.remove(Wrappers.<PlanTask>lambdaQuery().in(PlanTask::getPlanId, ids));
     }
 }