/** * @param searchObject * @return * @throws SystemException */ public String fiscalQuarter(IfoBalanceSheetSearch searchObject) throws SystemException { final String LOCATION = "fiscalQuarter(criteriaObject:" + searchObject + " )"; if (log.isDebugEnabled()) log.debug(LOCATION + ":: BEGIN"); try { Map paramMap = new HashMap(); StringBuffer sql = new StringBuffer( "SELECT DECODE(TO_CHAR(FISCAL_DATE, 'MM'),'03', 'Q1','06', 'Q2','09', 'Q3','12', 'Q4') AS FISCAL_QUARTER FROM (SELECT FISCAL_DATE FROM IFO_INCOME_VIEW WHERE COMPANY_ID = :COMPANY_ID AND REPORT_TYPE = 'QUARTER'ORDER BY FISCAL_DATE DESC) WHERE ROWNUM =1"); paramMap.put("COMPANY_ID", searchObject.getCompanyId()); String result = (String) OracleDAOHelper.querySingle( this.getDataSource(), sql.toString(), paramMap, fiscalQuarterMapper); if (log.isDebugEnabled()) log.debug(LOCATION + ":: END - result: " + result); return result == null ? "Q1" : result; } catch (RuntimeException sysex) { throw new SystemException(LOCATION, sysex); } catch (Exception ex) { throw new SystemException(LOCATION, ex); } }