浏览代码

Merge branch 'dev' of wangjun/wlyy2.0 into dev

wangzhinan 4 年之前
父节点
当前提交
fe3317afa9

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

@ -8577,25 +8577,4 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    public void updateHisStatusByOutpatientId(String outpatientId){
        outpatientDao.updateHisStatusById(outpatientId,1);
    }
    //调用天际合理用药审方接口
    public String checkPrescriptionTJ(String prescriptionId){
        String doctor="";
        String patient="";
        List<WlyyPrescriptionInfoDO> infos = new ArrayList<>();
        List<WlyyPrescriptionDiagnosisDO> diagnosisDOS = new ArrayList<>();
        WlyyPrescriptionDO wlyyPrescriptionDO = prescriptionDao.findOne(prescriptionId);
        if (null!=wlyyPrescriptionDO){
            doctor = wlyyPrescriptionDO.getDoctor();
            patient = wlyyPrescriptionDO.getPatientCode();
            infos = prescriptionInfoDao.findByPrescriptionId(prescriptionId,1);
            diagnosisDOS = prescriptionDiagnosisDao.findByPrescriptionId(prescriptionId,1);
        }
        String res = "";
        try {
            res= xzzxEntranceService.checkInputInfo(doctor,patient,infos,diagnosisDOS);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return  res;
    }
}

+ 21 - 13
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/XzzxEntranceService.java

@ -2874,11 +2874,21 @@ public Map checkSyncHis(String IoFlag,String PayCardNo,String NullahNumber,Strin
        return map;
    }
    //组装审药参数
    public String checkInputInfo(String doctorId,String patientId,List<WlyyPrescriptionInfoDO> infos,List<WlyyPrescriptionDiagnosisDO> wlyyPrescriptionDiagnosisDOS ) throws Exception{
    //组装审药参数并发送到entrance
    public String checkInputInfo(String prescriptionId) throws Exception{
        JSONObject jsonObject = new JSONObject();
        DoctorMappingDO doctorMappingDO = doctorMappingDao.findByDoctor(doctorId);
        BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(doctorId);
        //药品信息
        List<WlyyPrescriptionInfoDO> infos = new ArrayList<>();
        //诊断信息
        List<WlyyPrescriptionDiagnosisDO> diagnosisDOS = new ArrayList<>();
        //先查询处方获得支付方式
        WlyyPrescriptionDO prescriptionDO = prescriptionDao.findOne(prescriptionId);
        if (null!=prescriptionDO){
            infos = prescriptionInfoDao.findByPrescriptionId(prescriptionId,1);
            diagnosisDOS = prescriptionDiagnosisDao.findByPrescriptionId(prescriptionId,1);
        }
        DoctorMappingDO doctorMappingDO = doctorMappingDao.findByDoctor(prescriptionDO.getDoctor());
        BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(prescriptionDO.getDoctor());
        jsonObject.put("DOCTOR_NAME", baseDoctorDO.getName());
        jsonObject.put("DEPT_CODE", baseDoctorDO.getVisitDept());
        jsonObject.put("DEPT_NAME", baseDoctorDO.getVisitDeptName());
@ -2886,8 +2896,8 @@ public Map checkSyncHis(String IoFlag,String PayCardNo,String NullahNumber,Strin
            jsonObject.put("doctorId", doctorMappingDO.getMappingCode());
            jsonObject.put("POSITION", baseDoctorDO.getJobTitleName());
        }
        PatientMappingDO patientMappingDO = patientMappingDao.findByPatient(patientId);
        BasePatientDO basePatientDO = patientDao.findById(patientId);
        PatientMappingDO patientMappingDO = patientMappingDao.findByPatient(prescriptionDO.getPatientCode());
        BasePatientDO basePatientDO = patientDao.findById(prescriptionDO.getPatientCode());
        jsonObject.put("patientName", basePatientDO.getName());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        if (null != patientMappingDO && null != basePatientDO) {
@ -2896,17 +2906,15 @@ public Map checkSyncHis(String IoFlag,String PayCardNo,String NullahNumber,Strin
            jsonObject.put("birth", sdf.format(basePatientDO.getBirthday()));
        }
        if (null!=infos&&infos.size()>0) {
            WlyyPrescriptionInfoDO wlyyPrescriptionInfoDO = infos.get(0);
            WlyyPrescriptionDO prescriptionDO = prescriptionDao.findOne(wlyyPrescriptionInfoDO.getPrescriptionId());
            if (null != prescriptionDO) {
                jsonObject.put("PATIENT_PRES_ID", prescriptionDO.getId());
                jsonObject.put("FEE_TYPE", prescriptionDO.getPayType() == 1 ? "医保" : "自费");
                jsonObject.put("createDate", sdf.format(prescriptionDO.getCreateTime()));
            }
            //组装诊断参数
            if (null != wlyyPrescriptionDiagnosisDOS && wlyyPrescriptionDiagnosisDOS.size() > 0) {
            if (null != diagnosisDOS && diagnosisDOS.size() > 0) {
                List diagnosises = new ArrayList();
                for (WlyyPrescriptionDiagnosisDO wlyyPrescriptionDiagnosisDO : wlyyPrescriptionDiagnosisDOS) {
                for (WlyyPrescriptionDiagnosisDO wlyyPrescriptionDiagnosisDO : diagnosisDOS) {
                    diagnosises.add(wlyyPrescriptionDiagnosisDO.getName());
                }
                jsonObject.put("diagnosises", diagnosises.toArray());
@ -2926,7 +2934,7 @@ public Map checkSyncHis(String IoFlag,String PayCardNo,String NullahNumber,Strin
                    List<Map<String,Object>> returnList = transXmlCommen(obj);
                    returnJson = JSONArray.toJSONString(returnList);
                    logger.info("返回到互联网医院的解析后的结果:"+returnJson);
                    wlyyHttpLogDO.setDoctor(doctorId);
                    wlyyHttpLogDO.setDoctor(prescriptionDO.getDoctor());
                    wlyyHttpLogDO.setCreateTime(new Date());
                    wlyyHttpLogDO.setRequest(infos + jsonObject.toString());
                    wlyyHttpLogDO.setResponse(returnJson);
@ -2935,7 +2943,7 @@ public Map checkSyncHis(String IoFlag,String PayCardNo,String NullahNumber,Strin
                    returnJson = "审方返回接口为空请检查参数是否正确";
                    logger.info(returnJson);
                    wlyyHttpLogDO.setCode("error");
                    wlyyHttpLogDO.setDoctor(doctorId);
                    wlyyHttpLogDO.setDoctor(prescriptionDO.getDoctor());
                    wlyyHttpLogDO.setCreateTime(new Date());
                    wlyyHttpLogDO.setRequest(infos + jsonObject.toString());
                    wlyyHttpLogDO.setResponse(returnJson);
@ -2944,7 +2952,7 @@ public Map checkSyncHis(String IoFlag,String PayCardNo,String NullahNumber,Strin
            } else {
                returnJson = "entranceUrl接口调用失败";
                wlyyHttpLogDO.setCode("error");
                wlyyHttpLogDO.setDoctor(doctorId);
                wlyyHttpLogDO.setDoctor(prescriptionDO.getDoctor());
                wlyyHttpLogDO.setCreateTime(new Date());
                wlyyHttpLogDO.setRequest(infos + jsonObject.toString());
                wlyyHttpLogDO.setResponse(returnJson);

+ 1 - 1
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

@ -2093,6 +2093,6 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
    public Envelop xzzxCheckInfo(
            @ApiParam(name = "prescriptionId", value = "处方id")
            @RequestParam(value = "prescriptionId",defaultValue = "") String prescriptionId) throws Exception {
        return success(prescriptionService.checkPrescriptionTJ(prescriptionId));
        return success(xzzxEntranceService.checkInputInfo(prescriptionId));
    }
}