会用到不一定记得的方法3
/**
?*
?* 如果查询条件包含账套,必须调用此公用方法,因为福建电信账套比较特殊,如:12,123
?*
?* @author lixx
?* @createDate 2010-07-16 15:07:00
?* @param hql
?* @param cs
?* @param accountSet
?* @param subHql 如:p.accountSet、tb.transferBill.accountSet、t.accountSet
?*/
protected void getHqlByFuJian(StringBuffer hql, Conditions cs, String accountSet, String subHql) {
?if(TelecomInterfaceParam.TI_FUJIAN.equals(this.getTelecomParam())) {
??if(accountSet.length() == 2) {
???List<LookUpValues> vList = this.getLookUpValuesListByType(Constant.ACCOUNTSET_ + this.getTelecomParam());
???int i = 0;
???for(LookUpValues v : vList) {
????if(accountSet.equals(v.getLuCode())) {
?????hql.append(" and ").append(subHql).append(" like :accountSet ");
?????cs.add("accountSet", accountSet + "%");
????} else {
?????i++;
?????hql.append(" and ").append(subHql).append(" not like :accountSet" + i);
?????cs.add("accountSet" + i, v.getLuCode() + "%");
????}
???}
??} else if(accountSet.length() == 3) {
???hql.append(" and ").append(subHql).append(" like :accountSet ");
???cs.add("accountSet", accountSet + "%");
??}
?} else {
??hql.append(" and ").append(subHql).append(" like :accountSet ");
??cs.add("accountSet", accountSet + "%");
?}
}