📄 saveappealrestore.jsp
字号:
<%@ page contentType="text/html; charset=GBK" errorPage="error.jsp"%>
<%@ page import="com.doone.fj1w.fjmgr.order.AppealDAO"%>
<%@ page import="com.doone.fj1w.fjmgr.order.*"%>
<%@ page import="com.doone.fj1w.fjmgr.order.DisplayPage"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%@ page import="java.util.*"%>
<%@ page import="com.doone.uurm.WebAuth"%>
<%@ page import="com.doone.util.FileLogger"%>
<%!String getCltMessage(String sMsg, boolean bClose) {
StringBuffer ret = new StringBuffer();
if (sMsg != null) {
ret.append("<script language=\"JavaScript\" type=\"text/JavaScript\">");
if ( sMsg.trim().length() > 0 ) {
ret.append("alert(\"").append(sMsg).append("\");");
}
ret.append("try {");
ret.append("if ( typeof(self.opener.window.fnQueryReload) == \"function\" ) {");
ret.append("self.opener.window.fnQueryReload();");
ret.append("}");
ret.append("else {");
ret.append("self.opener.location.replace(self.opener.location.href);");
ret.append("}");
ret.append("if ( typeof(self.opener.window._reloadTopServiceCount) != undefined ) {");
ret.append(" self.opener.window._reloadTopServiceCount('SERVICEORDER');");
ret.append(" self.opener.window._reloadTopServiceCount('FAULTORDER');");
ret.append("}");
ret.append("}catch(e){}");
ret.append("window.close();");
ret.append("</script>");
}
return ret.toString();
}
%>
<%
if(session.getAttribute("CURRENTORDER") == null){
%><script>alert('提交权限过期,请重新打开工单。');window.close();</script><%
}else{
session.removeAttribute("CURRENTORDER");
}
WebAuth auth = WebAuth.getInstance(request);
String appealid = ""; //受理单ID
String operType = ""; //操作类型
String restoreid = ""; //回复单ID
String RestoreMan = auth.getUserCode(); //回复人
String RestoreTime = ""; //回复时间
String outDate = ""; //回复时限
String RestoreContent = ""; //回复内容
String failuretel = ""; //故障电话
String relationtel = ""; //联系电话
String citycode = ""; //地区编码
//String appeacontent = ""; //障碍描述
String weborder = ""; //自助服务平台生成的网上订单号
String result = ""; //第三方返回结果
AppealDAO appealDAO = new AppealDAO();
AppealrestoreDAO appealrestoreDAO = new AppealrestoreDAO();
Date date = new Date();
SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm");
if(request.getParameter("APPEALID")!=null && !request.getParameter("APPEALID").equals(""))
appealid = DisplayPage.decode(request.getParameter("APPEALID"));
if(request.getParameter("operType")!=null && !request.getParameter("operType").equals(""))
operType = request.getParameter("operType");
if(request.getParameter("OUTDATE")!=null && !request.getParameter("OUTDATE").equals(""))
outDate = request.getParameter("OUTDATE");
if(request.getParameter("RestoreContent")!=null && !request.getParameter("RestoreContent").equals(""))
RestoreContent =DisplayPage.toGBK(request.getParameter("RestoreContent"));
if(request.getParameter("RELATIONTEL")!=null && !request.getParameter("RELATIONTEL").equals(""))
relationtel =DisplayPage.decode(request.getParameter("RELATIONTEL"));
//if(request.getParameter("APPEACONTENT")!=null && !request.getParameter("APPEACONTENT").equals(""))
// appeacontent =DisplayPage.decode(request.getParameter("APPEACONTENT"));
if(request.getParameter("CITYCODE")!=null && !request.getParameter("CITYCODE").equals(""))
citycode =DisplayPage.decode(request.getParameter("CITYCODE"));
if(request.getParameter("WEBORDER")!=null && !request.getParameter("WEBORDER").equals(""))
weborder =DisplayPage.decode(request.getParameter("WEBORDER"));
RestoreTime = df.format(date);
//String submittime = RestoreTime ;
String perentId = appealDAO.getPerentID(appealid);
if(perentId == null || perentId.equals("")){
out.print(getCltMessage("系统忙,查询原单失败,本次操作中止!", true));
return;
}
restoreid = appealrestoreDAO.getMainStoreId(appealid);
switch(Integer.parseInt(operType))
{
case 1: //转派
String appealtypeId = DisplayPage.decode(request.getParameter("APPEALTYPEID"));
if(appealtypeId == null || appealtypeId.equals("")){
out.print(getCltMessage("系统查询不到用户的障碍现象,请确定障碍现象是否存在,注意:系统暂时只支持小灵通与宽带用户的故障单转派!", true));
return;
}
//障碍现象
String appealMode = DisplayPage.decode(request.getParameter("APPEALMODE"));
// 1、故障
// 2、投诉
// 3、建议
//-1、异常
int mode;
try{
mode = Integer.parseInt(appealMode);
}catch(NumberFormatException nrex){
mode = -1;
}
//障碍现象id
String appealType = "";
switch(mode){
case 1:
appealType = appealDAO.getFaultType(appealtypeId,citycode);
break;
case 2:
appealType = appealDAO.getAppealType(appealtypeId,citycode);
break;
case 3:
appealType = appealDAO.getConServiceType(appealtypeId,citycode);
break;
default:
out.print(getCltMessage("您的操作类型与库中定义不区配,不能完成转派操作!", true));
return;
}
System.out.println("appealType: "+appealType);
if(appealType == null || appealType.equals("")){
out.print(getCltMessage("系统查询不到用户的障碍现象,请确定障碍现象是否存在,注意:系统暂时只支持小灵通与宽带用户的故障单转派!", true));
return;
}
//故障号码
failuretel = DisplayPage.decode(request.getParameter("FAILURETEL"));
//故障内容
String appealContent = DisplayPage.decode(request.getParameter("APPEACONTENT"));
if(appealContent == null || appealContent.equals("")){
out.print(getCltMessage("提交的信息中没有障碍描述内容,请填写障碍描述,以便处理。注意:系统暂时只支持小灵通与宽带用户的故障单转派!", true));
return;
}
//故障单通过审核,并转发到112系统办理,1-宽带,2-固定电话
String faultype = DisplayPage.decode(request.getParameter("FAULTTYPE"));
int active;
try{
active = Integer.parseInt(faultype);
}catch(NumberFormatException nfex){
active = 3;
}
switch(active){
case 1:
/****************宽带故障*******************************/
SimpleDateFormat _sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String createtime = request.getParameter("CREATETIME");
try{
createtime = _sdf.format(createtime);
}catch(Exception ex){
createtime = _sdf.format(new Date());
}
Hashtable hs = new Hashtable();
hs.put("COMMAND_TYPE","ACCEPT"); //命令类型:ACCEPT(用户申告信息)、QUERY(进程查询信息)
hs.put("VIR_ACCEPT_NUMBER",failuretel); //宽带帐号 VA100 NOT NULL
hs.put("FAULT_SOURCE","6"); //申告来源 VA30 默认:6代表网上10000必填
hs.put("PHENO_ID",appealType); //障碍现象ID VA10 取自宽带障碍,NOT NULL
hs.put("FAULT_CONTACT_TEL",relationtel); //联系电话 VA120 NOT NULL
hs.put("TEL","10000"); //计费号码 VA40 默认10000
hs.put("CUSTOMER_LEAVEWORD",appealContent); //障碍描述 VA2000 必填 即用户留言
hs.put("AREA_CODE",citycode); //归属地市 VA15 必填
hs.put("ACCEPT_DATE",createtime);//申告时间 DATE 必填
hs.put("WEBORDER",weborder) ; // add by zengzc ,2005-12-16 为了满足泉州对宽带障碍的接口需求.
//System.out.println("管理平台传关故障值===>"+hs);
result = AppealInter.toADSLAppealThird(hs,appealid);
break;
case 2:
/*************固话送112**************************/
result = AppealInter.toThirdParty(appealid,
failuretel,
appealType,
relationtel,
appealContent,
citycode,
weborder);
break;
case 3:
/*************服务单通过审核,并转发到180或10000号办理*****************/
String appealOrderNum = DisplayPage.decode(request.getParameter("appealOrderNum"));
String sex = request.getParameter("sex");
String accountName = DisplayPage.decode(request.getParameter("accountName"));
String mailAddr = DisplayPage.decode(request.getParameter("mailAddr"));
String relationName= accountName;
String relationTel = DisplayPage.decode(request.getParameter("relationTel"));
String custLevel = DisplayPage.decode(request.getParameter("custLevel"));
String custImpLevel= DisplayPage.decode(request.getParameter("custImpLevel"));
String requRestTime = request.getParameter("OUTDATE");
String appealComment = request.getParameter("appealComment");
try{
if(requRestTime == null || "".equalsIgnoreCase(requRestTime.trim())){
/*取当前的时间,这个时间为必传值,如果没有会出错。 wull 07-1-13*/
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
requRestTime = (String) sdf.format(cal.getTime());
}
SimpleDateFormat requRestTime_sf = new SimpleDateFormat("yyyy-MM-dd");
Date requRestTime_date = requRestTime_sf.parse(requRestTime);
requRestTime_sf = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
requRestTime = requRestTime_sf.format(requRestTime_date);
}
catch (Exception e){
}
/**拆分投诉级别*/
String[] appealTemp = appealType.split("~!");
String[] _rsP = new String[]{"",""};
if(appealTemp.length >= 1)
_rsP[0] = appealTemp[0];
if(appealTemp.length >= 2)
_rsP[1] = appealTemp[1];
if ("0591".equals(citycode)){
//如果是福州则在这里取最上层的节点
_rsP[1] = appealTemp[appealTemp.length-1];
}
/*
调要接口
* wull 2006-10-12
* 说明:这个级别因为有子父关系。
* 从数据库里搜索出来,第一条是本身,第二条是第一条的父节点,以此类推。
* 但接口那里所要的值为appealType1是父节点,appealType2是传本身选中的值编码。
* _rsP[1]对应的是父节点。_rsP[0]是本身选中的编码头。
* */
result = AppealInter.toThirdConsu(appealid,
appealOrderNum,
sex,
accountName,
mailAddr,
relationName,
relationTel,
custLevel,
custImpLevel,
_rsP[1],
_rsP[0],
appealContent,
requRestTime,
appealComment,
citycode);
break;
}
/***********************转派结果********************************/
if(result.startsWith("转派成功")){
AppealDAO.setAppealUnLock(perentId);
CommonMethod.updateStatuAppeal(appealid,"2",outDate,"2");
CommonMethod.updateStatuAppeal(perentId,"2",outDate,"2");
CommonMethod.updateActiveAppeal(appealid,RestoreContent,"1",
RestoreMan,RestoreTime,restoreid);
String re_s[] = result.split("~");
out.print(getCltMessage("您的转派操作成功,第三方流水号为:" + re_s[1] + "!", true));
return;
}
CommonMethod.updateStatuAppeal(appealid,"2",outDate,"3");
CommonMethod.updateStatuAppeal(perentId,"2",outDate,"3");
CommonMethod.updateActiveAppeal(appealid,RestoreContent,"1",
RestoreMan,RestoreTime,restoreid);
out.print(getCltMessage("转派过程失败,具体信息为:" + result + "!", true));
return;
case 2: //作废
appealDAO.blankOut(appealid);
appealDAO.updateOutDate(outDate,appealid);
CommonMethod.updateStatuAppeal(perentId,"3",outDate,"8");
//设置内部处理状态
CommonMethod.updateActiveAppeal(appealid,RestoreContent,"1",RestoreMan,RestoreTime,restoreid);
break;
case 4: //暂存
CommonMethod.updateStatuAppeal(perentId,"2",outDate,"3");
CommonMethod.updateStatuAppeal(appealid,"2",outDate,"3");
CommonMethod.updateActiveAppeal(appealid,RestoreContent,"1",RestoreMan,RestoreTime,restoreid);
break;
case 5: //回退
CommonMethod.updateStatuAppeal(perentId,"1",outDate,"4");
CommonMethod.updateStatuAppeal(appealid,"1",outDate,"4");
CommonMethod.updateActiveAppeal(appealid,RestoreContent,"1",RestoreMan,RestoreTime,restoreid);
break;
case 6: //回复
CommonMethod.updateActiveAppeal(appealid,RestoreContent,"1",RestoreMan,RestoreTime,restoreid);
break;
case 3://完成
// 进度状态
CommonMethod.updateStatuAppeal(perentId,"3",outDate,"9");
CommonMethod.updateStatuAppeal(appealid,"3",outDate,"9");
//设置内部处理状态
CommonMethod.updateActiveAppeal(appealid,RestoreContent,"1",RestoreMan,RestoreTime,restoreid);
break;
case 7:
break;
default:
break;
}
//作完之后解锁.
AppealDAO.setAppealUnLock(perentId);
out.print(getCltMessage("", true));
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -