Index: ssts-datasync/src/main/java/com/forgon/disinfectsystem/datasynchronization/service/DataSynchronizationManager.java =================================================================== diff -u -r35657 -r36501 --- ssts-datasync/src/main/java/com/forgon/disinfectsystem/datasynchronization/service/DataSynchronizationManager.java (.../DataSynchronizationManager.java) (revision 35657) +++ ssts-datasync/src/main/java/com/forgon/disinfectsystem/datasynchronization/service/DataSynchronizationManager.java (.../DataSynchronizationManager.java) (revision 36501) @@ -96,6 +96,15 @@ public PatientInfoVO findPatientInfoByHospitalNumOrTreatmentNum(Integer sourcePage , String num, String numType); /** + * 根据源页面、住院号或住院号、类型查询数据,返回多条患者信息 + * @param sourcePage 源页面:0为外来器械申请页面、1为使用记录页面 + * @param num 住院号或诊疗号 + * @param numType 类型:hospitalNum或treatmentNum + * @return + */ + public PatientInfoVO[] findPatientInfoArrayByHospitalNumOrTreatmentNum(Integer sourcePage , String num, String numType); + + /** * 同步挂号/入院病人信息 * @throws Exception */ Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/dwr/DataSynchronizationTableManager.java =================================================================== diff -u -r28878 -r36501 --- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/dwr/DataSynchronizationTableManager.java (.../DataSynchronizationTableManager.java) (revision 28878) +++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/dwr/DataSynchronizationTableManager.java (.../DataSynchronizationTableManager.java) (revision 36501) @@ -42,15 +42,17 @@ boolean success = false; String msg = ""; PatientInfoVO result = null; + PatientInfoVO[] patientInfoArray = null; if(StringUtils.isNotBlank(json)){ JSONObject jsonObj = JSONObject.fromObject(json); String patientNum = jsonObj.optString("patientNum"); String numType = jsonObj.optString("numType"); Integer sourcePage = Integer.valueOf(jsonObj.optInt("sourcePage")); try{ - result = dataSynchronizationManager.findPatientInfoByHospitalNumOrTreatmentNum(sourcePage , patientNum, numType); - if (result != null){ + patientInfoArray = dataSynchronizationManager.findPatientInfoArrayByHospitalNumOrTreatmentNum(sourcePage , patientNum, numType); + if (patientInfoArray != null){ + result = patientInfoArray[0]; success = true; } else{ @@ -67,6 +69,7 @@ obj.put("success", success); obj.put("msg", msg); obj.put("patientInfo", result); + obj.put("patientInfoArray", patientInfoArray); return obj.toString(); } Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/service/DataSynchronizationManagerImpl.java =================================================================== diff -u -r35669 -r36501 --- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/service/DataSynchronizationManagerImpl.java (.../DataSynchronizationManagerImpl.java) (revision 35669) +++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/service/DataSynchronizationManagerImpl.java (.../DataSynchronizationManagerImpl.java) (revision 36501) @@ -1516,10 +1516,8 @@ } @Override - public PatientInfoVO findPatientInfoByHospitalNumOrTreatmentNum(Integer sourcePage , String num, String numType) { + public PatientInfoVO[] findPatientInfoArrayByHospitalNumOrTreatmentNum(Integer sourcePage , String num, String numType) { PatientInfoVO[] vos = null; - PatientInfoVO result = null; - switch(numType){ case "treatmentNum": vos = findPatientInfoByTreatmentNum(num); @@ -1528,6 +1526,14 @@ vos = findPatientInfoByHospitalNum(num,sourcePage); break; } + return vos; + } + + @Override + public PatientInfoVO findPatientInfoByHospitalNumOrTreatmentNum(Integer sourcePage , String num, String numType) { + PatientInfoVO result = null; + + PatientInfoVO[] vos = findPatientInfoArrayByHospitalNumOrTreatmentNum(sourcePage, num, numType); if (vos != null && vos.length > 0){ result = CollectionUtils.find(Arrays.asList(vos), new Predicate() { @Override