|
@ -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);
|