浏览代码

代码修改

yeshijie 8 年之前
父节点
当前提交
243eb60918

+ 29 - 3
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java

@ -1,5 +1,6 @@
package com.yihu.wlyy.service.app.sign;
import com.yihu.wlyy.entity.consult.Consult;
import com.yihu.wlyy.entity.consult.ConsultTeam;
import com.yihu.wlyy.entity.doctor.OperatorLog;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
@ -13,6 +14,7 @@ import com.yihu.wlyy.entity.message.Message;
import com.yihu.wlyy.entity.organization.Hospital;
import com.yihu.wlyy.entity.patient.*;
import com.yihu.wlyy.logs.BusinessLogs;
import com.yihu.wlyy.repository.consult.ConsultDao;
import com.yihu.wlyy.repository.consult.ConsultTeamDao;
import com.yihu.wlyy.repository.dict.SystemDictDao;
import com.yihu.wlyy.repository.doctor.*;
@ -117,7 +119,8 @@ public class FamilyContractService extends BaseService {
    private OperatorLogDao operatorLogDao;
    @Autowired
    private WeiXinOpenIdUtils weiXinOpenIdUtils;
    @Autowired
    private ConsultDao consultDao;
    @Autowired
    private SignFamilyRenewDao signFamilyRenewDao;
@ -2602,7 +2605,8 @@ public class FamilyContractService extends BaseService {
        JSONObject result = new JSONObject();
        Map<String, JSONObject> docMap = new HashMap<>();
        SignFamily ssSign = signFamilyDao.findSignByPatient(patient, 1);
        SignFamily jtSign = signFamilyDao.findByTeamCode(infos[1]);
//        SignFamily jtSign = signFamilyDao.findByTeamCode(infos[1]);
        SignFamily jtSign = getSignFamilyBySessionId(sessionId,infos[0]);
        if (ssSign != null) {
            DoctorTeamMember member = doctorTeamDoctor.findSanshiByTeamAndType(ssSign.getTeamCode(), 1);
            if (member != null) {
@ -2669,7 +2673,8 @@ public class FamilyContractService extends BaseService {
        JSONObject result = new JSONObject();
        Map<String, JSONObject> docMap = new HashMap<>();
        SignFamily ssSign = signFamilyDao.findSignByPatient(infos[0], 1);
        SignFamily jtSign = signFamilyDao.findByTeamCode(infos[1]);
//        SignFamily jtSign = signFamilyDao.findByTeamCode(infos[1]);
        SignFamily jtSign = getSignFamilyBySessionId(sessionId,infos[0]);
        JSONObject ssArray = new JSONObject();
        JSONObject jtArray = new JSONObject();
        if (ssSign != null) {
@ -2697,6 +2702,27 @@ public class FamilyContractService extends BaseService {
        return result;
    }
    /**
     * 根据会话id查询 家庭签约信息
     * @param sessionId
     * @param patient
     * @return
     */
    public SignFamily getSignFamilyBySessionId(String sessionId,String patient){
        SignFamily signFamily = null;
        String sql = "select id from " + SystemConf.getInstance().getImDataBaseName() + ".topics where  session_id = '"+sessionId+"' order by create_time desc limit 0, 1";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        if(list!=null&&list.size()>0){
            String consultCode = list.get(0).get("id").toString();
            signFamily = signFamilyDao.findByPatient(patient);
            Consult consult = consultDao.findByCode(consultCode);
            if(signFamily==null||signFamily.getApplyDate().getTime()-consult.getCzrq().getTime()>0){
                signFamily = signFamilyDao.findOutTimeSigningByPatient(patient);
            }
        }
        return signFamily;
    }
    /**
     * 查询患者对应医生

+ 15 - 11
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/SignWebService.java

@ -1,7 +1,6 @@
package com.yihu.wlyy.service.app.sign;
import com.yihu.wlyy.entity.consult.Consult;
import com.yihu.wlyy.entity.consult.ConsultTeam;
import com.yihu.wlyy.entity.dict.SystemDict;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.doctor.team.admin.AdminTeam;
@ -548,7 +547,7 @@ public class SignWebService extends BaseService {
     * @param code
     * @return
     */
    public JSONObject getConsultSignInfoOrRenewInfo(String teamCode, String code,String patient,String consultCode) {
    public JSONObject getConsultSignInfoOrRenewInfo(String teamCode, String code,String patient,String consultCode,Integer status) {
        //签约或续签参数
        String patientCode = null;
@ -560,18 +559,23 @@ public class SignWebService extends BaseService {
        if (renews == null || renews.size() == 0) {
            //再查找签约表记录
            SignFamily signFamily = signFamilyDao.findByPatient(patient);
            Consult consult = consultDao.findByCode(consultCode);
            if(signFamily==null||signFamily.getApplyDate().getTime()-consult.getCzrq().getTime()>0){
                ConsultTeam consultTeam = consultTeamDao.findByConsult(consultCode);
                if(consultTeam.getTeam()==null){
                    throw new RuntimeException("找不到签约关系!");
            SignFamily signFamily = null;
            if(consultCode==null){
                if(status==1){
                    signFamily = signFamilyDao.findByPatientCodeStatus(patient,status);
                }else {
                    signFamily = signFamilyDao.findOutTimeSigningByPatient(patient);
                }
                signFamily = signFamilyDao.findOutTimeSigningByPatientAndTeamCode(patient,consultTeam.getTeam());
                if(signFamily==null){
                    throw new RuntimeException("找不到签约关系!");
            }else {
                signFamily = signFamilyDao.findByPatient(patient);
                Consult consult = consultDao.findByCode(consultCode);
                if(signFamily==null||signFamily.getApplyDate().getTime()-consult.getCzrq().getTime()>0){
                    signFamily = signFamilyDao.findOutTimeSigningByPatient(patient);
                }
            }
            if(signFamily==null){
                throw new RuntimeException("找不到签约关系!");
            }
            patientCode = signFamily.getPatient();
            adminTeamId = signFamily.getAdminTeamId();
            doctorHealth = signFamily.getDoctorHealth();

+ 1 - 0
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultController.java

@ -284,6 +284,7 @@ public class ConsultController extends WeixinBaseController {
                    return error(-1, "还有咨询未结束,不允许再次提交咨询!");
                }
            } catch (Exception e) {
                error(e);
                return error(-1, e.getMessage());
            }
            if (StringUtils.isEmpty(images)) {

+ 4 - 2
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/sign/PatientSignController.java

@ -267,9 +267,11 @@ public class PatientSignController extends BaseController {
	@ResponseBody
	@ApiOperation(value = "获取咨询的服务团队")
	public String consult_sign_doctor(@RequestParam(required = true,value = "team")String teamCode,
									  @RequestParam(required = true)String code,@RequestParam(required = true)String consult){
									  @RequestParam(required = true)String code,
                                      @RequestParam(required = false)String consult,
                                      @RequestParam(required = false)Integer status){
		try{
			JSONObject resultObj =  signWebService.getConsultSignInfoOrRenewInfo(teamCode,code,getRepUID(),consult);
			JSONObject resultObj =  signWebService.getConsultSignInfoOrRenewInfo(teamCode,code,getRepUID(),consult,status);
			return write(200, "查询成功!", "data", resultObj);
		}catch (Exception e){
			error(e);