|
|
@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
|
|
import java.text.ParseException;
|
|
|
|
import java.text.ParseException;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.HashSet;
|
|
|
|
import java.util.HashSet;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
|
@ -68,12 +69,14 @@ public class SysTaskPlanService implements ISysTaskPlanService {
|
|
|
|
.build();
|
|
|
|
.build();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sysTaskPlan = sysTaskPlanRDao.insert(sysTaskPlan);
|
|
|
|
|
|
|
|
|
|
|
|
SysRefTaskCyclePlan refTaskCyclePlan = new SysRefTaskCyclePlan();
|
|
|
|
SysRefTaskCyclePlan refTaskCyclePlan = new SysRefTaskCyclePlan();
|
|
|
|
refTaskCyclePlan.setTaskCycleId(sysTaskCycle.getId());
|
|
|
|
refTaskCyclePlan.setTaskCycleId(sysTaskCycle.getId());
|
|
|
|
|
|
|
|
refTaskCyclePlan.setTaskPlanId(sysTaskPlan.getId());
|
|
|
|
refTaskCyclePlan.setTaskPlanName(sysTaskPlan.getName());
|
|
|
|
refTaskCyclePlan.setTaskPlanName(sysTaskPlan.getName());
|
|
|
|
refTaskCyclePlan.setTaskPlanGroupName(sysTaskPlan.getGroupName());
|
|
|
|
refTaskCyclePlan.setTaskPlanGroupName(sysTaskPlan.getGroupName());
|
|
|
|
|
|
|
|
|
|
|
|
sysTaskPlan = sysTaskPlanRDao.insert(sysTaskPlan);
|
|
|
|
|
|
|
|
// 添加表达式与触发器关系表
|
|
|
|
// 添加表达式与触发器关系表
|
|
|
|
sysRefTaskCyclePlanRDao.insert(refTaskCyclePlan);
|
|
|
|
sysRefTaskCyclePlanRDao.insert(refTaskCyclePlan);
|
|
|
|
|
|
|
|
|
|
|
@ -330,4 +333,54 @@ public class SysTaskPlanService implements ISysTaskPlanService {
|
|
|
|
public void updateSysTaskPlan(SysTaskPlan sysTaskPlan) {
|
|
|
|
public void updateSysTaskPlan(SysTaskPlan sysTaskPlan) {
|
|
|
|
sysTaskPlanRDao.update(sysTaskPlan);
|
|
|
|
sysTaskPlanRDao.update(sysTaskPlan);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
@ApiOperation(value = "批量删除任务计划信息", notes = "批量删除任务计划信息")
|
|
|
|
|
|
|
|
public void deleteSysTaskPlanByIds(Long[] ids) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
List<SysTaskPlan> sysTaskPlan = sysTaskPlanRDao.findByHqlWhere(CoreHqlPack.packHqlIds("id", ids));
|
|
|
|
|
|
|
|
List<TriggerKey> triggerKeyList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//数据校验
|
|
|
|
|
|
|
|
if (sysTaskPlan == null || sysTaskPlan.size() == 0) {
|
|
|
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
|
|
|
.setErrorDetail("任务计划不存在")
|
|
|
|
|
|
|
|
.setErrorSolution("请重新选择任务计划")
|
|
|
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
for (int i = 0; i < sysTaskPlan.size(); i++) {
|
|
|
|
|
|
|
|
triggerKeyList.add(TriggerKey.triggerKey(sysTaskPlan.get(i).getName(), sysTaskPlan.get(i).getGroupName()));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sysTaskPlanRDao.deleteByIds(ids);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 删除关系表数据
|
|
|
|
|
|
|
|
sysRefTaskCyclePlanRDao.deleteByPropertyIn("taskPlanId", ids);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 检查定时人计划是否存在,并暂停
|
|
|
|
|
|
|
|
for (TriggerKey trigger : triggerKeyList) {
|
|
|
|
|
|
|
|
if (scheduler.checkExists(trigger)) {
|
|
|
|
|
|
|
|
scheduler.pauseTrigger(trigger);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
|
|
|
.setErrorDetail("定时任务不存在")
|
|
|
|
|
|
|
|
.setErrorSolution("请重新选择")
|
|
|
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 取消调度任务
|
|
|
|
|
|
|
|
scheduler.unscheduleJobs(triggerKeyList);
|
|
|
|
|
|
|
|
} catch (SchedulerException e) {
|
|
|
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.TASK_EXCEPTION.getCode())
|
|
|
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|