/* * Created on 2003-sep-08 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */ package se.idega.idegaweb.commune.care.resource.data; import java.sql.Date; import java.util.Collection; import javax.ejb.FinderException; import com.idega.block.school.data.School; import com.idega.block.school.data.SchoolClass; import com.idega.block.school.data.SchoolClassMember; import com.idega.core.location.data.Address; import com.idega.data.GenericEntity; import com.idega.data.IDOCompositePrimaryKeyException; import com.idega.data.IDOEntityDefinition; import com.idega.data.IDOException; import com.idega.data.IDOLookup; import com.idega.data.IDOLookupException; import com.idega.data.IDOQuery; import com.idega.user.data.User; /** * @author wmgobom * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */ public class ResourceClassMemberBMPBean extends GenericEntity implements ResourceClassMember { private final static String TABLE_NAME = "CACC_RESOURCE_CLASS_MEMBER"; private static final String RESOURCE = "cacc_resource_id"; private static final String MEMBER = "sch_class_member_id"; private static final String STARTDATE = "startdate"; private static final String ENDDATE = "enddate"; private static final String REGISTRATOR = "registrator"; private static final String CREATEDDATE = "created_date"; private static final String TEACHER_ID = "teacher_id"; public String getEntityName() { return TABLE_NAME; } public void initializeAttributes() { this.addAttribute(getIDColumnName()); this.addManyToOneRelationship(RESOURCE, Resource.class); this.addManyToOneRelationship(MEMBER, SchoolClassMember.class); this.addAttribute(STARTDATE, "Startdate for resourceperiod", true, true, Date.class); this.addAttribute(ENDDATE, "Enddate for resourceperiod", true, true, Date.class); this.addAttribute(REGISTRATOR, "registrator", true, true, Integer.class, MANY_TO_ONE, com.idega.core.user.data.User.class); this.addAttribute(CREATEDDATE, "Date for resource placement creation", true, true, Date.class); this.addAttribute(TEACHER_ID, "Teacher id", true, true, String.class); } public Collection ejbFindAllByRscIdAndMemberId(Integer rscId, Integer mbrId) throws FinderException { IDOQuery q = idoQueryGetSelect(); q.appendWhereEquals(RESOURCE, rscId); q.appendAndEquals(MEMBER, mbrId); return super.idoFindPKsByQuery(q); } public int ejbHomeCountByRscIdAndMemberId(Integer rscId, Integer mbrId) throws IDOException { IDOQuery q = idoQuery(); q.append("select count(*) from " + getEntityName()); q.appendWhereEquals(RESOURCE, rscId); q.appendAndEquals(MEMBER, mbrId); return super.idoGetNumberOfRecords(q); } public int ejbHomeCountByRscIdsAndUserId(int[] rscIds, int userId) throws IDOException, IDOLookupException, IDOCompositePrimaryKeyException { IDOEntityDefinition cmDef = IDOLookup.getEntityDefinitionForClass(SchoolClassMember.class); String cmTableName = cmDef.getSQLTableName(); String cmIdName = cmDef.getPrimaryKeyDefinition().getField().getSQLFieldName(); IDOEntityDefinition scDef = IDOLookup.getEntityDefinitionForClass(SchoolClass.class); String scTableName = scDef.getSQLTableName(); String scIdName = scDef.getPrimaryKeyDefinition().getField().getSQLFieldName(); Date today = new Date(System.currentTimeMillis()); IDOQuery q = idoQuery(); q.append("select count(distinct sc.sch_school_season_id) from " + getEntityName() + " rp, ") .append(cmTableName + " cm, ") .append(scTableName + " sc") .appendWhereEquals("rp." + MEMBER, "cm." + cmIdName) .appendAnd().append("cm.register_date").appendLessThanOrEqualsSign().appendWithinSingleQuotes(today) .appendAndEquals("cm." + scIdName, "sc." + scIdName) .appendAnd().append("rp." + RESOURCE + " IN ").appendLeftParenthesis(); for (int i = 0; i < rscIds.length; i++) { q.append(rscIds[i]); if (i < rscIds.length - 1) { q.append(","); } } q.appendRightParenthesis(); q.appendAndEquals("cm.ic_user_id", userId); return super.idoGetNumberOfRecords(q); } public int ejbHomeCountByRscSchoolTypeSeasonManagementTypeAndCommune(int resourceId, int schoolTypeId, int seasonId, String managementTypeId, int communeId, boolean outsideCommune) throws IDOException, IDOLookupException, IDOCompositePrimaryKeyException { IDOEntityDefinition cmDef = IDOLookup.getEntityDefinitionForClass(SchoolClassMember.class); String cmTableName = cmDef.getSQLTableName(); String cmIdName = cmDef.getPrimaryKeyDefinition().getField().getSQLFieldName(); IDOEntityDefinition scDef = IDOLookup.getEntityDefinitionForClass(SchoolClass.class); String scTableName = scDef.getSQLTableName(); String scIdName = scDef.getPrimaryKeyDefinition().getField().getSQLFieldName(); IDOEntityDefinition uDef = IDOLookup.getEntityDefinitionForClass(User.class); String uTableName = uDef.getSQLTableName(); String uIdName = uDef.getPrimaryKeyDefinition().getField().getSQLFieldName(); IDOEntityDefinition aDef = IDOLookup.getEntityDefinitionForClass(Address.class); String aTableName = aDef.getSQLTableName(); String aIdName = aDef.getPrimaryKeyDefinition().getField().getSQLFieldName(); IDOEntityDefinition sDef = IDOLookup.getEntityDefinitionForClass(School.class); String sTableName = sDef.getSQLTableName(); String sIdName = sDef.getPrimaryKeyDefinition().getField().getSQLFieldName(); String uaTableName = "ic_user_address"; Date today = new Date(System.currentTimeMillis()); IDOQuery q = idoQuery(); q.append("select count(distinct u." + uIdName + ") from " + getEntityName() + " rp, ") .append(cmTableName + " cm, ") .append(scTableName + " sc, ") .append(uTableName + " u, ") .append(aTableName + " a, ") .append(uaTableName + " ua, ") .append(sTableName + " s") .appendWhereEquals("rp." + MEMBER, "cm." + cmIdName) .appendAndEquals("rp." + RESOURCE, resourceId) .appendAnd().append("cm.register_date").appendLessThanOrEqualsSign().appendWithinSingleQuotes(today) .appendAnd().appendLeftParenthesis().append("cm.removed_date is null") .appendOr().append("cm.removed_date").appendGreaterThanSign().appendWithinSingleQuotes(today).appendRightParenthesis() .appendAndEquals("cm." + scIdName, "sc." + scIdName) .appendAndEquals("sc.sch_school_season_id", seasonId) .appendAndEquals("cm.sch_school_type_id", schoolTypeId) .appendAndEquals("cm.ic_user_id", "u." + uIdName) .appendAndEquals("u." + uIdName, "ua.ic_user_id") .appendAndEquals("ua.ic_address_id", "a." + aIdName); if (outsideCommune) { q.appendAnd().append("a.ic_commune_id <> ").append(communeId); } else { q.appendAndEquals("a.ic_commune_id", communeId); } q.appendAnd().appendLeftParenthesis().append("rp." + ENDDATE + " is null") .appendOr().append("rp." + ENDDATE).appendGreaterThanSign().appendWithinSingleQuotes(today).appendRightParenthesis() .appendAndEquals("sc.school_id", "s." + sIdName) .appendAndEqualsQuoted("s.management_type", managementTypeId); return super.idoGetNumberOfRecords(q); } /** * Finds all ResourceClassMembers for a SchoolClassMember * @param memberId * @return * @throws FinderException */ public Collection ejbFindAllByClassMemberId(Integer schClassMemberId) throws FinderException { IDOQuery q = idoQueryGetSelect(); q.appendWhereEquals(MEMBER, schClassMemberId); return super.idoFindPKsByQuery(q); } public Collection ejbFindAllByClsMbrIdOrderByRscName(Integer memberId) throws FinderException { IDOQuery q = idoQuery(); q.append("select rp.* from " + getEntityName() + " rp, ") .append(ResourceBMPBean.TABLE_NAME + " r") .appendWhereEquals("rp." + MEMBER, memberId) .appendAndEquals("rp." + RESOURCE, "r.cacc_resource_id") .appendOrderBy("r." + ResourceBMPBean.NAME); return super.idoFindPKsByQuery(q); } public Collection ejbFindByRscIdsAndSeasonId(int[] rscIds, int seasonId) throws FinderException, IDOLookupException, IDOCompositePrimaryKeyException { IDOEntityDefinition cmDef = IDOLookup.getEntityDefinitionForClass(SchoolClassMember.class); String cmTableName = cmDef.getSQLTableName(); String cmIdName = cmDef.getPrimaryKeyDefinition().getField().getSQLFieldName(); IDOEntityDefinition scDef = IDOLookup.getEntityDefinitionForClass(SchoolClass.class); String scTableName = scDef.getSQLTableName(); String scIdName = scDef.getPrimaryKeyDefinition().getField().getSQLFieldName(); IDOEntityDefinition sDef = IDOLookup.getEntityDefinitionForClass(School.class); String sTableName = sDef.getSQLTableName(); String sIdName = sDef.getPrimaryKeyDefinition().getField().getSQLFieldName(); Date today = new Date(System.currentTimeMillis()); IDOQuery q = idoQuery(); q.append("select rp.* from " + getEntityName() + " rp, ") .append(cmTableName + " cm, ") .append(scTableName + " sc, ") .append(sTableName + " s") .appendWhereEquals("rp." + MEMBER, "cm." + cmIdName) .appendAnd().append("cm.register_date").appendLessThanOrEqualsSign().appendWithinSingleQuotes(today) .appendAnd().appendLeftParenthesis().append("cm.removed_date is null") .appendOr().append("cm.removed_date").appendGreaterThanSign().appendWithinSingleQuotes(today).appendRightParenthesis() .appendAndEquals("cm." + scIdName, "sc." + scIdName) .appendAnd().append("rp." + RESOURCE + " IN ").appendLeftParenthesis(); for (int i = 0; i < rscIds.length; i++) { q.append(rscIds[i]); if (i < rscIds.length - 1) { q.append(","); } } q.appendRightParenthesis(); q.appendAndEquals("sc.school_id", "s." + sIdName) .appendAndEquals("sc.sch_school_season_id", seasonId) .appendAnd().appendLeftParenthesis().append("rp." + ENDDATE + " is null") .appendOr().append("rp." + ENDDATE).appendGreaterThanSign().appendWithinSingleQuotes(today).appendRightParenthesis() .appendOrderBy("s.school_name"); return super.idoFindPKsByQuery(q); } public int ejbHomeGetCountOfResources(int schoolClassMemberID, String resourceIDs) throws IDOException { IDOQuery q = this.idoQueryGetSelectCount(); q.appendWhereEquals(MEMBER, schoolClassMemberID); q.appendAnd().append(RESOURCE).appendIn(resourceIDs); return idoGetNumberOfRecords(q); } public Resource getResource() { return (Resource) getColumnValue(RESOURCE); } public SchoolClassMember getSchoolClassMember() { return (SchoolClassMember) getColumnValue(MEMBER); } public void setResourceFK(int rscId) { this.setColumn(RESOURCE, rscId); } public int getResourceFK() { return this.getIntColumnValue(RESOURCE); } /** * Sets foreign key to SchoolClassMember the childs SchoolPlacement */ public void setMemberFK(int memId) { this.setColumn(MEMBER, memId); } /** * Gets foreign key to SchoolClassMember the childs SchoolPlacement */ public int getMemberFK() { return this.getIntColumnValue(MEMBER); } public void setStartDate(java.util.Date start) { this.setColumn(STARTDATE, start); } public Date getStartDate() { return this.getDateColumnValue(STARTDATE); } public void setEndDate(java.util.Date end) { setColumn(ENDDATE, end); } public Date getEndDate() { return getDateColumnValue(ENDDATE); } public void setRegistratorId(int id) { setColumn(REGISTRATOR, id); } public int getRegistratorId() { return getIntColumnValue(REGISTRATOR); } public void setCreatedDate(java.util.Date end) { setColumn(CREATEDDATE, end); } public Date getCreatedDate() { return getDateColumnValue(CREATEDDATE); } public void setTeacherId(String tchid) { setColumn(TEACHER_ID, tchid); } public String getTeacherId() { return getStringColumnValue(TEACHER_ID); } }