private void adjustDaysScheduleOrderItem(
      DailyScheduleDBItem dailyScheduleItem,
      List<SchedulerOrderHistoryDBItem> schedulerOrderHistoryList) {

    for (int i = 0; i < schedulerOrderHistoryList.size(); i++) {
      SchedulerOrderHistoryDBItem schedulerOrderHistoryDBItem =
          (SchedulerOrderHistoryDBItem) schedulerOrderHistoryList.get(i);

      if (!schedulerOrderHistoryDBItem.isAssignToDaysScheduler()
          && !dailyScheduleDBLayer.contains(schedulerOrderHistoryDBItem)) {
        if (dailyScheduleItem.isOrderJob()
            && dailyScheduleItem.isEqual(schedulerOrderHistoryDBItem)) {
          dailyScheduleItem.setScheduleExecuted(schedulerOrderHistoryDBItem.getStartTime());
          dailyScheduleItem.setSchedulerOrderHistoryId(schedulerOrderHistoryDBItem.getHistoryId());

          dailyScheduleItem.setStatus(1);

          if (schedulerOrderHistoryDBItem.haveError()) {
            dailyScheduleItem.setResult(1);
          } else {
            dailyScheduleItem.setResult(0);
          }
          dailyScheduleDBLayer.update(dailyScheduleItem);
          schedulerOrderHistoryDBItem.setAssignToDaysScheduler(true);
        }
      }
    }
  }
  public void adjustWithHistory() {

    // Read daysScheduler

    dailyScheduleDBLayer.setWhereSchedulerId(this.schedulerId);
    dailyScheduleDBLayer.setWhereFrom(from);
    dailyScheduleDBLayer.setWhereTo(to);

    List<DailyScheduleDBItem> dailyScheduleList =
        dailyScheduleDBLayer.getWaitingDailyScheduleList(-1);

    // read scheduler history
    schedulerTaskHistoryDBLayer.getFilter().setLimit(-1);
    schedulerTaskHistoryDBLayer.getFilter().setSchedulerId(this.schedulerId);
    schedulerTaskHistoryDBLayer.getFilter().setExecutedFrom(dailyScheduleDBLayer.getWhereFrom());
    schedulerTaskHistoryDBLayer.getFilter().setExecutedTo(dailyScheduleDBLayer.getWhereTo());
    List<SchedulerTaskHistoryDBItem> schedulerHistoryList =
        schedulerTaskHistoryDBLayer.getSchedulerHistoryListFromTo();

    // read scheduler Order history
    schedulerOrderHistoryDBLayer.getFilter().setLimit(-1);
    schedulerOrderHistoryDBLayer.getFilter().setSchedulerId(this.schedulerId);
    schedulerOrderHistoryDBLayer.getFilter().setExecutedFrom(dailyScheduleDBLayer.getWhereFrom());
    schedulerOrderHistoryDBLayer.getFilter().setExecutedTo(dailyScheduleDBLayer.getWhereTo());
    List<SchedulerOrderHistoryDBItem> schedulerOrderHistoryList =
        schedulerOrderHistoryDBLayer.getSchedulerOrderHistoryListFromTo();

    dailyScheduleDBLayer.beginTransaction();
    for (int i = 0; i < dailyScheduleList.size(); i++) {
      DailyScheduleDBItem daysScheduleItem = (DailyScheduleDBItem) dailyScheduleList.get(i);
      if (daysScheduleItem.isStandalone()) {
        adjustDaysScheduleItem(daysScheduleItem, schedulerHistoryList);
      } else {
        adjustDaysScheduleOrderItem(daysScheduleItem, schedulerOrderHistoryList);
      }
    }
    dailyScheduleDBLayer.commit();
  }
  private void adjustDaysScheduleItem(
      DailyScheduleDBItem dailyScheduleItem,
      List<SchedulerTaskHistoryDBItem> schedulerHistoryList) {

    for (int i = 0; i < schedulerHistoryList.size(); i++) {
      SchedulerTaskHistoryDBItem schedulerHistoryDBItem =
          (SchedulerTaskHistoryDBItem) schedulerHistoryList.get(i);
      if (!schedulerHistoryDBItem.isAssignToDaysScheduler()
          && !dailyScheduleDBLayer.contains(schedulerHistoryDBItem)) {
        if (dailyScheduleItem.isStandalone() && dailyScheduleItem.isEqual(schedulerHistoryDBItem)) {
          dailyScheduleItem.setScheduleExecuted(schedulerHistoryDBItem.getStartTime());
          dailyScheduleItem.setSchedulerHistoryId(schedulerHistoryDBItem.getId());
          dailyScheduleItem.setStatus(1);
          dailyScheduleItem.setResult(schedulerHistoryDBItem.getExitCode());
          dailyScheduleDBLayer.update(dailyScheduleItem);
          schedulerHistoryDBItem.setAssignToDaysScheduler(true);
        }
      }
    }
  }