⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dailyiterator.java

📁 SAP这个系统的一个转换器
💻 JAVA
字号:
package com.idoc.timer;

import com.idoc.timer.ScheduleIterator;
import java.util.Date;
import java.util.Calendar;
import com.idoc.util.GetProperty;
import com.idoc.util.Operate;

/**
 * <p>Title: IDOC Interface</p>
 * <p>Description: IDOC 转换器</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: SiChuan XinHua</p>
 * @author Richary
 * @version 1.0
 */

public class DailyIterator
    implements ScheduleIterator {

  private int hourOfDay, minute, second;
  private Calendar calendar = Calendar.getInstance();
  private GetProperty getData = null;
  private String upSpaceMinute = "";
  private String upStarTime = "";
  private String upEndTime = "";
  private String downSpaceMinute = "";
  private String downStarTime = "";
  private String downEndTime = "";

  public DailyIterator(int hourOfDay, int minute, int second) {
    this(hourOfDay, minute, second, new Date());
  }

  public DailyIterator(int hourOfDay, int minute, int second, Date date) {
    getData = new GetProperty();
    //getData.g
    this.hourOfDay = hourOfDay;
    this.minute = minute;
    this.second = second;
    calendar.setTime(date);
    calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
    calendar.set(Calendar.MINUTE, minute);
    calendar.set(Calendar.SECOND, second);
    calendar.set(Calendar.MILLISECOND, 0);
    if (!calendar.getTime().before(date)) {
      calendar.add(Calendar.DATE, -1);
    }
  }

  public DailyIterator(Date date, String type) {
    getData = new GetProperty();
    //getDateType(type);
    calendar.setTime(getDateType(type));
    //System.out.println("DailyIterator(Date date,String type)");
    /*
      if (!calendar.getTime().before(date)) {
        calendar.add(Calendar.DATE, -1);
      }
     */
  }

  public Date next(String type) {

    if (type.equalsIgnoreCase("down")) {

      if (!getData.getDownFirst().equalsIgnoreCase("0")) {
        calendar.add(Calendar.MINUTE, Integer.valueOf(downSpaceMinute).intValue());
      }
      else {
        getData.setDownFirst("1");
      }
      if (!downEndTime.equalsIgnoreCase("00:00:00") &&
          !downEndTime.equalsIgnoreCase("") &&
          calendar.getTime().after(Operate.getStarDate(Operate.getNowDate() +
          " " + downEndTime))) {
        calendar.setTime(Operate.getStarDate(Operate.getNowDate() + " " +
                                             downStarTime));
        calendar.add(Calendar.DATE, 1);
      }
    }
    else {
      if (!getData.getUpFirst().equalsIgnoreCase("0")) {
        calendar.add(Calendar.MINUTE, Integer.valueOf(upSpaceMinute).intValue());
      }
      else {
        getData.setUpFirst("1");
      }

      //calendar.add(Calendar.MINUTE, Integer.valueOf(upSpaceMinute).intValue());

      if (!upEndTime.equalsIgnoreCase("00:00:00") &&
          !upEndTime.equalsIgnoreCase("") &&
          calendar.getTime().after(Operate.getStarDate(Operate.getNowDate() +
          " " + upEndTime))) {
        calendar.setTime(Operate.getStarDate(Operate.getNowDate() + " " +
                                             upStarTime));
        calendar.add(Calendar.DATE, 1);
      }
    }
System.out.println(type + " next : " + calendar.getTime());
    return calendar.getTime();
  }

  public Date getDateType(String type) {
    String str = "";
    try {
      if (type.equalsIgnoreCase("up")) {
        upSpaceMinute = getData.getUpSpaceMinute();
        if (upSpaceMinute == null || upSpaceMinute.equalsIgnoreCase("")) {
          upSpaceMinute = "0";
        }
        upStarTime = getData.getUpStarTime();
        if (upStarTime == null || upStarTime.equalsIgnoreCase("")) {
          upStarTime = "00:00:00";
        }
        upEndTime = getData.getUpEndTime();
        if (upEndTime == null || upEndTime.equalsIgnoreCase("")) {
          upEndTime = "00:00:00";
        }
        if (upStarTime.equalsIgnoreCase("00:00:00")) {
          return new Date();
        }
        str = Operate.getNowDate() + " " + upStarTime;

//System.out.println("upSpaceMinute = " + upSpaceMinute);
//System.out.println("up " + upSpaceMinute + " : " + upStarTime + " : " + upEndTime);
      }
      else if (type.equalsIgnoreCase("down")) {
        downSpaceMinute = getData.getDownSpaceMinute();
        if (downSpaceMinute == null || downSpaceMinute.equalsIgnoreCase("")) {
          downSpaceMinute = "0";
        }
        downStarTime = getData.getDownStarTime();
        if (downStarTime == null || downStarTime.equalsIgnoreCase("")) {
          downStarTime = "00:00:00";
        }
        downEndTime = getData.getDownEndTime();
        if (downEndTime == null || downEndTime.equalsIgnoreCase("")) {
          downEndTime = "00:00:00";
        }
        if (downStarTime.equalsIgnoreCase("00:00:00")) {
          return new Date();
        }
        str = Operate.getNowDate() + " " + downStarTime;
      }
      if (Operate.getStarDate(str).before(new Date())) {
        return new Date();
      }

//  System.out.println("date = " + Operate.getStarDate(str));
      return Operate.getStarDate(str);
    }
    catch (Exception ex) {
      System.out.println("DailyIterator's getDateType is Error!");
      ex.printStackTrace();
      return new Date();
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -