huangwenjie %!s(int64=5) %!d(string=hai) anos
pai
achega
a1a073fc6d

+ 17 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/consult/dao/WlyyConsultAdviceDao.java

@ -0,0 +1,17 @@
package com.yihu.jw.hospital.consult.dao;
import com.yihu.jw.entity.hospital.prescription.WlyyConsultAdvice;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * 咨询建议Dao
 * @author huangwenjie
 * @date 2020/5/27 17:29
 */
public interface WlyyConsultAdviceDao  extends PagingAndSortingRepository<WlyyConsultAdvice, String>, JpaSpecificationExecutor<WlyyConsultAdvice> {
	
	List<WlyyConsultAdvice> getByConsult(String consult);
}

+ 24 - 3
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -28,6 +28,7 @@ import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.entity.ylzinfo.OauthYlzConfigDO;
import com.yihu.jw.file_upload.FileUploadService;
import com.yihu.jw.hospital.consult.dao.HospitalWaitingRoomDao;
import com.yihu.jw.hospital.consult.dao.WlyyConsultAdviceDao;
import com.yihu.jw.hospital.dict.WlyyChargeDictDao;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.doctor.dao.DoctorWorkTimeDao;
@ -184,6 +185,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    private PrescriptionExpressageLogDao prescriptionExpressageLogDao;
    @Autowired
    private PrescriptionEmrDao prescriptionEmrDao;
    @Autowired
    private WlyyConsultAdviceDao wlyyConsultAdviceDao;
    @Value("${demo.flag}")
@ -5666,7 +5669,25 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    public List<WlyyPrescriptionEmrDO> findByPrescriptionId(String  prescriptionId){
        return prescriptionEmrDao.findByPrescriptionId(prescriptionId);
    }
    
    
    /**
     * 保存排班规则
     * @param workRoleJsons
     * @return
     */
    public Boolean sendOutPatientSuggest(String advicesJson){
        List<WlyyConsultAdvice> advices = (List<WlyyConsultAdvice>) com.alibaba.fastjson.JSONArray.parseArray(advicesJson, WlyyConsultAdvice.class);
        wlyyConsultAdviceDao.save(advices);
        return true;
    }
    
    /**
     * 获取咨询建议
     * @param consultcode
     * @return
     */
    public List<WlyyConsultAdvice> getConsultSuggest(String consultcode) {
        return wlyyConsultAdviceDao.getByConsult(consultcode);
    }
}

+ 2 - 8
business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java

@ -1700,14 +1700,8 @@ public class ImService {
	 * @return
	 * @throws Exception
	 */
	public String sendOutPatientSuggestMsg(com.alibaba.fastjson.JSONObject jsonObject,String doctor,String doctorName,String outpatientId,String patient,String outpatientType) throws Exception {
		if("1".equals(outpatientType)){
			return imUtil.sendImMsg(doctor, doctorName, patient+"_"+outpatientId+"_9", "34",jsonObject.toString(),"1");
		}else if("2".equals(outpatientType)){
			return imUtil.sendImMsg(doctor, doctorName, patient+"_"+outpatientId+"_12", "34",jsonObject.toString(),"1");
		}else{
			return null;
		}
	public String sendOutPatientSuggestMsg(String msg,String doctor,String doctorName,String sessionid) throws Exception {
		return imUtil.sendImMsg(doctor, doctorName, sessionid, "34",msg,"1");
	}
	
	

+ 57 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyConsultAdvice.java

@ -0,0 +1,57 @@
package com.yihu.jw.entity.hospital.prescription;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * 咨询建议
 * @author huangwenjie
 * @date 2020/5/27 17:23
 */
@Entity
@Table(name = "wlyy_consult_advice")
public class WlyyConsultAdvice extends UuidIdentityEntity {
	
	private String adviceKey;
	private String adviceValue;
	private String adviceType;
	private String consult;
	
	
	@Column(name = "advice_key")
	public String getAdviceKey() {
		return adviceKey;
	}
	
	public void setAdviceKey(String adviceKey) {
		this.adviceKey = adviceKey;
	}
	
	@Column(name = "advice_value")
	public String getAdviceValue() {
		return adviceValue;
	}
	
	public void setAdviceValue(String adviceValue) {
		this.adviceValue = adviceValue;
	}
	@Column(name = "advice_type")
	public String getAdviceType() {
		return adviceType;
	}
	
	public void setAdviceType(String adviceType) {
		this.adviceType = adviceType;
	}
	
	public String getConsult() {
		return consult;
	}
	
	public void setConsult(String consult) {
		this.consult = consult;
	}
}

+ 5 - 2
common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java

@ -926,8 +926,11 @@ public class BaseHospitalRequestMapping {
        //医生端:发起/断开 会话小程序视频邀请
        public static final String videoInviteMiniProgram="videoInviteMiniProgram";
    
        //医生端:发送咨询建议消息
        public static final String sendOutPatientSuggestMsg = "sendOutPatientSuggestMsg";
        //医生端:发送咨询建议
        public static final String sendOutPatientSuggest = "sendOutPatientSuggest";
        
        //医生端:获取咨询建议
        public static final String getConsultSuggest = "getConsultSuggest";
    }

+ 21 - 22
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java

@ -718,31 +718,21 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
		return success("操作成功");
	}
	
	@PostMapping(value = BaseHospitalRequestMapping.DodtorIM.sendOutPatientSuggestMsg)
	@PostMapping(value = BaseHospitalRequestMapping.DodtorIM.sendOutPatientSuggest)
	@ApiOperation(value = "医生端:发送咨询建议消息", notes = "医生端:发送咨询建议消息")
	public Envelop sendOutPatientSuggestMsg(@ApiParam(name = "outPatientId", value = "门诊编号")
	                                            @RequestParam(value = "outPatientId", required = true)String outPatientId,
	                                        @ApiParam(name = "diagnosticAdvice", value = "诊断建议")
	                                            @RequestParam(value = "diagnosticAdvice", required = true)String diagnosticAdvice,
	                                        @ApiParam(name = "treatmentAdvice", value = "治疗建议")
	                                            @RequestParam(value = "treatmentAdvice", required = true)String treatmentAdvice,
	                                        @ApiParam(name = "adjust", value = "0调整 1已调整,非必填,默认为0")
	                                            @RequestParam(value = "treatmentAdvice", required = false)String adjust
	public Envelop sendOutPatientSuggest(@ApiParam(name = "adviceJson", value = "咨询建议JSON")
	                                     @RequestParam(value = "adviceJson", required = true)String adviceJson,
	                                     @ApiParam(name = "session_id", value = "咨询sessionid")
	                                     @RequestParam(value = "session_id", required = true)String session_id,
	                                     @ApiParam(name = "doctor", value = "医生CODE")
	                                         @RequestParam(value = "doctor", required = true)String doctor,
	                                     @ApiParam(name = "doctorName", value = "")
	                                         @RequestParam(value = "doctorName", required = true)String doctorName
                                      
	)throws Exception  {
		try {
			com.alibaba.fastjson.JSONObject msgObj = new com.alibaba.fastjson.JSONObject();
			WlyyOutpatientDO wlyyOutpatientDO = outpatientDao.findOne(outPatientId);
			
			if(StringUtils.isBlank(adjust)){
				adjust = "0";
			}
			
			msgObj.put("adjust",adjust);//0调整 1已调整,非必填,默认为0
			msgObj.put("diagnosticAdvice",diagnosticAdvice);//诊断建议
			msgObj.put("treatmentAdvice",treatmentAdvice);//治疗建议
			msgObj.put("outPatientId",outPatientId);
			
			String immsg = imService.sendOutPatientSuggestMsg(msgObj,wlyyOutpatientDO.getDoctor(),wlyyOutpatientDO.getDoctorName(),outPatientId,wlyyOutpatientDO.getPatient(),wlyyOutpatientDO.getOutpatientType());
			prescriptionService.sendOutPatientSuggest(adviceJson);
			String immsg = imService.sendOutPatientSuggestMsg(adviceJson,doctor,doctorName,session_id);
			System.out.println("发送咨询建议消息成功:"+immsg);
		}catch (Exception e){
			System.out.println("发送咨询建议消息失败:"+e.getMessage());
@ -750,5 +740,14 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
		}
		return success("操作成功");
	}
	
	@PostMapping(value = BaseHospitalRequestMapping.DodtorIM.getConsultSuggest)
	@ApiOperation(value = "医生端:发送咨询建议消息", notes = "医生端:发送咨询建议消息")
	public Envelop getConsultSuggest(@ApiParam(name = "consultcode", value = "咨询CODE")
	                                     @RequestParam(value = "consultcode", required = true)String consultcode
	
	)throws Exception  {
		return success("操作成功",prescriptionService.getConsultSuggest(consultcode));
	}
}