|
@ -106,10 +106,12 @@ public class SynchronizePatientService {
|
|
String hisPid = infoDO.getHisPid();//his居民id
|
|
String hisPid = infoDO.getHisPid();//his居民id
|
|
|
|
|
|
JSONArray cardList = null;
|
|
JSONArray cardList = null;
|
|
|
|
if(StringUtils.isBlank(hisPid)){
|
|
|
|
cardList = dsyyPrescriptionService.findCardNo(idcard);
|
|
|
|
}
|
|
BasePatientDO patient = null;
|
|
BasePatientDO patient = null;
|
|
if(StringUtils.isBlank(infoDO.getPatient())){
|
|
if(StringUtils.isBlank(infoDO.getPatient())){
|
|
List<BasePatientDO> patientList = patientDao.getPatientByIdcard(idcard);//获取患者信息
|
|
List<BasePatientDO> patientList = patientDao.getPatientByIdcard(idcard);//获取患者信息
|
|
cardList = dsyyPrescriptionService.findCardNo(idcard);
|
|
|
|
if (patientList.size() == 0) {
|
|
if (patientList.size() == 0) {
|
|
//未找到居民,从his视图添加居民
|
|
//未找到居民,从his视图添加居民
|
|
patient = dsyyPrescriptionService.addPaitentByIdcard(cardList,idcard,name);
|
|
patient = dsyyPrescriptionService.addPaitentByIdcard(cardList,idcard,name);
|
|
@ -147,33 +149,35 @@ public class SynchronizePatientService {
|
|
JSONObject jaMzbl = new JSONObject();
|
|
JSONObject jaMzbl = new JSONObject();
|
|
JSONObject jaCy = new JSONObject();
|
|
JSONObject jaCy = new JSONObject();
|
|
String eventType = infoDO.getEventType();//1门诊 2住院
|
|
String eventType = infoDO.getEventType();//1门诊 2住院
|
|
|
|
boolean eventTypeFlag = true;
|
|
try {
|
|
try {
|
|
if(StringUtils.isBlank(eventType)){
|
|
|
|
|
|
if(StringUtils.isBlank(hisPid)){
|
|
for (int i=0;i<cardList.size();i++){
|
|
for (int i=0;i<cardList.size();i++){
|
|
JSONObject tmp = cardList.getJSONObject(i);
|
|
JSONObject tmp = cardList.getJSONObject(i);
|
|
String SICK_ID = tmp.getString("SICK_ID");
|
|
String SICK_ID = tmp.getString("SICK_ID");
|
|
String CARD_NO = tmp.getString("CARD_NO");
|
|
String CARD_NO = tmp.getString("CARD_NO");
|
|
String LXDH = tmp.getString("LXDH");
|
|
String LXDH = tmp.getString("LXDH");
|
|
//门诊病历
|
|
//门诊病历
|
|
if(StringUtils.isBlank(eventType)){
|
|
|
|
|
|
if("1".equals(eventType)){
|
|
String mzbl = dsyyPrescriptionService.selectReportInfo("JHIDS-USD-HLWMZBL-014",SICK_ID,conNo,1,1);
|
|
String mzbl = dsyyPrescriptionService.selectReportInfo("JHIDS-USD-HLWMZBL-014",SICK_ID,conNo,1,1);
|
|
if(StringUtils.isNotBlank(mzbl)&&!"[]".equals(mzbl)){
|
|
if(StringUtils.isNotBlank(mzbl)&&!"[]".equals(mzbl)){
|
|
jaMzbl = JSONArray.parseArray(mzbl).getJSONObject(0);
|
|
jaMzbl = JSONArray.parseArray(mzbl).getJSONObject(0);
|
|
eventType = "1";
|
|
|
|
hisPid = SICK_ID;
|
|
hisPid = SICK_ID;
|
|
ssc = CARD_NO;
|
|
ssc = CARD_NO;
|
|
mobile = LXDH;
|
|
mobile = LXDH;
|
|
|
|
eventTypeFlag = false;
|
|
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(StringUtils.isBlank(eventType)){
|
|
|
|
|
|
}else {
|
|
//出院小结
|
|
//出院小结
|
|
String cyxj = dsyyPrescriptionService.selectReportInfo("JHIDS-USD-HLWCYXJ-013",SICK_ID,conNo,1,1);
|
|
String cyxj = dsyyPrescriptionService.selectReportInfo("JHIDS-USD-HLWCYXJ-013",SICK_ID,conNo,1,1);
|
|
if(StringUtils.isNotBlank(cyxj)&&!"[]".equals(cyxj)){
|
|
if(StringUtils.isNotBlank(cyxj)&&!"[]".equals(cyxj)){
|
|
jaCy = JSONArray.parseArray(cyxj).getJSONObject(0);
|
|
jaCy = JSONArray.parseArray(cyxj).getJSONObject(0);
|
|
eventType = "2";
|
|
|
|
hisPid = SICK_ID;
|
|
hisPid = SICK_ID;
|
|
ssc = CARD_NO;
|
|
ssc = CARD_NO;
|
|
mobile = LXDH;
|
|
mobile = LXDH;
|
|
|
|
eventTypeFlag = false;
|
|
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@ -181,18 +185,20 @@ public class SynchronizePatientService {
|
|
String mzbl = dsyyPrescriptionService.selectReportInfo("JHIDS-USD-HLWMZBL-014",hisPid,conNo,1,1);
|
|
String mzbl = dsyyPrescriptionService.selectReportInfo("JHIDS-USD-HLWMZBL-014",hisPid,conNo,1,1);
|
|
if(StringUtils.isNotBlank(mzbl)&&!"[]".equals(mzbl)){
|
|
if(StringUtils.isNotBlank(mzbl)&&!"[]".equals(mzbl)){
|
|
jaMzbl = JSONArray.parseArray(mzbl).getJSONObject(0);
|
|
jaMzbl = JSONArray.parseArray(mzbl).getJSONObject(0);
|
|
|
|
eventTypeFlag = false;
|
|
}
|
|
}
|
|
}else if("2".equals(eventType)){
|
|
}else if("2".equals(eventType)){
|
|
String cyxj = dsyyPrescriptionService.selectReportInfo("JHIDS-USD-HLWCYXJ-013",hisPid,conNo,1,1);
|
|
String cyxj = dsyyPrescriptionService.selectReportInfo("JHIDS-USD-HLWCYXJ-013",hisPid,conNo,1,1);
|
|
if(StringUtils.isNotBlank(cyxj)&&!"[]".equals(cyxj)){
|
|
if(StringUtils.isNotBlank(cyxj)&&!"[]".equals(cyxj)){
|
|
jaCy = JSONArray.parseArray(cyxj).getJSONObject(0);
|
|
jaCy = JSONArray.parseArray(cyxj).getJSONObject(0);
|
|
|
|
eventTypeFlag = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}catch (Exception e){
|
|
}catch (Exception e){
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
return "获取患者无门诊病历/患者无出院小结失败";
|
|
return "获取患者无门诊病历/患者无出院小结失败";
|
|
}
|
|
}
|
|
if(StringUtils.isBlank(eventType)){
|
|
|
|
|
|
if(eventTypeFlag){
|
|
infoDO.setStatus(3);
|
|
infoDO.setStatus(3);
|
|
rehabilitationPatientInfoDao.save(infoDO);
|
|
rehabilitationPatientInfoDao.save(infoDO);
|
|
return "患者无门诊病历或患者无出院小结";
|
|
return "患者无门诊病历或患者无出院小结";
|
|
@ -203,8 +209,9 @@ public class SynchronizePatientService {
|
|
if(StringUtils.isNotBlank(mobile)){
|
|
if(StringUtils.isNotBlank(mobile)){
|
|
infoDO.setMobile(mobile);
|
|
infoDO.setMobile(mobile);
|
|
}
|
|
}
|
|
infoDO.setHisPid(hisPid);
|
|
|
|
infoDO.setEventType(eventType);
|
|
|
|
|
|
if(StringUtils.isNotBlank(hisPid)){
|
|
|
|
infoDO.setHisPid(hisPid);
|
|
|
|
}
|
|
|
|
|
|
String dept = "科室";
|
|
String dept = "科室";
|
|
String deptName = null;
|
|
String deptName = null;
|
|
@ -455,8 +462,6 @@ public class SynchronizePatientService {
|
|
//康复管理自动下转
|
|
//康复管理自动下转
|
|
public StringBuilder synchronizePation(String type) throws Exception {
|
|
public StringBuilder synchronizePation(String type) throws Exception {
|
|
StringBuilder results = new StringBuilder("居民下转\n");
|
|
StringBuilder results = new StringBuilder("居民下转\n");
|
|
Date nowDate = new Date();
|
|
|
|
// String preTimeStr = DateUtil.dateToStrShort(DateUtil.getPreDays(nowDate,-30));
|
|
|
|
String preTimeStr = DateUtil.getStringDateShort();
|
|
String preTimeStr = DateUtil.getStringDateShort();
|
|
String sql = "";
|
|
String sql = "";
|
|
if (StringUtils.isBlank(type)){//为空
|
|
if (StringUtils.isBlank(type)){//为空
|
|
@ -505,6 +510,13 @@ public class SynchronizePatientService {
|
|
String cardNo = json.getString("cardNo");
|
|
String cardNo = json.getString("cardNo");
|
|
String conNo = json.getString("conNo");//就诊次数
|
|
String conNo = json.getString("conNo");//就诊次数
|
|
String visitNo = json.getString("visitNo");//就诊号
|
|
String visitNo = json.getString("visitNo");//就诊号
|
|
|
|
String settle_mode = json.getString("settle_mode");//0表示门诊;1表示住院
|
|
|
|
if(StringUtils.isBlank(settle_mode)){
|
|
|
|
re.setStatus("-1");
|
|
|
|
basePatientDischargeRecordDao.save(re);
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
String eventType = "0".equals(settle_mode)?"1":"2";//1门诊 2住院
|
|
//创建下转记录表
|
|
//创建下转记录表
|
|
RehabilitationPatientInfoDO infoDO = rehabilitationPatientInfoDao.findByVisitNo(idcard,conNo,visitNo);
|
|
RehabilitationPatientInfoDO infoDO = rehabilitationPatientInfoDao.findByVisitNo(idcard,conNo,visitNo);
|
|
if(infoDO==null){
|
|
if(infoDO==null){
|
|
@ -518,6 +530,7 @@ public class SynchronizePatientService {
|
|
infoDO.setConNo(conNo);
|
|
infoDO.setConNo(conNo);
|
|
infoDO.setVisitNo(visitNo);
|
|
infoDO.setVisitNo(visitNo);
|
|
infoDO.setSignStatus(0);
|
|
infoDO.setSignStatus(0);
|
|
|
|
infoDO.setEventType(eventType);
|
|
infoDO.setCrzq(DateUtil.dateToStrLong(re.getCreateTime()));
|
|
infoDO.setCrzq(DateUtil.dateToStrLong(re.getCreateTime()));
|
|
infoDO.setDischargeRecordId(re.getId());
|
|
infoDO.setDischargeRecordId(re.getId());
|
|
rehabilitationPatientInfoDao.save(infoDO);
|
|
rehabilitationPatientInfoDao.save(infoDO);
|
|
@ -563,9 +576,7 @@ public class SynchronizePatientService {
|
|
patientDao.save(patient);
|
|
patientDao.save(patient);
|
|
}
|
|
}
|
|
infoDO.setSex(patient.getSex());
|
|
infoDO.setSex(patient.getSex());
|
|
// infoDO.setMobile(patient.getMobile());
|
|
|
|
infoDO.setPatient(patient.getId());
|
|
infoDO.setPatient(patient.getId());
|
|
infoDO.setIdcard(patient.getIdcard());
|
|
|
|
|
|
|
|
String ssc = null;
|
|
String ssc = null;
|
|
String mobile = null;
|
|
String mobile = null;
|
|
@ -574,7 +585,6 @@ public class SynchronizePatientService {
|
|
JSONObject jaMzbl = new JSONObject();
|
|
JSONObject jaMzbl = new JSONObject();
|
|
JSONObject jaCy = new JSONObject();
|
|
JSONObject jaCy = new JSONObject();
|
|
String hisPid = null;
|
|
String hisPid = null;
|
|
String eventType = "";//1门诊 2住院
|
|
|
|
try {
|
|
try {
|
|
for (int i=0;i<cardList.size();i++){
|
|
for (int i=0;i<cardList.size();i++){
|
|
JSONObject tmp = cardList.getJSONObject(i);
|
|
JSONObject tmp = cardList.getJSONObject(i);
|
|
@ -582,26 +592,25 @@ public class SynchronizePatientService {
|
|
String CARD_NO = tmp.getString("CARD_NO");
|
|
String CARD_NO = tmp.getString("CARD_NO");
|
|
String LXDH = tmp.getString("LXDH");
|
|
String LXDH = tmp.getString("LXDH");
|
|
//门诊病历
|
|
//门诊病历
|
|
if(StringUtils.isBlank(eventType)){
|
|
|
|
|
|
if("1".equals(eventType)){
|
|
String mzbl = dsyyPrescriptionService.selectReportInfo("JHIDS-USD-HLWMZBL-014",SICK_ID,conNo,1,1);
|
|
String mzbl = dsyyPrescriptionService.selectReportInfo("JHIDS-USD-HLWMZBL-014",SICK_ID,conNo,1,1);
|
|
if(StringUtils.isNotBlank(mzbl)&&!"[]".equals(mzbl)){
|
|
if(StringUtils.isNotBlank(mzbl)&&!"[]".equals(mzbl)){
|
|
jaMzbl = JSONArray.parseArray(mzbl).getJSONObject(0);
|
|
jaMzbl = JSONArray.parseArray(mzbl).getJSONObject(0);
|
|
//判断门诊病历是否下转当天的数据
|
|
//判断门诊病历是否下转当天的数据
|
|
eventType = "1";
|
|
|
|
hisPid = SICK_ID;
|
|
hisPid = SICK_ID;
|
|
ssc = CARD_NO;
|
|
ssc = CARD_NO;
|
|
mobile = LXDH;
|
|
mobile = LXDH;
|
|
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(StringUtils.isBlank(eventType)){
|
|
|
|
|
|
}else {
|
|
//出院小结
|
|
//出院小结
|
|
String cyxj = dsyyPrescriptionService.selectReportInfo("JHIDS-USD-HLWCYXJ-013",SICK_ID,conNo,1,1);
|
|
String cyxj = dsyyPrescriptionService.selectReportInfo("JHIDS-USD-HLWCYXJ-013",SICK_ID,conNo,1,1);
|
|
if(StringUtils.isNotBlank(cyxj)&&!"[]".equals(cyxj)){
|
|
if(StringUtils.isNotBlank(cyxj)&&!"[]".equals(cyxj)){
|
|
jaCy = JSONArray.parseArray(cyxj).getJSONObject(0);
|
|
jaCy = JSONArray.parseArray(cyxj).getJSONObject(0);
|
|
eventType = "2";
|
|
|
|
hisPid = SICK_ID;
|
|
hisPid = SICK_ID;
|
|
ssc = CARD_NO;
|
|
ssc = CARD_NO;
|
|
mobile = LXDH;
|
|
mobile = LXDH;
|
|
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@ -609,7 +618,7 @@ public class SynchronizePatientService {
|
|
}catch (Exception e){
|
|
}catch (Exception e){
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
if(StringUtils.isBlank(eventType)){
|
|
|
|
|
|
if(StringUtils.isBlank(hisPid)){
|
|
infoDO.setStatus(3);
|
|
infoDO.setStatus(3);
|
|
rehabilitationPatientInfoDao.save(infoDO);
|
|
rehabilitationPatientInfoDao.save(infoDO);
|
|
results.append("患者无门诊病历或患者无出院小结\n");
|
|
results.append("患者无门诊病历或患者无出院小结\n");
|
|
@ -618,7 +627,6 @@ public class SynchronizePatientService {
|
|
infoDO.setSsc(ssc);
|
|
infoDO.setSsc(ssc);
|
|
infoDO.setMobile(mobile);
|
|
infoDO.setMobile(mobile);
|
|
infoDO.setHisPid(hisPid);
|
|
infoDO.setHisPid(hisPid);
|
|
infoDO.setEventType(eventType);
|
|
|
|
|
|
|
|
String dept = "科室";
|
|
String dept = "科室";
|
|
String deptName = null;
|
|
String deptName = null;
|