|
@@ -29,6 +29,7 @@ import com.xunmei.core.drill.service.ICoreDrillTaskService;
|
|
|
import com.xunmei.system.api.RemoteOrgService;
|
|
import com.xunmei.system.api.RemoteOrgService;
|
|
|
import com.xunmei.system.api.domain.SysOrg;
|
|
import com.xunmei.system.api.domain.SysOrg;
|
|
|
import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
|
|
import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
|
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -52,6 +53,7 @@ import org.springframework.transaction.support.TransactionSynchronizationManager
|
|
|
* @author xunmei
|
|
* @author xunmei
|
|
|
* @date 2023-09-08
|
|
* @date 2023-09-08
|
|
|
*/
|
|
*/
|
|
|
|
|
+@Slf4j
|
|
|
@Service
|
|
@Service
|
|
|
public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, CoreDrillPlan> implements ICoreDrillPlanService {
|
|
public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, CoreDrillPlan> implements ICoreDrillPlanService {
|
|
|
@Autowired
|
|
@Autowired
|
|
@@ -256,7 +258,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
}
|
|
}
|
|
|
Long planId = plan.getId();
|
|
Long planId = plan.getId();
|
|
|
//删除原有数据, 然后重新生成计划,任务
|
|
//删除原有数据, 然后重新生成计划,任务
|
|
|
- List<Long> planIdList = coreDrillPlanMapper.selectIdByParentId(planId);
|
|
|
|
|
|
|
+ List<Long> planIdList = coreDrillPlanMapper.selectAllIdByParentId(planId);
|
|
|
if (ObjectUtil.isNotEmpty(planIdList)) {
|
|
if (ObjectUtil.isNotEmpty(planIdList)) {
|
|
|
coreDrillPlanMapper.deleteBatchIds(planIdList);
|
|
coreDrillPlanMapper.deleteBatchIds(planIdList);
|
|
|
coreDrillPlanToExecOrgMapper.delete(new LambdaQueryWrapper<CoreDrillPlanToExecOrg>().in(CoreDrillPlanToExecOrg::getPlanId, planIdList));
|
|
coreDrillPlanToExecOrgMapper.delete(new LambdaQueryWrapper<CoreDrillPlanToExecOrg>().in(CoreDrillPlanToExecOrg::getPlanId, planIdList));
|
|
@@ -271,6 +273,12 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
}
|
|
}
|
|
|
List<CoreDrillPlan> planList = buildPlanData(plan, drillPlanToRoleList);
|
|
List<CoreDrillPlan> planList = buildPlanData(plan, drillPlanToRoleList);
|
|
|
|
|
|
|
|
|
|
+ if (plan.getPlanStatus()==1){
|
|
|
|
|
+ log.info("计划已被修改为禁用,不再生成任务!");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
for (CoreDrillPlan drillPlan : planList) {
|
|
for (CoreDrillPlan drillPlan : planList) {
|
|
|
final CoreDrillPlanDataVo dataVo = getCoreDrillPlanDataVo(drillPlan.getId());
|
|
final CoreDrillPlanDataVo dataVo = getCoreDrillPlanDataVo(drillPlan.getId());
|
|
|
CompletableFuture.runAsync(() -> {
|
|
CompletableFuture.runAsync(() -> {
|
|
@@ -293,6 +301,12 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
//TODO 考虑是否同步修改已生成的任务的名称
|
|
//TODO 考虑是否同步修改已生成的任务的名称
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ if (plan.getPlanStatus()==1){
|
|
|
|
|
+ log.info("计划已被修改为禁用,不再生成任务!");
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
//此为情况一,计划没有生成任务或者生成了任务但未执行
|
|
//此为情况一,计划没有生成任务或者生成了任务但未执行
|
|
|
final CoreDrillPlanDataVo dataVo = getCoreDrillPlanDataVo(plan.getId());
|
|
final CoreDrillPlanDataVo dataVo = getCoreDrillPlanDataVo(plan.getId());
|
|
|
if (ObjectUtil.equal(1, plan.getBuildTaskNow()) && ObjectUtil.equal(0, plan.getPlanStatus())) {
|
|
if (ObjectUtil.equal(1, plan.getBuildTaskNow()) && ObjectUtil.equal(0, plan.getPlanStatus())) {
|
|
@@ -322,6 +336,10 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
if (standardPlanHasDone != null) {
|
|
if (standardPlanHasDone != null) {
|
|
|
throw new RuntimeException("该计划下存在任务已执行的情况,无法修改!");
|
|
throw new RuntimeException("该计划下存在任务已执行的情况,无法修改!");
|
|
|
}
|
|
}
|
|
|
|
|
+ //计划状态
|
|
|
|
|
+ if (ObjectUtil.notEqual(request.getPlanStatus(), plan.getPlanStatus())) {
|
|
|
|
|
+ flag = false;
|
|
|
|
|
+ }
|
|
|
//计划周期
|
|
//计划周期
|
|
|
if (ObjectUtil.notEqual(request.getPlanCycle(), plan.getPlanCycle())) {
|
|
if (ObjectUtil.notEqual(request.getPlanCycle(), plan.getPlanCycle())) {
|
|
|
flag = false;
|
|
flag = false;
|