huangwenjie 6 lat temu
rodzic
commit
ea95a2e1df

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

@ -5,14 +5,12 @@ import com.yihu.wlyy.entity.Doctor;
import com.yihu.wlyy.entity.Patient;
import com.yihu.wlyy.entity.User;
import com.yihu.wlyy.entity.WlyyCustomerLog;
import com.yihu.wlyy.entity.call.CallRecord;
import com.yihu.wlyy.repository.PatientDao;
import com.yihu.wlyy.service.manager.account.CustomerService;
import com.yihu.wlyy.service.manager.hos.HosDoctorService;
import com.yihu.wlyy.service.manager.patient.AdminPatientService;
import com.yihu.wlyy.service.manager.user.UserService;
import com.yihu.wlyy.service.manager.user.WlyyCustomerLogService;
import com.yihu.wlyy.util.DateUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

+ 6 - 6
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/synergy/ManageSynergyWorkorderReserveConsultDO.java

@ -18,7 +18,7 @@ public class ManageSynergyWorkorderReserveConsultDO extends IdEntity {
    private Integer dealType;//处理方式:1.电话回复,2.客服回复
    private Date dealTime;//处理时间
    private Integer dealState;//处理结果:1.完成,2.无法联系居民
    private Integer dealContent;//处理内容
    private String dealContent;//处理内容
    private Integer dealReason;//处理取消原因:0.没有号源、1.病人取消
    private String orderHospital;//预约医院code
    private String orderHospitalName;//预约医院
@ -26,7 +26,7 @@ public class ManageSynergyWorkorderReserveConsultDO extends IdEntity {
    private String orderDeptName;//预约科室名称
    private String orderDoctor;//预约医生code
    private String orderDoctorName;//预约医生名称
    private Date orderTime;//预约时间段
    private String orderTime;//预约时间段
    private Date registerTime;//挂号时间
    private String user;//创建人(客服)code
    private String userName;//客服姓名(创建人)
@ -72,11 +72,11 @@ public class ManageSynergyWorkorderReserveConsultDO extends IdEntity {
    }
    @Column(name = "deal_content")
    public Integer getDealContent() {
    public String getDealContent() {
        return dealContent;
    }
    public void setDealContent(Integer dealContent) {
    public void setDealContent(String dealContent) {
        this.dealContent = dealContent;
    }
@ -144,11 +144,11 @@ public class ManageSynergyWorkorderReserveConsultDO extends IdEntity {
    }
    @Column(name = "order_time")
    public Date getOrderTime() {
    public String getOrderTime() {
        return orderTime;
    }
    public void setOrderTime(Date orderTime) {
    public void setOrderTime(String orderTime) {
        this.orderTime = orderTime;
    }

+ 2 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/repository/synergy/ManageSynergyWorkOrderDao.java

@ -8,6 +8,8 @@ import org.springframework.data.repository.PagingAndSortingRepository;
public interface ManageSynergyWorkOrderDao extends PagingAndSortingRepository<ManageSynergyWorkorderDO, Long> {
    ManageSynergyWorkorderDO findByCode(String workorderCode);
    
    ManageSynergyWorkorderDO findByRelationCode(String relationCode);
    @Modifying
    @Query("update ManageSynergyWorkorderDO a set a.del=1 where a.code = ?1")

+ 2 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/repository/synergy/ManageSynergyWorkorderReserveConsultDao.java

@ -11,4 +11,6 @@ import java.util.List;
public interface ManageSynergyWorkorderReserveConsultDao extends PagingAndSortingRepository<ManageSynergyWorkorderReserveConsultDO, Long> {
    List<ManageSynergyWorkorderReserveConsultDO> findByCallCode(String callCode);
    
    ManageSynergyWorkorderReserveConsultDO findByWorkorderCode(String WorkorderCode);
}

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

@ -3,20 +3,17 @@ package com.yihu.wlyy.service.manager.account;
import com.yihu.wlyy.entity.*;
import com.yihu.wlyy.entity.call.CallRecord;
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.call.CallRecordDao;
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.manager.family.FamilyMemberService;
import com.yihu.wlyy.service.manager.hos.HosDoctorService;
import com.yihu.wlyy.service.manager.sign.FamilyContractService;
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.HttpClientUtil;
import io.swagger.models.auth.In;
@ -66,6 +63,17 @@ public class CustomerService extends BaseService{
	private PatientReservationDao patientReservationDao;
	@Autowired
	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")
	private String messageApi;
@ -571,27 +579,81 @@ public class CustomerService extends BaseService{
		SignFamily sf = familyService.findByPatientCode(callService.getPatient());
		callService.setAdminTeamCode(sf.getAdminTeamId());
		callService.setCreateTime(new Date());
		callServiceDao.save(callService);
		callService = callServiceDao.save(callService);
		//待处理发送消息给医生
		sendCallServiceMes(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";
	}
	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);
@ -604,8 +666,104 @@ public class CustomerService extends BaseService{
		sendCallServiceMes(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";
	}
	
	
	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){
		Doctor d = doctorDao.findByCode(callService.getDoctor());
@ -747,8 +905,13 @@ public class CustomerService extends BaseService{
	}
	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";
	}