/* * Created on Mar 9, 2004 * */ package com.idega.block.finance.data; import java.util.Collection; import javax.ejb.FinderException; import com.idega.user.data.UserBMPBean; import com.idega.util.text.Name; /** * AccountUserBMPBean * @author aron * @version 1.0 */ public class AccountUserBMPBean extends UserBMPBean implements AccountUser{ public Collection ejbFindByAssessmentRound(Integer roundID)throws FinderException{ StringBuffer sql = new StringBuffer("select distinct u.* "); sql.append(" from fin_account a,fin_acc_entry e,fin_assessment_round r ,ic_user u "); sql.append(" where a.fin_account_id = e.fin_account_id "); sql.append(" and e.fin_assessment_round_id = r.fin_assessment_round_id "); sql.append(" and a.ic_user_id = u.ic_user_id"); sql.append(" and r.fin_assessment_round_id = "); sql.append(roundID); return super.idoFindPKsBySQL(sql.toString()); } public Collection ejbFindBySearch(String name, String pid)throws FinderException{ StringBuffer sql = new StringBuffer("select * from "); sql.append("ic_user u "); boolean isfirst = true; Name nm = new Name(name); String first = nm.getFirstName(); String middle = nm.getMiddleName(); String last = nm.getLastName(); if(first != null || middle !=null || last !=null || pid!=null){ sql.append(" where "); if(first!=null && !"".equals(first)){ if(!isfirst) { sql.append(" and "); } sql.append(" u.first_name like '%"); sql.append(first); sql.append("%' "); isfirst = false; } if(middle!=null && !"".equals(middle)){ if(!isfirst) { sql.append(" and "); } sql.append(" u.middle_name like '%"); sql.append(middle); sql.append("%' "); isfirst = false; } if(last!=null && !"".equals(last )){ if(!isfirst) { sql.append(" and "); } sql.append(" u.last_name like '%"); sql.append(last); sql.append("%' "); isfirst = false; } if(pid!=null && !"".equals(pid )){ if(!isfirst) { sql.append(" and "); } sql.append(" u.personal_id like '%"); sql.append(pid); sql.append("%' "); isfirst = false; } return super.idoFindPKsBySQL(sql.toString()); } throw new FinderException("Searching user with null conditions"); } }