//idega 2000 - aron package com.idega.block.finance.data; import java.sql.Date; import java.sql.SQLException; import java.sql.Timestamp; import java.util.Collection; import javax.ejb.FinderException; import com.idega.data.IDOException; import com.idega.data.IDOQuery; import com.idega.util.IWTimestamp; /** * Title: * Description: * Copyright: Copyright (c) 2000-2001 idega.is All Rights Reserved * Company: idega *@author <a href="mailto:aron@idega.is">Aron Birkir</a> * @version 1.1 */ public class AssessmentRoundBMPBean extends com.idega.block.category.data.CategoryEntityBMPBean implements com.idega.block.finance.data.AssessmentRound { public AssessmentRoundBMPBean(){ super(); } public AssessmentRoundBMPBean(int id)throws SQLException{ super(id); } public void initializeAttributes(){ addAttribute(getIDColumnName()); addAttribute(getColumnTariffGroupId(),"Tariff group",true,true,Integer.class,"",TariffGroup.class); addAttribute(getNameColumnName(),"Name",true,true,java.lang.String.class); addAttribute(getRoundStampColumnName(),"Round stamp",true,true,java.sql.Timestamp.class); addAttribute(getPeriodFromColumnName(),"Period from date",true,true,java.sql.Date.class); addAttribute(getPeriodToColumnName(),"Period to date",true,true,java.sql.Date.class); addAttribute(getDueDateColumnName(),"Due date",true,true,java.sql.Date.class); addAttribute(getTotalsColumnName(), "Totals", true, true, java.lang.Float.class); addAttribute(getStatusColumnName(),"Status",true,true,java.lang.String.class,1); addAttribute(getAccountCountColumnName(),"Account count",true,true,java.lang.Integer.class); } public static String getEntityTableName(){return "FIN_ASSESSMENT_ROUND";} public static String getColumnTariffGroupId(){return "FIN_TARIFF_GROUP_ID";} public static String getNameColumnName(){return "NAME";} public static String getRoundStampColumnName(){return "ROUND_STAMP";} public static String getTotalsColumnName(){return "TOTALS";} public static String getStatusColumnName(){return "STATUS";} public static String getTypeColumnName(){return "ENTRY_TYPE";} public static String getAccountCountColumnName(){return "ACC_COUNT";} public static String getPeriodFromColumnName(){return "PERIOD_FROM";} public static String getPeriodToColumnName(){return "PERIOD_TO";} public static String getDueDateColumnName(){return "DUE_DATE";} public String getEntityName(){ return getEntityTableName(); } public String getName(){ return getStringColumnValue(getNameColumnName()); } public void setName(String name){ setColumn(getNameColumnName(), name); } public int getAccountCount(){ return getIntColumnValue(getAccountCountColumnName()); } public void setAccountCount(int count){ setColumn( getAccountCountColumnName(),count); } public Timestamp getRoundStamp(){ return (Timestamp) getColumnValue(getRoundStampColumnName()); } public void setRoundStamp(Timestamp round_stamp){ setColumn(getRoundStampColumnName(), round_stamp); } public Date getDueDate(){ return (Date) getColumnValue(getDueDateColumnName()); } public void setDueDate(Date date){ setColumn(getDueDateColumnName(),date); } public Date getPeriodToDate(){ return (Date) getColumnValue(getPeriodToColumnName()); } public void setPeriodToDate(Date date){ setColumn(getPeriodToColumnName(),date); } public Date getPeriodFromDate(){ return (Date) getColumnValue(getPeriodFromColumnName()); } public void setPeriodFromDate(Date date){ setColumn(getPeriodFromColumnName(),date); } public float getTotals(){ return getFloatColumnValue(getTotalsColumnName()); } public void setTotals(Float totals){ setColumn(getTotalsColumnName(), totals); } public void setTotals(float totals){ setColumn(getTotalsColumnName(), totals); } public void setStatus(String status) throws IllegalStateException { if ((status.equalsIgnoreCase(AssessmentStatus.ASSESSED)) || (status.equalsIgnoreCase(AssessmentStatus.PUBLISHED)) || (status.equalsIgnoreCase(AssessmentStatus.SENT))|| (status.equalsIgnoreCase(AssessmentStatus.RECEIVED))) { setColumn(getStatusColumnName(),status); } else { throw new IllegalStateException("Undefined state : " + status); } } public String getStatus() { return((String)getColumnValue(getStatusColumnName())); } public void setStatusAssessed() { setStatus(AssessmentStatus.ASSESSED); } public void setStatusSent() { setStatus(AssessmentStatus.SENT); } public void setStatusReceived() { setStatus(AssessmentStatus.RECEIVED); } public void setStatusPublished() { setStatus(AssessmentStatus.PUBLISHED); } public void setType(String type){ setColumn(getTypeColumnName(),type); } public String getType(){ return getStringColumnValue( getTypeColumnName()); } public int getTariffGroupId(){ return getIntColumnValue( getColumnTariffGroupId() ); } public void setTariffGroupId(int groupId){ setColumn(getColumnTariffGroupId(),groupId); } public void setAsNew(String name){ setName(name); setStatusAssessed(); setRoundStamp(IWTimestamp.getTimestampRightNow()); setTotals(0); } public void setAsSent(String name){ setName(name); setStatusSent(); setRoundStamp(IWTimestamp.getTimestampRightNow()); } public void setAsReceived(String name){ setName(name); setStatusReceived(); setRoundStamp(IWTimestamp.getTimestampRightNow()); } public void setAsPublished(String name){ setName(name); setStatusPublished(); setRoundStamp(IWTimestamp.getTimestampRightNow()); } public Collection ejbFindByCategoryAndTariffGroup(Integer categoryID,Integer groupID,Date fromDate,Date toDate,String status,int resultSetSize,int startIndex )throws FinderException{ IDOQuery query = super.idoQueryGetSelect().appendWhereEquals(getColumnCategoryId(),categoryID); if(groupID!=null) { query.appendAndEquals(getColumnTariffGroupId(),groupID); } if(fromDate!=null && toDate!=null) { query.appendAnd().appendWithinDates(getRoundStampColumnName(),fromDate,toDate); } if(status!=null) { query.appendAndEqualsQuoted(getStatusColumnName(),status); } query.appendOrderByDescending(getRoundStampColumnName()); return super.idoFindPKsByQuery(query,resultSetSize,startIndex); } public int ejbHomeGetCountByCategoryAndTariffGroup(Integer categoryID,Integer groupID,Date fromDate,Date toDate,String status)throws IDOException{ IDOQuery query = super.idoQueryGetSelectCount().appendWhereEquals(getColumnCategoryId(),categoryID); if(groupID!=null) { query.appendAndEquals(getColumnTariffGroupId(),groupID); } if(toDate!=null && fromDate!=null) { query.appendAnd().appendWithinDates(getRoundStampColumnName(),fromDate,toDate); } if(status!=null) { query.appendAndEqualsQuoted(getStatusColumnName(),status); } return super.idoGetNumberOfRecords(query); } }