|
|
@@ -31,6 +31,7 @@ import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanDetailVo;
|
|
|
import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanPageVo;
|
|
|
import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanRoleVo;
|
|
|
import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlan;
|
|
|
+import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlanToExecOrg;
|
|
|
import com.xunmei.common.core.domain.reminder.domain.CoreReminderSchedule;
|
|
|
import com.xunmei.common.core.domain.reminder.vo.CoreReminderConfigurationFullVo;
|
|
|
import com.xunmei.common.core.enums.BusinessPlanType;
|
|
|
@@ -652,9 +653,9 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
public int revocationPlan(Long planId) {
|
|
|
checkPlanIsCreatingTask(planId, "撤回");
|
|
|
List<Long> list = coreDrillPlanMapper.selectIdByParentId(planId);
|
|
|
- int isExecute = coreDrillTaskMapper.checkHasTaskIsDoneByPlanParentId(planId);
|
|
|
+ Integer isExecute = coreDrillTaskMapper.checkHasTaskIsDoneByPlanParentId(planId);
|
|
|
//计划下没有已完成:删除所有任务数据和子计划,计划状态回到草稿状态。
|
|
|
- if (isExecute < 1/* || EduTrainingPlanCycleEnum.NONE.getCode().equals(plan.getPlanCycle())*/) {
|
|
|
+ if (ObjectUtil.isNull(isExecute) || isExecute < 1/* || EduTrainingPlanCycleEnum.NONE.getCode().equals(plan.getPlanCycle())*/) {
|
|
|
// 删除所有任务数据
|
|
|
coreDrillTaskService.delByStartTimeAndEndTimeAndPlanIdList(list, null, null);
|
|
|
//删除所有子计划
|
|
|
@@ -803,10 +804,25 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
if (oldPlan != null) {
|
|
|
oldPlan.setDeleted(0);
|
|
|
coreDrillPlanToExecOrgMapper.deleteByMap(MapUtil.of("plan_id", oldPlan.getId()));
|
|
|
- if (planToExecOrgs.size() > 0) {
|
|
|
- final List<Long> collect = planToExecOrgs.stream().map(SysOrgVO::getId).distinct().collect(toList());
|
|
|
- batchSavePlanToExecOrg(collect, oldPlan.getId());
|
|
|
+// if (planToExecOrgs.size() > 0) {
|
|
|
+// final List<Long> collect = planToExecOrgs.stream().map(SysOrgVO::getId).distinct().collect(toList());
|
|
|
+// batchSavePlanToExecOrg(collect, oldPlan.getId());
|
|
|
+// }
|
|
|
+
|
|
|
+ List<CoreDrillPlanToExecOrg> newPlanToExecOrgs = new ArrayList<>();
|
|
|
+ if (ObjectUtil.isNotEmpty(planToExecOrgs)) {
|
|
|
+ // 找到子计划所属的具体执行机构
|
|
|
+ planToExecOrgs.stream().filter(x -> x.getPath().contains(sysOrg.getPath())).forEach(y -> {
|
|
|
+ CoreDrillPlanToExecOrg temp = new CoreDrillPlanToExecOrg();
|
|
|
+ temp.setPlanId(oldPlan.getId());
|
|
|
+ temp.setOrgId(y.getId());
|
|
|
+ newPlanToExecOrgs.add(temp);
|
|
|
+ });
|
|
|
}
|
|
|
+ if (newPlanToExecOrgs.size() > 0) {
|
|
|
+ coreDrillPlanToExecOrgService.saveBatch(newPlanToExecOrgs);
|
|
|
+ }
|
|
|
+
|
|
|
oldPlan.setPlanName(plan.getPlanName());
|
|
|
oldPlan.setPlanStatus(DrillPlanStatus.USING.getCode());
|
|
|
oldPlan.setBuildTaskNow(plan.getBuildTaskNow());
|