zxf 2023-07-25 01:09:13 +08:00
parent 263a024729
commit acdbb406d5
7 changed files with 192 additions and 1 deletions

View File

@ -1,3 +1,3 @@
#save ini #save ini
#Mon Jun 12 00:24:44 CST 2023 #Tue Jul 25 00:51:51 CST 2023
deploystamp=1612237236000 deploystamp=1612237236000

View File

@ -0,0 +1,125 @@
<html login="false" auth="false">
<head>
<meta charset="UTF-8">
<title>录音操作</title>
</head>
<body>
<div widget="toolbar" style="padding:5px;border:0;">
<input name="start_time" widget=datechooser showTime="true" timeFormat="HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" valueFormat="yyyy-MM-dd HH:mm:ss" allowinput="f" label="录音时长">
<input name="end_time" widget=datechooser showTime="true" timeFormat="HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" valueFormat="yyyy-MM-dd HH:mm:ss" allowinput="f" style="margin-left: -70px;" label="至">
<input name="call_type" widget=combox allowinput="f" style="width: 200px;" showNullItem="true"
data="[{id:'呼入',text:'呼入',{id:'呼出',text:'呼出'}]" emptyText="请选择" label="呼叫类型"/>
<a widget="button" iconCls="icon-search" onclick="search()">查询</a>
<a widget="button" iconCls="icon-export" onclick="exportExl()">导出</a>&nbsp;&nbsp;&nbsp;
</div>
<div widget="autosize">
<div widget="datagrid" name="grid" style="width: 100%; height: 100%;" url="rush/bureau/getlist" >
<div type="indexcolumn" width="35" header="序号"></div>
<div field="id" visible="id"></div>
<div field="emp_no" width="30" header="工号"></div>
<div field="create_time" width="70" header="日期"></div>
<div field="phone_num" width="60" header="电话号码"></div>
<div field="start_time" width="70" header="开始时间" ></div>
<div field="end_time" width="70" header="结束时间" ></div>
<div field="record_duration" width="50" header="录音时长(秒)" ></div>
<div field="call_type" width="50" header="呼叫类型" ></div>
<div field="caller_phone" width="50" header="来电人电话" ></div>
<div field="down" width="65" header="下载" renderer="downRender" align="center"></div>
<div field="play" width="65" header="录音" renderer="playRender" align="center"></div>
<div field="area_name" width="50" header="所属地区" ></div>
</div>
</div>
</body>
<script type="text/javascript">
var grid = aos.get('grid');
var nowday=aos.formatDate(new Date(),"yyyy-MM-dd")
aos.get('start_time').setValue(nowday+" 00:00:00");
aos.get('end_time').setValue(nowday+" 23:59:59");
function search(){
var grid = aos.get('grid');
var begindate=aos.get('start_time').getFormValue();
var enddate=aos.get('end_time').getFormValue();
if (begindate!="")
{
if (enddate=="")
{aos.alert('请选择结束时间!');
return ;
}
else{
if (begindate>enddate)
{
aos.alert('开始日期必须早于结束日期!');
}else{
var params={
searchbegindate:begindate,
searchenddate:enddate};
grid.load(params);
}
}
}else if(enddate!="")
{
aos.alert('请选择开始时间!');
return ;
}else{
var params={
searchbegindate:begindate,
searchenddate:enddate,
chargetype:aos.get('call_type').getValue()};
grid.load(params);
return ;
}
}
function playRender(e){
var row=e.row;
var value=row.play;
if(value=='播放'){
return "<a href='javascript:void(0)' onclick='showMyDialog(\""+ row.path +"\")'>"+value+"</a>";
}else{
return value;
}
}
function downRender(e){
var row=e.row;
var value=row.down;
if(value=='下载'){
return "<a href="+ row.path +">"+value+"</a>";
}else{
return value;
}
}
function showMyDialog(video_path){
var params ={};
params["video_path"]=video_path;
aos.showWindow('canvas/rush/record_rush_play',params,'800px', '400px', '录音播放', function(rtnValue){
});
}
function exportExl(){
var initparam={
searchoperator:aos.get('searchoperator').getValue(),
searchbegindate:aos.get('searchbegindate').getFormValue(),
searchenddate:aos.get('searchenddate').getFormValue(),
custname:aos.get('custname').getValue(),
chargetype:aos.get('chargetype').getValue(),
searchresult:aos.get('searchresult').getValue()};
var base = document.getElementsByTagName("base")[0].href;
var Eurl=base+"rush/kaohe/exportRecoding";
var Eurl = aos.addUrlParams(Eurl,initparam);
window.location.href=encodeURI(Eurl);
}
</script>
</html>

View File

@ -0,0 +1,64 @@
package rush;
import com.aisino.aosplus.core.dao.DbHelper;
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 org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import java.util.List;
import java.util.Map;
@Action("rush/bureau")
public class BureauAction {
// 日志记录
private static Logger logger = Logger.getLogger(BureauAction.class);
@Request.Post("getlist")
public Map getCustomerById(Params params) {
Object start_time=params.get("start_time");
Object end_time=params.get("end_time");
String sql=" select id,emp_no,create_time,phone_num,start_time,end_time,record_duration," +
"call_type,record_url path,caller_phone, area_name ,'播放' AS play ,'下载' as down from area_call_record where 1=1 ";
String timeSql="";
if(StringUtils.isNotBlank("start_time")){
timeSql=" and 1=1";
}
Map map = DbHelper.getDbService().queryPageMapList(sql, params);
List<Map> records = (List<Map>) map.get("records");
for(Map m : records){
if ((m.get("info")!=null && Integer.parseInt(m.get("info").toString())>0 && m.get("path")!=null)||m.get("zltime")!=null){
// String path = m.get("path").toString();
if(m.get("path")==null){
m.put("play","无录音");
m.put("path","");
}
if(m.get("path").toString().endsWith("v3")){
m.put("path",m.get("path"));
}else{
m.put("path",m.get("path"));
}
}
}
return map;
}
}

View File

@ -106,8 +106,10 @@ public class SearchAction {
} }
if(m.get("path").toString().endsWith("wav")){ if(m.get("path").toString().endsWith("wav")){
m.put("path","http://cc.95ykf.com/recordDownload.do?method=recordDownload&path="+m.get("path")); m.put("path","http://cc.95ykf.com/recordDownload.do?method=recordDownload&path="+m.get("path"));
// m.put("path","http://101.43.135.234:8080/api/profile/upload/2023/07/18/1613141.V3");
}else{ }else{
m.put("path","http://101.201.142.12:9999/media/100995/"+m.get("path")); m.put("path","http://101.201.142.12:9999/media/100995/"+m.get("path"));
// m.put("path","http://101.43.135.234:8080/api/profile/upload/2023/07/18/1613141.V3");
} }
} }