use of com.netsteadfast.greenstep.po.hbm.TbSysExprJob in project bamboobsc by billchen198318.
the class SystemExpressionJobUtils method getExpressionJobs.
public static List<ExpressionJobObj> getExpressionJobs() throws ServiceException, Exception {
int year = Integer.parseInt(SimpleUtils.getStrYMD(SimpleUtils.IS_YEAR));
int month = Integer.parseInt(SimpleUtils.getStrYMD(SimpleUtils.IS_MONTH));
String dayOfWeek = String.valueOf(SimpleUtils.getDayOfWeek(year, month));
String hour = String.valueOf(LocalDateTime.now().getHourOfDay());
String minute = String.valueOf(LocalDateTime.now().getMinuteOfHour());
List<ExpressionJobObj> jobObjList = new ArrayList<ExpressionJobObj>();
@SuppressWarnings("unchecked") ISysExprJobService<SysExprJobVO, TbSysExprJob, String> sysExprJobService = (ISysExprJobService<SysExprJobVO, TbSysExprJob, String>) AppContext.getBean("core.service.SysExprJobService");
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("system", Constants.getSystem());
paramMap.put("active", YesNo.YES);
List<SysExprJobVO> exprJobList = sysExprJobService.findListVOByParams(paramMap);
if (null == exprJobList || exprJobList.size() < 1) {
return jobObjList;
}
@SuppressWarnings("unchecked") ISysExpressionService<SysExpressionVO, TbSysExpression, String> sysExpressionService = (ISysExpressionService<SysExpressionVO, TbSysExpression, String>) AppContext.getBean("core.service.SysExpressionService");
for (SysExprJobVO exprJob : exprJobList) {
if (ExpressionJobConstants.RUNSTATUS_PROCESS_NOW.equals(exprJob.getRunStatus())) {
log.warn("[Expression-Job] Please check it, process now, Id: " + exprJob.getExprId() + " , name: " + exprJob.getName());
continue;
}
if (!isRunTime(exprJob, dayOfWeek, hour, minute)) {
continue;
}
ExpressionJobObj jobObj = new ExpressionJobObj();
jobObj.setSysExprJob(exprJob);
jobObj.setSysExprJobLog(new SysExprJobLogVO());
SysExpressionVO expr = new SysExpressionVO();
expr.setExprId(exprJob.getExprId());
DefaultResult<SysExpressionVO> exprResult = sysExpressionService.findByUK(expr);
if (exprResult.getValue() == null) {
log.error("[Expression-Job] Id: " + exprJob.getExprId() + " , data not found.");
log.error(exprResult.getSystemMessage().getValue());
continue;
}
expr = exprResult.getValue();
jobObj.setSysExpression(expr);
jobObjList.add(jobObj);
}
return jobObjList;
}
use of com.netsteadfast.greenstep.po.hbm.TbSysExprJob in project bamboobsc by billchen198318.
the class ExpressionJobExecuteCallable method call.
@Override
public ExpressionJobObj call() throws Exception {
Date beginDatetime = new Date();
String faultMsg = "";
String runStatus = "";
String logStatus = "";
@SuppressWarnings("unchecked") ISysExprJobService<SysExprJobVO, TbSysExprJob, String> sysExprJobService = (ISysExprJobService<SysExprJobVO, TbSysExprJob, String>) AppContext.getBean("core.service.SysExprJobService");
@SuppressWarnings("unchecked") ISysExprJobLogService<SysExprJobLogVO, TbSysExprJobLog, String> sysExprJobLogService = (ISysExprJobLogService<SysExprJobLogVO, TbSysExprJobLog, String>) AppContext.getBean("core.service.SysExprJobLogService");
try {
logger.info("[Expression-Job] (Start) ID: " + this.jobObj.getSysExprJob().getId() + " , NAME: " + this.jobObj.getSysExprJob().getName());
if (StringUtils.isBlank(jobObj.getSysExpression().getContent())) {
faultMsg = "No expression content!";
runStatus = ExpressionJobConstants.RUNSTATUS_FAULT;
logStatus = ExpressionJobConstants.LOGSTATUS_NO_EXECUTE;
return this.jobObj;
}
if (YesNo.YES.equals(this.jobObj.getSysExprJob().getCheckFault()) && ExpressionJobConstants.RUNSTATUS_FAULT.equals(this.jobObj.getSysExprJob().getRunStatus())) {
faultMsg = "Before proccess fault, cannot execute expression job!";
runStatus = ExpressionJobConstants.RUNSTATUS_FAULT;
logStatus = ExpressionJobConstants.LOGSTATUS_NO_EXECUTE;
return this.jobObj;
}
this.jobObj.getSysExprJob().setRunStatus(ExpressionJobConstants.RUNSTATUS_PROCESS_NOW);
sysExprJobService.updateObject(this.jobObj.getSysExprJob());
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("jobObj", this.jobObj);
ScriptExpressionUtils.execute(jobObj.getSysExpression().getType(), jobObj.getSysExpression().getContent(), paramMap, paramMap);
runStatus = ExpressionJobConstants.RUNSTATUS_SUCCESS;
logStatus = ExpressionJobConstants.LOGSTATUS_SUCCESS;
} catch (ServiceException se) {
faultMsg = se.getMessage().toString();
runStatus = ExpressionJobConstants.RUNSTATUS_FAULT;
logStatus = ExpressionJobConstants.LOGSTATUS_FAULT;
logger.error(se.getMessage().toString());
} catch (Exception e) {
faultMsg = e.getMessage().toString();
if (e.getMessage() == null) {
faultMsg = e.toString();
} else {
faultMsg = e.getMessage().toString();
}
runStatus = ExpressionJobConstants.RUNSTATUS_FAULT;
logStatus = ExpressionJobConstants.LOGSTATUS_FAULT;
logger.error(faultMsg);
} finally {
if (faultMsg.length() > 2000) {
faultMsg = faultMsg.substring(0, 2000);
}
jobObj.getSysExprJob().setRunStatus(runStatus);
jobObj.getSysExprJobLog().setFaultMsg(faultMsg);
jobObj.getSysExprJobLog().setLogStatus(logStatus);
jobObj.getSysExprJobLog().setId(jobObj.getSysExprJob().getId());
jobObj.getSysExprJobLog().setBeginDatetime(beginDatetime);
jobObj.getSysExprJobLog().setEndDatetime(new Date());
sysExprJobService.updateObject(this.jobObj.getSysExprJob());
DefaultResult<SysExprJobLogVO> jobLogResult = sysExprJobLogService.saveObject(jobObj.getSysExprJobLog());
if (jobLogResult.getValue() != null) {
jobObj.setSysExprJobLog(jobLogResult.getValue());
}
this.sendMail();
logger.info("[Expression-Job] (End) ID: " + this.jobObj.getSysExprJob().getId() + " , NAME: " + this.jobObj.getSysExprJob().getName());
}
return this.jobObj;
}
use of com.netsteadfast.greenstep.po.hbm.TbSysExprJob in project bamboobsc by billchen198318.
the class SystemExpressionJobUtils method getExpressionJobForManualMode.
public static ExpressionJobObj getExpressionJobForManualMode(String expressionJobOid) throws ServiceException, Exception {
if (StringUtils.isBlank(expressionJobOid)) {
throw new Exception("error, expressionJobId is blank!");
}
@SuppressWarnings("unchecked") ISysExprJobService<SysExprJobVO, TbSysExprJob, String> sysExprJobService = (ISysExprJobService<SysExprJobVO, TbSysExprJob, String>) AppContext.getBean("core.service.SysExprJobService");
@SuppressWarnings("unchecked") ISysExpressionService<SysExpressionVO, TbSysExpression, String> sysExpressionService = (ISysExpressionService<SysExpressionVO, TbSysExpression, String>) AppContext.getBean("core.service.SysExpressionService");
SysExprJobVO exprJob = new SysExprJobVO();
exprJob.setOid(expressionJobOid);
DefaultResult<SysExprJobVO> exprJobResult = sysExprJobService.findObjectByOid(exprJob);
if (exprJobResult.getValue() == null) {
throw new ServiceException(exprJobResult.getSystemMessage().getValue());
}
exprJob = exprJobResult.getValue();
SysExpressionVO expr = new SysExpressionVO();
expr.setExprId(exprJob.getExprId());
DefaultResult<SysExpressionVO> exprResult = sysExpressionService.findByUK(expr);
if (exprResult.getValue() == null) {
throw new ServiceException(exprResult.getSystemMessage().getValue());
}
expr = exprResult.getValue();
ExpressionJobObj jobObj = new ExpressionJobObj();
jobObj.setSysExprJob(exprJob);
jobObj.setSysExprJobLog(new SysExprJobLogVO());
jobObj.setSysExpression(expr);
return jobObj;
}
use of com.netsteadfast.greenstep.po.hbm.TbSysExprJob in project bamboobsc by billchen198318.
the class SystemExpressionJobUtils method initRunStatusFlag.
public static void initRunStatusFlag(String system) throws ServiceException, Exception {
@SuppressWarnings("unchecked") ISysExprJobService<SysExprJobVO, TbSysExprJob, String> sysExprJobService = (ISysExprJobService<SysExprJobVO, TbSysExprJob, String>) AppContext.getBean("core.service.SysExprJobService");
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("system", system);
paramMap.put("runStatus", ExpressionJobConstants.RUNSTATUS_PROCESS_NOW);
List<TbSysExprJob> exprJobList = sysExprJobService.findListByParams(paramMap);
if (exprJobList == null || exprJobList.size() < 1) {
return;
}
Date udate = new Date();
String uuserid = "system";
for (TbSysExprJob exprJob : exprJobList) {
log.warn("ExpressionJob current RUN_STATUS is 'R' update to 'Y' , Id: " + exprJob.getId() + " , Name: " + exprJob.getName());
exprJob.setRunStatus(ExpressionJobConstants.RUNSTATUS_SUCCESS);
exprJob.setUdate(udate);
exprJob.setUuserid(uuserid);
sysExprJobService.update(exprJob);
}
}
Aggregations