package com.ycsoft.business.dao.config; /** * TCountyAcctDao.java 2012/04/24 */ import java.util.List; import org.springframework.stereotype.Component; import com.ycsoft.beans.config.TCountyAcct; import com.ycsoft.commons.constants.DictKey; import com.ycsoft.commons.helper.DateHelper; import com.ycsoft.commons.helper.StringHelper; import com.ycsoft.daos.abstracts.BaseEntityDao; import com.ycsoft.daos.core.JDBCException; import com.ycsoft.daos.core.Pager; /** * TCountyAcctDao -> T_COUNTY_ACCT table's operator */ @Component public class TCountyAcctDao extends BaseEntityDao<TCountyAcct> { /** * default empty constructor */ public TCountyAcctDao() {} public Pager<TCountyAcct> queryAcctConfig(String countyId,String colony, Integer start, Integer limit) throws JDBCException { String sql = "select * from t_county_acct t where 1=1 "; if(StringHelper.isNotEmpty(countyId)){ sql = StringHelper.append(sql," and t.county_id='",countyId,"'"); } if(StringHelper.isNotEmpty(colony)){ sql = StringHelper.append(sql," and t.cust_colony='",colony,"'"); } sql = StringHelper.append(sql," order by t.create_time, t.config_year,t.county_id desc"); return createQuery(sql).setStart(start).setLimit(limit).page(); } public List<TCountyAcct> queryAcctConfigForAdd(String countyId,String colony) throws JDBCException { String sql = null; if(StringHelper.isNotEmpty(countyId)){ sql = StringHelper.append("select distinct '", countyId,"' county_id, s.item_value CUST_COLONY, 0 initamount,0 balance ,", " to_char(sysdate,'yyyy') config_year from s_itemvalue s where s.item_key=? AND NOT EXISTS", " (SELECT 1 FROM T_COUNTY_ACCT T WHERE T.COUNTY_ID=? AND T.CUST_COLONY=S.ITEM_VALUE)"); if(StringHelper.isNotEmpty(colony)){ sql = StringHelper.append(sql, " and s.item_value='",colony,"'"); } return createQuery(TCountyAcct.class,sql,DictKey.CUST_COLONY.toString(),countyId).list(); }else{ sql = StringHelper.append("select s.county_id, ? CUST_COLONY, 0 initamount,0 balance ,", " to_char(sysdate,'yyyy') config_year from s_county s where NOT EXISTS ", " (SELECT 1 FROM T_COUNTY_ACCT T WHERE T.COUNTY_ID=s.county_id AND T.CUST_COLONY=?)"); return createQuery(TCountyAcct.class,sql,colony,colony).list(); } } /** * 删除定额账户配置 * @param acctIds * @param optrId * @throws JDBCException */ public void deleteAcctConfig(String[] acctIds, String optrId) throws JDBCException { String sql = StringHelper.append("insert into t_county_acct_his ", " ( select t.*,sysdate done_date,'",optrId,"' done_optr from t_county_acct t where", getSqlGenerator().setWhereInArray("t_acct_id",acctIds),")"); executeUpdate(sql); sql = StringHelper.append(" delete from t_county_acct where ",getSqlGenerator().setWhereInArray("t_acct_id",acctIds)); executeUpdate(sql); } public TCountyAcct queryAcctConfig(String countyId, String custColony) throws JDBCException { String sql = "select * from t_county_acct t where t.county_id = ? and t.cust_colony=? and config_year=?"; return createQuery(sql, countyId,custColony,DateHelper.getCurrYear()).first(); } }