浏览代码

修改bug

luowei 2 年之前
父节点
当前提交
e860d3c0c5

+ 6 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/mapper/TMonitoringRetrievalPlanMapper.java

@@ -48,6 +48,12 @@ public interface TMonitoringRetrievalPlanMapper extends BaseMapper<TMonitoringRe
      int updateTMonitoringRetrievalPlan(TMonitoringRetrievalPlan tMonitoringRetrievalPlan);
 
     /**
+     * 逻辑删除计划以及下面所有的子计划
+     * @param tMonitoringRetrievalPlan
+     * @return
+     */
+    int updatePlan(TMonitoringRetrievalPlan tMonitoringRetrievalPlan);
+    /**
      * 删除监控调阅计划
      *
      * @param id 监控调阅计划主键

+ 26 - 24
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/TMonitoringRetrievalPlanServiceImpl.java

@@ -355,30 +355,32 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
                 throw new ServiceException("子任务,不能删除");
             } else {
                 if (monitoringRetrievalPlan.getCreateType() == 0) {
-                    QueryWrapper queryWrapper = new QueryWrapper();
-                    queryWrapper.eq(PARENT_ID, monitoringRetrievalPlan.getId());
-                    List<TMonitoringRetrievalPlan> list = tMonitoringRetrievalPlanMapper.selectList(queryWrapper);
-                    list.add(monitoringRetrievalPlan);
-                    for (TMonitoringRetrievalPlan p : list) {
-                        CoreMonitoringRetrievalTask coreMonitoringRetrievalTask = new CoreMonitoringRetrievalTask();
-                        coreMonitoringRetrievalTask.setPlanId(p.getId());
-                        coreMonitoringRetrievalTask.setStatus("0");
-                        //根据计划查询未完成的任务
-                        List<CoreMonitoringRetrievalTask> coreMonitoringRetrievalTasks = iCoreMonitoringRetrievalTaskService.selectCoreMonitoringRetrievalTaskList(coreMonitoringRetrievalTask);
-                        List<Long> collect = coreMonitoringRetrievalTasks.stream().map(CoreMonitoringRetrievalTask::getId).distinct().collect(Collectors.toList());
-                        if (CollectionUtils.isNotEmpty(collect)) {
-                            Long[] arr = new Long[collect.size()];
-                            collect.toArray(arr);
-                            iCoreMonitoringRetrievalTaskService.deleteCoreMonitoringRetrievalTaskByIds(arr);
-                        }
-                        //删除带调阅任务
-                       // iCoreMonitoringRetrievalTaskService.deleteWaitTaskByPlanId(p.getId());
-                        p.setIsDeleted(2L);
-                        i = tMonitoringRetrievalPlanMapper.updateTMonitoringRetrievalPlan(p);
-                        if (i < 1) {
-                            return i;
-                        }
-                    }
+//                    QueryWrapper queryWrapper = new QueryWrapper();
+//                    queryWrapper.eq(PARENT_ID, monitoringRetrievalPlan.getId());
+//                    List<TMonitoringRetrievalPlan> list = tMonitoringRetrievalPlanMapper.selectList(queryWrapper);
+//                    list.add(monitoringRetrievalPlan);
+//                    List<Long> planIds = new ArrayList<>();
+//                    for (TMonitoringRetrievalPlan p : list) {
+//                        CoreMonitoringRetrievalTask coreMonitoringRetrievalTask = new CoreMonitoringRetrievalTask();
+//                        coreMonitoringRetrievalTask.setPlanId(p.getId());
+//                        coreMonitoringRetrievalTask.setStatus("0");
+//                        //根据计划查询未完成的任务
+//                        List<CoreMonitoringRetrievalTask> coreMonitoringRetrievalTasks = iCoreMonitoringRetrievalTaskService.selectCoreMonitoringRetrievalTaskList(coreMonitoringRetrievalTask);
+//                        List<Long> collect = coreMonitoringRetrievalTasks.stream().map(CoreMonitoringRetrievalTask::getId).distinct().collect(Collectors.toList());
+//                        if (CollectionUtils.isNotEmpty(collect)) {
+//                            planIds.addAll(collect);
+//                        }
+//                        p.setIsDeleted(2L);
+//                        i = tMonitoringRetrievalPlanMapper.updateTMonitoringRetrievalPlan(p);
+//                        if (i < 1) {
+//                            return i;
+//                        }
+//                    }
+//                    Long[] arr = new Long[planIds.size()];
+//                    planIds.toArray(arr);
+//                    iCoreMonitoringRetrievalTaskService.deleteCoreMonitoringRetrievalTaskByIds(arr);
+                    i = tMonitoringRetrievalPlanMapper.updatePlan(monitoringRetrievalPlan);
+                    iCoreMonitoringRetrievalTaskService.deleteWaitTaskByPlanId(id);
                 }
             }
         }

+ 2 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/mapper/CoreMonitoringRetrievalTaskMapper.java

@@ -84,6 +84,8 @@ public interface CoreMonitoringRetrievalTaskMapper extends BaseMapper<CoreMonito
     void updateTaskStart(@Param("dateTimeNew") Date dateTimeNew);
 
     void deleteTaskByPlanId(@Param("planId") Long planId);
+
+
     void deleteWaitTaskByPlanId(@Param("planId") Long planId);
 
     void updateDeleteTaskByPlanId(@Param("planId") Long planId,@Param("isDeleted") Integer isDeleted);

+ 13 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/access/TMonitoringRetrievalPlanMapper.xml

@@ -218,6 +218,19 @@
         </trim>
         where id = #{id}
     </update>
+    <update id="updatePlan">
+        UPDATE core_monitoring_retrieval_plan
+        SET is_deleted = '2'
+        WHERE
+                id IN (SELECT id FROM(	SELECT
+                                              id
+                                          FROM
+                                              core_monitoring_retrieval_plan
+                                          WHERE
+                                              id = #{id}
+                                             OR parent_id = #{id})b
+            )
+    </update>
 
     <delete id="deleteTMonitoringRetrievalPlanById" parameterType="Long">
         delete

+ 16 - 4
soc-modules/soc-modules-core/src/main/resources/mapper/retrieval/CoreMonitoringRetrievalTaskMapper.xml

@@ -128,7 +128,7 @@
         *
         FROM
         core_monitoring_retrieval_task
-        WHERE 1=1 and  is_deleted=0
+        WHERE 1=1 and is_deleted=0
         <if test="request.orgId != null ">
             and org_id = #{request.orgId}
         </if>
@@ -401,13 +401,25 @@
         </foreach>
     </delete>
     <delete id="deleteTaskByPlanId">
-        delete from core_monitoring_retrieval_task where plan_id = #{planId} and status  in (0,3)
+        delete
+        from core_monitoring_retrieval_task
+        where plan_id = #{planId}
+          and status in (0, 3)
     </delete>
     <delete id="deleteWaitTaskByPlanId">
-        delete from core_monitoring_retrieval_task where plan_id = #{planId} and status  =0
+        DELETE
+        FROM core_monitoring_retrieval_task
+        WHERE plan_id IN (SELECT id
+                          FROM (SELECT id
+                                FROM core_monitoring_retrieval_plan
+                                WHERE id = #{planId}
+                                   OR parent_id = #{planId}) b)
+          and status in (0, 3)
     </delete>
 
     <update id="updateDeleteTaskByPlanId">
-        update core_monitoring_retrieval_task set is_deleted = #{isDeleted} where plan_id = #{planId}
+        update core_monitoring_retrieval_task
+        set is_deleted = #{isDeleted}
+        where plan_id = #{planId}
     </update>
 </mapper>