瀏覽代碼

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

yeshijie 7 年之前
父節點
當前提交
54b700c0a7

+ 50 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultTeamService.java

@ -139,6 +139,10 @@ public class ConsultTeamService extends ConsultService {
    private PresModeAdapter presModeAdapter;
    @Autowired
    private ZyDictService zyDictService;
    //健康问题 高血压
    private static final String gxy = "HP0093";
    //健康问题 糖尿病
    private static final String tnb ="HP0047";
    Map<Integer, String> relations = new HashMap<>();
@ -159,6 +163,52 @@ public class ConsultTeamService extends ConsultService {
        relations.put(7, "未知");
    }
    /**
     * 处方判断
     * @param patient
     * @return
     * @throws Exception
     */
    public JSONObject isPrescriptConsult(String patient) throws Exception{
        JSONObject json = new JSONObject();
        SignFamily signFamily = signFamilyDao.findByPatient(patient);
        if(signFamily==null){
            json.put("msg","您还未签约,不能发起续方咨询");
            return json;
        }
        //点击后判断,如果用户当前存在可申请续方的处方记录,则进入续方申请流程,若不存在可续方记录,alert“当前没有可以申请续方的处方记录”
        int num = 0;
        Patient p = patientDao.findByCode(patient);
        String rp= jwPrescriptionService.getLastRecipe(p.getSsc(),null,null,null);
        com.alibaba.fastjson.JSONArray pres =presModeAdapter.modeToPrescription(rp);
        Iterator iterator = pres.iterator();
        while (iterator.hasNext()){
            com.alibaba.fastjson.JSONObject r = ( com.alibaba.fastjson.JSONObject)iterator.next();
            com.alibaba.fastjson.JSONArray des = r.getJSONArray("prescriptionDt");
            for(int i=0 ;i<des.size();i++){
                PrescriptionDiagnosis ds = des.getObject(i,PrescriptionDiagnosis.class);
                if(gxy.equals(ds.getHealthProblem())||tnb.equals(ds.getHealthProblem())){
                    //为糖尿病高血压
                    num++;
                    break;
                }
            }
        }
        if(num==0){
            json.put("msg","当前没有可以申请续方的处方记录");
            return json;
        }
        Doctor doctor = doctorDao.findByAdminTeamId(signFamily.getAdminTeamId());
        json.put("doctor",doctor.getCode());
        json.put("doctorName",doctor.getName());
        json.put("adminTeamId",signFamily.getAdminTeamId());
        json.put("hospital",doctor.getHospital());
        json.put("hospitalName",doctor.getHospitalName());
        return json;
    }
    /**
     * 查询患者是否还有未结束的三师咨询
     *

+ 2 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionInfoService.java

@ -32,7 +32,6 @@ import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.lang.reflect.Array;
import java.util.*;
/**
@ -363,7 +362,7 @@ public class PrescriptionInfoService extends BaseService {
            int st = respone.getInteger("status");
            com.alibaba.fastjson.JSONObject data = respone.getJSONObject("data");
            String code = data.getString("CODE");
            com.alibaba.fastjson.JSONObject byRefParaData = (com.alibaba.fastjson.JSONObject)data.getJSONObject("byRefParaData");
            com.alibaba.fastjson.JSONArray byRefParaData = data.getJSONArray("byRefParaData");
            if(st==200&&"1".equals(code)&&data.getJSONArray("returnData").size()>0){
                //开方成功返回遗嘱号
                com.alibaba.fastjson.JSONArray returnDatas = data.getJSONArray("returnData");
@ -374,7 +373,7 @@ public class PrescriptionInfoService extends BaseService {
                return 1;
            }else{
                p.setStatus(PrescriptionLog.PrescriptionLogStatus.add_error.getValue());
                p.setPrescribeReason((String)byRefParaData.get("errorMsg"));
                p.setPrescribeReason(byRefParaData.getJSONObject(0).getString("errorMsg"));
                p.setPrescribeTime(new Date());
                prescriptionDao.save(p);
                return 0;

+ 2 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionService.java

@ -3,7 +3,6 @@ package com.yihu.wlyy.service.app.prescription;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.entity.doctor.DoctorMapping;
import com.yihu.wlyy.entity.doctor.team.sign.DoctorTeam;
import com.yihu.wlyy.entity.message.Message;
import com.yihu.wlyy.entity.patient.Patient;
@ -88,10 +87,10 @@ public class PrescriptionService extends BaseService {
                //自取
                Patient patient = patientDao.findByCode(prescription.getPatient());
                try {
                    String dispensaryCode = prescriptionDispensaryCodeDao.getCodeByPrescriptionCodeAndType(code,1);
//                    String dispensaryCode = prescriptionDispensaryCodeDao.getCodeByPrescriptionCodeAndType(code,1);
                    StringBuffer url = new StringBuffer();
                    url.append(wechat_base_url);
                    url.append("wx/prescription/html/code-detail.html?dispensaryCode=").append(dispensaryCode);
                    url.append("wx/prescription/html/code-detail.html?prescriptionCode=").append(code);
                    url.append("&openid=").append(patient.getOpenid());
                    url.append("&toUser=").append(patient.getCode());
                    url.append("&toName=").append(patient.getName());

+ 3 - 17
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultController.java

@ -6,7 +6,6 @@ import com.yihu.wlyy.entity.consult.ConsultTeam;
import com.yihu.wlyy.entity.consult.ConsultTeamLog;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.entity.patient.prescription.Prescription;
import com.yihu.wlyy.logs.BusinessLogs;
import com.yihu.wlyy.repository.consult.ConsultDao;
@ -964,24 +963,11 @@ public class ConsultController extends WeixinBaseController {
    @ApiOperation("是否可以续方咨询")
    public String isPrescriptConsult(@ApiParam(name = "patient", value = "居民code") @RequestParam(value = "patient", required = true)String patient){
        try{
            SignFamily signFamily = signFamilyDao.findByPatient(patient);
            if(signFamily==null){
                return error(-1,"您还未签约,不能发起续方咨询!");
            JSONObject json = consultTeamService.isPrescriptConsult(patient);
            if(json.has("msg")){
                return error(-1,json.getString("msg"));
            }
            //点击后判断,如果用户当前存在可申请续方的处方记录,则进入续方申请流程,若不存在可续方记录,alert“当前没有可以申请续方的处方记录”
            Doctor doctor = doctorDao.findByAdminTeamId(signFamily.getAdminTeamId());
            JSONObject json = new JSONObject();
            json.put("doctor",doctor.getCode());
            json.put("doctorName",doctor.getName());
            json.put("adminTeamId",signFamily.getAdminTeamId());
            json.put("hospital",doctor.getHospital());
            json.put("hospitalName",doctor.getHospitalName());
            return write(200, "查询成功!", "data", json);
        }catch (Exception e){
            error(e);
            return error(-1,"查询失败");