diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 6560a98..fa99c1b 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -1,6 +1,66 @@ \ No newline at end of file diff --git a/build/classes/com/hangxin/web/SatisfacTion.class b/build/classes/com/hangxin/web/SatisfacTion.class index 9b3ba5c..d51211e 100644 Binary files a/build/classes/com/hangxin/web/SatisfacTion.class and b/build/classes/com/hangxin/web/SatisfacTion.class differ diff --git a/build/classes/com/hangxin/web/ZqlAction.class b/build/classes/com/hangxin/web/ZqlAction.class index 16d1765..16aa3fe 100644 Binary files a/build/classes/com/hangxin/web/ZqlAction.class and b/build/classes/com/hangxin/web/ZqlAction.class differ diff --git a/build/classes/html/authtask/authlist.html b/build/classes/html/authtask/authlist.html index 2369d09..6d971e9 100644 --- a/build/classes/html/authtask/authlist.html +++ b/build/classes/html/authtask/authlist.html @@ -23,7 +23,7 @@ 创建规则 修改规则 删除 - + 手动执行
@@ -190,6 +190,40 @@ return "其他"; } } + + function autotask(){ + var rows=grid.getSelected();//getSelecteds + if(rows==null || rows==''){ + aos.alert('请选择一条数据!'); + return; + } + if(rows.length>1){ + aos.alert('请选择一条数据!'); + return; + } + aos.tip('任务开始执行!'); + + var data={}; + data['id']=rows.id; + aos.post({ + url:"rush/manualtask/zbtask", + data:data, + success:function(rtnData){ + + if(rtnData==1){ + aos.alert('任务执行完成!'); + grid.reload(); + } + + } + + }); + + + } + + + function autoexe(){ var rows=grid.getSelected();//getSelecteds if(rows==null || rows==''){ diff --git a/build/classes/html/tick/account.html b/build/classes/html/tick/account.html index d22f1e7..76680d5 100644 --- a/build/classes/html/tick/account.html +++ b/build/classes/html/tick/account.html @@ -10,6 +10,8 @@ 查询 批量保存 批量标记 + + 批量修改电话 全选
@@ -267,6 +269,52 @@ function all(){ grid.selectAll(); } + + + function updatecontact(){ + if(aos.get('mobile').getValue()==''){ + aos.alert('需要按照电话号码查找企业!'); + return ; + } + + var rows=grid.getSelecteds(); + if (rows==null||rows==''){ + aos.alert('需要勾选企业信息'); + return ; + } + var param = {}; + param['pageState'] = 'editnew'; + param['mobile']=aos.get('mobile').getValue(); + aos.showWindow('canvas/tick/updatecontact', param, '420', '450px', '联系方式批量修改', function(params,rtnValue){ + var deletecontact = params['deletecontact']; + var updateontact = params['updateontact']; + var state = params['state']; + var name = params['name']; + for(var i=0;rows.length>i;i++) { + var data = { + customer_id: rows[i].customerid, + state: state, + updateontact: updateontact, + name: name, + deletecontact: deletecontact + } + aos.post({ + url: "rush/account/updatecontact", + data: data, + success: function (rtnData) { + aos.tip(rtnData); + grid.reload(); + } + + }); + + }}); + + } + + + + \ No newline at end of file diff --git a/build/classes/html/tick/excustomer.html b/build/classes/html/tick/excustomer.html index cd4bcf0..06b028d 100644 --- a/build/classes/html/tick/excustomer.html +++ b/build/classes/html/tick/excustomer.html @@ -30,7 +30,7 @@
- @@ -52,7 +52,7 @@ 查询    批量保存    - 导出    + 导出 导入电话数据
@@ -324,18 +324,14 @@ var cust_tax_code=aos.get('cust_tax_code').value; var resulttype=aos.get('resulttype').value; var dealtype=aos.get('dealtype').value; - - - - - - var base = document.getElementsByTagName("base")[0].href; var Eurl=base+"operExlData/exportExl"; var begindate=aos.get('searchbegindate').getValue(); var enddate=aos.get('searchenddate').getValue(); var dealbegindate=aos.get('dealbegindate').getValue(); var dealenddate=aos.get('dealenddate').getValue(); + var zqlstime = aos.get('zqlstime').getValue(); + var zqletime = aos.get('zqletime').getValue(); if(dealbegindate!=""){dealbegindate=dealbegindate+" "+"00:00:00"} if(dealenddate!=""){dealenddate=dealenddate+" "+"23:59:59"} if (begindate != ""){ @@ -350,16 +346,15 @@ }else{ var begindate=begindate+" "+"00:00:00"; var enddate=enddate+" "+"23:59:59"; - Eurl=Eurl+"?searchbegindate="+begindate+"&searchenddate="+enddate+"&cust_name="+encodeURI(encodeURI(cust_name))+"&expstate="+expstate+"&company="+company+"&feedback="+encodeURI(encodeURI(feedback))+"&revenue="+revenue+"&cust_type="+cust_type+"&cust_tax_code="+cust_tax_code+"&dealbegindate="+dealbegindate+"&dealenddate="+dealenddate+"&resulttype="+encodeURI(encodeURI(resulttype))+"&dealtype="+encodeURI(encodeURI(dealtype))+"&istax="+istax+"&ischuli="+ischuli; + Eurl=Eurl+"?zqlstime="+zqlstime+"&zqletime="+zqletime+"&searchbegindate="+begindate+"&searchenddate="+enddate+"&cust_name="+encodeURI(encodeURI(cust_name))+"&expstate="+expstate+"&company="+company+"&feedback="+encodeURI(encodeURI(feedback))+"&revenue="+revenue+"&cust_type="+cust_type+"&cust_tax_code="+cust_tax_code+"&dealbegindate="+dealbegindate+"&dealenddate="+dealenddate+"&resulttype="+encodeURI(encodeURI(resulttype))+"&dealtype="+encodeURI(encodeURI(dealtype))+"&istax="+istax+"&ischuli="+ischuli; } } } else if(enddate!=""){ aos.alert('请选择开始时间!'); return ; }else{ - Eurl=Eurl+"?cust_name="+encodeURI(encodeURI(cust_name))+"&expstate="+expstate+"&company="+company+"&feedback="+encodeURI(encodeURI(feedback))+"&revenue="+revenue+"&cust_type="+cust_type+"&cust_tax_code="+cust_tax_code+"&dealbegindate="+dealbegindate+"&dealenddate="+dealenddate+"&resulttype="+encodeURI(encodeURI(resulttype))+"&dealtype="+encodeURI(encodeURI(dealtype))+"&istax="+istax+"&ischuli="+ischuli; - } - alert(Eurl); + Eurl=Eurl+"?zqlstime="+zqlstime+"&zqletime="+zqletime+"&cust_name="+encodeURI(encodeURI(cust_name))+"&expstate="+expstate+"&company="+company+"&feedback="+encodeURI(encodeURI(feedback))+"&revenue="+revenue+"&cust_type="+cust_type+"&cust_tax_code="+cust_tax_code+"&dealbegindate="+dealbegindate+"&dealenddate="+dealenddate+"&resulttype="+encodeURI(encodeURI(resulttype))+"&dealtype="+encodeURI(encodeURI(dealtype))+"&istax="+istax+"&ischuli="+ischuli; + } window.location.href=Eurl; } diff --git a/build/classes/html/tick/khzqlcontact.html b/build/classes/html/tick/khzqlcontact.html index 94980dc..9dc3ecc 100644 --- a/build/classes/html/tick/khzqlcontact.html +++ b/build/classes/html/tick/khzqlcontact.html @@ -10,6 +10,13 @@ 至: + + + 至: + + + 至: + 查询
@@ -47,6 +54,10 @@ function search(){ var begindate=aos.get('searchbegindate').getValue(); var enddate=aos.get('searchenddate').getValue(); + var clbegindate=aos.get('chulibegin').getValue(); + var clenddate=aos.get('chuliend').getValue(); + var hfbegindate=aos.get('hfbegin').getValue(); + var hfenddate=aos.get('hfend').getValue(); if (begindate!="") { @@ -67,7 +78,14 @@ var params={ searchbegindate:begindate, - searchenddate:enddate + searchenddate:enddate, + clbegindate:clbegindate, + clenddate:clenddate, + hfbegindate:hfbegindate, + hfenddate:hfenddate + + + } grid.load(params); @@ -82,7 +100,11 @@ var enddate=aos.get('searchenddate').getValue(); var params = { searchbegindate:begindate, - searchenddate:enddate + searchenddate:enddate, + clbegindate:clbegindate, + clenddate:clenddate, + hfbegindate:hfbegindate, + hfenddate:hfenddate } grid.load(params); } diff --git a/build/classes/rush/AccountAction.class b/build/classes/rush/AccountAction.class index 4270e7f..9971120 100644 Binary files a/build/classes/rush/AccountAction.class and b/build/classes/rush/AccountAction.class differ diff --git a/build/classes/rush/OperExlDataAction.class b/build/classes/rush/OperExlDataAction.class index 5887394..adac5aa 100644 Binary files a/build/classes/rush/OperExlDataAction.class and b/build/classes/rush/OperExlDataAction.class differ diff --git a/build/classes/rush/PaiGongAction.class b/build/classes/rush/PaiGongAction.class index ed82ecf..39b665c 100644 Binary files a/build/classes/rush/PaiGongAction.class and b/build/classes/rush/PaiGongAction.class differ diff --git a/build/classes/rush/RushAction.class b/build/classes/rush/RushAction.class index aff73ae..3a352fa 100644 Binary files a/build/classes/rush/RushAction.class and b/build/classes/rush/RushAction.class differ diff --git a/build/classes/rush/RushCompany.class b/build/classes/rush/RushCompany.class index 468731a..74325f4 100644 Binary files a/build/classes/rush/RushCompany.class and b/build/classes/rush/RushCompany.class differ diff --git a/build/classes/rush/RushTaskCenterAction.class b/build/classes/rush/RushTaskCenterAction.class index ac5115b..27f32c1 100644 Binary files a/build/classes/rush/RushTaskCenterAction.class and b/build/classes/rush/RushTaskCenterAction.class differ diff --git a/build/classes/rush/SendSmsJob.class b/build/classes/rush/SendSmsJob.class index f5b7cf3..6919794 100644 Binary files a/build/classes/rush/SendSmsJob.class and b/build/classes/rush/SendSmsJob.class differ diff --git a/build/classes/rush/TaskAssignmentJob.class b/build/classes/rush/TaskAssignmentJob.class index a84f4fa..af3757b 100644 Binary files a/build/classes/rush/TaskAssignmentJob.class and b/build/classes/rush/TaskAssignmentJob.class differ diff --git a/build/classes/rush/TaskAuthJob.class b/build/classes/rush/TaskAuthJob.class index c63e3a5..bf0d598 100644 Binary files a/build/classes/rush/TaskAuthJob.class and b/build/classes/rush/TaskAuthJob.class differ diff --git a/build/classes/rush/TaskJob.class b/build/classes/rush/TaskJob.class index b7e4d3a..389fa49 100644 Binary files a/build/classes/rush/TaskJob.class and b/build/classes/rush/TaskJob.class differ diff --git a/build/classes/rush/TaskUserJob.class b/build/classes/rush/TaskUserJob.class index 47beef2..e978b2f 100644 Binary files a/build/classes/rush/TaskUserJob.class and b/build/classes/rush/TaskUserJob.class differ diff --git a/build/classes/rush/Updateex.class b/build/classes/rush/Updateex.class index fa344bb..de07f52 100644 Binary files a/build/classes/rush/Updateex.class and b/build/classes/rush/Updateex.class differ diff --git a/build/classes/rush/updateCustomer.class b/build/classes/rush/updateCustomer.class index cc598e4..123179e 100644 Binary files a/build/classes/rush/updateCustomer.class and b/build/classes/rush/updateCustomer.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/com/hangxin/web/SatisfacTion.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/com/hangxin/web/SatisfacTion.class index 9b3ba5c..d51211e 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/com/hangxin/web/SatisfacTion.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/com/hangxin/web/SatisfacTion.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/com/hangxin/web/ZqlAction.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/com/hangxin/web/ZqlAction.class index 16d1765..16aa3fe 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/com/hangxin/web/ZqlAction.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/com/hangxin/web/ZqlAction.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/authtask/authlist.html b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/authtask/authlist.html index 2369d09..6d971e9 100644 --- a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/authtask/authlist.html +++ b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/authtask/authlist.html @@ -23,7 +23,7 @@ 创建规则 修改规则 删除 - + 手动执行
@@ -190,6 +190,40 @@ return "其他"; } } + + function autotask(){ + var rows=grid.getSelected();//getSelecteds + if(rows==null || rows==''){ + aos.alert('请选择一条数据!'); + return; + } + if(rows.length>1){ + aos.alert('请选择一条数据!'); + return; + } + aos.tip('任务开始执行!'); + + var data={}; + data['id']=rows.id; + aos.post({ + url:"rush/manualtask/zbtask", + data:data, + success:function(rtnData){ + + if(rtnData==1){ + aos.alert('任务执行完成!'); + grid.reload(); + } + + } + + }); + + + } + + + function autoexe(){ var rows=grid.getSelected();//getSelecteds if(rows==null || rows==''){ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/tick/account.html b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/tick/account.html index d22f1e7..76680d5 100644 --- a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/tick/account.html +++ b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/tick/account.html @@ -10,6 +10,8 @@ 查询 批量保存 批量标记 + + 批量修改电话 全选
@@ -267,6 +269,52 @@ function all(){ grid.selectAll(); } + + + function updatecontact(){ + if(aos.get('mobile').getValue()==''){ + aos.alert('需要按照电话号码查找企业!'); + return ; + } + + var rows=grid.getSelecteds(); + if (rows==null||rows==''){ + aos.alert('需要勾选企业信息'); + return ; + } + var param = {}; + param['pageState'] = 'editnew'; + param['mobile']=aos.get('mobile').getValue(); + aos.showWindow('canvas/tick/updatecontact', param, '420', '450px', '联系方式批量修改', function(params,rtnValue){ + var deletecontact = params['deletecontact']; + var updateontact = params['updateontact']; + var state = params['state']; + var name = params['name']; + for(var i=0;rows.length>i;i++) { + var data = { + customer_id: rows[i].customerid, + state: state, + updateontact: updateontact, + name: name, + deletecontact: deletecontact + } + aos.post({ + url: "rush/account/updatecontact", + data: data, + success: function (rtnData) { + aos.tip(rtnData); + grid.reload(); + } + + }); + + }}); + + } + + + + \ No newline at end of file diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/tick/excustomer.html b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/tick/excustomer.html index cd4bcf0..06b028d 100644 --- a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/tick/excustomer.html +++ b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/tick/excustomer.html @@ -30,7 +30,7 @@
- @@ -52,7 +52,7 @@ 查询    批量保存    - 导出    + 导出 导入电话数据
@@ -324,18 +324,14 @@ var cust_tax_code=aos.get('cust_tax_code').value; var resulttype=aos.get('resulttype').value; var dealtype=aos.get('dealtype').value; - - - - - - var base = document.getElementsByTagName("base")[0].href; var Eurl=base+"operExlData/exportExl"; var begindate=aos.get('searchbegindate').getValue(); var enddate=aos.get('searchenddate').getValue(); var dealbegindate=aos.get('dealbegindate').getValue(); var dealenddate=aos.get('dealenddate').getValue(); + var zqlstime = aos.get('zqlstime').getValue(); + var zqletime = aos.get('zqletime').getValue(); if(dealbegindate!=""){dealbegindate=dealbegindate+" "+"00:00:00"} if(dealenddate!=""){dealenddate=dealenddate+" "+"23:59:59"} if (begindate != ""){ @@ -350,16 +346,15 @@ }else{ var begindate=begindate+" "+"00:00:00"; var enddate=enddate+" "+"23:59:59"; - Eurl=Eurl+"?searchbegindate="+begindate+"&searchenddate="+enddate+"&cust_name="+encodeURI(encodeURI(cust_name))+"&expstate="+expstate+"&company="+company+"&feedback="+encodeURI(encodeURI(feedback))+"&revenue="+revenue+"&cust_type="+cust_type+"&cust_tax_code="+cust_tax_code+"&dealbegindate="+dealbegindate+"&dealenddate="+dealenddate+"&resulttype="+encodeURI(encodeURI(resulttype))+"&dealtype="+encodeURI(encodeURI(dealtype))+"&istax="+istax+"&ischuli="+ischuli; + Eurl=Eurl+"?zqlstime="+zqlstime+"&zqletime="+zqletime+"&searchbegindate="+begindate+"&searchenddate="+enddate+"&cust_name="+encodeURI(encodeURI(cust_name))+"&expstate="+expstate+"&company="+company+"&feedback="+encodeURI(encodeURI(feedback))+"&revenue="+revenue+"&cust_type="+cust_type+"&cust_tax_code="+cust_tax_code+"&dealbegindate="+dealbegindate+"&dealenddate="+dealenddate+"&resulttype="+encodeURI(encodeURI(resulttype))+"&dealtype="+encodeURI(encodeURI(dealtype))+"&istax="+istax+"&ischuli="+ischuli; } } } else if(enddate!=""){ aos.alert('请选择开始时间!'); return ; }else{ - Eurl=Eurl+"?cust_name="+encodeURI(encodeURI(cust_name))+"&expstate="+expstate+"&company="+company+"&feedback="+encodeURI(encodeURI(feedback))+"&revenue="+revenue+"&cust_type="+cust_type+"&cust_tax_code="+cust_tax_code+"&dealbegindate="+dealbegindate+"&dealenddate="+dealenddate+"&resulttype="+encodeURI(encodeURI(resulttype))+"&dealtype="+encodeURI(encodeURI(dealtype))+"&istax="+istax+"&ischuli="+ischuli; - } - alert(Eurl); + Eurl=Eurl+"?zqlstime="+zqlstime+"&zqletime="+zqletime+"&cust_name="+encodeURI(encodeURI(cust_name))+"&expstate="+expstate+"&company="+company+"&feedback="+encodeURI(encodeURI(feedback))+"&revenue="+revenue+"&cust_type="+cust_type+"&cust_tax_code="+cust_tax_code+"&dealbegindate="+dealbegindate+"&dealenddate="+dealenddate+"&resulttype="+encodeURI(encodeURI(resulttype))+"&dealtype="+encodeURI(encodeURI(dealtype))+"&istax="+istax+"&ischuli="+ischuli; + } window.location.href=Eurl; } diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/tick/khzqlcontact.html b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/tick/khzqlcontact.html index 94980dc..9dc3ecc 100644 --- a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/tick/khzqlcontact.html +++ b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/html/tick/khzqlcontact.html @@ -10,6 +10,13 @@ 至: + + + 至: + + + 至: + 查询
@@ -47,6 +54,10 @@ function search(){ var begindate=aos.get('searchbegindate').getValue(); var enddate=aos.get('searchenddate').getValue(); + var clbegindate=aos.get('chulibegin').getValue(); + var clenddate=aos.get('chuliend').getValue(); + var hfbegindate=aos.get('hfbegin').getValue(); + var hfenddate=aos.get('hfend').getValue(); if (begindate!="") { @@ -67,7 +78,14 @@ var params={ searchbegindate:begindate, - searchenddate:enddate + searchenddate:enddate, + clbegindate:clbegindate, + clenddate:clenddate, + hfbegindate:hfbegindate, + hfenddate:hfenddate + + + } grid.load(params); @@ -82,7 +100,11 @@ var enddate=aos.get('searchenddate').getValue(); var params = { searchbegindate:begindate, - searchenddate:enddate + searchenddate:enddate, + clbegindate:clbegindate, + clenddate:clenddate, + hfbegindate:hfbegindate, + hfenddate:hfenddate } grid.load(params); } diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/AccountAction.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/AccountAction.class index 4270e7f..9971120 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/AccountAction.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/AccountAction.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/OperExlDataAction.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/OperExlDataAction.class index 5887394..adac5aa 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/OperExlDataAction.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/OperExlDataAction.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/PaiGongAction.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/PaiGongAction.class index ed82ecf..39b665c 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/PaiGongAction.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/PaiGongAction.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/RushAction.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/RushAction.class index aff73ae..3a352fa 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/RushAction.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/RushAction.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/RushCompany.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/RushCompany.class index 468731a..74325f4 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/RushCompany.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/RushCompany.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/RushTaskCenterAction.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/RushTaskCenterAction.class index ac5115b..27f32c1 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/RushTaskCenterAction.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/RushTaskCenterAction.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/SendSmsJob.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/SendSmsJob.class index f5b7cf3..6919794 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/SendSmsJob.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/SendSmsJob.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskAssignmentJob.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskAssignmentJob.class index a84f4fa..af3757b 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskAssignmentJob.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskAssignmentJob.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskAuthJob.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskAuthJob.class index c63e3a5..bf0d598 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskAuthJob.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskAuthJob.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskJob.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskJob.class index b7e4d3a..389fa49 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskJob.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskJob.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskUserJob.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskUserJob.class index 47beef2..e978b2f 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskUserJob.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/TaskUserJob.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/Updateex.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/Updateex.class index fa344bb..de07f52 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/Updateex.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/Updateex.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/updateCustomer.class b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/updateCustomer.class index cc598e4..123179e 100644 Binary files a/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/updateCustomer.class and b/classes/artifacts/rushfee_Web_exploded/WEB-INF/classes/rush/updateCustomer.class differ diff --git a/classes/artifacts/rushfee_Web_exploded/ptrun.ini b/classes/artifacts/rushfee_Web_exploded/ptrun.ini index 9123c84..ecef3b1 100644 --- a/classes/artifacts/rushfee_Web_exploded/ptrun.ini +++ b/classes/artifacts/rushfee_Web_exploded/ptrun.ini @@ -1,3 +1,3 @@ #save ini -#Tue May 17 21:19:50 CST 2022 +#Wed Sep 28 22:57:37 CST 2022 deploystamp=1612237236000 diff --git a/resource/html/authtask/authlist.html b/resource/html/authtask/authlist.html index 2369d09..6d971e9 100644 --- a/resource/html/authtask/authlist.html +++ b/resource/html/authtask/authlist.html @@ -23,7 +23,7 @@ 创建规则 修改规则 删除 - + 手动执行
@@ -190,6 +190,40 @@ return "其他"; } } + + function autotask(){ + var rows=grid.getSelected();//getSelecteds + if(rows==null || rows==''){ + aos.alert('请选择一条数据!'); + return; + } + if(rows.length>1){ + aos.alert('请选择一条数据!'); + return; + } + aos.tip('任务开始执行!'); + + var data={}; + data['id']=rows.id; + aos.post({ + url:"rush/manualtask/zbtask", + data:data, + success:function(rtnData){ + + if(rtnData==1){ + aos.alert('任务执行完成!'); + grid.reload(); + } + + } + + }); + + + } + + + function autoexe(){ var rows=grid.getSelected();//getSelecteds if(rows==null || rows==''){ diff --git a/resource/html/task/authcount.html b/resource/html/task/authcount.html new file mode 100644 index 0000000..30b2696 --- /dev/null +++ b/resource/html/task/authcount.html @@ -0,0 +1,46 @@ + + + + 工作量列表 + + + +
+

注意:以下数值为催缴人员手动任务量,
影响系统任务自动分配条数,请谨慎修改。

+
+ + 保存 +
+
+ + + + \ No newline at end of file diff --git a/resource/html/tick/account.html b/resource/html/tick/account.html index d22f1e7..76680d5 100644 --- a/resource/html/tick/account.html +++ b/resource/html/tick/account.html @@ -10,6 +10,8 @@ 查询 批量保存 批量标记 + + 批量修改电话 全选
@@ -267,6 +269,52 @@ function all(){ grid.selectAll(); } + + + function updatecontact(){ + if(aos.get('mobile').getValue()==''){ + aos.alert('需要按照电话号码查找企业!'); + return ; + } + + var rows=grid.getSelecteds(); + if (rows==null||rows==''){ + aos.alert('需要勾选企业信息'); + return ; + } + var param = {}; + param['pageState'] = 'editnew'; + param['mobile']=aos.get('mobile').getValue(); + aos.showWindow('canvas/tick/updatecontact', param, '420', '450px', '联系方式批量修改', function(params,rtnValue){ + var deletecontact = params['deletecontact']; + var updateontact = params['updateontact']; + var state = params['state']; + var name = params['name']; + for(var i=0;rows.length>i;i++) { + var data = { + customer_id: rows[i].customerid, + state: state, + updateontact: updateontact, + name: name, + deletecontact: deletecontact + } + aos.post({ + url: "rush/account/updatecontact", + data: data, + success: function (rtnData) { + aos.tip(rtnData); + grid.reload(); + } + + }); + + }}); + + } + + + + \ No newline at end of file diff --git a/resource/html/tick/excustomer.html b/resource/html/tick/excustomer.html index cd4bcf0..06b028d 100644 --- a/resource/html/tick/excustomer.html +++ b/resource/html/tick/excustomer.html @@ -30,7 +30,7 @@
- @@ -52,7 +52,7 @@ 查询    批量保存    - 导出    + 导出 导入电话数据
@@ -324,18 +324,14 @@ var cust_tax_code=aos.get('cust_tax_code').value; var resulttype=aos.get('resulttype').value; var dealtype=aos.get('dealtype').value; - - - - - - var base = document.getElementsByTagName("base")[0].href; var Eurl=base+"operExlData/exportExl"; var begindate=aos.get('searchbegindate').getValue(); var enddate=aos.get('searchenddate').getValue(); var dealbegindate=aos.get('dealbegindate').getValue(); var dealenddate=aos.get('dealenddate').getValue(); + var zqlstime = aos.get('zqlstime').getValue(); + var zqletime = aos.get('zqletime').getValue(); if(dealbegindate!=""){dealbegindate=dealbegindate+" "+"00:00:00"} if(dealenddate!=""){dealenddate=dealenddate+" "+"23:59:59"} if (begindate != ""){ @@ -350,16 +346,15 @@ }else{ var begindate=begindate+" "+"00:00:00"; var enddate=enddate+" "+"23:59:59"; - Eurl=Eurl+"?searchbegindate="+begindate+"&searchenddate="+enddate+"&cust_name="+encodeURI(encodeURI(cust_name))+"&expstate="+expstate+"&company="+company+"&feedback="+encodeURI(encodeURI(feedback))+"&revenue="+revenue+"&cust_type="+cust_type+"&cust_tax_code="+cust_tax_code+"&dealbegindate="+dealbegindate+"&dealenddate="+dealenddate+"&resulttype="+encodeURI(encodeURI(resulttype))+"&dealtype="+encodeURI(encodeURI(dealtype))+"&istax="+istax+"&ischuli="+ischuli; + Eurl=Eurl+"?zqlstime="+zqlstime+"&zqletime="+zqletime+"&searchbegindate="+begindate+"&searchenddate="+enddate+"&cust_name="+encodeURI(encodeURI(cust_name))+"&expstate="+expstate+"&company="+company+"&feedback="+encodeURI(encodeURI(feedback))+"&revenue="+revenue+"&cust_type="+cust_type+"&cust_tax_code="+cust_tax_code+"&dealbegindate="+dealbegindate+"&dealenddate="+dealenddate+"&resulttype="+encodeURI(encodeURI(resulttype))+"&dealtype="+encodeURI(encodeURI(dealtype))+"&istax="+istax+"&ischuli="+ischuli; } } } else if(enddate!=""){ aos.alert('请选择开始时间!'); return ; }else{ - Eurl=Eurl+"?cust_name="+encodeURI(encodeURI(cust_name))+"&expstate="+expstate+"&company="+company+"&feedback="+encodeURI(encodeURI(feedback))+"&revenue="+revenue+"&cust_type="+cust_type+"&cust_tax_code="+cust_tax_code+"&dealbegindate="+dealbegindate+"&dealenddate="+dealenddate+"&resulttype="+encodeURI(encodeURI(resulttype))+"&dealtype="+encodeURI(encodeURI(dealtype))+"&istax="+istax+"&ischuli="+ischuli; - } - alert(Eurl); + Eurl=Eurl+"?zqlstime="+zqlstime+"&zqletime="+zqletime+"&cust_name="+encodeURI(encodeURI(cust_name))+"&expstate="+expstate+"&company="+company+"&feedback="+encodeURI(encodeURI(feedback))+"&revenue="+revenue+"&cust_type="+cust_type+"&cust_tax_code="+cust_tax_code+"&dealbegindate="+dealbegindate+"&dealenddate="+dealenddate+"&resulttype="+encodeURI(encodeURI(resulttype))+"&dealtype="+encodeURI(encodeURI(dealtype))+"&istax="+istax+"&ischuli="+ischuli; + } window.location.href=Eurl; } diff --git a/resource/html/tick/hfcountmx.html b/resource/html/tick/hfcountmx.html new file mode 100644 index 0000000..d28acd2 --- /dev/null +++ b/resource/html/tick/hfcountmx.html @@ -0,0 +1,65 @@ + + + 催缴次数明细 + + + +
+ + + + + + + + 查询 +
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+ + + + \ No newline at end of file diff --git a/resource/html/tick/hfcounttj.html b/resource/html/tick/hfcounttj.html new file mode 100644 index 0000000..9cb4d21 --- /dev/null +++ b/resource/html/tick/hfcounttj.html @@ -0,0 +1,76 @@ + + + 催缴次数统计 + + + +
+ + + 至: + + + + 至: + + + + + + 查询 +
+
+
+
+
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/resource/html/tick/khzqlcontact.html b/resource/html/tick/khzqlcontact.html index 94980dc..9dc3ecc 100644 --- a/resource/html/tick/khzqlcontact.html +++ b/resource/html/tick/khzqlcontact.html @@ -10,6 +10,13 @@ 至: + + + 至: + + + 至: + 查询
@@ -47,6 +54,10 @@ function search(){ var begindate=aos.get('searchbegindate').getValue(); var enddate=aos.get('searchenddate').getValue(); + var clbegindate=aos.get('chulibegin').getValue(); + var clenddate=aos.get('chuliend').getValue(); + var hfbegindate=aos.get('hfbegin').getValue(); + var hfenddate=aos.get('hfend').getValue(); if (begindate!="") { @@ -67,7 +78,14 @@ var params={ searchbegindate:begindate, - searchenddate:enddate + searchenddate:enddate, + clbegindate:clbegindate, + clenddate:clenddate, + hfbegindate:hfbegindate, + hfenddate:hfenddate + + + } grid.load(params); @@ -82,7 +100,11 @@ var enddate=aos.get('searchenddate').getValue(); var params = { searchbegindate:begindate, - searchenddate:enddate + searchenddate:enddate, + clbegindate:clbegindate, + clenddate:clenddate, + hfbegindate:hfbegindate, + hfenddate:hfenddate } grid.load(params); } diff --git a/resource/html/tick/updatecontact.html b/resource/html/tick/updatecontact.html new file mode 100644 index 0000000..be70768 --- /dev/null +++ b/resource/html/tick/updatecontact.html @@ -0,0 +1,60 @@ + + + 预约回访 + + +
+ 删除 + 修改 +
+ + + +
+ +
+ +
+ + + + + + + + \ No newline at end of file diff --git a/src/com/hangxin/web/SatisfacTion.java b/src/com/hangxin/web/SatisfacTion.java index 447e4b2..8012abe 100644 --- a/src/com/hangxin/web/SatisfacTion.java +++ b/src/com/hangxin/web/SatisfacTion.java @@ -1202,7 +1202,15 @@ public class SatisfacTion { public List zql(Params params) { Object searchbegindate = params.get("searchbegindate"); Object searchenddate = params.get("searchenddate"); + Object clbegin = params.get("clbegindate"); + Object clend = params.get("clenddate"); + Object hfbegin = params.get("hfbegindate"); + Object hfend = params.get("hfenddate"); String dateString = ""; + String clbeginsql = ""; + String clendsql = ""; + String hfbeginsql = ""; + String hfendsql = ""; String queryString = ""; Map zuzhiMap = zuzhiid(); Object orgauth = zuzhiMap.get("crm_orgid"); @@ -1214,10 +1222,29 @@ public List zql(Params params) { if (query == 3) { queryString = " and 1=0"; } + /*if (query == 2|| query==4) { + queryString = " and org_name='"+orgname+"'"; + }*/ if (searchbegindate != null) { dateString = " and to_char(create_time,'yyyy-mm-dd')>='"+searchbegindate+"'" + " and to_char(create_time,'yyyy-mm-dd')<='" +searchenddate+"'"; } + if (clbegin != null) { + clbeginsql = " and DEALTIME>='"+clbegin+" 00:00:00'"; + } + if (clend != null) { + clendsql = " and DEALTIME<='"+clbegin+" 23:59:59'"; + } + + if (hfbegin != null) { + hfbeginsql = " and ZXHFTIME>='"+hfbegin+" 00:00:00'"; + } + + if (hfend != null) { + hfendsql = " and ZXHFTIME<='"+hfend+" 23:59:59'"; + } + + String sql="select org_name,zongshu,cuowu,weichuli,zhengque,weihuifang,\n" + "round((zongshu-cuowu-weichuli)/zongshu,4) zhengquelv, round((zongshu-cuowu-weichuli)/zongshu,4)*100||'%' zhengquelvbaifenbi,\n" + "rank () over ( ORDER BY round((zongshu-cuowu-weichuli)/zongshu,4) DESC ) paiming from (\n" + @@ -1228,12 +1255,16 @@ public List zql(Params params) { "sum(case when (state=0 or state=2 ) and zxhfremark is null then 1 else 0 end ) as weichuli\n" + " from ( " + " select state,org_id,org_name,zxhfremark,fistback from excustomer_info \n" + - " where fistback in ('联系方式为空','联系方式异常','客户不在本单位') " +dateString +queryString+ + " where fistback in ('联系方式为空','联系方式异常','客户不在本单位') " +dateString +queryString+clbeginsql+clendsql+hfbeginsql+hfendsql+ + " and ISCANCEL=0 and TJZQL=0 "+ " ) group by org_name)"; List l=DbHelper.getDbService().queryMapList(sql); int zongshu = 0; int zuowu= 0; int weichuli= 0; + if(l.size()==0){ + return null; + } for(int i=0;i zql(Params params) { double pingjun=(double)(zongshu-zuowu-weichuli)/zongshu; BigDecimal B=new BigDecimal(pingjun); double b4=B.setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue(); + float zhuanhuan = (float)b4; for(int i=0;i=b4){ l.get(i).put("defen",5); @@ -1260,7 +1292,7 @@ public List zql(Params params) { } } - l.get(i).put("pingjun",b4*100+"%"); + l.get(i).put("pingjun",zhuanhuan*100+"%"); } if (query == 2||query==4) { @@ -2180,7 +2212,7 @@ public List zql(Params params) { " cutsremark from excustomer_info where fistback in ('联系方式为空','联系方式异常','客户不在本单位') and org_name='"+org_name+"'"+dateString+ " and (zxhfremark in \n" + " ('联系方式为空','联系方式异常','客户不在本单位') or \n" + - " ((state=0 or state=2 ) and zxhfremark is null) )"; + " ((state=0 or state=2 ) and zxhfremark is null) ) and ISCANCEL=0 and TJZQL=0 "; Map resultMap = DbHelper.getDbService().queryPageMapList(sql, params); return resultMap; diff --git a/src/com/hangxin/web/ZqlAction.java b/src/com/hangxin/web/ZqlAction.java index 8bc87fd..974f6ec 100644 --- a/src/com/hangxin/web/ZqlAction.java +++ b/src/com/hangxin/web/ZqlAction.java @@ -120,6 +120,7 @@ public class ZqlAction { /** * 计算list某个属性的总合 + * * @param srouce * @param key * @param @@ -148,13 +149,14 @@ public class ZqlAction { /** * 计算百分比 + * * @param num * @param total * @param scale * @return */ public static String accuracy(double num, double total, int scale) { - if(total>0){ + if (total > 0) { DecimalFormat df = (DecimalFormat) NumberFormat.getInstance(); //可以设置精确几位小数 df.setMaximumFractionDigits(scale); @@ -162,9 +164,110 @@ public class ZqlAction { df.setRoundingMode(RoundingMode.HALF_UP); double accuracy_num = num / total * 100; return df.format(accuracy_num) + "%"; - }else{ - return 0+ "%"; + } else { + return 0 + "%"; } } + + /*计算回访次数相关报表 */ + + @Request.Post("hfcountmx") + public Map hfcountmx(Params params) { + String rushtime = params.getString("rushtime"); + String jftime = params.getString("jftime"); + String dateString = ""; + if (rushtime != null) { + dateString = " and operate_date>='" + rushtime + " 00:00:00'" + + " and operate_date<='" + rushtime + " 23:59:59'"; + } + String sql = "select b.cust_name ,to_char(c.addtime,'yyyy-mm-dd') addtime,c.kpxm ,c.kphjje ," + + + "(select count(1) from rush_log where obj_id=b.id ) hfnum ,decode(a.custtype,'0','服务费','1','托管',null,'不在催缴系统了') custtype,decode(a.injf,'0','未在机柜','1','机柜','2','机柜') injg," + + + "decode(a.ifmz,'0','不是免征','1','免征') ifmz, decode(u.IS_TUIFEI,'0','否','1','是') ifjy" + + + " from (" + + + " select obj_id,injf,custtype,ifmz from rush_log where action='rushfee'" + + + dateString + " ) a " + + + " left join rush_record b on a.obj_id=b.id " + + + " left join ( select addtime,kpxm,kphjje,ghf_custid from einvoice_fpkjxx_fptxx where to_char(addtime,'yyyy-mm-dd')>='"+jftime+"') c on b.customer_id=c.ghf_custid" + + + " left join customer_info u on b.customer_id=u.customer_id"; + return DbHelper.getDbService().queryPageMapList(sql, params); + + } + @Request.Post("hfcounttj") + public Map hfcounttj(Params params) { + Object rushtime = params.get("rushtime"); + Object rushtimeend = params.get("rushtimeend"); + Object jftime = params.get("jftime"); + Object jftimeend = params.get("jftimeend"); + + Object custtype = params.get("custtype"); + Object ifmz = params.get("ifmz"); + Object ifjy = params.get("ifjy"); + + + String dateString = ""; + String sqljy=""; + String sqlmz=""; + String sqlcusttype=""; + if (rushtime != null) { + dateString = " and operate_date>='" + rushtime + " 00:00:00'" + + " and operate_date<='" + rushtimeend + " 23:59:59'"; + } + if(ifjy!=null){ + sqljy=" and u.is_tuifei="+ifjy; + } + + + if(ifmz!=null){ + + sqlmz=" and u.ifmz="+ifmz; + } + if( custtype!=null){ + sqlcusttype=" and ISSERVICE="+custtype; + } + /* String sql = "\n" + + "select num,count(1) sl, sum( case when jftime is not null then 1 else 0 end ) jfsl," + + "sum( case when custtype=0 and jftime is not null then 1 else 0 end ) fwf , " + + "sum ( case when custtype=1 and jftime is not null then 1 else 0 end) tg," + + "round(sum(case when custtype=1 and jftime is not null then 1 else 0 end)/count(1) ,4)*100 ||'%' tgbl," + + "round(sum(case when jftime is not null then 1 else 0 end)/count(1) ,4)*100 ||'%' jfbl" + + " from (" + + " select to_char(c.addtime,'yyyy-mm-dd') jftime ,c.kpxm ,c.kphjje ," + + "(select count(1) from rush_log where obj_id=b.id ) num ,a.custtype " + + " from (" + + " select obj_id,injf,custtype,ifmz from rush_log where action='rushfee'" + + dateString + " ) a " + + " left join rush_record b on a.obj_id=b.id" + + " left join ( select addtime,kpxm,kphjje,ghf_custid from einvoice_fpkjxx_fptxx where to_char(addtime,'yyyy-mm-dd')>='"+jftime+"') c on b.customer_id=c.ghf_custid" + + " left join customer_info u on b.customer_id=u.customer_id where 1=1 "+sqljy+sqlmz +") group by num order by num ";*/ + + String sql="select num ,count(1) sl, sum( case when jftime is not null then 1 else 0 end ) jfsl," + + " sum( case when kphjje='280.00' and jftime is not null then 1 else 0 end ) fwf , " + + " sum ( case when kphjje!='280.00' and jftime is not null then 1 else 0 end) tg," + + " round(sum(case when kphjje!='280.00' and jftime is not null then 1 else 0 end)/count(1) ,4)*100 ||'%' tgbl," + + " round(sum(case when jftime is not null then 1 else 0 end)/count(1) ,4)*100 ||'%' jfbl" + + " from (" + + " select to_char(c.addtime,'yyyy-mm-dd') jftime ,c.kpxm ,c.kphjje ," + + " (select count(1) from rush_log where obj_id=b.id ) num ,a.custtype " + + " from (" + + " select obj_id,injf,cust_type custtype,ifmz from (" + + " select obj_id,count(1) from rush_log where action='rushfee'" + dateString+ + " group by obj_id ) x left join view_info y on x.obj_id=y.id ) a " + + " left join rush_record b on a.obj_id=b.id " + + " left join ( select addtime,kpxm,kphjje,ghf_custid from einvoice_fpkjxx_fptxx where to_char(addtime,'yyyy-mm-dd')>='"+jftime+"' and to_char(addtime,'yyyy-mm-dd')<= '"+jftimeend+"') c on b.customer_id=c.ghf_custid" + + " left join customer_info u on b.customer_id=u.customer_id " + + " where 1=1 " +sqlcusttype+sqlmz+sqljy+ + " " + + " ) group by num order by num "; + return DbHelper.getDbService().queryPageMapList(sql, params); + + } } \ No newline at end of file diff --git a/src/rush/AccountAction.java b/src/rush/AccountAction.java index 3b7a568..1e2dc4c 100644 --- a/src/rush/AccountAction.java +++ b/src/rush/AccountAction.java @@ -152,7 +152,7 @@ public class AccountAction { } if(null!=mobile){ sql1+=" and a.CUSTOMERID in (select distinct c.customer_id " - +" from v_CUSTOMER_CONTACT c " + +" from v_CUSTOMER_CONTACT_TEST c " +" where c.mobile='"+mobile+"')"; } sql = sql+sql1+") z"; @@ -308,7 +308,7 @@ public class AccountAction { } } params.put("task_finish_num", taskActFinishNum); - defaultDb.update("update RUSH_TASK_DETAIL t set finish_num={task_finish_num} where #equal(t.id,detail_id) and rownum =1", params); + defaultDb.update("update RUSH_TASK_DETAIL t set finish_num={task_finish_num} where t.id={detail_id} ", params); //更新分配任务人员任务完成数 if(taskUserFinishNum == null ){ @@ -549,23 +549,23 @@ public class AccountAction { } } } - - /*重新再补一遍注释 忘了逻辑*/ - /* 查询保存的反馈类型是不是需要到分公司异常的反馈类型*/ + /* + *//*重新再补一遍注释 忘了逻辑*//* + *//* 查询保存的反馈类型是不是需要到分公司异常的反馈类型*//* Map feedbacktype = DbHelper.getDbService().queryMap("select id from RUSH_EXFEEDBACK where type='exfeedback' and name=?",feedback_type); - /*这个查询该企业的的详细信息 主要是回访次数 因为十次是一个 节点 需要判断*/ + *//*这个查询该企业的的详细信息 主要是回访次数 因为十次是一个 节点 需要判断*//* Map excustomer=DbHelper.getDbService().queryMap("select org_id,revenueid,end_datechr,count,invoice_addr,legal_person from view_info where customerid=?",customer_id); - /*我还想知道 需要保存到异常的这个企业是否已经存在 + *//*我还想知道 需要保存到异常的这个企业是否已经存在 * 如果存在 我需要更新 * 不存在 哼哼 fffddr - * */ + * *//* Map iscunzai = DbHelper.getDbService().queryMap("select id from excustomer_info where customer_id=?",customer_id); int countObject=Integer.parseInt( excustomer.get("count").toString()); - /*如果大于等于9次我就给你按照异常处理 + *//*如果大于等于9次我就给你按照异常处理 * 这里分了好几种情况 主要说一下这个id的问题 * * - * */ + * *//* if(countObject>=9){ Params tenParams = new Params(); String eid = Guid.g(); @@ -593,7 +593,7 @@ public class AccountAction { tenParams.put("RUSTYPE", ""); tenParams.put("DEALTIME", ""); if(iscunzai==null){ - /*这种情况是第一次进去*/ + *//*这种情况是第一次进去*//* insertlog(tenParams); String sqlString="insert into excustomer_info (id,customer_id,cust_name,feedback,revenueid,org_id,cust_type,end_date,create_date,org_name,cust_tax_code,contacts_info,state,revenuename,invoice_addr,legal_person,fistback)" +" values ('{id}','{customer_id}','{cust_name}','{feedback}','{revenueid}','{org_id}','{cust_type}','{end_date}','{create_date}','{org_name}','{cust_tax_code}','{contacts_info}','{state}','{revenuename}','{invoice_addr}','{legal_person}','{feedback}') "; @@ -601,7 +601,7 @@ public class AccountAction { } else{ - /* 说明已经存在了 这时候的obj_id 需要存已存在的id。*/ + *//* 说明已经存在了 这时候的obj_id 需要存已存在的id。*//* tenParams.put("yid", iscunzai.get("id")); insertlogyicunzai(tenParams); String sqlString="update excustomer_info set customer_id={customer_id},cust_name={cust_name},feedback={feedback},revenueid={revenueid},org_id={org_id},cust_type={cust_type},end_date={end_date},create_date={create_date},org_name={org_name}, " @@ -662,8 +662,154 @@ public class AccountAction { } } +*/ - String id = null; + /*重新再补一遍注释 忘了逻辑*/ + /* 查询保存的反馈类型是不是需要到分公司异常的反馈类型*/ + Map feedbacktype = DbHelper.getDbService().queryMap("select id from RUSH_EXFEEDBACK where type='exfeedback' and name=?",feedback_type); + /*这个查询该企业的的详细信息 主要是回访次数 因为十次是一个 节点 需要判断*/ + Map excustomer=DbHelper.getDbService().queryMap("select org_id,revenueid,end_datechr,count,invoice_addr,legal_person, isservice,injf,ifmz from view_info where customerid=?",customer_id); + /*我还想知道 需要保存到异常的这个企业是否已经存在 + * 如果存在 我需要更新 + * 不存在 哼哼 + * */ + Object custtype =excustomer.get("isservice"); + Object injf =excustomer.get("injf"); + Object ifmz =excustomer.get("ifmz"); + + if(excustomer!=null&&excustomer.size()>0) { + Map iscunzai = DbHelper.getDbService().queryMap("select id from excustomer_info where customer_id=?", customer_id); + int countObject = Integer.parseInt(excustomer.get("count").toString()); + /*如果大于等于9次我就给你按照异常处理 + * 这里分了好几种情况 主要说一下这个id的问题 + * + * + * */ + if (countObject >= 9) { + Params tenParams = new Params(); + String eid = Guid.g(); + String lid = Guid.g(); + tenParams.put("id", eid);//这个是异常列表的主键id 同时也是插入日志的obj_id + tenParams.put("lid", lid); + tenParams.put("feedback", feedback_type); + tenParams.put("creator_name", creator_name); + tenParams.put("create_date", create_date); + tenParams.put("customer_id", customer_id); + tenParams.put("contacts_info", contacts_info); + tenParams.put("cust_name", cust_name); + tenParams.put("revenueid", excustomer.get("revenueid")); + tenParams.put("org_id", excustomer.get("org_id")); + tenParams.put("org_name", org_name); + tenParams.put("end_date", end_date); + tenParams.put("cust_type", "1"); + tenParams.put("state", "0"); + tenParams.put("cust_tax_code", cust_tax_code); + tenParams.put("revenuename", revenuename); + tenParams.put("invoice_addr", excustomer.get("invoice_addr")); + tenParams.put("legal_person", excustomer.get("legal_person")); + tenParams.put("CUTSTYPE", ""); + tenParams.put("CUTSREMARK", ""); + tenParams.put("RUSTYPE", ""); + tenParams.put("DEALTIME", ""); + if (feedbacktype != null && feedbacktype.size() > 0) { + if (iscunzai == null) { + /*这种情况是第一次进去*/ + insertlog(tenParams); + String sqlString = "insert into excustomer_info (id,customer_id,cust_name,feedback,revenueid,org_id,cust_type,end_date,create_date,org_name,cust_tax_code,contacts_info,state,revenuename,invoice_addr,legal_person,fistback)" + + " values ('{id}','{customer_id}','{cust_name}','{feedback}','{revenueid}','{org_id}','{cust_type}','{end_date}','{create_date}','{org_name}','{cust_tax_code}','{contacts_info}','{state}','{revenuename}','{invoice_addr}','{legal_person}','{feedback}') "; + DbHelper.getDbService().update(sqlString, tenParams); + String taskcenter = "insert into rush_task_center (id,task_id,detail_id,task_user_id,user_id,user_name,customer_id,end_date,revenueid,cust_tax_code,customer_name,task_creator_name,org_name,org_id )" + + "values('{id}','220886594009875812','220886594009875815','220886594009875817','472775138282575026','分公司处理数据','{customer_id}','{end_date}','{revenueid}','{cust_tax_code}','{cust_name}','{creator_name}','{org_name}','{org_id}') "; + DbHelper.getDbService().update(taskcenter, tenParams); + + } else { + /* 说明已经存在了 这时候的obj_id 需要存已存在的id。*/ + tenParams.put("yid", iscunzai.get("id")); + insertlogyicunzai(tenParams); + String sqlString = "update excustomer_info set customer_id={customer_id},cust_name={cust_name},feedback={feedback},revenueid={revenueid},org_id={org_id},cust_type={cust_type},end_date={end_date},create_date={create_date},org_name={org_name}, " + + "cust_tax_code={cust_tax_code},contacts_info={contacts_info},state={state},revenuename={revenuename},invoice_addr={invoice_addr},legal_person={legal_person},CUTSTYPE={CUTSTYPE},CUTSREMARK={CUTSREMARK},RUSTYPE={RUSTYPE},DEALTIME={DEALTIME} where id =" + iscunzai.get("id"); + DbHelper.getDbService().update(sqlString, tenParams); + String taskcenter = "insert into rush_task_center (id,task_id,detail_id,task_user_id,user_id,user_name,customer_id,end_date,revenueid,cust_tax_code,customer_name,task_creator_name,org_name,org_id )" + + "values('{id}','220886594009875812','220886594009875815','220886594009875817','472775138282575026','分公司处理数据','{customer_id}','{end_date}','{revenueid}','{cust_tax_code}','{cust_name}','{creator_name}','{org_name}','{org_id}') "; + DbHelper.getDbService().update(taskcenter, tenParams); + } + } + else{ + if (iscunzai == null) { + /*这种情况是第一次进去*/ + insertlog(tenParams); + String sqlString = "insert into excustomer_info (id,customer_id,cust_name,feedback,revenueid,org_id,cust_type,end_date,create_date,org_name,cust_tax_code,contacts_info,state,revenuename,invoice_addr,legal_person,fistback)" + + " values ('{id}','{customer_id}','{cust_name}','{feedback}','{revenueid}','{org_id}','{cust_type}','{end_date}','{create_date}','{org_name}','{cust_tax_code}','{contacts_info}','{state}','{revenuename}','{invoice_addr}','{legal_person}','{feedback}') "; + DbHelper.getDbService().update(sqlString, tenParams); + + + } else { + /* 说明已经存在了 这时候的obj_id 需要存已存在的id。*/ + tenParams.put("yid", iscunzai.get("id")); + insertlogyicunzai(tenParams); + String sqlString = "update excustomer_info set customer_id={customer_id},cust_name={cust_name},feedback={feedback},revenueid={revenueid},org_id={org_id},cust_type={cust_type},end_date={end_date},create_date={create_date},org_name={org_name}, " + + "cust_tax_code={cust_tax_code},contacts_info={contacts_info},state={state},revenuename={revenuename},invoice_addr={invoice_addr},legal_person={legal_person},CUTSTYPE={CUTSTYPE},CUTSREMARK={CUTSREMARK},RUSTYPE={RUSTYPE},DEALTIME={DEALTIME} where id =" + iscunzai.get("id"); + DbHelper.getDbService().update(sqlString, tenParams); + } + } + + + } else { + if (feedbacktype != null && feedbacktype.size() > 0) { + + Params feedParams = new Params(); + String eid = Guid.g(); + String lid = Guid.g(); + feedParams.put("id", eid); + feedParams.put("lid", lid); + feedParams.put("feedback", feedback_type); + feedParams.put("creator_name", creator_name); + feedParams.put("create_date", create_date); + feedParams.put("customer_id", customer_id); + feedParams.put("contacts_info", contacts_info); + feedParams.put("cust_name", cust_name); + feedParams.put("revenueid", excustomer.get("revenueid")); + feedParams.put("org_id", excustomer.get("org_id")); + feedParams.put("org_name", org_name); + feedParams.put("end_date", end_date); + feedParams.put("cust_type", "0"); + feedParams.put("state", "0"); + feedParams.put("cust_tax_code", cust_tax_code); + feedParams.put("revenuename", revenuename); + feedParams.put("invoice_addr", excustomer.get("invoice_addr")); + feedParams.put("legal_person", excustomer.get("legal_person")); + feedParams.put("CUTSTYPE", ""); + feedParams.put("CUTSREMARK", ""); + feedParams.put("RUSTYPE", ""); + feedParams.put("DEALTIME", ""); + + if (iscunzai == null) { + insertlog(feedParams); + String sqlString = "insert into excustomer_info (id,customer_id,cust_name,feedback,revenueid,org_id,cust_type,end_date,create_date,org_name,cust_tax_code,contacts_info,state,revenuename,invoice_addr,legal_person,fistback)" + + " values ('{id}','{customer_id}','{cust_name}','{feedback}','{revenueid}','{org_id}','{cust_type}','{end_date}','{create_date}','{org_name}','{cust_tax_code}','{contacts_info}','{state}','{revenuename}','{invoice_addr}','{legal_person}','{feedback}') "; + DbHelper.getDbService().update(sqlString, feedParams); + String taskcenter = "insert into rush_task_center (id,task_id,detail_id,task_user_id,user_id,user_name,customer_id,end_date,revenueid,cust_tax_code,customer_name,task_creator_name,org_name,org_id )" + + "values('{id}','220886594009875812','220886594009875815','220886594009875817','472775138282575026','分公司处理数据','{customer_id}','{end_date}','{revenueid}','{cust_tax_code}','{cust_name}','{creator_name}','{org_name}','{org_id}') "; + DbHelper.getDbService().update(taskcenter, feedParams); + } else { + feedParams.put("yid", iscunzai.get("id")); + insertlogyicunzai(feedParams); + String sqlString = "update excustomer_info set customer_id={customer_id},cust_name={cust_name},feedback={feedback},revenueid={revenueid},org_id={org_id},cust_type={cust_type},end_date={end_date},create_date={create_date},org_name={org_name}, " + + "cust_tax_code={cust_tax_code},contacts_info={contacts_info},state={state},revenuename={revenuename},invoice_addr={invoice_addr},legal_person={legal_person},CUTSTYPE={CUTSTYPE},CUTSREMARK={CUTSREMARK},RUSTYPE={RUSTYPE},DEALTIME={DEALTIME} where id =" + iscunzai.get("id"); + DbHelper.getDbService().update(sqlString, feedParams); + String taskcenter = "insert into rush_task_center (id,task_id,detail_id,task_user_id,user_id,user_name,customer_id,end_date,revenueid,cust_tax_code,customer_name,task_creator_name,org_name,org_id )" + + "values('{id}','220886594009875812','220886594009875815','220886594009875817','472775138282575026','分公司处理数据','{customer_id}','{end_date}','{revenueid}','{cust_tax_code}','{cust_name}','{creator_name}','{org_name}','{org_id}') "; + DbHelper.getDbService().update(taskcenter, feedParams); + } + + } + } + + } + + + + String id = null; //substation_id,org_name,cust_tax_code //,'substation_id','org_name','cust_tax_code' //新增之前先判断有没有,如果有更新反馈结果和remark和联系人,之后增加日志记录 @@ -1049,12 +1195,37 @@ public class AccountAction { @Request.Post("biao") - public void biao(Params params){ - - DbHelper.getDbService().updateById("rushfee_task.updatebiaoji",params); - - } - + public void biao(Params params){ + + DbHelper.getDbService().updateById("rushfee_task.updatebiaoji",params); + + } + + + @Request.Post("updatecontact") + public String updatecontact(Params params){ + String creator_id = SessionHelper.getCurrentUserId(); + Map admin= DbHelper.getDbService().queryMap("select rush_userid from rush_crmcomp_to_user_relation where rush_userid=? group by rush_userid ", creator_id); + if(admin==null){ + return "暂无权限!"; + } + + String userName=SessionHelper.getCurrentUserName(); + String state=params.getString("state"); + String name=params.getString("name"); + String customer_id=params.getString("customer_id"); + String updateontact=params.getString("updateontact"); + String deletecontact=params.getString("deletecontact"); + String sql="insert into rush_contact(ID,CUSTOMER_ID,ADDR_ID,CONTACT,MOBILE,SOURCE,FLAG,IS_DEFAULT,OPERATOR_NAME) values (?,?,?,?,?,?,?,?,?) "; + if("0".equals(state)){ + DbHelper.getDbService().update(sql,Guid.g(),customer_id,1,name,deletecontact,"rush","delete",1,userName); + } + if("1".equals(state)){ + DbHelper.getDbService().update(sql,Guid.g(),customer_id,1,name,deletecontact,"rush","delete",1,userName); + DbHelper.getDbService().update(sql,Guid.g(),customer_id,1,name,updateontact,"rush","add",1,userName); + } + return "修啊成功!"; + } /*这个方法用来插入日志的 */ diff --git a/src/rush/ManualTaskAction.java b/src/rush/ManualTaskAction.java new file mode 100644 index 0000000..321195f --- /dev/null +++ b/src/rush/ManualTaskAction.java @@ -0,0 +1,1126 @@ +package rush; + + +import com.aisino.aosplus.core.dao.DbHelper; +import com.aisino.aosplus.core.dao.DbService; +import com.aisino.aosplus.core.mvc.annotation.Action; +import com.aisino.aosplus.core.mvc.annotation.Request; +import com.aisino.aosplus.core.mvc.bean.Params; +import com.aisino.aosplus.core.util.Guid; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.text.SimpleDateFormat; +import java.util.*; + +@Action("rush/manualtask") +public class ManualTaskAction { + static final Logger logger = LoggerFactory.getLogger(ManualTaskAction.class); + + + @Request.Post("zbtask") + public int getList(Params params){ + /* 插入之前进行清空这个待分配的表中具体的任务*/ + DbHelper.getDbService().beginTransaction(); + DbHelper.getDbService().update("delete from rush_to_assinged_cus where RULE_ID =?",params.getString("id")); + DbHelper.getDbService().commit(); + + /* 准备数据 */ + List taskrule= DbHelper.getDbService().queryMapList(" select id,rule_level, " + +" org_id, " + +" visit_account_id, " + +" last_time_days_id, " + +" expire_memo_id, " + +" feedback_conditon_name, " + +" user_id ,cust_type , injf,ifmz ,bl " + +" from rush_task_rule " + +" where id=?",params.getString("id")); + if (taskrule!=null){ + for (int i=0;i taskNum= DbHelper.getDbService().queryMapList("SELECT a.cname, " + +" c.cname bname, " + +" a.CGUID user_id, " + +" nvl(c.num, 0) num, " + +" (select text from RUSH_DICTIONARY where codetype = 'user_task_num_sd') - " + +" nvl(c.num, 0) as tasknum, " + +" to_char(sysdate, 'yyyy-mm-dd') creatdate " + +" FROM aos_rms_user a " + +" LEFT JOIN AOS_RMS_USER_ORGN_REL b " + +" ON a.CGUID = b.CUSERID " + +" LEFT JOIN AOS_ORGN c " + +" ON c.CGUID = b.CORGNID " + +" left join (select user_id, count(1) num " + +" from rush_task_center " + +" group by user_id) c " + +" on a.cguid = c.user_id " + +" WHERE a.ISTATUS = '1' " + +" AND a.CUSERTYPE IN (SELECT cguid " + +" FROM RUSH_AUTH d " + +" LEFT JOIN AOS_RMS_USERTYPE_CFG e " + +" ON d.NAME = e.CNAME " + +" WHERE d.TYPE = 'rush_sharer_type')"); + // 将结果插入到人员任务数量表 + for(int i=0;i sl=DbHelper.getDbService().queryMapList(sql,id); + if(sl!=null) { + for (int i = 0; i < sl.size(); i++) { + float delbili= (float)(100-bl)/100; + int delnum= (int) (Integer.parseInt(sl.get(i).get("num").toString())*delbili); + DbHelper.getDbService().beginTransaction(); + System.out.println("删除比例"+delbili+"---------删除数量"+delnum+"------公司id"+sl.get(i).get("org_id")); + DbHelper.getDbService().update(delsql, id, sl.get(i).get("org_id"), delnum); + DbHelper.getDbService().commit(); + } + } + + } + // 开始分任务 + public void taskfp(String id){ + List taskrule=queryrule(id); + for(int i=0;i user= taskusernum(ruleParams); + ruleParams.put("user", user); + + /* 查询规则可分数据量*/ + int rulesum= rulecount(ruleParams); + /* 指定的人一共需要分的数据量*/ + int usersum= usertask(ruleParams); + /*比较这两个数量 够分我就直接分 不够分按照数据量平均分 */ + if(rulesum>0){ + if(rulesum>=usersum){ + inserttask(ruleParams); + } + else{ + inserttask2(ruleParams); + } + } + else{ + /* 到这里就是任务条数未0 没法分了*/ + System.out.print(taskrule.get(i).get("rule_level")+"没有数据可以分配 "); + } + } + /*这里面大的情况是没有指定到人的 还是要区分够不够分 够分一种 不够分 一种 */ + else{ + Params ruleParams = new Params(); + ruleParams.put("rule", taskrule.get(i)); + List user= taskusernum(ruleParams); + ruleParams.put("user", user); + int rulesum= rulecount(ruleParams); + Map map=usertasknum(); + int usernum=Integer.parseInt(map.get("sumnum").toString()); + if(rulesum>0){ + if(rulesum>=usernum){ + inserttask(ruleParams); + } + else{ + inserttask2(ruleParams); + } + } + else{ + /* 到这里就是任务条数未0 没法分了*/ + System.out.println(taskrule.get(i).get("rule_level")+"没有数据可以分该规则"); + } + } + } + + + } + + /* 根据传入的用户id 查询出来这个人该分多少的数量*/ + + public int usertask(Params params){ + SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd"); + Date create_Date = new Date(); + String Date=sdf.format(create_Date); + int num =0; + Map map = (Map) params.get("rule"); + Object user_id=map.get("user_id"); + String[] strArray = null; + strArray = ((String) user_id).split(","); + for(int i=0;i 0 and t.cguid='"+userid+"'";*/ + + String querysql="select user_id,user_name,hold_num,divided_num from rush_user_tasknum where createdate='"+Date+"' and user_id='"+userid+"'"; + /*把需要分任务的人数和需要分配的数量都给返回一下 省的后边还需要继续计算*/ + int taskcount=DbHelper.getDbService().queryCount("select divided_num from ("+querysql+")"); + num+=taskcount; + } + return num; + } + + /*这个方法用来计算每个人应分的数量 限于不选则催缴人员的情况下 + * 这里查的每个外呼人待分配的数量大于0 小于指定的任务数量的数据 + * */ + public Map usertasknum(){ + SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd"); + Date create_Date = new Date(); + String Date=sdf.format(create_Date); + /* String querysql=" SELECT a.cname, a.CGUID, nvl(c.num, 0) num, (select text " ++" from RUSH_DICTIONARY where codetype = 'user_task_num') - nvl(c.num, 0) as tasknum, " ++" to_char(sysdate, 'yyyy-mm-dd') creatdate FROM aos_rms_user a LEFT JOIN AOS_RMS_USER_ORGN_REL b " ++" ON a.CGUID = b.CUSERID left join (select user_id, count(1) num from rush_task_center group by user_id) c " ++" on a.cguid = c.user_id WHERE a.ISTATUS = '1' AND a.CUSERTYPE IN (SELECT cguid " ++" FROM RUSH_AUTH d LEFT JOIN AOS_RMS_USERTYPE_CFG e ON d.NAME = e.CNAME " ++" WHERE d.TYPE = 'rush_sharer_type')) t where t.tasknum <= (select text from RUSH_DICTIONARY where codetype = 'user_task_num') and t.tasknum > 0";*/ + + String querysql="select user_id,user_name,hold_num,divided_num from rush_user_tasknum where createdate='"+Date+"'"; + List usertasknum=DbHelper.getDbService().queryMapList(querysql); + /*把需要分任务的人数和需要分配的数量都给返回一下 省的后边还需要继续计算*/ + Map taskcount=DbHelper.getDbService().queryMap("select sum(divided_num) sumnum from ("+querysql+")"); + taskcount.put("usernum", usertasknum); + return taskcount; + } + + public List queryrule(String id){ + List taskrule= DbHelper.getDbService().queryMapList(" select id,rule_level, " + +" org_id, " + +" visit_account_id, " + +" last_time_days_id, " + +" expire_memo_id, " + + " expire_memo, " + +" feedback_conditon_name, " + +" user_id ,injf,ifmz " + +" from rush_task_rule " + +" where id=? ",id); + return taskrule; + } + + + public int rulecount(Params params){ + Map map = (Map) params.get("rule"); + Object rule_id=map.get("id"); + int rulenum= DbHelper.getDbService().queryCount("select count(1) from rush_to_assinged_cus where rule_id="+rule_id); + return rulenum; + } + /** + * @author zxf 指定人和未指定人需要分的明细 + * 2018年11月27日 + */ + public List taskusernum(Params params){ + SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd"); + Date create_Date = new Date(); + String Date=sdf.format(create_Date); + int num =0; + Map map = (Map) params.get("rule"); + Object user_id=map.get("user_id"); + String addsql =""; + if (user_id!=null){ + addsql="and user_id in ("+user_id+")"; + } + String querysql="select id, user_id,user_name,hold_num,divided_num from rush_user_tasknum where divided_num>0 and createdate='"+Date+"'"+addsql ; + List maps=DbHelper.getDbService().queryMapList(querysql); + return maps; + + } + /*以下方法为分数据的计算方法 传入集合参数 + * 参数 1 规则id + * 2 需要分的人员以及个数的集合 + * 返回 + * */ + public void inserttask(Params params){ + Map rule=(Map) params.get("rule"); + Object expire_memo_id=rule.get("expire_memo_id"); + Object expire_memo=rule.get("expire_memo"); + Object ruleid=rule.get("id"); + Object visit_account_id=rule.get("visit_account_id");//回访次数 + Object last_time_days_id=rule.get("last_time_days_id");//距离上次催缴 天数 + Object feedback_conditon_name=rule.get("feedback_conditon_name");//反馈类型描述 + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date create_Date = new Date(); + String create_date = sdf.format(create_Date); // 创建时间 + String creator_name="AOS+定时任务";//创建人姓名也可以是规则名称 + Object creator=ruleid; //创建人id 也可以是规则id + String task_name = "(系统分配) 回访次数("+visit_account_id+") 距离上次催缴 ("+last_time_days_id+") 到期情况("+expire_memo+")"; // 任务名称 + String task_remark = ""; // 任务描述 + String expect_begin_date = create_date;// 预计开始时间 + String expect_end_date = create_date;// 预计结束时间 + List user= (List) params.get("user"); + /* 1 先创建任务列表*/ + + /*循环遍历需要的分的人以及需要分的条数*/ + for (int i = 0; i list = new ArrayList(); + list.add(dataItem); + resultMap.put((String) dataItem.get("org_name"),list); + } + } + Params param_task = new Params(); + Object id=Guid.g(); // 任务id + param_task.put("id", id); + param_task.put("task_name", username+task_name); + param_task.put("task_remark", task_remark); + param_task.put("creator", creator); + param_task.put("create_date", create_date); + param_task.put("task_remark", task_remark); + param_task.put("creator", creator); + param_task.put("create_date", create_date); + param_task.put("expect_begin_date", expect_begin_date); + param_task.put("expect_end_date", expect_end_date); + param_task.put("creator_name", creator_name); + DbHelper.getDbService().updateById("rushfee_task.saveTask", param_task); + /*把随机抽取出来的要分配的条数我已经按分公司进行了分组 因为一个任务下按不同的分公司进行分任务的 已经放在了resultMap*/ + /* 2 在创建任务明细 这里应该遍历拿出来的数据*/ + Set org=resultMap.keySet(); + for (String str : org) { + Object orgObject=resultMap.get(str).get(0).get("org_id"); + Params param_detail = new Params(); + Object detailId=Guid.g(); + param_detail.put("id", detailId); + param_detail.put("org_id", orgObject); + param_detail.put("org_name",str); + param_detail.put("end_date", expire_memo_id); + param_detail.put("lately_rush_day", last_time_days_id); + param_detail.put("total_num", resultMap.get(str).size()); + param_detail.put("task_id", id); + param_detail.put("revenueid", ""); + param_detail.put("count", visit_account_id); + param_detail.put("feedback", feedback_conditon_name); + DbHelper.getDbService().updateById("rushfee_task.saveDetail", + param_detail); + /*3 接下来保存任务明细所对应的人员*/ + Object taskuserid=Guid.g(); + Params param_user = new Params(); + param_user.put("id",taskuserid ); + param_user.put("task_id", id); + param_user.put("detail_id", detailId); + param_user.put("user_id", user.get(i).get("user_id")); + param_user.put("user_name", user.get(i).get("user_name")); + param_user.put("fact_num",resultMap.get(str).size() ); + param_user.put("task_num", user.get(i).get("divided_num")); + + DbHelper.getDbService().updateById("rushfee_task.saveTaskUser",param_user);// 新增任务拥有者 + /*4 放入任务中心*/ + List list = resultMap.get(str); + int Num = 0; + int realNum = 0; + for (int z = 0; z user= (List) params.get("user"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date create_Date = new Date(); + String create_date = sdf.format(create_Date); // 创建时间 + String creator_name="系统自动分配任务";//创建人姓名也可以是规则名称 + Object creator=ruleid;//创建人id 也可以是规则id + String task_name = "(系统分配) 回访次数("+visit_account_id+") 距离上次催缴 ("+last_time_days_id+") 到期情况("+expire_memo+")"; // 任务名称 + String task_remark = "";// 任务描述 + String expect_begin_date = create_date;// 预计开始时间 + String expect_end_date = create_date;// 预计结束时间 + + /*算一下平均数 */ + int num = rulecount(params); + int usercount=user.size(); + int numavg=(int) Math.floor(num/usercount); + for(int i=0;i list = new ArrayList(); + list.add(dataItem); + resultMap.put((String) dataItem.get("org_name"),list); + } + } + /*把随机抽取出来的要分配的条数我已经按分公司进行了分组 因为一个任务下按不同的分公司进行分任务的 已经放在了resultMap*/ + /* 1 先创建任务列表*/ + Params param_task = new Params(); + Object id=Guid.g(); // 任务id + param_task.put("id", id); + param_task.put("task_name", username+task_name); + param_task.put("task_remark", task_remark); + param_task.put("creator", creator); + param_task.put("create_date", create_date); + param_task.put("task_remark", task_remark); + param_task.put("creator", creator); + param_task.put("create_date", create_date); + param_task.put("expect_begin_date", expect_begin_date); + param_task.put("expect_end_date", expect_end_date); + param_task.put("creator_name", creator_name); + DbHelper.getDbService().updateById("rushfee_task.saveTask", param_task); + /* 2 在创建任务明细 这里应该遍历拿出来的数据*/ + Set org=resultMap.keySet(); + for (String str : org) { + Object orgObject=resultMap.get(str).get(0).get("org_id"); + Params param_detail = new Params(); + Object detailId=Guid.g(); + param_detail.put("id", detailId); + param_detail.put("org_id", orgObject); + param_detail.put("org_name",str); + param_detail.put("end_date", expire_memo_id); + param_detail.put("lately_rush_day", last_time_days_id); + param_detail.put("total_num", resultMap.get(str).size()); + param_detail.put("task_id", id); + param_detail.put("revenueid", ""); + param_detail.put("count", visit_account_id); + param_detail.put("feedback", feedback_conditon_name); + DbHelper.getDbService().updateById("rushfee_task.saveDetail", + param_detail); + /*3 接下来保存任务明细所对应的人员*/ + Object taskuserid=Guid.g(); + Params param_user = new Params(); + param_user.put("id",taskuserid ); + param_user.put("task_id", id); + param_user.put("detail_id", detailId); + param_user.put("user_id", user.get(i).get("user_id")); + param_user.put("user_name", user.get(i).get("user_name")); + param_user.put("task_num", user.get(i).get("divided_num")); + DbHelper.getDbService().updateById("rushfee_task.saveTaskUser",param_user);// 新增任务拥有者 + /*4 放入任务中心*/ + List list = resultMap.get(str); + int Num = 0; + int realNum = 0; + for (int z = 0; z list = new ArrayList(); + list.add(dataItem); + resultMap.put((String) dataItem.get("org_name"),list); + } + } + /*把随机抽取出来的要分配的条数我已经按分公司进行了分组 因为一个任务下按不同的分公司进行分任务的 已经放在了resultMap*/ + /* 1 先创建任务列表*/ + Params param_task = new Params(); + Object id=Guid.g(); // 任务id + param_task.put("id", id); + param_task.put("task_name",username+task_name); + param_task.put("task_remark", username+task_remark); + param_task.put("creator", creator); + param_task.put("create_date", create_date); + param_task.put("task_remark", task_remark); + param_task.put("creator", creator); + param_task.put("create_date", create_date); + param_task.put("expect_begin_date", expect_begin_date); + param_task.put("expect_end_date", expect_end_date); + param_task.put("creator_name", creator_name); + DbHelper.getDbService().updateById("rushfee_task.saveTask", param_task); + /* 2 在创建任务明细 这里应该遍历拿出来的数据*/ + Set org=resultMap.keySet(); + for (String str : org) { + Object orgObject=resultMap.get(str).get(0).get("org_id"); + Params param_detail = new Params(); + Object detailId=Guid.g(); + param_detail.put("id", detailId); + param_detail.put("org_id", orgObject); + param_detail.put("org_name",str); + param_detail.put("end_date", expire_memo_id); + param_detail.put("lately_rush_day", last_time_days_id); + param_detail.put("total_num", resultMap.get(str).size()); + param_detail.put("task_id", id); + param_detail.put("revenueid", ""); + param_detail.put("count", visit_account_id); + param_detail.put("feedback", feedback_conditon_name); + DbHelper.getDbService().updateById("rushfee_task.saveDetail", + param_detail); + /*3 接下来保存任务明细所对应的人员*/ + Object taskuserid=Guid.g(); + Params param_user = new Params(); + param_user.put("id",taskuserid ); + param_user.put("task_id", id); + param_user.put("detail_id", detailId); + param_user.put("user_id", user.get(i).get("user_id")); + param_user.put("user_name", user.get(i).get("user_name")); + param_user.put("task_num", user.get(i).get("divided_num")); + DbHelper.getDbService().updateById("rushfee_task.saveTaskUser",param_user);// 新增任务拥有者 + /*4 放入任务中心*/ + List list = resultMap.get(str); + int Num = 0; + int realNum = 0; + for (int z = 0; z user1= taskusernum(ruleParams); + + List userxuyaoList=taskusernum(ruleParams); + circle: + for (int i = 0; i list = new ArrayList(); + list.add(dataItem); + resultMap.put((String) dataItem.get("org_name"),list); + } + } + /*把随机抽取出来的要分配的条数我已经按分公司进行了分组 因为一个任务下按不同的分公司进行分任务的 已经放在了resultMap*/ + /* 1 先创建任务列表*/ + Params param_task = new Params(); + Object id=Guid.g(); // 任务id + param_task.put("id", id); + param_task.put("task_name", username+"以分平均数(随机分配剩余)"+task_name); + param_task.put("task_remark", task_remark); + param_task.put("creator", creator); + param_task.put("create_date", create_date); + param_task.put("task_remark", task_remark); + param_task.put("creator", creator); + param_task.put("create_date", create_date); + param_task.put("expect_begin_date", expect_begin_date); + param_task.put("expect_end_date", expect_end_date); + param_task.put("creator_name", creator_name); + DbHelper.getDbService().updateById("rushfee_task.saveTask", param_task); + /* 2 在创建任务明细 这里应该遍历拿出来的数据*/ + Set org=resultMap.keySet(); + for (String str : org) { + Object orgObject=resultMap.get(str).get(0).get("org_id"); + Params param_detail = new Params(); + Object detailId=Guid.g(); + param_detail.put("id", detailId); + param_detail.put("org_id", orgObject); + param_detail.put("org_name",str); + param_detail.put("end_date", expire_memo_id); + param_detail.put("lately_rush_day", last_time_days_id); + param_detail.put("total_num", resultMap.get(str).size()); + param_detail.put("task_id", id); + param_detail.put("revenueid", ""); + param_detail.put("count", visit_account_id); + param_detail.put("feedback", feedback_conditon_name); + DbHelper.getDbService().updateById("rushfee_task.saveDetail", + param_detail); + /*3 接下来保存任务明细所对应的人员*/ + Object taskuserid=Guid.g(); + Params param_user = new Params(); + param_user.put("id",taskuserid ); + param_user.put("task_id", id); + param_user.put("detail_id", detailId); + param_user.put("user_id", user.get(i).get("user_id")); + param_user.put("user_name", user.get(i).get("user_name")); + param_user.put("task_num", user.get(i).get("divided_num")); + DbHelper.getDbService().updateById("rushfee_task.saveTaskUser",param_user);// 新增任务拥有者 + /*4 放入任务中心*/ + List list = resultMap.get(str); + int Num = 0; + int realNum = 0; + for (int z = 0; z center_cus_id = DbHelper + .getDbService().queryMapList( + sql_center, params_center); + List center_list = mapTransitionList(center_cus_id); + List maps = DbHelper.getDbService() + .queryMapList(querySql, params);// 符合条件 + List return_map = new ArrayList(); + Object totalNum = null; + Boolean is_center = false; + if (center_list != null + && center_list.size() > 0) { + is_center = true; + for (Map map : maps) { + Boolean flag1 = false; + Set> entrySet = map.entrySet(); + Iterator> it2 = entrySet + .iterator(); + while (it2.hasNext()) { + Map.Entry me = it2 + .next();// 获取Map.Entry关系对象me + String key2 = me.getKey();// 通过关系对象获取key + Object value2 = me.getValue();// 通过关系对象获取value + if (key2.equals("customerid")) { + for (Object o : center_list) { + if (value2.equals(o)) { + flag1 = true; + break; + } else { + continue; + } + } + break; + } + } + if (!flag1) { + return_map.add(map); + } + } + } + int num = 0; + int realNum = 0; + List list = return_map; + + + for (int i = 0; i < list.size(); i++) { + Map obj = list.get(i); + String sql = "insert into rush_to_assinged_cus (rule_id,customer_id,org_id,org_name,end_date,revenueid,customer_name, cust_tax_code, createdate ,injf,ifmz)" + +" values(?,?,?,?,?,?,?,?,?,?,?)"; + + num = DbHelper.getDbService().update(sql, + new Object[] { id, + obj.get("CUSTOMERID"), + obj.get("org_id"), + obj.get("org_name"), + obj.get("END_DATECHR"), + obj.get("REVENUEID"), + obj.get("cust_name"), + obj.get("CUST_TAX_CODE"), + Date, + obj.get("injf"), + obj.get("ifmz") + }); + + realNum = realNum + num; + } + System.out.print(orgsqlString+feedbacksqlString+riqiString+countString+rushdayString); + return 0; + } + /*转换方法*/ + public static List mapTransitionList(List maps) { + List list = new ArrayList(); + for (int i = 0; i < maps.size(); i++) { + Map map = maps.get(i); + Iterator iter = map.entrySet().iterator(); // 获得map的Iterator + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + list.add(entry.getValue()); + } + } + return list; + } + + /** + * 删除三个月内已缴费客户 + */ + public void deleteYjfCust(){ + + String sql ="delete from rush_to_assinged_cus \n" + + "where exists(\n" + + "select 1 from einvoice_fpkjxx_fptxx\n" + + "where addtime between add_months(sysdate,-3) and sysdate+1\n" + + "and GHF_CUSTID=customer_id)"; + + DbHelper.getDbService().beginTransaction(); + DbHelper.getDbService().update(sql); + DbHelper.getDbService().commit(); + + } + + + // 获取数据源 + DbService db = DbHelper.getDbService(); + + // authcount查询时的方法 + @SuppressWarnings({ "rawtypes" }) + @Request.Post("searchcount") + public Map searchcount(Params params) { + String sql = "select text from rush_dictionary where codetype = 'user_task_num_sd'"; + Map map = db.queryMap(sql, params); + return map; + } + // authcount保存时的方法 + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Request.Post("updatecount") + public Map updatecount(Params params) { + Map map = new HashMap(); + String sql = "update rush_dictionary set text = ? where codetype = 'user_task_num_sd'"; + logger.debug("获取的查询语句:"+sql); + int num = db.update(sql, new Object[]{ + params.getString("count") + }); + if(num==1){ + map.put("code", "0000"); + map.put("message", "添加成功"); + }else{ + map.put("code", "0001"); + map.put("message", "添加失败"); + } + + return map; + } + + +} diff --git a/src/rush/OperExlDataAction.java b/src/rush/OperExlDataAction.java index ac256fc..2d0cd9c 100644 --- a/src/rush/OperExlDataAction.java +++ b/src/rush/OperExlDataAction.java @@ -31,7 +31,8 @@ public class OperExlDataAction { @SuppressWarnings("rawtypes") @Request.Get("exportExl") public void exportExl(Params params) throws UnsupportedEncodingException { - + Object zqlstime=params.get("zqlstime"); + Object zqletime=params.get("zqletime"); Object cust_type=params.get("cust_type"); Object cust_tax_code=params.get("cust_tax_code"); Object searchbegindate=params.get("searchbegindate"); @@ -40,9 +41,14 @@ public class OperExlDataAction { Object dealenddate=params.get("dealenddate"); Object org_id=params.get("company"); String cust_name=params.getString("cust_name"); + String zqltime=""; if(cust_name!=null){ cust_name=URLDecoder.decode(params.getString("cust_name"), "utf-8"); } + if(zqlstime!=null&&zqletime!=null){ + zqltime=" and to_char(a.create_time, 'yyyy-mm-dd')>='"+zqlstime+"'" + +" and to_char(a.create_time, 'yyyy-mm-dd')<='"+zqletime+"' and a.fistback in ('联系方式为空','联系方式异常','客户不在本单位') and a.ISCANCEL=0 and a.TJZQL=0 "; + } Object expstate=params.get("expstate"); Object revenue=params.get("revenue"); String ischuli=params.getString("ischuli"); @@ -95,7 +101,8 @@ public class OperExlDataAction { +" a.cust_tax_code, a.feedback, a.contacts_info, a.end_date,a.state, " +" to_char(to_date(a.create_date, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd') create_date, a.dealtime, a.org_name, a.revenuename, to_char(b.end_date,'yyyy-mm-dd') zuixin ," +" case when state = 0 then '待处理' when state = 1 then '已处理' else '处理中' end as ischuli," - +" case when a.cust_type = 0 then '异常客户' else '十次以上' end as custtype, " + +" case when a.cust_type = 0 then '异常客户' else '十次以上' end as custtype, a.zxhfremark,to_char(a.create_time, 'yyyy-mm-dd hh24:mi:ss') createtime," + + " a.zxhftime, " +"NVL2(a.remark,a.remark, (select distinct FIRST_VALUE(r.remark) OVER (ORDER BY r.create_date DESC ROWS BETWEEN unbounded preceding AND unbounded following)" +" from rush_record r " @@ -135,10 +142,16 @@ public class OperExlDataAction { if(dealbegindate!=null){ dealdateString=" and a.dealtime>='"+dealbegindate+"'" +" and a.dealtime<='"+dealenddate+"'"; - } - if(cust_type!=null){ - custtype=" and a.cust_type='"+cust_type+"'"; - } + } + if (null!= cust_type) { + String[] str = cust_type.toString().split(","); + for (int i = 0; i < str.length; i++) { + custtype += "'" + str[i] + "',"; + } + custtype = " and a.cust_type in (" + + custtype.substring(0, + custtype.length() - 1) + " )"; + } if(cust_tax_code!=null){ custtaxcode=" and a.cust_tax_code='"+cust_tax_code+"'"; } @@ -167,24 +180,28 @@ public class OperExlDataAction { + resulttypesql.substring(0, resulttypesql.length() - 1) + " )"; } - String sql = sqlString+queryString+company+ischuliString+expstateString+revenueString+custname+dateString+dealdateString+custtype+custtaxcode+feedbackString+resulttypesql+dealtypesql+istaxsql; + String sql = sqlString+queryString+company+zqltime+ischuliString+expstateString+revenueString+custname+dateString+dealdateString+custtype+custtaxcode+feedbackString+resulttypesql+dealtypesql+istaxsql; - sql =sql+" " + - " union all "; - String hfsqlString="select a.id,a.customer_id,a.cust_name,'' as isvalid, a.cust_type,a.cutsremark,a.rustype,decode(a.ISCANCEL,0,'未注销',1,'已注销','未注销') iscancel, " + + String hfsqlString=" union all select a.id,a.customer_id,a.cust_name,'' as isvalid, a.cust_type,a.cutsremark,a.rustype,decode(a.ISCANCEL,0,'未注销',1,'已注销','未注销') iscancel, " +" case when cutstype=0 then '系统处理' when cutstype=1 then '分公司处理' end as cutstype, " +" case when istaxation=1 then '免征' when istaxation=0 then '否' end as istaxation, " +" a.cust_tax_code, a.feedback, a.contacts_info, a.end_date,a.state, " +" to_char(to_date(a.create_date, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd') create_date, a.dealtime, a.org_name, a.revenuename, '' as zuixin ," +" case when state = 0 then '待处理' when state = 1 then '已处理' else '处理中' end as ischuli," - +" case when cust_type = 0 then '异常客户' when cust_type = 0 then '十次以上' else '销售回访异常' end as custtype, " + +" case when cust_type = 0 then '异常客户' when cust_type = 0 then '十次以上' else '销售回访异常' end as custtype, '无' AS zxhfremark, '无' AS createtime," + + " '无' AS zxhftime, " +" hf_remark as remark, 1 as rn" +" from hf_excustomer_info a where 1=1 "; hfsqlString=hfsqlString+queryString+company+ischuliString+expstateString+revenueString+custname+dateString+dealdateString+custtype+custtaxcode+feedbackString+resulttypesql+dealtypesql+istaxsql; + if(zqlstime!=null&&zqletime!=null){ + + }else{ + sql=sql+hfsqlString; + } - sql=sql+hfsqlString; sql = "select * from ("+sql+") order by id"; @@ -200,11 +217,11 @@ public class OperExlDataAction { fileName, sheetName); // Map Key属性 - String titleColumn1[] = { "custtype", "cust_name", "cust_tax_code", "feedback","remark","org_name","contacts_info","end_date","zuixin","create_date","revenuename","ischuli","dealtime","cutsremark","cutstype","rustype","iscancel"}; + String titleColumn1[] = { "custtype", "cust_name", "cust_tax_code", "feedback","remark","org_name","contacts_info","end_date","zuixin","create_date","revenuename","ischuli","dealtime","cutsremark","cutstype","rustype","iscancel","istaxation","zxhfremark","createtime","zxhftime"}; // Excel列名 - String titleName1[] = { "客户类型", "客户名称", "税号", "最后一次反馈结果","备注","分公司","联系方式","到期日期","最新到期日期","创建日期","所属分局","状态","处理日期","信息修改","处理方式","处理结果","是否注销"}; + String titleName1[] = { "客户类型", "客户名称", "税号", "最后一次反馈结果","备注","分公司","联系方式","到期日期","最新到期日期","创建日期","所属分局","状态","处理日期","信息修改","处理方式","处理结果","是否注销","是否免征","最新回访结果","初始创建时间","最新回访时间"}; // Excel 列宽 - int titleSize[] = { 20, 30, 30, 20,20,20,20,20,20,20,20,20,20,20,20,20,20 }; + int titleSize[] = { 20, 30, 30, 20,20,20,20,20,20,20,20,20,20,20,20,20,20 ,20,20,20,20}; // 内容书写,返回输出流 pee.wirteListMapExcel(titleColumn1, titleName1, titleSize, list); diff --git a/src/rush/PaiGongAction.java b/src/rush/PaiGongAction.java index cf07d0a..7b4ab6a 100644 --- a/src/rush/PaiGongAction.java +++ b/src/rush/PaiGongAction.java @@ -88,7 +88,7 @@ public class PaiGongAction { @Request.Post("getpaylist") public Map getList(Params params){ Object ghf_custid=params.get("customer_id"); - return DbHelper.getDbService().queryPageMapList("select kpxm,to_char(addtime,'yyyy-mm-dd HH24:MI:SS') addtime,kphjje from einvoice_fpkjxx_fptxx where kplx = 0 and invoicetype='2' and ghf_custid='"+ghf_custid+"'" + return DbHelper.getDbService().queryPageMapList("select kpxm,to_char(addtime,'yyyy-mm-dd HH24:MI:SS') addtime,kphjje from einvoice_fpkjxx_fptxx where ghf_custid='"+ghf_custid+"'" +" order by addtime desc",params); } diff --git a/src/rush/RushAction.java b/src/rush/RushAction.java index f206957..a169997 100644 --- a/src/rush/RushAction.java +++ b/src/rush/RushAction.java @@ -221,7 +221,7 @@ public class RushAction { for (int i = 0; i < riqi.length; i++) { riqiString += "(t.end_date>=RUSH_GET_WhatYouWantDay(0," + riqi[i] - + " ) and t.end_date contacts = params.getListMap("grid"); List contacts_add = params.getListMap("added"); List contacts_modified = params.getListMap("modified"); @@ -470,7 +470,7 @@ public class RushTaskCenterAction { continue; }else{ add_before = ""; - add_before=contact+"("+mobile+");"; + add_before=contact+"("+mobile+");"; add_info +=add_before; //直接新增 DbHelper.getDbService().updateById("rushfee_customer.addContact", params_contact); @@ -547,7 +547,7 @@ public class RushTaskCenterAction { } } modify_before = ""; - modify_before=contact+"("+mobile+");"+"("+mobile_mark+");"; + modify_before=contact+"("+mobile+");"+"("+mobile_mark+");"; modify_info +=modify_before; } } @@ -604,12 +604,12 @@ public class RushTaskCenterAction { } } delete_before = ""; - delete_before=contact+"("+mobile+");"+"("+mobile_mark+");"; + delete_before=contact+"("+mobile+");"+"("+mobile_mark+");"; delete_info +=delete_before; - } + } } - - + + String contacts_info = ""; if(CollectionUtil.isNotEmpty(contacts)){ String before = ""; @@ -620,13 +620,13 @@ public class RushTaskCenterAction { String contact = CastUtil.castString(map.get("contact")); String mobile = CastUtil.castString(map.get("mobile")); String mobile_mark = CastUtil.castString(map.get("mobile_mark")); - before=contact+"("+mobile+");"+"("+mobile_mark+");"; + before=contact+"("+mobile+");"+"("+mobile_mark+");"; contacts_info += before; } } } } - + /*重新再补一遍注释 忘了逻辑*/ /* 查询保存的反馈类型是不是需要到分公司异常的反馈类型*/ Map feedbacktype = DbHelper.getDbService().queryMap("select id from RUSH_EXFEEDBACK where type='exfeedback' and name=?",feedback_type); @@ -674,21 +674,48 @@ public class RushTaskCenterAction { tenParams.put("CUTSREMARK", ""); tenParams.put("RUSTYPE", ""); tenParams.put("DEALTIME", ""); - if (iscunzai == null) { - /*这种情况是第一次进去*/ - insertlog(tenParams); - String sqlString = "insert into excustomer_info (id,customer_id,cust_name,feedback,revenueid,org_id,cust_type,end_date,create_date,org_name,cust_tax_code,contacts_info,state,revenuename,invoice_addr,legal_person,fistback)" - + " values ('{id}','{customer_id}','{cust_name}','{feedback}','{revenueid}','{org_id}','{cust_type}','{end_date}','{create_date}','{org_name}','{cust_tax_code}','{contacts_info}','{state}','{revenuename}','{invoice_addr}','{legal_person}','{feedback}') "; - DbHelper.getDbService().update(sqlString, tenParams); + if (feedbacktype != null && feedbacktype.size() > 0) { + if (iscunzai == null) { + /*这种情况是第一次进去*/ + insertlog(tenParams); + String sqlString = "insert into excustomer_info (id,customer_id,cust_name,feedback,revenueid,org_id,cust_type,end_date,create_date,org_name,cust_tax_code,contacts_info,state,revenuename,invoice_addr,legal_person,fistback)" + + " values ('{id}','{customer_id}','{cust_name}','{feedback}','{revenueid}','{org_id}','{cust_type}','{end_date}','{create_date}','{org_name}','{cust_tax_code}','{contacts_info}','{state}','{revenuename}','{invoice_addr}','{legal_person}','{feedback}') "; + DbHelper.getDbService().update(sqlString, tenParams); + String taskcenter = "insert into rush_task_center (id,task_id,detail_id,task_user_id,user_id,user_name,customer_id,end_date,revenueid,cust_tax_code,customer_name,task_creator_name,org_name,org_id )" + + "values('{id}','220886594009875812','220886594009875815','220886594009875817','472775138282575026','分公司处理数据','{customer_id}','{end_date}','{revenueid}','{cust_tax_code}','{cust_name}','{creator_name}','{org_name}','{org_id}') "; + DbHelper.getDbService().update(taskcenter, tenParams); - } else { - /* 说明已经存在了 这时候的obj_id 需要存已存在的id。*/ - tenParams.put("yid", iscunzai.get("id")); - insertlogyicunzai(tenParams); - String sqlString = "update excustomer_info set customer_id={customer_id},cust_name={cust_name},feedback={feedback},revenueid={revenueid},org_id={org_id},cust_type={cust_type},end_date={end_date},create_date={create_date},org_name={org_name}, " - + "cust_tax_code={cust_tax_code},contacts_info={contacts_info},state={state},revenuename={revenuename},invoice_addr={invoice_addr},legal_person={legal_person},CUTSTYPE={CUTSTYPE},CUTSREMARK={CUTSREMARK},RUSTYPE={RUSTYPE},DEALTIME={DEALTIME} where id =" + iscunzai.get("id"); - DbHelper.getDbService().update(sqlString, tenParams); + } else { + /* 说明已经存在了 这时候的obj_id 需要存已存在的id。*/ + tenParams.put("yid", iscunzai.get("id")); + insertlogyicunzai(tenParams); + String sqlString = "update excustomer_info set customer_id={customer_id},cust_name={cust_name},feedback={feedback},revenueid={revenueid},org_id={org_id},cust_type={cust_type},end_date={end_date},create_date={create_date},org_name={org_name}, " + + "cust_tax_code={cust_tax_code},contacts_info={contacts_info},state={state},revenuename={revenuename},invoice_addr={invoice_addr},legal_person={legal_person},CUTSTYPE={CUTSTYPE},CUTSREMARK={CUTSREMARK},RUSTYPE={RUSTYPE},DEALTIME={DEALTIME} where id =" + iscunzai.get("id"); + DbHelper.getDbService().update(sqlString, tenParams); + String taskcenter = "insert into rush_task_center (id,task_id,detail_id,task_user_id,user_id,user_name,customer_id,end_date,revenueid,cust_tax_code,customer_name,task_creator_name,org_name,org_id )" + + "values('{id}','220886594009875812','220886594009875815','220886594009875817','472775138282575026','分公司处理数据','{customer_id}','{end_date}','{revenueid}','{cust_tax_code}','{cust_name}','{creator_name}','{org_name}','{org_id}') "; + DbHelper.getDbService().update(taskcenter, tenParams); + } } + else{ + if (iscunzai == null) { + /*这种情况是第一次进去*/ + insertlog(tenParams); + String sqlString = "insert into excustomer_info (id,customer_id,cust_name,feedback,revenueid,org_id,cust_type,end_date,create_date,org_name,cust_tax_code,contacts_info,state,revenuename,invoice_addr,legal_person,fistback)" + + " values ('{id}','{customer_id}','{cust_name}','{feedback}','{revenueid}','{org_id}','{cust_type}','{end_date}','{create_date}','{org_name}','{cust_tax_code}','{contacts_info}','{state}','{revenuename}','{invoice_addr}','{legal_person}','{feedback}') "; + DbHelper.getDbService().update(sqlString, tenParams); + + + } else { + /* 说明已经存在了 这时候的obj_id 需要存已存在的id。*/ + tenParams.put("yid", iscunzai.get("id")); + insertlogyicunzai(tenParams); + String sqlString = "update excustomer_info set customer_id={customer_id},cust_name={cust_name},feedback={feedback},revenueid={revenueid},org_id={org_id},cust_type={cust_type},end_date={end_date},create_date={create_date},org_name={org_name}, " + + "cust_tax_code={cust_tax_code},contacts_info={contacts_info},state={state},revenuename={revenuename},invoice_addr={invoice_addr},legal_person={legal_person},CUTSTYPE={CUTSTYPE},CUTSREMARK={CUTSREMARK},RUSTYPE={RUSTYPE},DEALTIME={DEALTIME} where id =" + iscunzai.get("id"); + DbHelper.getDbService().update(sqlString, tenParams); + } + } + } else { if (feedbacktype != null && feedbacktype.size() > 0) { @@ -742,21 +769,21 @@ public class RushTaskCenterAction { } } - - - - - - - - - + + + + + + + + + String id = null; //substation_id,org_name,cust_tax_code //,'substation_id','org_name','cust_tax_code' //新增之前先判断有没有,如果有更新反馈结果和remark和联系人,之后增加日志记录 Map recordIds = DbHelper.getDbService().queryMap("select id from RUSH_RECORD where customer_id = ? and end_date = ?",customer_id,end_date); - + if(recordIds!=null && recordIds.size()>0){ Object ob = recordIds.get("id"); String record_id =ob.toString(); @@ -788,7 +815,7 @@ public class RushTaskCenterAction { } String remark_log ="反馈结果:"+feedback_type+";备注信息:"+remark; String obj_id = id; - + Params param_log = new Params(); param_log.put("id", log_id); param_log.put("operator", operator_name); @@ -832,10 +859,10 @@ public class RushTaskCenterAction { contact_change_log.put("operator_code", operator); DbHelper.getDbService().updateById("rushfee_record.saveLog", contact_change_log); } - + //处理呼叫日志 if(StringUtil.isNotEmpty(callLogs)){ - String [] stringArr= callLogs.split(","); + String [] stringArr= callLogs.split(","); List ids = new ArrayList<>(); if(stringArr!=null && stringArr.length>0) { for(int i=0;i taskrule= DbHelper.getDbService().queryMapList(" select id, bl" + /*List taskrule= DbHelper.getDbService().queryMapList(" select id, bl" +" from rush_task_rule " +" where to_char(sysdate,'yyyy-mm-dd') between startdate and enddate order by rule_level"); if (taskrule!=null){ for (int i=0;i= TO_CHAR(SYSDATE, 'yyyy-mm-dd') "); DbHelper.getDbService().update(" update rush_task_center a set isservice=(select isservice from customer_info b where a.customer_id=b.customer_id) , injf=(select tgstatus from customer_info b where a.customer_id=b.customer_id ),\n" + " ifmz=(select ifmz from customer_info b where a.customer_id=b.customer_id ) "); + DbHelper.getDbService().update(" delete from rush_to_assinged_cus where customer_id in (select b.customer_id " + + " from (select obj_id from rush_log where action = 'rushfee' and " + + " to_char(to_date(operate_date,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd')=to_char(sysdate,'yyyy-mm-dd') ) a " + + " left join rush_record b on a.obj_id = b.id) ");*/ - String sql=" select * from excustomer_info a where fistback in ( '联系方式异常', '联系方式为空', '客户不在本单位' ) and state!=1 and cust_type=1"; - List a=DbHelper.getDbService().queryMapList(sql); - for(int i=0;i b=DbHelper.getDbService().queryMapList(dianhua); - if(b.size()==0){ - continue; - } - else{ - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - Date cj = null; - try { - cj = sdf.parse(a.get(i).get("create_time").toString()); - Date zxfk = sdf.parse(b.get(0).get("operate_date").toString()); - if (cj.compareTo(zxfk)>=0) { - continue; - } - else{ - DbHelper.getDbService().beginTransaction(); - DbHelper.getDbService().update("update excustomer_info set state =1 ,dealtime=? ,rustype='信息已更新' where id=?", b.get(0).get("operate_date").toString(),a.get(i).get("id")); - DbHelper.getDbService().commit(); - } - } catch (ParseException e) { - continue; - } + String remark=""; + String info=""; + String sqlfeng="select * from excustomer_info where fistback in ('联系方式为空','联系方式异常','客户不在本单位')\n" + + "and ISCANCEL=0 and TJZQL=0 and to_char(create_time,'yyyy-mm-dd')>='2022-01-01'\n" + + "and to_char(create_time,'yyyy-mm-dd')<='2022-07-13' "; + List list= DbHelper.getDbService().queryMapList(sqlfeng); + for(int i=0;i phons=DbHelper.getDbService().queryMapList(phone,rush.get("id")); + if(phons==null){ + continue; + } + for(int q=0;qzxhftime and fistback in ('联系方式为空','联系方式异常','客户不在本单位') and \n" + + "zxhfremark in ('联系方式为空','联系方式异常','客户不在本单位') "); + + DbHelper.getDbService().update(" update excustomer_info set zxhfremark = null WHERE to_char(to_date(zxhftime,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd')=to_char(create_time,'yyyy-mm-dd') and (state=0 or state=2) "); + + + String sql=" select * from excustomer_info a where fistback in ( '联系方式异常', '联系方式为空', '客户不在本单位' ) "; + List a=DbHelper.getDbService().queryMapList(sql); + for(int i=0;i b=DbHelper.getDbService().queryMapList(dianhua); + if(b.size()==0){ + continue; + } + else{ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date cj = null; + try { + cj = sdf.parse(a.get(i).get("create_time").toString()); + Date zxfk = sdf.parse(b.get(0).get("operate_date").toString()); + if (cj.compareTo(zxfk)>=0) { + continue; + } + else{ + DbHelper.getDbService().beginTransaction(); + DbHelper.getDbService().update("update excustomer_info set state =1 ,dealtime=? ,rustype='信息已更新' where id=?", b.get(0).get("operate_date").toString(),a.get(i).get("id")); + DbHelper.getDbService().commit(); + } + } catch (ParseException e) { + continue; + } + + + } + + } + //更新分公司异常表中tjzql 字段为1 条件为 将免征户服务费部分更新为1 + + + } +}