/**
* 查询某个部门的某个日期的工作日历的情况
*/
protected IRowSet _queryDateinWorkCalendarbyOrgAdminId(Context ctx,
Date date, String orgAdminId) throws BOSException {
StringBuffer sql=new StringBuffer();
//先查询date是否是在某个工作日历的范围内
sql.append("select fid,FHourOfHalfWorkDate,FHourOfWorkDate from T_WorkCalendar where FOrgUnitID='");
sql.append(orgAdminId);
sql.append("' and FStartWorkDate<=to_date('");
sql.append(dateTimeFormat.format(date));
sql.append("') and FEndWorkDate>=to_date('");
sql.append(dateTimeFormat.format(date));
sql.append("')");
logger.info("查询职员的组织的工作日历:"+sql);
return DbUtil.executeQuery(ctx, sql.toString());
}
/**查询某个日期在某个工作日历中的具体情况*/
protected IRowSet _queryDateinWorkCalendarEntrybyOrgAdminId(Context ctx,
Date date, String workCalendarId) throws BOSException {
Calendar ca=Calendar.getInstance();
ca.setTime(date);
ca.set(Calendar.HOUR_OF_DAY,0);
ca.set(Calendar.MINUTE,0);
ca.set(Calendar.SECOND,0);
//求出该职员在分录表中的情况,即是否有对该日期进行设置日历
sql.delete(0,sql.length());
sql.append("select fid,FDateType from T_WorkCalendarDayEntry where FWorkCanlendarID='");
sql.append(workCalendarId);
sql.append("' and (FDateType=1 or FDateType=4) and FWorkDate>=to_date('");
sql.append(dateTimeFormat.format(ca.getTime()));
sql.append("') and FWorkDate<=to_date('");
ca.add(Calendar.DATE, 1);
ca.add(Calendar.SECOND, -1);
sql.append(dateTimeFormat.format(ca.getTime()));
sql.append("')");
logger.info("查询职员的分录的工作日历:"+sql);
return DbUtil.executeQuery(ctx, sql.toString());
}