From 10505350a3f79e8c4c872e6006df8a5c25e4f448 Mon Sep 17 00:00:00 2001 From: zxf Date: Mon, 9 Oct 2023 23:50:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E5=88=A0=E9=99=A4=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=8F=8A=20=2012366=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WEB-INF/classes/rush/BureauAction.class | Bin 15681 -> 16171 bytes .../WEB-INF/classes/rush/TaskDeleteJob.class | Bin 1079 -> 1078 bytes resource/html/bureau/recording.html | 5 +- src/rush/BureauAction.java | 169 +++++++++++++++++- src/rush/TaskDeleteJob.java | 2 +- 5 files changed, 169 insertions(+), 7 deletions(-) diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/BureauAction.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/BureauAction.class index ea82979779bb1445f4e8440255d909c78d4189a4..d0c8fa4d9ddbb27ccb4defb5592928e843aab5bf 100644 GIT binary patch delta 1715 zcmZvbd2m!k5XQgmdC9(Pvdc2E3oFUy24o3`V2}-mk}4D>3Ah4T6qFkR1PFJCEQAn{ zQ+ym^amgVlpuvSC$X#BDVw5Tb6d+Jwwl$)W=47b_}3=8x@$; z*Q9=?RY0N6QQIVwCYw}ZqbVkSiY}UJ;)Y4nOqw43nqkt+=s3$prFJYJHfeUGo^CP~ zM7}a^G-B0z>&1Ao_PDdG^X@#Wqa!)e&C`ag&d$n6LsLJgi6x`0bZ?z4_S(+nKkS_w zx#fLQSqGaWM>-@8w^3PSbw;eiZkvf1WB`WGTIX*S@nzbGo{O|-v5CULKw>SP4S#IpkOFQzYq+?>KB6{n;sktnR-Yt zCPX6?%iLH!QPidGBl>(!D9(RBxI$-J4jAS$pM}4OjqmM}cSew)ndlTN zx-QN3Gsm&X3G9%k6}vc#8}rlLg!9oIO zCbkF}@EO2Xp%}DKzhj$FEZVAD;&d}?$X3_!wvdVL>I!xU#i5rvhn+%p#8uV1N#3RYvzK)((P=C#pHs^QL8*@oN5 zI?xUKzN zS`VK8z_u!6Kj8xs8plwWe-H~oHK+_2UPFho4xop^K(7(a;9llF=|ylMoID0vMh}lg z8W+LO_IfJZ7 cPFE+Fi+R47E5y7&%u8Z|n{LH%R>*x&xv+UtC0t##Jf zyViWX(slIa{vH4i(m@@o+g&9wRpivjrK74nR6E7bz0*LmCBi88~{jeZ=PA_hc} zX6Rn0+>w=5eJ8?F*9iwdnqWS<-bp)qcd<3uw08C#l$!L8#1vD)5yeE_qsRz2g*)Kl z<>nR3%fl;Z_5}?Q^sY2+k{vXJSN03urAkF5#Vww z0|{bkz{|_mjZnx)FuaCuFQx?&J+TK+6;j3YV8|k71VdIaGZ?ao>R`w&W(7lKR?4fzd7I1p`TUwC9`Jji&YjQ@hF3e$v!l z$e}i|h|w+=Uh*Bwf*giy)aGZiTNfo$A({Y7n;wn|+8ii-!2G#JK&L#`hl16ppp*fUK zbLkBn=HD1I^VXoAq9oP(lT^)oi*a`)1H3Qq2sqm== zI+b1UW>#dXG1$(`h8&gf1~WSfl)tfqnTA5;D)uppL8)>9U*kjQs8mkj8+;1~ zt|%kW#iveORSFT_#ngps%22$+%#9mLKHg;(OHgw09y1SF6hGc)7Dt+LFLpB%Ty+2^ zSvsC;AA(c(9tqrmJe=lJFZUrEXPEi88>u*pb4XMg@dt(<$H-+o08;&G7AR>9HB{d38Ty!3=m?KnZeKbUkKR^8rhb5Mqj)2v?Yt~x(Vhk()2-#lC;J&c+7QQ3CGbdK<6YkHw2ffCV+JO|>i~+QT zCv_`N>Nb=ypF-PZePE++9q04(-TA!D`Ap3HZ!V_%t-N*KL3>#K19P6tX30N`y>d(8 z{WI3zRl_qAvP5ea&jda~RcSXi@U{1Bz+zZLYjzh#sHik7W(KzsPv!9eb@6ZZIe*zM ze#24pr!U~AFFE2=U3!Q<3&caLQ resultMap = DbHelper.getDbService().queryMapList(sql + timeSql + typeSql + phoneSql + empnoSql + manyiSql, params); +*/ + + String searchbegindate = params.getString("searchbegindate"); + String searchenddate = params.getString("searchenddate"); + String phone = params.getString("phone"); + String empno = params.getString("empno"); + String calltype = params.getString("calltype"); + String manyi = params.getString("manyi"); + String company = params.getString("company"); + String custname = params.getString("custname"); + String diqu = params.getString("diqu"); + String callstate = params.getString("callstate"); + String problem = params.getString("problem"); + String timeSql = ""; + String typeSql = ""; + String phoneSql = ""; + String empnoSql = ""; + String manyiSql = ""; + String companySql = ""; + String custnameSql=""; + String diquSql=""; + String problemSql=""; + String callstateSql=""; + String pinjie=""; + String noRight=" CRM_SM_TEL_RECORD s "; + String right= + " ( select * from ( select CALLID ,PRODUCTNAME,CUSTOMER_ID,QUESTION_ID,\n" + + " QUESTION_ANSWER,CUSTOMER_NAME,CUSTOMER_TAX_ID,tel ,MOBILE ,PERSON_TEL, question_content,\n" + + " CONTACT,TEL_DATE ,TEL_PERSON,ENTRY_PERSON ,TEL_RECORD_ID,RECODER_ID,ENTRY_DATE,ORGID,ORGNAME,\n" + + " \n" + + " row_number() over ( PARTITION BY red.customer_id ORDER BY red.entry_date ) as rn from \n" + + " CRM_SM_TEL_RECORD red ) where rn=1 ) s"; + + String userId = SessionHelper.getCurrentUserId(); + params.put("userId", userId); + /* List returns = DbHelper.getDbService().queryMapListById("rushfee_org.getOrgListByUser", params); + StringBuffer sb = new StringBuffer(); + if (returns.size() != 0) { + sb.append("d.city_name in ("); + for (int i = 0; i < returns.size(); i++) { + sb.append("'" + returns.get(i).get("text") + "'"); + if (i < returns.size() - 1) { + sb.append(","); + } + } + sb.append(")"); + } else { + sb.append("1=2"); + }*/ + /*List diquList = DbHelper.getDbService().queryMapListById("orgname.getDiquListByUser", params); + StringBuffer dq = new StringBuffer(); + if (diquList.size() != 0) { + dq.append(" and" + + " ( s.ORGID in ("); + for (int i = 0; i < diquList.size(); i++) { + dq.append("'" + diquList.get(i).get("id") + "'"); + if (i < diquList.size() - 1) { + dq.append(","); + } + } + dq.append(") or s.ORGID is null ) "); + } else { + dq.append(" and 1=2"); + }*/ + //添加精准查询 + if (calltype != null) { + String[] callArrray = calltype.split(","); + + if (callArrray.length == 3) { + //分组查询 查全部 + pinjie=right; + } + if (callArrray.length == 2) { + if (calltype.contains("2")) { + if (calltype.contains("0")) { + typeSql = " and CALLERNO='12366'"; + } + if (calltype.contains("1")) { + typeSql = " and CALLERNO!='12366'"; + } + pinjie=right; + } else { + pinjie=noRight; + } + + } + + if (callArrray.length == 1) { + if (calltype.contains("2")) { + pinjie=right; + } + else{ + if (calltype.contains("0")) { + typeSql = " and CALLERNO='12366'"; + } + if (calltype.contains("1")) { + typeSql = " and CALLERNO!='12366'"; + } + pinjie=noRight; + } + } + + + + } + else{ + pinjie=noRight; + } + + String sql = " SELECT c.CALLID, c.CALLEENO,c.CALLERNO phone_num ,c.AGENTID emp_no,c.BEGINTIME start_time,c.ENDTIME end_time,to_char(c.BEGINTIME,'yyyy-mm-dd') create_time, " + + "c.SECONDS record_duration ,REGEXP_REPLACE( REGEXP_REPLACE(c.FILENAME,'Z:\\\\1',''),'\\\\','/') path ,decode(c.CALLTYPE,'0','呼入','1','呼出') call_type,c.NAME,s.TEL_RECORD_ID,s.RECODER_ID," + + "s.ENTRY_DATE,s.ORGID,s.ORGNAME orgname,d.city_name area_name,decode(c.satisfaction,'1','非常满意','2','满意','3','不满意','暂未评价') manyidu,s.PRODUCTNAME,s.CUSTOMER_ID,s.QUESTION_ID," + + "s.QUESTION_ANSWER,s.CUSTOMER_NAME,s.CUSTOMER_TAX_ID,s.tel ,s.MOBILE caller_phone,s.PERSON_TEL, s.question_content," + + "s.CONTACT,s.TEL_DATE ,s.TEL_PERSON,s.ENTRY_PERSON ,'播放' AS play ,'下载' as down FROM " + + "CALLSYS_TRECORDFAILINFO c left join tel_dic_city d on c.calleeno=d.callee_no " + + "LEFT JOIN "+pinjie+" ON c.CALLID = s.CALLID where 1=1 "; + + + if (searchbegindate != null && searchenddate != null) { + timeSql = " and to_char(c.BEGINTIME,'yyyy-mm-dd')>='" + searchbegindate + "' and to_char(c.BEGINTIME,'yyyy-mm-dd')<='" + searchenddate + "'"; + } + + if (phone != null) { + phoneSql = " and (s.MOBILE like '%" + phone + "%' or c.CALLERNO='" + phone + "')"; + } + if (empno != null) { + empnoSql = " and c.AGENTID like '%" + empno + "%'"; + } + if (manyi != null) { + if (manyi.equals("4")) { + manyiSql = " and c.satisfaction is null "; + } else { + manyiSql = " and c.satisfaction = '" + manyi + "'"; + } + + } + + if (company != null) { + companySql = " and d.city_name='" + company + "'"; + + } + if (custname != null) { + custnameSql = " and s.CUSTOMER_NAME like '%" + custname + "%'"; + + } + if (callstate != null) { + callstateSql = " and c.CALLTYPE='" + callstate + "'"; + } + + if (diqu != null) { + diquSql = " and s.ORGID='" + diqu + "'"; + + } + if (problem != null) { + problemSql = " and s.PRODUCTNAME='" + problem + "'"; + + } + + List resultMap = DbHelper.getDbService().queryMapList(sql + timeSql + typeSql + phoneSql + empnoSql + manyiSql + companySql+custnameSql+diquSql+problemSql+callstateSql, params); HttpServletResponse response = DataContext.getResponse(); - String fileName = "通话记录明细";// + String fileName = "通话记录明细"; String sheetName = "通话记录明细"; POIExcelMapExportUtil pee = new POIExcelMapExportUtil(response, fileName, sheetName); // Map Key属性 - String titleColumn1[] = {"emp_no", "name", "create_time", "phone_num", "start_time", "end_time", "record_duration", "call_type", "caller_phone", "customer_name", "question_content", "question_answer", "productname", "area_name", "manyidu"}; + String titleColumn1[] = {"emp_no", "name", "create_time", "phone_num", "start_time", "end_time", "record_duration", "call_type", "caller_phone", "customer_name", "question_content", "question_answer", "productname", "area_name", "orgname","manyidu"}; // Excel列名 - String titleName1[] = {"工号", "姓名", "日期", "电话号码", "开始时间", "结束时间", "录音时长(秒)", "呼叫类型", "来电人电话号码", "公司名称", "咨询内容", "解决办法", "问题类型", "所属地区", "满意度"}; + String titleName1[] = {"工号", "姓名", "日期", "电话号码", "开始时间", "结束时间", "录音时长(秒)", "呼叫类型", "来电人电话号码", "公司名称", "咨询内容", "解决办法", "问题类型", "税局","所属地区", "满意度"}; // Excel 列宽 - int titleSize[] = {30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30}; + int titleSize[] = {30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,30}; // 内容书写,返回输出流 pee.wirteListMapExcel(titleColumn1, titleName1, titleSize, resultMap); diff --git a/src/rush/TaskDeleteJob.java b/src/rush/TaskDeleteJob.java index dd3a560..2b0c9ff 100644 --- a/src/rush/TaskDeleteJob.java +++ b/src/rush/TaskDeleteJob.java @@ -8,7 +8,7 @@ import com.aisino.aosplus.plugin.job.Job; * 这个方法定时回收这个任务中心的任务 * 2018年11月26日 */ -@Job("0 20 18 * * ?") +@Job("0 0 18 * * ?") public class TaskDeleteJob extends BaseJob{ @Override public void execute() {