/* * Created on May 19, 2003 */ package is.idega.idegaweb.member.isi.block.reports.data; import java.util.Collection; import javax.ejb.FinderException; import com.idega.data.GenericEntity; import com.idega.data.IDOQuery; /** * Description: Financial records for a club for a specified work report <br> * Copyright: Idega Software 2003 <br> * Company: Idega Software <br> * * @author <a href="mailto:eiki@idega.is">Eirikur S. Hrafnsson </a> */ public class WorkReportClubAccountRecordBMPBean extends GenericEntity implements WorkReportClubAccountRecord { protected final static String ENTITY_NAME = "ISI_WR_CLUB_ACC_REC"; protected final static String COLUMN_NAME_REPORT_ID = "ISI_WORK_REPORT_ID"; protected final static String COLUMN_NAME_WORK_REPORT_GROUP = "ISI_WR_GROUP_ID"; protected final static String COLUMN_NAME_AMOUNT = "ACC_AMOUNT"; protected final static String COLUMN_NAME_ACCOUNT_KEY_ID = "ACC_KEY_ID"; public WorkReportClubAccountRecordBMPBean() { super(); } public void initializeAttributes() { addAttribute(getIDColumnName()); addAttribute(COLUMN_NAME_REPORT_ID, "Id of the work report", true, true, Integer.class, "many-to-one", WorkReport.class); addAttribute(COLUMN_NAME_WORK_REPORT_GROUP, "The league id / club", true, true, Integer.class, "many-to-one", WorkReportGroup.class); addAttribute(COLUMN_NAME_AMOUNT, "Amount", true, true, Double.class); addAttribute(COLUMN_NAME_ACCOUNT_KEY_ID, "Account key", true, true, Integer.class, "many-to-one", WorkReportAccountKey.class); this.addManyToOneRelationship(COLUMN_NAME_WORK_REPORT_GROUP, WorkReportGroup.class); addIndex("IDX_ISI_CLUB_ACC_REC_1", COLUMN_NAME_REPORT_ID); } public String getEntityName() { return ENTITY_NAME; } public void setWorkReportGroupId(int wrGroupId) { setColumn(COLUMN_NAME_WORK_REPORT_GROUP, wrGroupId); } public void setWorkReportGroup(WorkReportGroup group) { setColumn(COLUMN_NAME_WORK_REPORT_GROUP, group); } public int getWorkReportGroupId() { return getIntColumnValue(COLUMN_NAME_WORK_REPORT_GROUP); } public int getReportId() { return getIntColumnValue(COLUMN_NAME_REPORT_ID); } public void setReportId(int reportId) { setColumn(COLUMN_NAME_REPORT_ID, reportId); } public void setReport(WorkReport report) { setColumn(COLUMN_NAME_REPORT_ID, report); } public double getAmount() { return getDoubleColumnValue(COLUMN_NAME_AMOUNT, 0); } public void setAmount(double amount) { setColumn(COLUMN_NAME_AMOUNT, amount); } public int getAccountKeyId() { return getIntColumnValue(COLUMN_NAME_ACCOUNT_KEY_ID); } public void setAccountKeyId(int accountKeyId) { setColumn(COLUMN_NAME_ACCOUNT_KEY_ID, accountKeyId); } public void setAccountKey(WorkReportAccountKey key) { setColumn(COLUMN_NAME_ACCOUNT_KEY_ID, key); } public Collection ejbFindAllRecordsByWorkReportId(int reportId) throws FinderException { return idoFindAllIDsByColumnOrderedBySQL(COLUMN_NAME_REPORT_ID, reportId); } public Collection ejbFindAllRecordsByWorkReportIdAndWorkReportGroupId( int reportId, int wrGroupId) throws FinderException { return idoFindAllIDsByColumnsBySQL(COLUMN_NAME_REPORT_ID, reportId, COLUMN_NAME_WORK_REPORT_GROUP, wrGroupId); } public Collection ejbFindAllRecordsByWorkReportIdAndWorkReportGroupIdAndWorkReportAccountKeyCollection( int reportId, int wrGroupId, Collection keys) throws FinderException { IDOQuery sql = idoQuery(); sql.appendSelect().append(getIDColumnName()).appendFrom(this.getTableName()).appendWhere().appendEquals( COLUMN_NAME_REPORT_ID, reportId).appendAnd().appendEquals( COLUMN_NAME_WORK_REPORT_GROUP, wrGroupId).appendAnd().append( COLUMN_NAME_ACCOUNT_KEY_ID).appendInCollection(keys); return idoFindPKsByQuery(sql); } public Integer ejbFindRecordByWorkReportIdAndWorkReportGroupIdAndWorkReportAccountKeyId( int reportId, int wrGroupId, int accountKeyId) throws FinderException { IDOQuery sql = idoQuery(); sql.appendSelect().append(getIDColumnName()).appendFrom(this.getTableName()).appendWhere().appendEquals( COLUMN_NAME_REPORT_ID, reportId).appendAnd().appendEquals( COLUMN_NAME_WORK_REPORT_GROUP, wrGroupId).appendAnd() .appendEquals(COLUMN_NAME_ACCOUNT_KEY_ID, accountKeyId); return (Integer) idoFindOnePKByQuery(sql); } }