public void systemReviewTask(AutoSystemReviewParams params) {
   if (params == null) {
     LOGGER.error("systemReviewTask() received invalid input :" + params);
     return;
   }
   Calendar reviewTime = Calendar.getInstance();
   reviewTime.setTimeInMillis(params.getReviewTimeUtcs());
   Calendar previousExec = Calendar.getInstance();
   previousExec.setTimeInMillis(params.getReviewTimeUtcs());
   LOGGER.info(
       "systemReviewTask() Calling stored procedure execution :"
           + params
           + " Review Time UTCS:"
           + reviewTime
           + " previousExec:"
           + previousExec);
   autoSystemReviewDao.systemReviewTask(params);
   LOGGER.info("systemReviewTask() stored procedure execution completed:" + params);
 }
 public AutoSystemReviewParams getAutoSystemReviewParams() {
   AutoSystemReviewParams params = new AutoSystemReviewParams();
   this.setParams(params);
   Calendar cal = Calendar.getInstance();
   cal.set(Calendar.HOUR, 0);
   cal.set(Calendar.MINUTE, 0);
   cal.set(Calendar.SECOND, 0);
   Calendar currentDayUTCS =
       TaskUtil.convertToOffsetTimeZone(
           cal, cal.getTimeZone().getDisplayName(), TaskConstants.DEF_TZ);
   params.setReviewTimeUtcs(currentDayUTCS.getTimeInMillis());
   params.setDefReviewDays(DEF_REVIEW_DAYS);
   BatchJobExecution recentJob = autoSystemReviewDao.mostRecentSuccessJobExec(JOB_NAME);
   if (recentJob != null) {
     Date startDate = recentJob.getStartTime();
     cal.setTime(startDate);
     cal.add(Calendar.DATE, -1);
     cal =
         TaskUtil.convertToOffsetTimeZone(
             cal, cal.getTimeZone().getDisplayName(), TaskConstants.DEF_TZ);
     params.setPrevExecDateUtcs(cal.getTimeInMillis());
   }
   return params;
 }