Commit f64bfb3b authored by tianyiming's avatar tianyiming

项目启动初始化巡检任务修改

parent 41a3d7fa
......@@ -231,5 +231,9 @@ public interface PlanTaskMapper extends BaseMapper {
void updatePlanTaskByPlanId(List<Long> ids, int finishStatus);
void updatePlanTaskDetailsByPlanId(List<Long> ids, int finishStatus);
void updatePlanTaskDetailsByPlanId(List<Long> ids);
List<PlanTask> getInitPlanTaskList();
void updatePlanTaskList(long planId, int oldStatus, int newStatus);
}
......@@ -120,7 +120,7 @@ public class JobService implements IJobService {
log.debug("======================initScheduler===========================");
initTaskJob();
initPlanTaskJob();
initMsgJob();
// initMsgJob();
}
@Override
......@@ -161,7 +161,7 @@ public class JobService implements IJobService {
List<Integer> statusList = new ArrayList<Integer>();
statusList.add(PlanTaskFinishStatusEnum.NOTSTARTED.getValue());
statusList.add(PlanTaskFinishStatusEnum.UNDERWAY.getValue());
List<PlanTask> planTaskList = iPlanTaskDao.findAllByFinishStatusIn(statusList);
List<PlanTask> planTaskList = planTaskMapper.getInitPlanTaskList();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
log.error("项目初始化执行开始添加定时任务监控========");
planTaskList.forEach(planTask -> {
......@@ -172,19 +172,18 @@ public class JobService implements IJobService {
if (PlanTaskFinishStatusEnum.NOTSTARTED.getValue() == planTask.getFinishStatus()) {
if (beginTime.getTime() > timestamp) {
planTaskAddJob(planTask);
} else if (beginTime.getTime() < timestamp && endTime.getTime() > timestamp) {
planTask.setFinishStatus(PlanTaskFinishStatusEnum.UNDERWAY.getValue());
iPlanTaskDao.save(planTask);
planTaskMapper.updatePlanTaskList(planTask.getPlanId(), PlanTaskFinishStatusEnum.NOTSTARTED.getValue(), PlanTaskFinishStatusEnum.UNDERWAY.getValue());
planTaskAddJob(planTask);
} else if (endTime.getTime() < timestamp) {
updatePlanTaskStatus(planTask, PlanTaskFinishStatusEnum.OVERTIME.getValue());
updatePlanTaskAndDetailStatus(planTask);
}
} else {
if (endTime.getTime() < timestamp) {
updatePlanTaskStatus(planTask, PlanTaskFinishStatusEnum.OVERTIME.getValue());
} else {
planTaskMapper.updatePlanTaskList(planTask.getPlanId(), PlanTaskFinishStatusEnum.NOTSTARTED.getValue(), PlanTaskFinishStatusEnum.UNDERWAY.getValue());
planTaskAddJob(planTask);
} else {
updatePlanTaskAndDetailStatus(planTask);
}
}
} catch (ParseException e) {
......@@ -196,6 +195,14 @@ public class JobService implements IJobService {
}
private void updatePlanTaskAndDetailStatus(PlanTask planTask) {
planTaskMapper.updatePlanTaskList(planTask.getPlanId(), PlanTaskFinishStatusEnum.UNDERWAY.getValue(), PlanTaskFinishStatusEnum.OVERTIME.getValue());
List<Long> ids = new ArrayList<>();
ids.add(planTask.getId());
planTaskMapper.updatePlanTaskDetailsByPlanId(ids);
createOmissionCheckRecord(planTask);
}
private void initMsgJob() {
List<Msg> msgList = iMsgDao.findAllByIsImmediatelyTrueAndStatus(0);
if (!msgList.isEmpty()) {
......@@ -602,7 +609,7 @@ public class JobService implements IJobService {
} else if (XJConstant.STATUS_MONITOR_END.equals(jobType)) {
if (!ValidationUtil.isEmpty(StartPlanTaskList)) {
planTaskMapper.updatePlanTaskByPlanId(StartPlanTaskList,PlanTaskFinishStatusEnum.OVERTIME.getValue());
planTaskMapper.updatePlanTaskDetailsByPlanId(StartPlanTaskList,PlanTaskFinishStatusEnum.OVERTIME.getValue());
planTaskMapper.updatePlanTaskDetailsByPlanId(StartPlanTaskList);
for (PlanTask planTask: planTaskList
) {
......
......@@ -1606,4 +1606,27 @@
</foreach>
AND is_finish = 0
</update>
<select id="getInitPlanTaskList" resultType="com.yeejoin.amos.patrol.dao.entity.PlanTask">
SELECT
*
FROM
"p_plan_task"
WHERE
finish_status = '1'
OR finish_status = '0'
GROUP BY
plan_id,
finish_status
</select>
<update id="updatePlanTaskList">
update
"p_plan_task"
set
finish_status = #{newStatus}
where
plan_id = #{planId}
and finish_status = #{oldStatus}
</update>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment