|
@ -3,20 +3,17 @@ package com.yihu.wlyy.service.manager.account;
|
|
import com.yihu.wlyy.entity.*;
|
|
import com.yihu.wlyy.entity.*;
|
|
import com.yihu.wlyy.entity.call.CallRecord;
|
|
import com.yihu.wlyy.entity.call.CallRecord;
|
|
import com.yihu.wlyy.entity.call.CallService;
|
|
import com.yihu.wlyy.entity.call.CallService;
|
|
import com.yihu.wlyy.entity.synergy.ManageSynergyWorkorderCustomerLogDO;
|
|
|
|
import com.yihu.wlyy.entity.synergy.ManageSynergyWorkorderReserveConsultDO;
|
|
|
|
import com.yihu.wlyy.entity.synergy.ManageSynergyWorkorderServicerDO;
|
|
|
|
|
|
import com.yihu.wlyy.entity.synergy.*;
|
|
import com.yihu.wlyy.repository.*;
|
|
import com.yihu.wlyy.repository.*;
|
|
import com.yihu.wlyy.repository.call.CallRecordDao;
|
|
import com.yihu.wlyy.repository.call.CallRecordDao;
|
|
import com.yihu.wlyy.repository.call.CallServiceDao;
|
|
import com.yihu.wlyy.repository.call.CallServiceDao;
|
|
import com.yihu.wlyy.repository.synergy.ManageSynergyWorkorderCustomerLogDao;
|
|
|
|
import com.yihu.wlyy.repository.synergy.ManageSynergyWorkorderReserveConsultDao;
|
|
|
|
import com.yihu.wlyy.repository.synergy.ManageSynergyWorkorderServicerDao;
|
|
|
|
|
|
import com.yihu.wlyy.repository.synergy.*;
|
|
import com.yihu.wlyy.service.BaseService;
|
|
import com.yihu.wlyy.service.BaseService;
|
|
import com.yihu.wlyy.service.manager.family.FamilyMemberService;
|
|
import com.yihu.wlyy.service.manager.family.FamilyMemberService;
|
|
import com.yihu.wlyy.service.manager.hos.HosDoctorService;
|
|
import com.yihu.wlyy.service.manager.hos.HosDoctorService;
|
|
import com.yihu.wlyy.service.manager.sign.FamilyContractService;
|
|
import com.yihu.wlyy.service.manager.sign.FamilyContractService;
|
|
import com.yihu.wlyy.service.manager.sign.SignFamilyService;
|
|
import com.yihu.wlyy.service.manager.sign.SignFamilyService;
|
|
|
|
import com.yihu.wlyy.service.synergy.SynergyManageService;
|
|
import com.yihu.wlyy.util.DateUtil;
|
|
import com.yihu.wlyy.util.DateUtil;
|
|
import com.yihu.wlyy.util.HttpClientUtil;
|
|
import com.yihu.wlyy.util.HttpClientUtil;
|
|
import io.swagger.models.auth.In;
|
|
import io.swagger.models.auth.In;
|
|
@ -66,6 +63,17 @@ public class CustomerService extends BaseService{
|
|
private PatientReservationDao patientReservationDao;
|
|
private PatientReservationDao patientReservationDao;
|
|
@Autowired
|
|
@Autowired
|
|
private SignFamilyDao signFamilyDao;
|
|
private SignFamilyDao signFamilyDao;
|
|
|
|
@Autowired
|
|
|
|
private ManageSynergyWorkOrderDao manageSynergyWorkOrderDao;
|
|
|
|
@Autowired
|
|
|
|
private ManageSynergyWorkorderServicerDao manageSynergyWorkorderServicerDao;
|
|
|
|
@Autowired
|
|
|
|
private ManageSynergyWorkorderExecutorDao manageSynergyWorkorderExecutorDao;
|
|
|
|
@Autowired
|
|
|
|
private ManageSynergyWorkorderReserveConsultDao manageSynergyWorkorderReserveConsultDao;
|
|
|
|
@Autowired
|
|
|
|
private SynergyManageService synergyManageService;
|
|
|
|
|
|
|
|
|
|
@Value(("${doctorAssistant.api}")+"/wlyygc/doctor/message")
|
|
@Value(("${doctorAssistant.api}")+"/wlyygc/doctor/message")
|
|
private String messageApi;
|
|
private String messageApi;
|
|
@ -571,27 +579,81 @@ public class CustomerService extends BaseService{
|
|
SignFamily sf = familyService.findByPatientCode(callService.getPatient());
|
|
SignFamily sf = familyService.findByPatientCode(callService.getPatient());
|
|
callService.setAdminTeamCode(sf.getAdminTeamId());
|
|
callService.setAdminTeamCode(sf.getAdminTeamId());
|
|
callService.setCreateTime(new Date());
|
|
callService.setCreateTime(new Date());
|
|
callServiceDao.save(callService);
|
|
|
|
|
|
callService = callServiceDao.save(callService);
|
|
//待处理发送消息给医生
|
|
//待处理发送消息给医生
|
|
sendCallServiceMes(callService);
|
|
sendCallServiceMes(callService);
|
|
//发送消息
|
|
//发送消息
|
|
sendWxMes(callService);
|
|
sendWxMes(callService);
|
|
|
|
|
|
|
|
//将旧数据存储到新表---------START
|
|
|
|
ManageSynergyWorkorderDO manageSynergyWorkorderDO = new ManageSynergyWorkorderDO();
|
|
|
|
// 协同服务工单的服务对象表
|
|
|
|
ManageSynergyWorkorderServicerDO manageSynergyWorkorderServicerDO = new ManageSynergyWorkorderServicerDO();
|
|
|
|
// 协同服务执行人表
|
|
|
|
ManageSynergyWorkorderExecutorDO manageSynergyWorkorderExecutorDO = new ManageSynergyWorkorderExecutorDO();
|
|
|
|
// 咨询、预约操作日志表
|
|
|
|
ManageSynergyWorkorderReserveConsultDO manageSynergyWorkorderReserveConsultDO = new ManageSynergyWorkorderReserveConsultDO();
|
|
|
|
|
|
|
|
manageSynergyWorkorderDO.setDel(0);
|
|
|
|
//咨询
|
|
|
|
if(0 == callService.getType()){
|
|
|
|
manageSynergyWorkorderDO.setType(0);
|
|
|
|
manageSynergyWorkorderServicerDO.setWorkorderType(0);
|
|
|
|
}else if (1 == callService.getType()){
|
|
|
|
manageSynergyWorkorderDO.setType(2);
|
|
|
|
manageSynergyWorkorderServicerDO.setWorkorderType(2);
|
|
|
|
}
|
|
|
|
//服务时间
|
|
|
|
manageSynergyWorkorderDO.setServiceTime(callService.getDealTime());
|
|
|
|
//工单状态
|
|
|
|
if( 0 == callService.getState()){
|
|
|
|
manageSynergyWorkorderDO.setStatus(0);
|
|
|
|
manageSynergyWorkorderServicerDO.setStatus(0);
|
|
|
|
}else if (1 == callService.getState()){
|
|
|
|
manageSynergyWorkorderDO.setStatus(2);
|
|
|
|
manageSynergyWorkorderServicerDO.setStatus(2);
|
|
|
|
}else if(2 == callService.getState()){
|
|
|
|
manageSynergyWorkorderDO.setStatus(3);
|
|
|
|
manageSynergyWorkorderServicerDO.setStatus(3);
|
|
|
|
}
|
|
|
|
//优先级
|
|
|
|
manageSynergyWorkorderDO.setPriority(0);//默认普通
|
|
|
|
manageSynergyWorkorderDO.setCreateTime(new Date());
|
|
|
|
manageSynergyWorkorderDO.setCreateUser(callService.getUser());
|
|
|
|
manageSynergyWorkorderDO.setCreateUserName(callService.getUserName());
|
|
|
|
manageSynergyWorkorderDO.setCreateUserType(2);//默认为客服
|
|
|
|
manageSynergyWorkorderDO.setRemark(callService.getRemark());
|
|
|
|
manageSynergyWorkorderDO.setContent(callService.getDealContent());
|
|
|
|
manageSynergyWorkorderDO.setServicerCount(1);
|
|
|
|
manageSynergyWorkorderDO.setReceiverCode(callService.getDoctor());
|
|
|
|
manageSynergyWorkorderDO.setReceiverName(callService.getDoctorName());
|
|
|
|
manageSynergyWorkorderDO.setReceiverType(1);
|
|
|
|
manageSynergyWorkorderDO.setRelationCode(callService.getCode());
|
|
|
|
manageSynergyWorkorderDO.setCode(synergyManageService.getWorkorderNo());
|
|
|
|
manageSynergyWorkorderDO = manageSynergyWorkOrderDao.save(manageSynergyWorkorderDO);
|
|
|
|
|
|
|
|
|
|
|
|
manageSynergyWorkorderServicerDO.setWorkorderCode(manageSynergyWorkorderDO.getCode());
|
|
|
|
manageSynergyWorkorderServicerDO.setCreateTime(new Date());
|
|
|
|
manageSynergyWorkorderServicerDO.setCode(UUID.randomUUID().toString());
|
|
|
|
manageSynergyWorkorderServicerDao.save(manageSynergyWorkorderServicerDO);
|
|
|
|
|
|
|
|
manageSynergyWorkorderExecutorDO.setWorkorderCode(manageSynergyWorkorderDO.getCode());
|
|
|
|
manageSynergyWorkorderExecutorDO.setDel(0);
|
|
|
|
manageSynergyWorkorderExecutorDO.setExecutorType(3);
|
|
|
|
manageSynergyWorkorderExecutorDO.setExecutorCode(callService.getUser());
|
|
|
|
manageSynergyWorkorderExecutorDO.setExecutorName(callService.getUserName());
|
|
|
|
manageSynergyWorkorderExecutorDO.setCode(UUID.randomUUID().toString());
|
|
|
|
manageSynergyWorkorderExecutorDao.save(manageSynergyWorkorderExecutorDO);
|
|
|
|
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setCode(UUID.randomUUID().toString());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setWorkorderCode(manageSynergyWorkorderDO.getCode());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setWorkorderServiceCode(manageSynergyWorkorderServicerDO.getCode());
|
|
|
|
manageSynergyWorkorderReserveConsultDao.save(manageSynergyWorkorderReserveConsultDO);
|
|
|
|
|
|
return "1";
|
|
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){
|
|
public String updateCallService(String callServiceJson,String user){
|
|
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(callServiceJson);
|
|
net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(callServiceJson);
|
|
@ -604,8 +666,104 @@ public class CustomerService extends BaseService{
|
|
sendCallServiceMes(callService);
|
|
sendCallServiceMes(callService);
|
|
//发送消息
|
|
//发送消息
|
|
sendWxMes(callService);
|
|
sendWxMes(callService);
|
|
|
|
|
|
|
|
//将旧数据存储到新表---------START
|
|
|
|
ManageSynergyWorkorderDO manageSynergyWorkorderDO = manageSynergyWorkOrderDao.findByRelationCode(callService.getCode());
|
|
|
|
// 协同服务工单的服务对象表
|
|
|
|
ManageSynergyWorkorderServicerDO manageSynergyWorkorderServicerDO = manageSynergyWorkorderServicerDao.findByWorkorderCode(manageSynergyWorkorderDO.getCode()).get(0);
|
|
|
|
// 协同服务执行人表
|
|
|
|
ManageSynergyWorkorderExecutorDO manageSynergyWorkorderExecutorDO = manageSynergyWorkorderExecutorDao.findByWorkorderCode(manageSynergyWorkorderDO.getCode(),3).get(0);
|
|
|
|
// 咨询、预约操作日志表
|
|
|
|
ManageSynergyWorkorderReserveConsultDO manageSynergyWorkorderReserveConsultDO = manageSynergyWorkorderReserveConsultDao.findByWorkorderCode(manageSynergyWorkorderDO.getCode());
|
|
|
|
|
|
|
|
manageSynergyWorkorderDO.setDel(0);
|
|
|
|
//咨询
|
|
|
|
if(0 == callService.getType()){
|
|
|
|
manageSynergyWorkorderDO.setType(0);
|
|
|
|
manageSynergyWorkorderServicerDO.setWorkorderType(0);
|
|
|
|
}else if (1 == callService.getType()){
|
|
|
|
manageSynergyWorkorderDO.setType(2);
|
|
|
|
manageSynergyWorkorderServicerDO.setWorkorderType(2);
|
|
|
|
}
|
|
|
|
//服务时间
|
|
|
|
manageSynergyWorkorderDO.setServiceTime(callService.getDealTime());
|
|
|
|
//工单状态
|
|
|
|
if( 0 == callService.getState()){
|
|
|
|
manageSynergyWorkorderDO.setStatus(0);
|
|
|
|
manageSynergyWorkorderServicerDO.setStatus(0);
|
|
|
|
}else if (1 == callService.getState()){
|
|
|
|
manageSynergyWorkorderDO.setStatus(2);
|
|
|
|
manageSynergyWorkorderServicerDO.setStatus(2);
|
|
|
|
}else if(2 == callService.getState()){
|
|
|
|
manageSynergyWorkorderDO.setStatus(3);
|
|
|
|
manageSynergyWorkorderServicerDO.setStatus(3);
|
|
|
|
}
|
|
|
|
//优先级
|
|
|
|
manageSynergyWorkorderDO.setPriority(0);//默认普通
|
|
|
|
manageSynergyWorkorderDO.setCreateTime(new Date());
|
|
|
|
manageSynergyWorkorderDO.setCreateUser(callService.getUser());
|
|
|
|
manageSynergyWorkorderDO.setCreateUserName(callService.getUserName());
|
|
|
|
manageSynergyWorkorderDO.setCreateUserType(2);//默认为客服
|
|
|
|
manageSynergyWorkorderDO.setRemark(callService.getRemark());
|
|
|
|
manageSynergyWorkorderDO.setContent(callService.getDealContent());
|
|
|
|
manageSynergyWorkorderDO.setServicerCount(1);
|
|
|
|
manageSynergyWorkorderDO.setReceiverCode(callService.getDoctor());
|
|
|
|
manageSynergyWorkorderDO.setReceiverName(callService.getDoctorName());
|
|
|
|
manageSynergyWorkorderDO.setReceiverType(1);
|
|
|
|
manageSynergyWorkorderDO.setRelationCode(callService.getCode());
|
|
|
|
manageSynergyWorkorderDO = manageSynergyWorkOrderDao.save(manageSynergyWorkorderDO);
|
|
|
|
|
|
|
|
|
|
|
|
manageSynergyWorkorderServicerDO.setWorkorderCode(manageSynergyWorkorderDO.getCode());
|
|
|
|
manageSynergyWorkorderServicerDO.setCreateTime(new Date());
|
|
|
|
manageSynergyWorkorderServicerDao.save(manageSynergyWorkorderServicerDO);
|
|
|
|
|
|
|
|
manageSynergyWorkorderExecutorDO.setWorkorderCode(manageSynergyWorkorderDO.getCode());
|
|
|
|
manageSynergyWorkorderExecutorDO.setDel(0);
|
|
|
|
manageSynergyWorkorderExecutorDO.setExecutorType(3);
|
|
|
|
manageSynergyWorkorderExecutorDO.setExecutorCode(callService.getUser());
|
|
|
|
manageSynergyWorkorderExecutorDO.setExecutorName(callService.getUserName());
|
|
|
|
manageSynergyWorkorderExecutorDao.save(manageSynergyWorkorderExecutorDO);
|
|
|
|
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setWorkorderCode(manageSynergyWorkorderDO.getCode());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setWorkorderServiceCode(manageSynergyWorkorderServicerDO.getCode());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setDealType(callService.getDealType());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setDealTime(new Date());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setDealState(callService.getDealState());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setDealContent(callService.getDealContent());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setDealReason(callService.getDealReason());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setOrderHospital(callService.getOrderHospital());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setOrderHospitalName(callService.getOrderHospitalName());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setOrderDept(callService.getOrderDept());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setOrderDeptName(callService.getOrderDeptName());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setOrderDoctor(callService.getOrderDoctor());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setOrderDoctorName(callService.getOrderDoctorName());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setOrderTime(callService.getOrderTime());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setRegisterTime(callService.getRegisterTime());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setUser(callService.getUser());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setUserName(callService.getUserName());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setCreateTime(callService.getCreateTime());
|
|
|
|
manageSynergyWorkorderReserveConsultDO.setCallCode(callService.getCallCode());
|
|
|
|
manageSynergyWorkorderReserveConsultDao.save(manageSynergyWorkorderReserveConsultDO);
|
|
|
|
|
|
|
|
|
|
return "1";
|
|
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 void sendWxMes(CallService callService){
|
|
public void sendWxMes(CallService callService){
|
|
Doctor d = doctorDao.findByCode(callService.getDoctor());
|
|
Doctor d = doctorDao.findByCode(callService.getDoctor());
|
|
@ -747,8 +905,13 @@ public class CustomerService extends BaseService{
|
|
}
|
|
}
|
|
|
|
|
|
public String delCallService(String code){
|
|
public String delCallService(String code){
|
|
CallService c = callServiceDao.findByCode(code);
|
|
|
|
callServiceDao.delete(c);
|
|
|
|
|
|
//旧代码
|
|
|
|
// CallService c = callServiceDao.findByCode(code);
|
|
|
|
// callServiceDao.delete(c);
|
|
|
|
//新代码--根据CODE逻辑删除工单表
|
|
|
|
ManageSynergyWorkorderDO manageSynergyWorkorderDO = manageSynergyWorkOrderDao.findByCode(code);
|
|
|
|
manageSynergyWorkorderDO.setDel(1);
|
|
|
|
manageSynergyWorkOrderDao.save(manageSynergyWorkorderDO);
|
|
return "1";
|
|
return "1";
|
|
}
|
|
}
|
|
|
|
|