📄 reminder.java
字号:
/* CRMS, customer relationship management system Copyright (C) 2003 Service To Youth Council This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For further information contact the SYC ICT department on GPL@syc.net.au 98 Kermode Street North Adelaide South Australia SA 5006 +61 (0)8 8367 0755 *//* * Reminder.java * * Created on 28 March 2003, 00:01 */package crms.vo;import java.util.*;import java.text.*;import org.w3c.dom.*;import crms.util.XMLUtil;/** * * @author dmurphy */public class Reminder { public static final int REMINDER_FREQUENCY_SINGLE_COMPLETE = -1; public static final int REMINDER_FREQUENCY_SINGLE = 0x0; public static final int REMINDER_FREQUENCY_DAILY = 0x1; public static final int REMINDER_FREQUENCY_WEEKLY = 0x2; public static final int REMINDER_FREQUENCY_MONTHLY = 0x3; public static final int REMINDER_FREQUENCY_YEARLY = 0x4; private int reminderID = -1; /*private boolean approved = false; private String approvedBy = null;*/ private int contactID = -1; private String creator = null; private boolean emailReminder = false; private String emailReminderTo = null; private String owner = null; private boolean ownerHasRead = false; private Date reminderDate = null; private Date reminderNext = null; private int frequency = 0; private int interval = 0; private String reminderFrom = null; private int reminderRate = -1; private boolean SMSReminder = false; private String SMSReminderTo = null; private String reminderMessage = null; private boolean deleted = false; public static SimpleDateFormat df = new SimpleDateFormat("d MMMM, yyyy"); public static SimpleDateFormat tf = new SimpleDateFormat("h:mm a"); public static SimpleDateFormat fullFormat = new SimpleDateFormat("d MMMM, yyyy h:mm a"); /** Creates a new instance of Reminder */ public Reminder() { } public void setReminderID(int id) { this.reminderID = id; } public int getReminderID() { return reminderID; } /*public void setApproved(boolean approved) { this.approved = approved; } public boolean isApproved() { return this.approved; } public void setApprovedBy(String user) { this.approvedBy = user; } public String getApprovedBy() { return approvedBy; }*/ public void setContactID(int id) { contactID = id; } public int getContactID() { return contactID; } public void setCreator(String user) { this.creator = user; } public String getCreator() { return creator; } public void setEmailReminder(boolean emailReminder) { this.emailReminder = emailReminder; } public boolean isEmailReminder() { return emailReminder; } public void setEmailReminderTo(String user) { this.emailReminderTo = user; } public String getEmailReminderTo() { return emailReminderTo; } public void setOwner(String owner) { this.owner = owner; } public String getOwner() { return owner; } public void setOwnerHasRead(boolean hasRead) { this.ownerHasRead = hasRead; } public boolean getOwnerHasRead() { return ownerHasRead; } public void setReminderDate(Date remindDate) { this.reminderDate = remindDate; } public Date getReminderDate() { return reminderDate; } public void setReminderNext(Date remindDate) { this.reminderNext = remindDate; } public Date getReminderNext() { return reminderNext; } public void setFrequency(int new_frequency) { frequency = new_frequency; } public int getFrequency() { return frequency; } public void setInterval(int new_interval) { interval = new_interval; } public int getInterval() { return interval; } public void updateNext() { String[] ids = TimeZone.getAvailableIDs(9 * 60 * 60 * 1000); SimpleTimeZone acst = new SimpleTimeZone(9 * 60 * 60 * 1000, ids[0]); Date now = new Date(); Date reminderPrev = reminderNext; Calendar cal = new GregorianCalendar(acst); cal.setTime(now); switch (frequency) { case REMINDER_FREQUENCY_DAILY: reminderNext.setTime(now.getTime() + 24 * 3600 * 1000); break; case REMINDER_FREQUENCY_WEEKLY: reminderNext.setTime(now.getTime() + 7 * 24 * 3600 * 1000); break; case REMINDER_FREQUENCY_MONTHLY: int month = cal.get(Calendar.MONTH); if (month >= 12) { cal.set(Calendar.MONTH, 1); // this caries through to the year increment } else { cal.set(Calendar.MONTH, month + 1); reminderNext = cal.getTime(); break; } case REMINDER_FREQUENCY_YEARLY: int year = cal.get(Calendar.YEAR); cal.set(Calendar.YEAR, year+1); reminderNext = cal.getTime(); break; default: } // preserve the time of the next reminder event cal.setTime(reminderPrev); int hour = cal.get(Calendar.HOUR_OF_DAY); int minute = cal.get(Calendar.MINUTE); cal.setTime(reminderNext); cal.set(Calendar.HOUR_OF_DAY, hour); cal.set(Calendar.MINUTE, minute); reminderNext = cal.getTime(); } public void setReminderFrom(String user) { this.reminderFrom = user; } public String getReminderFrom() { return reminderFrom; } public void setReminderRate(int rate) { this.reminderRate = rate; } public int getReminderRate() { return reminderRate; } public void setReminderMessage(String note) { this.reminderMessage = note; } public String getReminderMessage() { return reminderMessage; } public void setSMSReminder(boolean isSMS) { this.SMSReminder = isSMS; } public boolean isSMSReminder() { return SMSReminder; } public void setSMSReminderTo(String user) { this.SMSReminderTo = user; } public String getSMSReminderTo() { return SMSReminderTo; } public void setDeleted(boolean deleted) { this.deleted = deleted; } public boolean getDeleted() { return deleted; } public long getDaysTillDue() { Date date = new Date(); long diff = reminderDate.getTime() - date.getTime(); return (long) diff / (1000*60*60*24); } /* public static Reminder createFromXML( Node reminderNode) { Reminder reminder = new Reminder(); String buf = null; reminder.setContactID(Integer.parseInt(XMLUtil.getTextForNodeNamed("ContactID",reminderNode))); reminder.setCreator(XMLUtil.getTextForNodeNamed("Creator", reminderNode)); reminder.setEmailReminder(Boolean.valueOf(XMLUtil.getTextForNodeNamed("EmailReminder", reminderNode)).booleanValue()); reminder.setEmailReminderTo(XMLUtil.getTextForNodeNamed("EmailReminderTo",reminderNode)); reminder.setOwner(XMLUtil.getTextForNodeNamed("Owner",reminderNode)); reminder.setOwnerHasRead(Boolean.valueOf(XMLUtil.getTextForNodeNamed("OwnerHasRead", reminderNode)).booleanValue()); String dateVal = XMLUtil.getTextForNodeNamed("ReminderDate",reminderNode); Date theDate = null; try { theDate = fullFormat.parse(dateVal); } catch (ParseException ex) { throw new RuntimeException(ex); } reminder.setReminderDate(theDate); reminder.setReminderMessage(XMLUtil.getTextForNodeNamed("ReminderMessage", reminderNode)); reminder.setReminderFrom(XMLUtil.getTextForNodeNamed("ReminderFrom",reminderNode)); reminder.setReminderID(Integer.parseInt(XMLUtil.getTextForNodeNamed("ReminderID",reminderNode))); String rate = XMLUtil.getTextForNodeNamed("ReminderRate",reminderNode); if (rate != null) { reminder.setReminderRate(Integer.parseInt(rate)); } reminder.setSMSReminder(Boolean.valueOf(XMLUtil.getTextForNodeNamed("SMSReminder", reminderNode)).booleanValue()); reminder.setSMSReminderTo(XMLUtil.getTextForNodeNamed("SMSReminderTo",reminderNode)); return reminder; }*/ }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -