|
@@ -42,12 +42,13 @@ public class PatientServiceImpl extends OpenPlateformCRUDServiceImpl<PatientDO>
|
|
String sql = "select * from " + PatientDO.class.getAnnotation(Table.class).name() + " where keyval=?";
|
|
String sql = "select * from " + PatientDO.class.getAnnotation(Table.class).name() + " where keyval=?";
|
|
return this.daoSupport.queryForObject(sql, PatientDO.class, key);
|
|
return this.daoSupport.queryForObject(sql, PatientDO.class, key);
|
|
}
|
|
}
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<PatientDO> listPatients(List<String> patientKeys) {
|
|
public List<PatientDO> listPatients(List<String> patientKeys) {
|
|
- if(patientKeys.isEmpty()){
|
|
|
|
|
|
+ if (patientKeys.isEmpty()) {
|
|
return new ArrayList<>();
|
|
return new ArrayList<>();
|
|
}
|
|
}
|
|
- String sql = "select * from "+PatientDO.class.getAnnotation(Table.class).name()+" where find_in_set(keyval,?)";
|
|
|
|
|
|
+ String sql = "select * from " + PatientDO.class.getAnnotation(Table.class).name() + " where find_in_set(keyval,?)";
|
|
return this.daoSupport.queryForList(sql, PatientDO.class, patientKeys.stream().collect(Collectors.joining(",")));
|
|
return this.daoSupport.queryForList(sql, PatientDO.class, patientKeys.stream().collect(Collectors.joining(",")));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -89,10 +90,10 @@ public class PatientServiceImpl extends OpenPlateformCRUDServiceImpl<PatientDO>
|
|
public List<PatientDO> savePatient(List<PatientDO> patients) {
|
|
public List<PatientDO> savePatient(List<PatientDO> patients) {
|
|
if (patients != null && !patients.isEmpty()) {
|
|
if (patients != null && !patients.isEmpty()) {
|
|
// String sqlTemplate= "replace into "+ PatientDO.class.getAnnotation(Table.class).name()+"(keyval,part_keyval,card_no,bed_no,name,sex,age,age_unit,birthday,id_no,address,mobile,indate,baby_name,baby_sex,baby_birthday,doctor_keyval,nurse_keyval,`status`,outdate,illness_description) values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')";
|
|
// String sqlTemplate= "replace into "+ PatientDO.class.getAnnotation(Table.class).name()+"(keyval,part_keyval,card_no,bed_no,name,sex,age,age_unit,birthday,id_no,address,mobile,indate,baby_name,baby_sex,baby_birthday,doctor_keyval,nurse_keyval,`status`,outdate,illness_description) values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')";
|
|
- List<PatientDO> changedPatient= new ArrayList<>();
|
|
|
|
|
|
+ List<PatientDO> changedPatient = new ArrayList<>();
|
|
for (PatientDO patient : patients) {
|
|
for (PatientDO patient : patients) {
|
|
int i = this.daoSupport.insertOrUpdate(PatientDO.class.getAnnotation(Table.class).name(), patient);
|
|
int i = this.daoSupport.insertOrUpdate(PatientDO.class.getAnnotation(Table.class).name(), patient);
|
|
- if(i>0){
|
|
|
|
|
|
+ if (i > 0) {
|
|
changedPatient.add(patient);
|
|
changedPatient.add(patient);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -140,7 +141,7 @@ public class PatientServiceImpl extends OpenPlateformCRUDServiceImpl<PatientDO>
|
|
throw new ServiceException("不存在的患者!");
|
|
throw new ServiceException("不存在的患者!");
|
|
} else {
|
|
} else {
|
|
patient.setStatus("1");
|
|
patient.setStatus("1");
|
|
- if(StrUtil.isEmpty(patient.getOutdate())){
|
|
|
|
|
|
+ if (StrUtil.isEmpty(patient.getOutdate())) {
|
|
patient.setOutdate(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
|
|
patient.setOutdate(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
|
|
}
|
|
}
|
|
this.daoSupport.insertOrUpdate(PatientDO.class.getAnnotation(Table.class).name(), patient);
|
|
this.daoSupport.insertOrUpdate(PatientDO.class.getAnnotation(Table.class).name(), patient);
|
|
@@ -157,6 +158,7 @@ public class PatientServiceImpl extends OpenPlateformCRUDServiceImpl<PatientDO>
|
|
return patient;
|
|
return patient;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
//仅对视图对接方式
|
|
//仅对视图对接方式
|
|
@Override
|
|
@Override
|
|
public List<PatientDO> listOutedPatient() {
|
|
public List<PatientDO> listOutedPatient() {
|
|
@@ -164,6 +166,7 @@ public class PatientServiceImpl extends OpenPlateformCRUDServiceImpl<PatientDO>
|
|
String sql = "select * from " + PatientDO.class.getAnnotation(Table.class).name() + " where `sync_state`=0 and `status`=0";
|
|
String sql = "select * from " + PatientDO.class.getAnnotation(Table.class).name() + " where `sync_state`=0 and `status`=0";
|
|
return this.daoSupport.queryForList(sql, PatientDO.class);
|
|
return this.daoSupport.queryForList(sql, PatientDO.class);
|
|
}
|
|
}
|
|
|
|
+
|
|
//仅对视图对接方式
|
|
//仅对视图对接方式
|
|
@Override
|
|
@Override
|
|
public List<PatientDO> listHospitaledPatient() {
|
|
public List<PatientDO> listHospitaledPatient() {
|
|
@@ -174,7 +177,7 @@ public class PatientServiceImpl extends OpenPlateformCRUDServiceImpl<PatientDO>
|
|
|
|
|
|
//查询接口接入的在住院患者列表
|
|
//查询接口接入的在住院患者列表
|
|
@Override
|
|
@Override
|
|
- public List<PatientDO> listHospitaledPatientTP(){
|
|
|
|
|
|
+ public List<PatientDO> listHospitaledPatientTP() {
|
|
String sql = "select * from " + PatientDO.class.getAnnotation(Table.class).name() + " where `status`=0 and (outdate is null or outdate='') and (bed_no is not null and bed_no<>'')";
|
|
String sql = "select * from " + PatientDO.class.getAnnotation(Table.class).name() + " where `status`=0 and (outdate is null or outdate='') and (bed_no is not null and bed_no<>'')";
|
|
return this.daoSupport.queryForList(sql, PatientDO.class);
|
|
return this.daoSupport.queryForList(sql, PatientDO.class);
|
|
}
|
|
}
|
|
@@ -195,8 +198,20 @@ public class PatientServiceImpl extends OpenPlateformCRUDServiceImpl<PatientDO>
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional(value = "openPlateformTransactionManager", propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
|
|
|
|
+ public List<PatientDO> patientBatchOut(List<String> patientKeys) {
|
|
|
|
+ if (patientKeys != null && patientKeys.size() > 0) {
|
|
|
|
+ List<PatientDO> patients = this.listPatients(patientKeys);
|
|
|
|
+ for (PatientDO patient : patients) {
|
|
|
|
+ patient.setStatus("1");
|
|
|
|
+ if (StrUtil.isEmpty(patient.getOutdate())) {
|
|
|
|
+ patient.setOutdate(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
|
|
|
|
+ }
|
|
|
|
+ this.daoSupport.insertOrUpdate(PatientDO.class.getAnnotation(Table.class).name(), patient);
|
|
|
|
+ }
|
|
|
|
+ return patients;
|
|
|
|
+ }
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
}
|
|
}
|