/*
* Aipo is a groupware program developed by TOWN, Inc.
* Copyright (C) 2004-2015 TOWN, Inc.
* http://www.aipo.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.aimluck.eip.schedule;
import java.text.SimpleDateFormat;
import com.aimluck.commons.field.ALDateTimeField;
import com.aimluck.commons.field.ALStringField;
import com.aimluck.eip.common.ALEipHolidaysManager;
import com.aimluck.eip.common.ALEipUser;
import com.aimluck.eip.util.ALCommonUtils;
import com.aimluck.eip.util.ALLocalizationUtils;
/**
* スケジュールの検索データを管理するクラスです。
*
*/
public class ScheduleSearchResultData extends ScheduleResultData {
private ALEipUser createUser;
private ALDateTimeField DateDay;
private ALStringField note;
@Override
public void initField() {
super.initField();
note = new ALStringField();
}
public String getDateFull() {
SimpleDateFormat sdf =
new SimpleDateFormat(ALLocalizationUtils
.getl10n("SCHEDULE_SIMPLE_DATE_FORMAT"));
StringBuilder b = new StringBuilder();
if ("S".equals(getPattern())) {
b.append(sdf.format(getStartDate().getValue()));
} else {
b.append(sdf.format(getStartDate().getValue())).append(" ").append(
getDate2());
}
return b.toString();
}
public String getDateFullOnlyDate() {
SimpleDateFormat sdf =
new SimpleDateFormat(ALLocalizationUtils
.getl10n("SCHEDULE_SIMPLE_DATE_FORMAT"));
StringBuilder b = new StringBuilder();
b.append(sdf.format(getStartDate().getValue()));
return b.toString();
}
public String getDateShort() {
SimpleDateFormat sdf =
new SimpleDateFormat(ALLocalizationUtils
.getl10n("SCHEDULE_SIMPLE_DATE_FORMAT_SHORT"));
StringBuilder b = new StringBuilder();
b.append(sdf.format(getStartDate().getValue()));
return b.toString();
}
public String getPatternTime() {
StringBuilder b = new StringBuilder();
if ("S".equals(getPattern())) {
if (isTerm()) {
b.append(ALLocalizationUtils.getl10n("SCHEDULE_TERM"));
} else {
b.append(ALLocalizationUtils.getl10n("SCHEDULE_ALL_DAY"));
}
} else {
b.append(getDate());
}
return b.toString();
}
public ALDateTimeField getDateDay() {
DateDay = new ALDateTimeField("yyyy-MM-dd");
DateDay.setValue(getViewDate());
return DateDay;
}
/**
* 時刻まではチェックしない。
*
* @return 年・月・日が等しいならtrue
*/
public boolean isStartDayEqualsEndDay() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String startDate = sdf.format(getStartDate().getValue());
String endDate = sdf.format(getEndDate().getValue());
return startDate.equals(endDate);
}
public boolean isStartDayEqualsToday() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String startDate = sdf.format(getStartDate().getValue());
String toDay = sdf.format(new java.util.Date());
return startDate.equals(toDay);
}
public boolean isStartDateHoliday() {
return ALEipHolidaysManager.getInstance().isHoliday(
getStartDate().getValue()) != null;
}
public String getDateDetail() {
SimpleDateFormat sdf =
new SimpleDateFormat(ALLocalizationUtils
.getl10n("SCHEDULE_SIMPLE_DATE_FORMAT"));
StringBuilder b = new StringBuilder();
if ("S".equals(getPattern())) {
b.append(sdf.format(getStartDate().getValue()));
if (!isStartDayEqualsEndDay()) {
b.append(" ");
b.append("-");
b.append(" ");
b.append(sdf.format(getEndDate().getValue()));
}
} else {
b.append(sdf.format(getStartDate().getValue())).append(" ").append(
getDate());
}
return b.toString();
}
public String getViewDate() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
sdf.format(getStartDate().getValue());
return sdf.format(getStartDate().getValue());
}
/**
* @return createUser
*/
public ALEipUser getCreateUser() {
return createUser;
}
/**
* @param createUser
* セットする createUser
*/
public void setCreateUser(ALEipUser createUser) {
this.createUser = createUser;
}
/**
* @return note
*/
public ALStringField getNote() {
return note;
}
/**
* @param note
* セットする note
*/
public void setNote(String note) {
this.note.setValue(note);
}
public ALStringField getNoteShort() {
ALStringField field = new ALStringField();
String str = note.getValue().replaceAll("\r", "").replaceAll("\n", " ");
field.setValue(ALCommonUtils.compressString(str, 30));
return field;
}
}