| | |
| | | import com.ruoyi.common.utils.bean.BeanUtils; |
| | | import com.ruoyi.common.utils.security.ShiroUtils; |
| | | import com.ruoyi.common.utils.spring.SpringUtils; |
| | | import com.ruoyi.doublePrevention.entity.PreventRiskJobAndMeasure; |
| | | import com.ruoyi.doublePrevention.service.RiskService; |
| | | import com.ruoyi.framework.web.service.JpushService; |
| | | import com.ruoyi.project.enumerate.TrRiskTypeEnum; |
| | | import com.ruoyi.project.monitor.job.domain.JobLog; |
| | | import com.ruoyi.project.monitor.job.service.IJobLogService; |
| | | import com.ruoyi.project.tr.HiddenDangerCheckJob.domain.HiddenDangerCheckJob; |
| | | import com.ruoyi.project.tr.baseCheckPoint.domain.BaseCheckPoint; |
| | | import com.ruoyi.project.tr.baseCheckPoint.mapper.BaseCheckPointMapper; |
| | | import com.ruoyi.project.tr.baseCheckPoint.service.IBaseCheckPointService; |
| | | import com.ruoyi.project.tr.hiddenDangerCheck.domain.HiddenDangerCheck; |
| | | import com.ruoyi.project.tr.hiddenDangerCheck.service.IHiddenDangerCheckService; |
| | |
| | | import com.ruoyi.project.tr.riskCheckPoint.service.IRiskCheckPointService; |
| | | import com.ruoyi.project.tr.riskEvaluationPlan.domain.RiskEvaluationPlan; |
| | | import com.ruoyi.project.tr.riskEvaluationPlan.service.IRiskEvaluationPlanService; |
| | | import com.ruoyi.project.tr.riskList.domain.RiskList; |
| | | import com.ruoyi.project.tr.riskList.service.IRiskListService; |
| | | import org.quartz.JobExecutionContext; |
| | | import org.quartz.JobExecutionException; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.context.support.SpringBeanAutowiringSupport; |
| | | |
| | | import java.util.Date; |
| | |
| | | |
| | | JpushService jpushService; |
| | | |
| | | RiskService riskService; |
| | | |
| | | IRiskListService iRiskListService; |
| | | |
| | | |
| | | /** |
| | | * 线程本地变量 |
| | | */ |
| | | private static ThreadLocal<Date> threadLocal = new ThreadLocal<>(); |
| | | |
| | | |
| | | @Override |
| | | public void execute(JobExecutionContext context) throws JobExecutionException { |
| | |
| | | before(context, job); |
| | | if (job != null) { |
| | | doExecute(context, job); |
| | | |
| | | } |
| | | createData(context, job);//生成数据 |
| | | createData(context, job);//生成数据 // todo-2022 调用方法 定时隐患排查任务生成 |
| | | after(context, job, null); |
| | | } catch (Exception e) { |
| | | log.error("任务执行异常 - :", e); |
| | |
| | | jobLog.setInvokeTarget(job.getInvokeTarget()); |
| | | jobLog.setStartTime(startTime); |
| | | jobLog.setEndTime(new Date()); |
| | | long runMs = jobLog.getEndTime().getTime() - jobLog.getStartTime().getTime(); |
| | | |
| | | System.out.println(startTime); |
| | | System.out.println(jobLog.getEndTime()); |
| | | |
| | | long runMs = jobLog.getEndTime().getTime() - jobLog.getStartTime().getTime(); // todo -2022 检查此处异常来源 |
| | | jobLog.setJobMessage(jobLog.getJobName() + " 总共耗时:" + runMs + "毫秒"); |
| | | if (e != null) { |
| | | jobLog.setStatus(Constants.FAIL); |
| | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * todo-2022 定时隐患排查任务生成 |
| | | * */ |
| | | //生成定时隐患排查数据 |
| | | protected void createData(JobExecutionContext context, HiddenDangerCheckJob job) { |
| | | @Transactional |
| | | public void createData(JobExecutionContext context, HiddenDangerCheckJob job) { |
| | | Date startTime = threadLocal.get(); |
| | | |
| | | //比较当前时间与执行开始时间 |
| | |
| | | hdc.setCheckType(job.getCheckType());//设置排查方式 |
| | | if ("1".equals(job.getCheckType())) { |
| | | hdc.setRiskId(job.getRiskId() != null ? Long.valueOf(job.getRiskId()) : -1);//风险单元ID |
| | | |
| | | // todo-2022 , 基础排除清单名称-》改用基础清单表中信息 “需要改动”(现在的情况是,清单调整后,依然使用第一次新建时读取的job的名字) |
| | | // RiskList infoByRiskId = iRiskListService.getInfoByRiskId(job.getRiskId()); |
| | | hdc.setRiskName(job.getRiskName());//风险单元名称 |
| | | |
| | | hdc.setDangerPlaceId(job.getRiskPlaceId());//风险单元地点ID |
| | | hdc.setDangerPlaceName(job.getRiskPlaceName());//风险单元地点名称 |
| | | hdc.setDangerDeptId(job.getRiskDeptId());//隐患责任部门ID |
| | | hdc.setDangerDeptName(job.getRiskDeptName());//隐患责任部门名称 |
| | | hdc.setRiskType(job.getRiskType());//风险单元类型 |
| | | |
| | | // //1、校验是否有管控措施 |
| | | // PreventRiskJobAndMeasure jobAndMeasure = riskService.getJobAndMeasure(job.getJobId()); |
| | | // if (jobAndMeasure == null ){ |
| | | // throw new RuntimeException("空任务,不调度"); |
| | | // } |
| | | |
| | | // HiddenDangerCheck(隐患排查)写入数据库当中 |
| | | SpringUtils.getBean(IHiddenDangerCheckService.class).insertHiddenDangerCheck(hdc); |
| | | |
| | | |
| | | //HiddenDangerCheckPoint(隐患排查检查点)写入数据库当中 |
| | | hdc.setCompanyId(job.getCompanyId()); |
| | | insertHiddenDangerCheckPoint(hdc); |
| | | |
| | | System.out.println("【-】开始调用方法,处理任务附属表"); |
| | | // todo-2022 插入 任务附属表 写到此处 |
| | | hdc.getCheckId(); |
| | | int result = SpringUtils.getBean(RiskService.class).insertDangerCheckLog(hdc.getCheckId(), hdc); |
| | | // int result = riskService.insertDangerCheckLog(hdc.getCheckId(), hdc); |
| | | if (result < 1){ |
| | | throw new RuntimeException("定时任务生产失败"); |
| | | } |
| | | System.out.println("【-】开始调用方法,任务附属表处理完成"); |
| | | |
| | | } else if ("2".equals(job.getCheckType())) { |
| | | String[] riskIdArray = job.getRiskId().split(","); |
| | |
| | | hdc.setCompanyId(job.getCompanyId()); |
| | | insertHiddenDangerCheckPoint(hdc); |
| | | |
| | | System.out.println("【-】开始调用方法,处理任务附属表"); |
| | | // todo-2022 插入 任务附属表 写到此处 |
| | | hdc.getCheckId(); |
| | | int result = SpringUtils.getBean(RiskService.class).insertDangerCheckLog(hdc.getCheckId(), hdc); |
| | | // int result = riskService.insertDangerCheckLog(hdc.getCheckId(), hdc); |
| | | if (result < 1){ |
| | | throw new RuntimeException("定时任务生产失败"); |
| | | } |
| | | System.out.println("【-】开始调用方法,任务附属表处理完成"); |
| | | } |
| | | } |
| | | scheduleJPush(hdc);//定时任务 推送 |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * todo-2022 生成核查任务时,添加任务的核查点信息 |
| | | * */ |
| | | //生成检查点信息 |
| | | @Transactional |
| | | public void insertHiddenDangerCheckPoint(HiddenDangerCheck job) { |
| | | if(!StringUtils.isEmpty(job.getRiskType())) { |
| | | //风险单元类型为基础清单 |
| | |
| | | // hdcp.setDangerSources(TrHiddenDangerCheckConstants.DANGER_SOURCES_SCHEDULE_PRODUCE);//隐患来源(定时器任务生成) |
| | | // 写入数据库当中 |
| | | SpringUtils.getBean(IHiddenDangerCheckPointService.class).insertHiddenDangerCheckPoint(hdcp); |
| | | |
| | | hdcp.getId(); |
| | | |
| | | // todo-2022 现场核查清单对应的核查点信息 |
| | | System.out.println("【***】开始调用方法,处理核查点附属表"); |
| | | int result = SpringUtils.getBean(RiskService.class).insertCheckAndMeasure(hdcp.getId(), hdcp); |
| | | // int result = riskService.insertCheckAndMeasure(hdcp.getId(), hdcp); |
| | | if (result < 1){ |
| | | throw new RuntimeException("【***】保存核查点关联信息失败"); |
| | | } |
| | | } |
| | | }); |
| | | |
| | |
| | | RiskCheckPoint rcpQuery = new RiskCheckPoint(); |
| | | rcpQuery.setPlanId(plan.getPlanId()); |
| | | List<RiskCheckPoint> riskCheckPointList = SpringUtils.getBean(IRiskCheckPointService.class).selectRiskCheckPointList(rcpQuery); |
| | | |
| | | |
| | | riskCheckPointList.forEach(rcp -> { |
| | | if (rcp != null) { |
| | |
| | | // hdcp.setDangerSources(TrHiddenDangerCheckConstants.DANGER_SOURCES_SCHEDULE_PRODUCE);//隐患来源(定时器任务生成) |
| | | // 写入数据库当中 |
| | | SpringUtils.getBean(IHiddenDangerCheckPointService.class).insertHiddenDangerCheckPoint(hdcp); |
| | | |
| | | // todo-2022 现场核查清单对应的核查点信息 |
| | | System.out.println("【***】开始调用方法,处理核查点附属表"); |
| | | int result = SpringUtils.getBean(RiskService.class).insertCheckAndMeasure(hdcp.getId(), hdcp); |
| | | // int result = riskService.insertCheckAndMeasure(hdcp.getId(), hdcp); |
| | | if (result < 1){ |
| | | throw new RuntimeException("【***】保存核查点关联信息失败"); |
| | | } |
| | | } |
| | | }); |
| | | } |