Browse Source

Merge branch 'dev' of trick9191/patient-co-management into dev

trick9191 7 years ago
parent
commit
5a0a9bfcf7

+ 7 - 2
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/common/account/CustomerController.java

@ -256,6 +256,7 @@ public class CustomerController extends BaseController {
    @ApiOperation(value = "获取通讯记录列表")
    public String getCallRecords(@ApiParam(name="callerNumber",value="呼叫人电话")@RequestParam(required = false)String callerNumber,
                                 @ApiParam(name="recipientNumber",value="客服座机电话")@RequestParam(required = false)String recipientNumber,
                                 @ApiParam(name="seat",value="客服座席号")@RequestParam(required = false)String seat,
                                 @ApiParam(name="answerStatus",value="接听状态: 1.接通,2. 队列中放弃,3.未接通")@RequestParam(required = false)Integer answerStatus,
                                 @ApiParam(name="serviceType",value="服务类型:1.医生转接 2.代理咨询")@RequestParam(required = false)Integer serviceType ,
                                 @ApiParam(name="userName",value="客服名称(模糊匹配)")@RequestParam(required = false)String  userName ,
@ -298,7 +299,11 @@ public class CustomerController extends BaseController {
    @ApiOperation(value = "保存协同服务")
    public String saveCallService(@ApiParam(name="callServiceJson",value="协同服务json串")@RequestParam(required = true)String callServiceJson){
        try {
            return write(200,"保存成功","data",customerService.saveCallService( callServiceJson,getUID()));
            String rs = customerService.saveCallService( callServiceJson,getUID());
            if("-1".equals(rs)){
               return error(-2,"协同服务已达上限");
            }
            return write(200,"保存成功","data",rs);
        }catch (Exception e){
            error(e);
            return error(-1,"保存失败");
@ -357,7 +362,7 @@ public class CustomerController extends BaseController {
            return write(200,"操作成功","data",customerService.delCallService(code));
        }catch (Exception e){
            error(e);
            return error(-1,"操作成功");
            return error(-1,"操作失败");
        }
    }
}

+ 48 - 8
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/account/CustomerService.java

@ -341,7 +341,7 @@ public class CustomerService extends BaseService{
			sql +=" AND r.call_time <='"+endDate+" 23:59:59'";
		}
		if(StringUtils.isNotBlank(userName)){
			sql +=" AND r.user_name LIKE '%"+userName+" %'";
			sql +=" AND r.user_name LIKE '%"+userName+"%'";
		}
		if(StringUtils.isNotBlank(jobNo)){
			User u = userDao.findByJobNo(jobNo);
@ -404,15 +404,25 @@ public class CustomerService extends BaseService{
	}
	/**
	 * 保存协同服务
	 * @param callServiceJson
	 * @param user
	 * @return
     */
	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.class);
		if(!checkCallServiceCount(callService)){
			return "-1";
		}
		callService.setCode(getCallServiceCode(callService.getType()+""));
		callService.setUser(user);
		User u = userDao.findByCode(user);
		callService.setUserName(u.getName());
		//存储患者信息
		Patient p = patientDao.findByCode(callService.getCode());
		Patient p = patientDao.findByCode(callService.getPatient());
		callService.setIdcard(p.getIdcard());
		callService.setSsc(p.getSsc());
		//存储医生
@ -421,10 +431,26 @@ public class CustomerService extends BaseService{
		callService.setCreateTime(new Date());
		callServiceDao.save(callService);
		//待处理发送消息给医生
		sendCallServiceMes(callService,u);
		sendCallServiceMes(callService);
		//发送消息
		sendWxMes(callService,u);
		return "1";
	}
	public boolean checkCallServiceCount(CallService callService ){
		String sql = "SELECT count(1) AS total FROM manage_call_service s WHERE s.call_code ='"+callService.getCallCode() +"' AND s.type = "+callService.getType();
		List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
		if(list!=null&&list.size()>0){
			Map<String,Object> map = list.get(0);
			Long total = (Long)map.get("total");
			if(total>=5){
				return false;
			}
		}
		return true;
	}
	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);
@ -433,11 +459,25 @@ public class CustomerService extends BaseService{
		callService.setUserName(u.getName());
		callServiceDao.save(callService);
		//待处理发送消息给医生
		sendCallServiceMes(callService,u);
		sendCallServiceMes(callService);
		//发送消息
		sendWxMes(callService,u);
		return "1";
	}
	public void sendCallServiceMes(CallService callService,User u){
	public void sendWxMes(CallService callService,User u){
		Doctor d = doctorDao.findByCode(callService.getDoctor());
		String mes = u.getName()+"(工号:"+u.getJobNo()+")代居民("+callService.getPatientName()+")发:" ;
		if(callService.getType()==1){
			mes += callService.getPatientName()+"需要预约挂号";
		}else{
			mes += callService.getPatientName()+"发起咨询";
		}
		mes +="\n请您登录i健康app,进入协同服务管理进行查看处理。";
		sendMsg(d,mes,"2");
	}
	public void sendCallServiceMes(CallService callService){
		//待处理发送消息给医生
		if(callService.getState()==1){
			Patient p = patientDao.findByCode(callService.getPatient());
@ -445,10 +485,10 @@ public class CustomerService extends BaseService{
			Message message = new Message();
			message.setCzrq(new Date());
			message.setCreateTime(new Date());
			if("1".equals(callService.getType())){
				message.setContent(u.getName()+"需要预约挂号");
			if(callService.getType()==1){
				message.setContent(callService.getPatientName()+"需要预约挂号");
			}else{
				message.setContent(u.getName()+"发起咨询");
				message.setContent(callService.getPatientName()+"发起咨询");
			}
			message.setRead(1);//设置未读

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/message/MessageDao.java

@ -98,7 +98,7 @@ public interface MessageDao extends PagingAndSortingRepository<Message, Long>, J
    @Query("from Message a where a.type = 8 and a.state=0 and a.del='1' and a.over='0' and relationCode = ?1  ")
    Message findByRelationCode(String relationCode);
    @Query("from Message a where a.type = 12 and a.del='1' and a.over='1' and receiver = ?1  ")
    @Query("from Message a where a.type = 12 and a.del='1' and a.over='1' and receiver = ?1  order by a.createTime desc")
    List<Message> findByReceiverCallService(String doctor);
    @Query("select a from Message a where a.receiver = ?1 and a.type=?2 ")