📄 tseradvisedao.java.svn-base
字号:
tpo.setAdviseGuid(adviseGuid);
tpo.setProblemGuid(pguid[i]);
getSession().save(tpo);
}
}
}
/**
* 修改投诉信息
* @param dto
* @return
* @throws Exception
*/
public boolean modifyTserAdvise(TserAdviseAccessDto dto) throws Exception
{
StringBuffer upsql=new StringBuffer();
upsql.append(" update t_ser_advise set unit_guid='"+dto.getUnitGuid()+"',customer_name='"+dto.getCustomerName()+"',");
upsql.append(" advise_means= "+dto.getAdviseMeans()+", multimedia_flag="+dto.getMultimediaFlag()+",topic='"+dto.getTopic()+"',");
upsql.append(" instancy_status="+dto.getInstancyStatus()+",tel_phone='"+dto.getTelPhone()+"',");
upsql.append(" process="+dto.getProcess()+",finish_date=to_date('"+dto.getFinishDateS()+"','YYYY-MM-DD'),checkin_date=to_date('"+dto.getCheckinDateS()+"','YYYY-MM-DD'),");
upsql.append(" living_flag="+dto.getLivingFlag()+",description='"+dto.getDescription()+"',answer_flag="+dto.getAnswerFlag()+" ,");
upsql.append(" answer='"+dto.getAnswer()+"',answer_date=to_date('"+dto.getAnswerDateS()+"','YYYY-MM-DD'),");
upsql.append(" dispose_date=to_date('"+dto.getDisposeDateS()+"','YYYY-MM-DD'),");
upsql.append(" standard_remark='"+dto.getStandardRemark()+"',last_result='"+dto.getLastResult()+"' ");
upsql.append(" where advise_guid='"+dto.getAdviseGuid()+"'");
getSession().createSQLQuery(upsql.toString()).executeUpdate();
this.modifyTserAdviseProblem(dto.getAdviseGuid(), dto.getProblem_nameids());
return true;
}
/**
* 给投诉和问题类型建立相对应的关系
* @param adviseGuid
* @param problemGuids
*/
public void addTserAdviseProblem(String adviseGuid,String problemGuids) throws Exception
{
if(problemGuids!=null&&problemGuids.length()>0)
{
String[] pguid=problemGuids.split(",");
for(int i=0;i<pguid.length;i++)
{
TSerAdviseProblem tpo=new TSerAdviseProblem();
tpo.setAdviseProblemGuid(Tools.getUUID());
tpo.setAdviseGuid(adviseGuid);
tpo.setProblemGuid(pguid[i]);
getSession().save(tpo);
}
}
}
/**
* 添加一条新的投诉登记记录
* @param dto
* @return
* @throws Exception
*/
public boolean addTserAdviser(TserAdviseAccessDto dto) throws Exception
{
TSerAdvise po=new TSerAdvise();
BeanUtils.copyProperties(po, dto);
po.setAdviseNumber(this.getAdvisenumber()); //给流水号赋值
po.setFinishDate(DateUtil.getDate(dto.getFinishDateS()));
po.setCheckinDate(DateUtil.getDate(dto.getCheckinDateS()));
po.setAnswerDate(DateUtil.getDate(dto.getAnswerDateS()));
po.setDisposeDate(DateUtil.getDate(dto.getDisposeDateS()));
po.setCurrentDate(DateUtil.getDate(dto.getCurrentDateS()));
po.setAdviseGuid(Tools.getUUID());
getSession().save(po);
this.addTserAdviseProblem(po.getAdviseGuid(),dto.getProblem_nameids());
return true;
}
/**
* 从数据库取出要回访的信息
* @param guid
* @return
* @throws Exception
*/
public TserAdviseAccessDto findTserAdviseAccessByGuid(String guid)throws Exception
{
String selhql="select ta.customer_name,ta.topic,ta.instancy_status," +
"ta.tel_phone,ta.result_level,ta.result_description,ta.approve_level," +
"ta.approve_description,ta.time_level,ta.time_description,ta.user_level," +
"ta.user_description,ta.worker_level,ta.worker_description,tg.name " +
"from t_ser_advise ta left join t_sys_orgnization tg on(ta.user_guid=tg.id)" +
" where ta.advise_guid=:guid";
TserAdviseAccessDto dto=null;
Query query=this.getSession().createSQLQuery(selhql);
query.setString("guid", guid);
List result=query.list() ;
Object[] obj = null;
if(result.size()>0)
{ dto=new TserAdviseAccessDto();
obj = (Object[]) result.get(0);
dto.setAdviseGuid(guid);
dto.setCustomerName(String.valueOf(obj[0]!=null?obj[0]:""));
dto.setTopic(String.valueOf(obj[1]!=null?obj[1]:""));
dto.setInstancyStatus(String.valueOf(obj[2]!=null?obj[2]:""));
if(obj[2]!=null)
{
dto.setInstancyStatusName(ServiceConstants.GRADE_STRING[Integer.parseInt(obj[2].toString())]);
}
dto.setTelPhone(String.valueOf(obj[3]!=null?obj[3]:""));
dto.setResultLevel(String.valueOf(obj[4]!=null?obj[4].toString():""));
dto.setResultDescription(String.valueOf(obj[5]!=null?obj[5]:""));
dto.setApproveLevel(String.valueOf(obj[6]!=null?obj[6].toString():""));
dto.setApproveDescription(String.valueOf(obj[7]!=null?obj[7]:""));
dto.setTimeLevel(String.valueOf(obj[8]!=null?obj[8].toString():""));
dto.setTimeDescription(String.valueOf(obj[9]!=null?obj[9]:""));
dto.setUserLevel(String.valueOf(obj[10]!=null?obj[10].toString():""));
dto.setUserDescription(String.valueOf(obj[11]!=null?obj[11]:""));
dto.setWorkerLevel(String.valueOf(obj[12]!=null?obj[12].toString():""));
dto.setWorkerDescription(String.valueOf(obj[13]!=null?obj[13]:""));
dto.setUserName(String.valueOf(obj[14]!=null?obj[14]:""));
String [] problem=this.getProblemName(guid).split(";");
if(problem!=null&&problem.length>0)
{
dto.setProblem_nameids(problem[0]!=null?problem[0]:"");
dto.setProblem_name(problem[1]!=null?problem[1]:"");
}
else
{
dto.setProblem_nameids("");
dto.setProblem_name("");
}
}
return dto;
}
/**
* 对投诉进行回访(修改回访相应的字段)
* @param dto
* @return
*/
public boolean modifyTserAdviserAccess(TserAdviseAccessDto dto)
{
String uphql="update t_ser_advise set process="+dto.getProcess()+",result_level="+dto.getResultLevel()+",result_description=" +
"'"+dto.getResultDescription()+"',approve_level="+dto.getApproveLevel()+",approve_description=" +
"'"+dto.getApproveDescription()+"',time_level="+dto.getTimeLevel()+",time_description=" +
"'"+dto.getTimeDescription()+"',user_level="+dto.getUserLevel()+",user_description=" +
"'"+dto.getUserDescription()+"',worker_level="+dto.getWorkerLevel()+",worker_description=" +
"'"+dto.getWorkerDescription()+"' where advise_guid='"+dto.getAdviseGuid()+"'";
getSession().createSQLQuery(uphql).executeUpdate();
return true;
}
/**
* 根据条件取出投诉登记表的相应数据
* @param sql
* @param queryInfo
* @return
* @throws Exception
*/
private List getTserAdviseListBysql(String sql,QueryInfo queryInfo) throws Exception
{
List results = buildSQLQuery(sql, queryInfo).list();
ArrayList reList = new ArrayList();
Object[] obj = null;
for (int i = 0; i < results.size(); i++)
{
obj = (Object[]) results.get(i);
TserAdviseAccessDto dto=new TserAdviseAccessDto();
dto.setAdviseGuid(String.valueOf(obj[0]!=null?obj[0]:""));
dto.setCustomerName(String.valueOf(obj[1]!=null?obj[1]:""));
dto.setTopic(String.valueOf(obj[2]!=null?obj[2]:""));
dto.setProcess(String.valueOf(obj[3]!=null?obj[3].toString():""));
if(obj[3]!=null){
dto.setProcessName(ServiceConstants.STATUS_STRING[Integer.parseInt(obj[3].toString())]);
}
dto.setDisposeDateS(String.valueOf(obj[4]!=null?obj[4].toString():""));
dto.setCurrentDateS(String.valueOf(obj[5]!=null?obj[5].toString():""));
reList.add(dto);
}
return reList;
}
/**
* 从数据库拿到流水号的值进行处理
* @return
* @throws Exception
*/
private String getAdvisenumber() throws Exception
{
String strnum=null;
String sql="select q_ser_Num.Nextval from dual";
List objlist=getSession().createSQLQuery(sql).list();
Object obj=objlist.get(0);
strnum=String.valueOf(obj!=null?obj.toString():"");
int index=(int)ServiceConstants.ADVISE_NUMBER-strnum.length();
String errorstr=null;
for(int i=0;i<index;i++)
{
if(errorstr==null)
{
errorstr="0";
continue;
}
errorstr=errorstr+"0";
}
strnum=errorstr!=null?errorstr+strnum:strnum;
return strnum;
}
/**
* 初始化查询sql
* @param cusName
* @param telPhone
* @param startDate
* @param endDate
* @return
*/
private String initFindListOfAllSql(String cusName,String telPhone,String startDate,String endDate) throws Exception
{
// String cusName=new String(cusName1.getBytes("ISO-8859-1"),"GBK");
// System.out.println("cusname=="+cusName);
//
StringBuffer retsql=new StringBuffer(" where ");
String cussql="";
String telsql="";
String stdatesql="";
String edatesql="";
if(cusName!=null&&cusName.length()>0)
{
cussql=" customer_name like '%"+cusName+"%' ";
}
if(telPhone!=null&&telPhone.length()>0)
{
if(cussql.length()>0)
{
telsql=" or ";
}
telsql=telsql+" tel_phone='"+telPhone+"' ";
}
if(startDate!=null&&startDate.length()>0)
{
if(telsql.length()>0||cussql.length()>0)
{
stdatesql=" or ";
}
stdatesql=stdatesql+" ta.current_date >= to_date('"+startDate+"','YYYY-MM-DD') ";
}
if(endDate!=null&&endDate.length()>0)
{
if(stdatesql.length()>0)
{
edatesql=" and ";
}
else
{
if(telsql.length()>0||cussql.length()>0)
{
edatesql=" or ";
}
}
edatesql=edatesql+" ta.current_date <= to_date('"+endDate+"','YYYY-MM-DD') ";
}
retsql.append(cussql);
retsql.append(telsql );
retsql.append(stdatesql);
retsql.append(edatesql);
if(cussql.length()<1&&telsql.length()<1&&stdatesql.length()<1&&edatesql.length()<1)
{
retsql.append(" process in("+ServiceConstants.STATUS_NEW+","+ServiceConstants.STATUS_ING+","+ServiceConstants.STATUS_QEND+","+ServiceConstants.STATUS_AEND+")");
}
else
{
retsql.append(" and process in("+ServiceConstants.STATUS_NEW+","+ServiceConstants.STATUS_ING+","+ServiceConstants.STATUS_QEND+","+ServiceConstants.STATUS_AEND+")");
}
return retsql.toString();
}
/**
* 按条件查找所有投诉记录集(历史投诉列表的详细查询)
* @param queryInfo
* @param cusName
* @param telPhone
* @param startDate
* @param endDate
* @return
* @throws Exception
*/
public List findListOfAll(QueryInfo queryInfo,String cusName,String telPhone,String startDate,String endDate) throws Exception
{
String addsql="";
addsql=this.initFindListOfAllSql(cusName, telPhone, startDate, endDate);
if (queryInfo.getRecordCount() == -1)
{
queryInfo.setRecordCount(this.getTotal(addsql));
}
String selhql="select ta.advise_guid,ta.customer_name,ta.topic,ta.process,ta.dispose_date,ta.current_date from t_ser_advise ta "+addsql;
List dtoList=this.getTserAdviseListBysql(selhql, queryInfo);
return dtoList;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -