|
@ -1043,7 +1043,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
|
|
|
//查找居民当天挂号记录
|
|
|
String date = DateUtil.dateToStr(new Date(),"yyyy-MM-dd");
|
|
|
List<WlyyPatientRegisterDO> patientRegisterDOs = patientRegisterDao.findByPatientAndDate(outpatientDO.getPatient(),date);
|
|
|
List<WlyyPatientRegisterDO> patientRegisterDOs = patientRegisterDao.findByPatientAndDateAndDoctor(outpatientDO.getPatient(),date,doctor);
|
|
|
if(patientRegisterDOs!=null&&patientRegisterDOs.size()>0){
|
|
|
WlyyPatientRegisterDO registerDO = patientRegisterDOs.get(0);
|
|
|
//判断是否已经挂号,如果已经挂号
|
|
@ -1081,8 +1081,15 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
|
|
|
//存储就诊记录
|
|
|
WlyyPatientRegisterDO registerDO = new WlyyPatientRegisterDO();
|
|
|
// 存储挂号医生与挂号科室
|
|
|
registerDO.setDoctor(outpatientDO.getDoctor());
|
|
|
registerDO.setDoctorName(outpatientDO.getDoctorName());
|
|
|
registerDO.setDept(outpatientDO.getDept());
|
|
|
registerDO.setDeptName(outpatientDO.getDeptName());
|
|
|
|
|
|
registerDO.setPatient(outpatientDO.getPatient());
|
|
|
registerDO.setPatientName(outpatientDO.getPatientName());
|
|
|
//挂号流水号与挂号次数
|
|
|
registerDO.setRegisterNo(serialNo);
|
|
|
registerDO.setConNo(conNo);
|
|
|
registerDO.setCreateTime(new Date());
|
|
@ -1100,6 +1107,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
|
|
|
//存储就诊记录
|
|
|
WlyyPatientRegisterDO registerDO = new WlyyPatientRegisterDO();
|
|
|
|
|
|
registerDO.setDoctor(outpatientDO.getDoctor());
|
|
|
registerDO.setDoctorName(outpatientDO.getDoctorName());
|
|
|
registerDO.setDept(outpatientDO.getDept());
|
|
|
registerDO.setDeptName(outpatientDO.getDeptName());
|
|
|
|
|
|
registerDO.setPatient(outpatientDO.getPatient());
|
|
|
registerDO.setPatientName(outpatientDO.getPatientName());
|
|
|
registerDO.setRegisterNo(serialNo);
|
|
@ -1260,8 +1273,10 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
|
|
|
//获取门诊记录
|
|
|
WlyyOutpatientDO outpatientDO = outpatientDao.findOne(outPatientId);
|
|
|
//设置医嘱
|
|
|
outpatientDO.setAdvice(advice);
|
|
|
|
|
|
//========================处方操作=============================================================
|
|
|
//创建处方记录
|
|
|
List<WlyyPrescriptionDO> prescriptionDOs = prescriptionDao.findByOutpatientId(outPatientId);
|
|
|
WlyyPrescriptionDO prescriptionDO = null;
|
|
@ -1279,10 +1294,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
prescriptionDO.setDoctorName(outpatientDO.getDoctorName());
|
|
|
WlyyPrescriptionDO prescription = prescriptionDao.save(prescriptionDO);
|
|
|
|
|
|
//========================处方操作结束=============================================================
|
|
|
|
|
|
//加入处方状态变更流水日志
|
|
|
prescriptionLogService.addPrescriptionLog(prescription.getId(),10,2,outpatientDO.getDoctor(),outpatientDO.getDoctorName(),"",new Date());
|
|
|
|
|
|
//下诊断
|
|
|
//============================下诊断==============================================================
|
|
|
//删除之前诊断
|
|
|
List<WlyyPrescriptionDiagnosisDO> ds = prescriptionDiagnosisDao.findByPrescriptionId(prescription.getId());
|
|
|
if(ds!=null&&ds.size()>0){
|
|
@ -1304,11 +1321,13 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
}
|
|
|
prescriptionDiagnosisDao.save(diagnosisDOs);
|
|
|
|
|
|
//存储icd10
|
|
|
Icd10 = Icd10.substring(0,Icd10.length()-1);
|
|
|
Icd10Name = Icd10Name.substring(0,Icd10Name.length()-1);
|
|
|
outpatientDO.setIcd10(Icd10);
|
|
|
outpatientDO.setIcd10Name(Icd10Name);
|
|
|
outpatientDao.save(outpatientDO);
|
|
|
//============================下诊断end==============================================================
|
|
|
|
|
|
//判断是否有检查检验或药品开方
|
|
|
if("1".equals(type)){
|
|
@ -1319,15 +1338,16 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
throw new RuntimeException("未找到医生映射信息");
|
|
|
}
|
|
|
|
|
|
//删除原有药品信息
|
|
|
//his处方拼接开方条件
|
|
|
com.alibaba.fastjson.JSONArray jsonData = new com.alibaba.fastjson.JSONArray();
|
|
|
|
|
|
//===================药品操作======================================================
|
|
|
// 删除原有药品信息
|
|
|
List<WlyyPrescriptionInfoDO> oldInfos = prescriptionInfoDao.findByPrescriptionId(prescription.getId());
|
|
|
if(oldInfos!=null&&oldInfos.size()>0){
|
|
|
prescriptionInfoDao.delete(oldInfos);
|
|
|
}
|
|
|
|
|
|
//his处方拼接开方条件
|
|
|
com.alibaba.fastjson.JSONArray jsonData = new com.alibaba.fastjson.JSONArray();
|
|
|
|
|
|
//存储药品,构建his开方入参
|
|
|
if(StringUtils.isNotBlank(infoJsons)){
|
|
|
//药品
|
|
@ -1340,16 +1360,20 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
//设置his药品查询条件
|
|
|
setInfoJsonParam(jsonData,doctorMappingDO,outpatientDO,prescriptionDO,info,Icd10);
|
|
|
}
|
|
|
//保存处方
|
|
|
//保存药品信息
|
|
|
prescriptionInfoDao.save(infoDOs);
|
|
|
}
|
|
|
//=====================药品操作=======================================================================
|
|
|
|
|
|
|
|
|
//=====================检查检验=======================================================================
|
|
|
//存储检查检验,构建his开方入参
|
|
|
//删除之前检查检验
|
|
|
List<WlyyInspectionDO> inspectionDels = wlyyInspectionDao.findByOutpatientId(outPatientId);
|
|
|
if(inspectionDels!=null&&inspectionDels.size()>0){
|
|
|
wlyyInspectionDao.delete(inspectionDels);
|
|
|
}
|
|
|
//存储检查检验,构建his开方入参
|
|
|
|
|
|
if(StringUtils.isNotBlank(inspectionJson)){
|
|
|
List<WlyyInspectionDO> inspections = (List<WlyyInspectionDO>) com.alibaba.fastjson.JSONArray.parseArray(inspectionJson, WlyyInspectionDO.class);
|
|
|
for(WlyyInspectionDO ins:inspections){
|
|
@ -1364,11 +1388,13 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
//保存检查检验。
|
|
|
wlyyInspectionDao.save(inspections);
|
|
|
}
|
|
|
//=====================检查检验=======================================================================
|
|
|
|
|
|
//上传his开方
|
|
|
return sendHisDiagnosis(jsonData,outpatientDO,prescription);
|
|
|
|
|
|
}else{
|
|
|
//
|
|
|
|
|
|
outpatientDO.setStatus("2");
|
|
|
outpatientDao.save(outpatientDO);
|
|
|
result.put("code",1);
|