/**
* CProdHisDao.java 2010/07/19
*/
package com.ycsoft.business.dao.core.prod;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Component;
import com.ycsoft.beans.core.prod.CProd;
import com.ycsoft.beans.core.prod.CProdHis;
import com.ycsoft.business.dto.core.prod.UserProdDto;
import com.ycsoft.daos.abstracts.BaseEntityDao;
import com.ycsoft.daos.core.JDBCException;
/**
* CProdHisDao -> C_PROD_HIS table's operator
*/
@Component
public class CProdHisDao extends BaseEntityDao<CProdHis> {
/**
*
*/
private static final long serialVersionUID = 6977914442191921047L;
/**
* default empty constructor
*/
public CProdHisDao() {}
public List<UserProdDto> queryUserProdHisToCallCenter(Map<String,Object> p,String countyId) throws Exception {
String cond = "", brandCond = "";
Iterator<String> it = p.keySet().iterator();
boolean flag = false;
while(it.hasNext()){
String key = it.next();
String value = p.get(key).toString();
if(key.equals("USER_ID")){
cond += " and u.user_id='"+value+"'";
}
if(key.equals("CARD_ID")){
cond += " and u.card_id='"+value+"'";
}
if(key.equals("STB_ID")){
cond += " and u.stb_id='"+value+"'";
}
if(key.equals("MODEM_MAC")){
cond += " and u.modem_mac='"+value+"'";
}
if(key.equals("BROAD_NAME")){
flag = true;
brandCond = " and b.login_name='" + value + "'";
}
}
String sql = "";
if(flag){
sql = "select p.*,pp.prod_name,u.user_type,u.stb_id,u.card_id,u.modem_mac," +
"u.status user_status,'' terminal_type,'' serv_type, b.login_name,c.optr_id,c.done_date,c.remark" +
" from c_user u,c_user_broadband b,c_prod_his p,p_prod pp,c_done_code c" +
" where u.user_id=b.user_id and u.user_id=p.user_id and p.prod_id=pp.prod_id and p.done_code=c.done_code" +
" and u.county_id=? and b.county_id=? and p.county_id=? and c.county_id=?" + cond + brandCond;
}else{
sql = "select p.*,pp.prod_name,u.user_type,u.stb_id,u.card_id,u.modem_mac," +
"u.status user_status,a.terminal_type,a.serv_type,'' login_name,c.optr_id,c.done_date,c.remark" +
" from c_user u,c_user_atv a,c_prod_his p,p_prod pp,c_done_code c" +
" where u.user_id=a.user_id and u.user_id=p.user_id and p.prod_id=pp.prod_id and p.done_code=c.done_code" +
" and u.county_id=? and p.county_id='"+countyId+"' and c.county_id=?" + cond +
" union all " +
"select p.*,pp.prod_name,u.user_type,u.stb_id,u.card_id,u.modem_mac," +
"u.status user_status,d.terminal_type,d.serv_type,'' login_name,c.optr_id,c.done_date,c.remark" +
" from c_user u,c_user_dtv d,c_prod_his p,p_prod pp,c_done_code c" +
" where u.user_id=d.user_id and u.user_id=p.user_id and p.prod_id=pp.prod_id and p.done_code=c.done_code" +
" and u.county_id=? and p.county_id='"+countyId+"' and c.county_id=?" + cond ;
}
return this.createQuery(UserProdDto.class, sql, countyId, countyId, countyId, countyId).list();
}
public List<CProdHis> queryByAcctItem(String acctId, String acctItemId,
String countyId) throws JDBCException{
String sql ="select * from c_prod_his where acct_id=? and prod_id=? and county_id=? order by prod_sn desc";
return createQuery(sql,acctId,acctItemId,countyId).list();
}
}