📄 tsholidayutil.java.svn-base
字号:
package com.nsi.util.tsdate;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.nsi.constants.AppConstants;
import com.nsi.control.exceptions.NsiEventException;
import com.nsi.persistence.DataSrcUtil;
import com.nsi.persistence.IsqlDataSource;
import com.nsi.util.ValHelper;
public final class TsHolidayUtil
{
private static Log log = LogFactory.getLog(TsHolidayUtil.class);
/**
* private constructor of TsHolidayUtil, prevent instantiation
*/
private TsHolidayUtil()
{
}
private static class TsHolidayUtilHolder
{
static final TsHolidayUtil holidayUtil = new TsHolidayUtil();
}
/**
* @return an instance of TsHolidayUtil
*/
public static TsHolidayUtil getInstance()
{
return TsHolidayUtilHolder.holidayUtil;
}
public List<String> getHolidays()
{
List<String> list = new ArrayList<String>();
List<Map<String,String>> result = new ArrayList<Map<String,String>>();
String sSql = "select to_char(holiday_date, 'MON-DD-YYYY') as holiday " +
"from t_holiday where holiday_date >=to_date('01012006', 'mmddyyyy')";
try
{
IsqlDataSource src = DataSrcUtil.getInstance().getDataSource();
Connection conn = null;
try
{
conn = src.getConnection();
result = src.executeRetrieve(conn, sSql);
}
catch( SQLException se )
{
log.error( "getHolidays() caught SQLException: " + se );
}
catch( Exception ex )
{
log.error( "getHolidays() caught Exception: " + ex );
}
finally
{
src.closeConn(conn);
}
}
catch( NsiEventException nsiex )
{
log.error( "getHolidays() caught NsiEventException: " + nsiex );
}
if(!result.isEmpty())
{
int size = result.size();
for (int i = 0; i < size; i++)
{
Map<String,String> resultmap = result.get(i);
list.add(ValHelper.getInstance().getValue(resultmap, "holiday"));
}
}
return list;
}
public String getHolidayweekdays(String weekbegining)
{
String holidayweekdays = AppConstants.EMPTY_STRING;
List<String> list = getHolidays();
if( !(list.isEmpty()) )
{
Calendar endweek = TsDateUtil.getInstance().StrToDate(weekbegining);
Calendar endweekother = TsDateUtil.getInstance().StrToDate(weekbegining);
endweek.add(Calendar.DATE, 6);
int icnt = 0;
while (!TsDateUtil.getInstance().getDateStr(endweekother).equals(TsDateUtil.getInstance().getDateStr(endweek)))
{
int size = list.size();
for (int i = 0; i < size; i++)
{
String holiday = list.get(i);
if(holiday.equals(TsDateUtil.getInstance().getDateStr(endweekother)))
{
holiday = TsWeekUtil.getInstance().getWeekday(endweek);
if(icnt == 0) holidayweekdays = holiday;
else holidayweekdays = holidayweekdays + ", " + holiday;
icnt++;
}
}
endweekother.add(Calendar.DATE, 1);
}
}
return holidayweekdays;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -