/** * TNTConcept Easy Enterprise Management by Autentia Real Bussiness Solution S.L. * Copyright (C) 2007 Autentia Real Bussiness Solution S.L. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.autentia.tnt.dao.search; import java.util.*; import java.math.*; import com.autentia.tnt.businessobject.*; import com.autentia.tnt.dao.*; import com.autentia.tnt.util.ConfigurationUtil; /** * Class to search for AccountEntry objects * @author stajanov code generator */ public class AccountEntrySearch extends SearchCriteria { /* generated by stajanov (do not edit/delete) */ @Override public String getHQL() { StringBuilder ret = new StringBuilder(); int iArgNum = 0; if( isStartDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( startDate == null ){ ret.append( "date=:arg"+(iArgNum++) ); } else { ret.append( "date>=:arg"+(iArgNum++) ); } } if( isEndDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( endDate == null ){ ret.append( "date=:arg"+(iArgNum++) ); } else { ret.append( "date<=:arg"+(iArgNum++) ); } } if( isStartAmountDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( startAmountDate == null ){ ret.append( "amountDate=:arg"+(iArgNum++) ); } else { ret.append( "amountDate>=:arg"+(iArgNum++) ); } } if( isEndAmountDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( endAmountDate == null ){ ret.append( "amountDate=:arg"+(iArgNum++) ); } else { ret.append( "amountDate<=:arg"+(iArgNum++) ); } } if( isConceptSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getConcept()==null ){ ret.append( "concept is NULL" ); } else { ret.append( "concept like :arg"+(iArgNum++) ); } } if( isStartAmountSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( startAmount == null ){ ret.append( "amount=:arg"+(iArgNum++) ); } else { ret.append( "amount>=:arg"+(iArgNum++) ); } } if( isEndAmountSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( endAmount == null ){ ret.append( "amount=:arg"+(iArgNum++) ); } else { ret.append( "amount<=:arg"+(iArgNum++) ); } } if( isEntryNumberSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getEntryNumber()==null ){ ret.append( "entryNumber is NULL" ); } else { ret.append( "entryNumber = :arg"+(iArgNum++) ); } } if( isDocNumberSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getDocNumber()==null ){ ret.append( "docNumber is NULL" ); } else { ret.append( "docNumber = :arg"+(iArgNum++) ); } } if( isObservationsSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getObservations()==null ){ ret.append( "observations is NULL" ); } else { ret.append( "observations = :arg"+(iArgNum++) ); } } if( isOwnerIdSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getOwnerId()==null ){ ret.append( "ownerId is NULL" ); } else { ret.append( "ownerId = :arg"+(iArgNum++) ); } } if( isDepartmentIdSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getDepartmentId()==null ){ ret.append( "departmentId is NULL" ); } else { ret.append( "departmentId = :arg"+(iArgNum++) ); } } if( isStartInsertDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( startInsertDate == null ){ ret.append( "insertDate=:arg"+(iArgNum++) ); } else { ret.append( "insertDate>=:arg"+(iArgNum++) ); } } if( isEndInsertDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( endInsertDate == null ){ ret.append( "insertDate=:arg"+(iArgNum++) ); } else { ret.append( "insertDate<=:arg"+(iArgNum++) ); } } if( isStartUpdateDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( startUpdateDate == null ){ ret.append( "updateDate=:arg"+(iArgNum++) ); } else { ret.append( "updateDate>=:arg"+(iArgNum++) ); } } if( isEndUpdateDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( endUpdateDate == null ){ ret.append( "updateDate=:arg"+(iArgNum++) ); } else { ret.append( "updateDate<=:arg"+(iArgNum++) ); } } if( isAccountSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getAccount()==null ){ ret.append( "account is NULL" ); } else { ret.append( "account = :arg"+(iArgNum++) ); } } if( isTypeSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getType()==null ){ ret.append( "type is NULL" ); } else { ret.append( "type = :arg"+(iArgNum++) ); } } if( isBillsSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); ret.append( "bills.id IN (:arg"+(iArgNum++)+")" ); } customGetHQL(ret,iArgNum); return ret.toString(); } private void customGetHQL(StringBuilder ret, int iArgNum) { if( isYearSet() ) { ret.append( (ret.length()==0) ? "WHERE " : " AND " ); ret.append( "year(date)=:arg"+(iArgNum++)); } if( isBillSet() ) { ret.append( (ret.length()==0) ? "WHERE " : " AND " ); ret.append( "id NOT IN(SELECT ent.id from Bill as bill join bill.entries ent where bill.id = :arg"+(iArgNum++)+")" ); }// select b.baz from Foo f join f.bars b if( isHideInitialEntrySet() && hideInitialEntry ) { ret.append( (ret.length()==0) ? "WHERE " : " AND " ); ret.append( "type NOT IN(SELECT id from AccountEntryType as type where type.group.id = :arg"+(iArgNum++)+")"); } } @Override public Object[] getArguments(){ ArrayList<Object> ret = new ArrayList<Object>(); if( isStartDateSet() ){ ret.add( startDate ); } if( isEndDateSet() ){ ret.add( endDate ); } if( isStartAmountDateSet() ){ ret.add( startAmountDate ); } if( isEndAmountDateSet() ){ ret.add( endAmountDate ); } if( isConceptSet() && getConcept()!=null ){ ret.add( concept ); } if( isStartAmountSet() ){ ret.add( startAmount ); } if( isEndAmountSet() ){ ret.add( endAmount ); } if( isEntryNumberSet() && getEntryNumber()!=null ){ ret.add( entryNumber ); } if( isDocNumberSet() && getDocNumber()!=null ){ ret.add( docNumber ); } if( isObservationsSet() && getObservations()!=null ){ ret.add( observations ); } if( isOwnerIdSet() && getOwnerId()!=null ){ ret.add( ownerId ); } if( isDepartmentIdSet() && getDepartmentId()!=null ){ ret.add( departmentId ); } if( isStartInsertDateSet() ){ ret.add( startInsertDate ); } if( isEndInsertDateSet() ){ ret.add( endInsertDate ); } if( isStartUpdateDateSet() ){ ret.add( startUpdateDate ); } if( isEndUpdateDateSet() ){ ret.add( endUpdateDate ); } if( isAccountSet() && getAccount()!=null ){ ret.add( account ); } if( isTypeSet() && getType()!=null ){ ret.add( type ); } if( isBillsSet() ){ List<Integer> params = new ArrayList<Integer>(); for( ITransferObject to : bills ) { params.add( to.getId() ); } ret.add( params ); } customGetArguments(ret); return ret.toArray(); } @Override public void reset(){ unsetStartDate(); unsetEndDate(); unsetStartAmountDate(); unsetEndAmountDate(); unsetConcept(); unsetStartAmount(); unsetEndAmount(); unsetEntryNumber(); unsetDocNumber(); unsetObservations(); unsetOwnerId(); unsetDepartmentId(); unsetStartInsertDate(); unsetEndInsertDate(); unsetStartUpdateDate(); unsetEndUpdateDate(); unsetAccount(); unsetType(); unsetBills(); customReset(); } @Override public String toString() { StringBuilder ret = new StringBuilder(); ret.append("AccountEntrySearch{"); if( isStartDateSet() ){ ret.append( "(startDate" ); ret.append( "="+startDate ); ret.append( ")" ); } if( isEndDateSet() ){ ret.append( "(endDate" ); ret.append( "="+endDate ); ret.append( ")" ); } if( isStartAmountDateSet() ){ ret.append( "(startAmountDate" ); ret.append( "="+startAmountDate ); ret.append( ")" ); } if( isEndAmountDateSet() ){ ret.append( "(endAmountDate" ); ret.append( "="+endAmountDate ); ret.append( ")" ); } if( isConceptSet() ){ ret.append( "(concept" ); ret.append( "="+concept ); ret.append( ")" ); } if( isStartAmountSet() ){ ret.append( "(startAmount" ); ret.append( "="+startAmount ); ret.append( ")" ); } if( isEndAmountSet() ){ ret.append( "(endAmount" ); ret.append( "="+endAmount ); ret.append( ")" ); } if( isEntryNumberSet() ){ ret.append( "(entryNumber" ); ret.append( "="+entryNumber ); ret.append( ")" ); } if( isDocNumberSet() ){ ret.append( "(docNumber" ); ret.append( "="+docNumber ); ret.append( ")" ); } if( isObservationsSet() ){ ret.append( "(observations" ); ret.append( "="+observations ); ret.append( ")" ); } if( isOwnerIdSet() ){ ret.append( "(ownerId" ); ret.append( "="+ownerId ); ret.append( ")" ); } if( isDepartmentIdSet() ){ ret.append( "(departmentId" ); ret.append( "="+departmentId ); ret.append( ")" ); } if( isStartInsertDateSet() ){ ret.append( "(startInsertDate" ); ret.append( "="+startInsertDate ); ret.append( ")" ); } if( isEndInsertDateSet() ){ ret.append( "(endInsertDate" ); ret.append( "="+endInsertDate ); ret.append( ")" ); } if( isStartUpdateDateSet() ){ ret.append( "(startUpdateDate" ); ret.append( "="+startUpdateDate ); ret.append( ")" ); } if( isEndUpdateDateSet() ){ ret.append( "(endUpdateDate" ); ret.append( "="+endUpdateDate ); ret.append( ")" ); } if( isAccountSet() ){ ret.append( "(account" ); ret.append( "="+account ); ret.append( ")" ); } if( isTypeSet() ){ ret.append( "(type" ); ret.append( "="+type ); ret.append( ")" ); } if( isBillsSet() ){ ret.append( "(bills={" ); for( Object o : bills.toArray() ){ ret.append( ","+o ); } ret.append( "})" ); } customToString(ret); ret.append("}"); return ret.toString(); } // Getters and setters public boolean isStartDateSet(){ return startDateSet; } public Date getStartDate(){ return startDate; } public void setStartDate( Date startDate ){ this.startDate = startDate; this.startDateSet = true; } public void unsetStartDate(){ this.startDateSet = false; } public boolean isEndDateSet(){ return endDateSet; } public Date getEndDate(){ return endDate; } public void setEndDate( Date endDate ){ this.endDate = endDate; this.endDateSet = true; } public void unsetEndDate(){ this.endDateSet = false; } public boolean isStartAmountDateSet(){ return startAmountDateSet; } public Date getStartAmountDate(){ return startAmountDate; } public void setStartAmountDate( Date startAmountDate ){ this.startAmountDate = startAmountDate; this.startAmountDateSet = true; } public void unsetStartAmountDate(){ this.startAmountDateSet = false; } public boolean isEndAmountDateSet(){ return endAmountDateSet; } public Date getEndAmountDate(){ return endAmountDate; } public void setEndAmountDate( Date endAmountDate ){ this.endAmountDate = endAmountDate; this.endAmountDateSet = true; } public void unsetEndAmountDate(){ this.endAmountDateSet = false; } public boolean isConceptSet(){ return conceptSet; } public String getConcept(){ return concept; } public void setConcept( String concept ){ this.concept = concept; this.conceptSet = true; } public void unsetConcept(){ this.conceptSet = false; } public boolean isStartAmountSet(){ return startAmountSet; } public BigDecimal getStartAmount(){ return startAmount; } public void setStartAmount( BigDecimal startAmount ){ this.startAmount = startAmount; this.startAmountSet = true; } public void unsetStartAmount(){ this.startAmountSet = false; } public boolean isEndAmountSet(){ return endAmountSet; } public BigDecimal getEndAmount(){ return endAmount; } public void setEndAmount( BigDecimal endAmount ){ this.endAmount = endAmount; this.endAmountSet = true; } public void unsetEndAmount(){ this.endAmountSet = false; } public boolean isEntryNumberSet(){ return entryNumberSet; } public String getEntryNumber(){ return entryNumber; } public void setEntryNumber( String entryNumber ){ this.entryNumber = entryNumber; this.entryNumberSet = true; } public void unsetEntryNumber(){ this.entryNumberSet = false; } public boolean isDocNumberSet(){ return docNumberSet; } public String getDocNumber(){ return docNumber; } public void setDocNumber( String docNumber ){ this.docNumber = docNumber; this.docNumberSet = true; } public void unsetDocNumber(){ this.docNumberSet = false; } public boolean isObservationsSet(){ return observationsSet; } public String getObservations(){ return observations; } public void setObservations( String observations ){ this.observations = observations; this.observationsSet = true; } public void unsetObservations(){ this.observationsSet = false; } public boolean isOwnerIdSet(){ return ownerIdSet; } public Integer getOwnerId(){ return ownerId; } public void setOwnerId( Integer ownerId ){ this.ownerId = ownerId; this.ownerIdSet = true; } public void unsetOwnerId(){ this.ownerIdSet = false; } public boolean isDepartmentIdSet(){ return departmentIdSet; } public Integer getDepartmentId(){ return departmentId; } public void setDepartmentId( Integer departmentId ){ this.departmentId = departmentId; this.departmentIdSet = true; } public void unsetDepartmentId(){ this.departmentIdSet = false; } public boolean isStartInsertDateSet(){ return startInsertDateSet; } public Date getStartInsertDate(){ return startInsertDate; } public void setStartInsertDate( Date startInsertDate ){ this.startInsertDate = startInsertDate; this.startInsertDateSet = true; } public void unsetStartInsertDate(){ this.startInsertDateSet = false; } public boolean isEndInsertDateSet(){ return endInsertDateSet; } public Date getEndInsertDate(){ return endInsertDate; } public void setEndInsertDate( Date endInsertDate ){ this.endInsertDate = endInsertDate; this.endInsertDateSet = true; } public void unsetEndInsertDate(){ this.endInsertDateSet = false; } public boolean isStartUpdateDateSet(){ return startUpdateDateSet; } public Date getStartUpdateDate(){ return startUpdateDate; } public void setStartUpdateDate( Date startUpdateDate ){ this.startUpdateDate = startUpdateDate; this.startUpdateDateSet = true; } public void unsetStartUpdateDate(){ this.startUpdateDateSet = false; } public boolean isEndUpdateDateSet(){ return endUpdateDateSet; } public Date getEndUpdateDate(){ return endUpdateDate; } public void setEndUpdateDate( Date endUpdateDate ){ this.endUpdateDate = endUpdateDate; this.endUpdateDateSet = true; } public void unsetEndUpdateDate(){ this.endUpdateDateSet = false; } public boolean isAccountSet(){ return accountSet; } public Account getAccount(){ return account; } public void setAccount( Account account ){ this.account = account; this.accountSet = true; } public void unsetAccount(){ this.accountSet = false; } public boolean isTypeSet(){ return typeSet; } public AccountEntryType getType(){ return type; } public void setType( AccountEntryType type ){ this.type = type; this.typeSet = true; } public void unsetType(){ this.typeSet = false; } public boolean isBillsSet(){ return billsSet; } public List<Bill> getBills(){ return bills; } public void setBills( List<Bill> bills ){ this.bills = bills; this.billsSet = true; } public void unsetBills(){ this.billsSet = false; } // Fields private boolean startDateSet; private Date startDate; private boolean endDateSet; private Date endDate; private boolean startAmountDateSet; private Date startAmountDate; private boolean endAmountDateSet; private Date endAmountDate; private boolean conceptSet; private String concept; private boolean startAmountSet; private BigDecimal startAmount; private boolean endAmountSet; private BigDecimal endAmount; private boolean entryNumberSet; private String entryNumber; private boolean docNumberSet; private String docNumber; private boolean observationsSet; private String observations; private boolean ownerIdSet; private Integer ownerId; private boolean departmentIdSet; private Integer departmentId; private boolean startInsertDateSet; private Date startInsertDate; private boolean endInsertDateSet; private Date endInsertDate; private boolean startUpdateDateSet; private Date startUpdateDate; private boolean endUpdateDateSet; private Date endUpdateDate; private boolean accountSet; private Account account; private boolean typeSet; private AccountEntryType type; private boolean billsSet; private List<Bill> bills; // Returns if there are a search condition active public boolean isSearchActive() { return customIsSearchActive()||startDateSet||endDateSet||startAmountDateSet||endAmountDateSet||conceptSet||startAmountSet||endAmountSet||entryNumberSet||docNumberSet||observationsSet||ownerIdSet||departmentIdSet||startInsertDateSet||endInsertDateSet||startUpdateDateSet||endUpdateDateSet||accountSet||typeSet||billsSet; } /* generated by stajanov (do not edit/delete) */ private Bill bill = null; private boolean billSet = false; public Bill getBill() { return bill; } public void setBill(Bill bill) { this.bill = bill; this.billSet = true; } public boolean isBillSet() { return billSet; } public void unsetBill() { this.billSet = false; } private boolean hideInitialEntry = false; private boolean hideInitialEntrySet = false; public boolean isHideInitialEntry() { return hideInitialEntry; } public void setHideInitialEntry(boolean hideInitialEntry) { this.hideInitialEntry = hideInitialEntry; this.hideInitialEntrySet = true; } public boolean isHideInitialEntrySet() { return this.hideInitialEntrySet; } public void unsetHideInitialEntry() { this.hideInitialEntrySet = false; } private int year; private boolean yearSet = false; public int getYear() { return year; } public void setYear(int year) { this.year = year; this.yearSet = true; } public boolean isYearSet() { return yearSet; } public void unsetYear() { this.yearSet = false; } private void customGetArguments(ArrayList ret) { if( isYearSet() ) { ret.add( year ); } if( isBillSet() ) { ret.add( bill.getId() ); } if( isHideInitialEntrySet() ) { if( hideInitialEntry ) { ret.add( ConfigurationUtil.getDefault().getInitialEntryId() ); } } } private void customReset() { unsetYear(); unsetHideInitialEntry(); unsetBill(); } private void customToString(StringBuilder ret) { if( isYearSet() ) { ret.append( "(year" ); ret.append( "="+year ); ret.append( ")" ); } if( isHideInitialEntrySet() ) { ret.append( "(hideInitialEntry" ); ret.append( "="+hideInitialEntry ); ret.append( ")" ); } if( isBillSet() ) { ret.append( "(bill" ); ret.append( "="+bill ); ret.append( ")" ); } } private boolean customIsSearchActive() { return yearSet||billSet||hideInitialEntrySet; } }