|
@ -220,20 +220,23 @@ public class CustomerService extends BaseService{
|
|
|
return "1";
|
|
|
}
|
|
|
|
|
|
public Map<String,Object> updateCallRecordService(String code,String idCard,Integer serviceType,String serviceContent){
|
|
|
public Map<String,Object> updateCallRecordService(String code,String phone,Integer serviceType,String serviceContent){
|
|
|
CallRecord callRecord = callRecordDao.findByCode(code);
|
|
|
|
|
|
Patient p = patientDao.findByIdcard(idCard);
|
|
|
List<Patient> list = patientDao.findByMobile(phone);
|
|
|
Map<String,Object> rs = new HashedMap();
|
|
|
if(p==null){
|
|
|
Patient p ;
|
|
|
if(list==null&&list.size()==0){
|
|
|
rs.put("state",-1);
|
|
|
rs.put("mes","未找到患者信息");
|
|
|
rs.put("callRecord",null);
|
|
|
return rs;
|
|
|
}else{
|
|
|
p = list.get(0);
|
|
|
}
|
|
|
|
|
|
SignFamily sf = familyService.findByPatientCode(p.getCode());
|
|
|
if(p==null){
|
|
|
if(sf==null){
|
|
|
rs.put("state",-2);
|
|
|
rs.put("mes","未找到患者签约信息");
|
|
|
rs.put("callRecord",null);
|
|
@ -267,7 +270,26 @@ public class CustomerService extends BaseService{
|
|
|
return "1";
|
|
|
}
|
|
|
|
|
|
public List<Map<String,Object>> getCallRecords(String callerNumber,Integer answerStatus,Integer serviceType ,String startDate,String endDate,Integer page,Integer size){
|
|
|
public Map<String,Object> getCallRecords(String callerNumber,Integer answerStatus,Integer serviceType ,String startDate,String endDate,Integer page,Integer size){
|
|
|
|
|
|
Map<String,Object> map = new HashedMap();
|
|
|
|
|
|
String sqltotal = "SELECT count(1) as total" +
|
|
|
" FROM " +
|
|
|
" manage_call_record r " +
|
|
|
" WHERE " +
|
|
|
" 1 = 1 ";
|
|
|
sqltotal = setCallRecordSql( sqltotal, callerNumber, answerStatus, serviceType , startDate, endDate);
|
|
|
List<Map<String,Object>> rsTotal = jdbcTemplate.queryForList(sqltotal);
|
|
|
Long total = (Long)rsTotal.get(0).get("total");
|
|
|
|
|
|
if(total==0){
|
|
|
map.put("callRecords",null);
|
|
|
map.put("page",page);
|
|
|
map.put("total",0);
|
|
|
map.put("records",0);
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
String sql = "SELECT " +
|
|
|
" r.type, " +
|
|
@ -276,7 +298,7 @@ public class CustomerService extends BaseService{
|
|
|
" r.call_time AS callTime, " +
|
|
|
" r.talk_time AS talkTime, " +
|
|
|
" r.answer_status AS answerStatus, " +
|
|
|
" r.service_type AS serviceType, " +
|
|
|
" r.type AS type, " +
|
|
|
" r.user_name AS userName, " +
|
|
|
" r.user_code AS userCode," +
|
|
|
" r.code" +
|
|
@ -284,6 +306,20 @@ public class CustomerService extends BaseService{
|
|
|
" manage_call_record r " +
|
|
|
" WHERE " +
|
|
|
" 1 = 1 ";
|
|
|
sql = setCallRecordSql( sql, callerNumber, answerStatus, serviceType , startDate, endDate);
|
|
|
sql += " ORDER BY r.call_time DESC LIMIT "+(page-1)*size+","+size;
|
|
|
List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql);
|
|
|
|
|
|
map.put("page",page);
|
|
|
map.put("records",total);
|
|
|
map.put("callRecords",rs);
|
|
|
double t = (double)total;
|
|
|
map.put("total",Math.ceil(t/size));
|
|
|
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
public String setCallRecordSql(String sql,String callerNumber,Integer answerStatus,Integer serviceType ,String startDate,String endDate){
|
|
|
if(StringUtils.isNotBlank(callerNumber)){
|
|
|
sql +=" AND r.caller_number = '"+callerNumber+"'";
|
|
|
}
|
|
@ -299,10 +335,7 @@ public class CustomerService extends BaseService{
|
|
|
if(StringUtils.isNotBlank(endDate)){
|
|
|
sql +=" AND r.call_time <='"+endDate+" 23:59:59'";
|
|
|
}
|
|
|
sql += " ORDER BY r.call_time DESC LIMIT "+(page-1)*size+","+size;
|
|
|
List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql);
|
|
|
|
|
|
return rs;
|
|
|
return sql;
|
|
|
}
|
|
|
|
|
|
public Map<String,Object> getCallRecordInfo(String code){
|
|
@ -357,7 +390,42 @@ public class CustomerService extends BaseService{
|
|
|
|
|
|
public String saveCallService(String callServiceJson,String user){
|
|
|
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(callServiceJson);
|
|
|
CallService callService = (CallService)net.sf.json.JSONObject.toBean(jsonObject);
|
|
|
CallService callService = (CallService)net.sf.json.JSONObject.toBean(jsonObject,CallService.class);
|
|
|
callService.setCode(getCallServiceCode(callService.getType()+""));
|
|
|
callService.setUser(user);
|
|
|
User u = userDao.findByCode(user);
|
|
|
callService.setUserName(u.getName());
|
|
|
callServiceDao.save(callService);
|
|
|
|
|
|
//待处理发送消息给医生
|
|
|
if(callService.getState()==1){
|
|
|
Patient p = patientDao.findByCode(callService.getPatient());
|
|
|
// 添加签约消息
|
|
|
Message message = new Message();
|
|
|
message.setCzrq(new Date());
|
|
|
message.setCreateTime(new Date());
|
|
|
message.setContent("您有一条新的协同服务消息!");
|
|
|
message.setRead(1);//设置未读
|
|
|
message.setReceiver(callService.getDoctor());//设置接受医生的code
|
|
|
message.setSender(callService.getPatient());//设置发送的用户
|
|
|
message.setSenderName(callService.getPatientName());
|
|
|
message.setCode(getCode());
|
|
|
message.setSenderPhoto(p.getPhoto());
|
|
|
message.setTitle("协同服务消息");
|
|
|
message.setType(12);//协同服务消息
|
|
|
message.setReadonly(1);//是否只读消息
|
|
|
message.setSex(p.getSex());
|
|
|
message.setOver("1");//未处理
|
|
|
|
|
|
messageDao.save(message);
|
|
|
}
|
|
|
|
|
|
return "1";
|
|
|
}
|
|
|
|
|
|
public String updateCallService(String callServiceJson,String user){
|
|
|
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(callServiceJson);
|
|
|
CallService callService = (CallService)net.sf.json.JSONObject.toBean(jsonObject,CallService.class);
|
|
|
callService.setUser(user);
|
|
|
User u = userDao.findByCode(user);
|
|
|
callService.setUserName(u.getName());
|
|
@ -389,7 +457,27 @@ public class CustomerService extends BaseService{
|
|
|
return "1";
|
|
|
}
|
|
|
|
|
|
public List<Map<String,Object>> getCallServices(String keyword, Integer serverType,Integer state,String patientName,String ssc,String idCard,String doctorName,String code,Integer adminTeamCode ,String startDate,String endDate,Integer page,Integer size){
|
|
|
public Map<String,Object> getCallServices(String keyword, Integer serverType,Integer state,String patientName,String ssc,String idCard,String doctorName,String code,Integer adminTeamCode ,String startDate,String endDate,Integer page,Integer size){
|
|
|
|
|
|
Map<String,Object> map = new HashedMap();
|
|
|
|
|
|
String sqltotal = "SELECT count(1) AS total" +
|
|
|
" FROM " +
|
|
|
" manage_call_service s " +
|
|
|
" WHERE " +
|
|
|
" 1 = 1";
|
|
|
sqltotal = setCallServiceSql( sqltotal, keyword, serverType, state, patientName, ssc, idCard, doctorName, code, adminTeamCode , startDate, endDate);
|
|
|
List<Map<String,Object>> totallist = jdbcTemplate.queryForList(sqltotal);
|
|
|
Long total = (Long)totallist.get(0).get("total");
|
|
|
|
|
|
if(total==0){
|
|
|
map.put("callServices",null);
|
|
|
map.put("page",page);
|
|
|
map.put("total",0);
|
|
|
map.put("records",0);
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
String sql = "SELECT " +
|
|
|
" s.`code`, " +
|
|
|
" s.patient, " +
|
|
@ -406,6 +494,22 @@ public class CustomerService extends BaseService{
|
|
|
" manage_call_service s " +
|
|
|
" WHERE " +
|
|
|
" 1 = 1";
|
|
|
sql = setCallServiceSql( sql, keyword, serverType, state, patientName, ssc, idCard, doctorName, code, adminTeamCode , startDate, endDate);
|
|
|
sql += " ORDER BY s.create_time DESC LIMIT "+(page-1)*size+","+size ;
|
|
|
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
|
|
|
map.put("page",page);
|
|
|
map.put("records",total);
|
|
|
map.put("callRecords",list);
|
|
|
double t = (double)total;
|
|
|
map.put("total",Math.ceil(t/size));
|
|
|
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
public String setCallServiceSql(String sql,String keyword, Integer serverType,Integer state,String patientName,String ssc,String idCard,String doctorName,String code,Integer adminTeamCode ,String startDate,String endDate){
|
|
|
|
|
|
if(StringUtils.isNotBlank(keyword)){
|
|
|
sql +=" AND (s.patient_name = '"+keyword+"' OR s.ssc ='"+keyword+"' OR s.Idcard ='"+keyword+"')";
|
|
|
}
|
|
@ -436,14 +540,10 @@ public class CustomerService extends BaseService{
|
|
|
if(StringUtils.isNotBlank(endDate)){
|
|
|
sql +=" AND s.create_time <='"+endDate+" 23:59:59'" ;
|
|
|
}
|
|
|
if(adminTeamCode!=null){
|
|
|
sql +=" AND s.admin_team_code ="+adminTeamCode ;
|
|
|
if(adminTeamCode!=null) {
|
|
|
sql += " AND s.admin_team_code =" + adminTeamCode;
|
|
|
}
|
|
|
sql += " ORDER BY s.create_time DESC LIMIT "+(page-1)*size+","+size ;
|
|
|
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
|
|
|
return list;
|
|
|
return sql;
|
|
|
}
|
|
|
|
|
|
public Map<String,Object> getCallServiceInfo(String code){
|