Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r35795 -r36197 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 35795) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 36197) @@ -1843,7 +1843,7 @@ return isSameSupplierContant; } - + @SuppressWarnings("unchecked") @Override public void modifyPatientInfoOfForeignTousseApplication(Long id, String originalPatientInfo , String patientInfo, String splitTousseItemIds) { @@ -1887,7 +1887,25 @@ String ascriptionDepartment = patientInfoJsonObect.optString("ascriptionDepartment"); List applicationItems = foreignTousseApplication.getApplicationItems(); + List splitApplicationItems = new ArrayList(); if(StringUtils.isNotBlank(splitTousseItemIds)){ + Collection splitTousseItemIdColl = StringTools.parseToLongs(splitTousseItemIds, ";"); + if(CollectionUtils.isNotEmpty(applicationItems) && CollectionUtils.isNotEmpty(splitTousseItemIdColl)){ + for (Long splitTousseItemId : splitTousseItemIdColl) { + for (TousseItem tousseItem : applicationItems) { + Long tousseItemId = tousseItem.getId(); + if(tousseItemId != null && splitTousseItemId != null + && tousseItemId.longValue() == splitTousseItemId.longValue()){ + splitApplicationItems.add(tousseItem); + break; + } + } + } + } + } + if(CollectionUtils.isNotEmpty(applicationItems) && CollectionUtils.isNotEmpty(splitApplicationItems) + && splitApplicationItems.size() != applicationItems.size()){ + //外来器械包申请单上有2套或者2套以上外来器械包,并且勾选了部分器械包时 Boolean modifyPatientName = false; Boolean modifyHospitalNumber = false; Boolean modifyClinicNumber = false; @@ -1902,20 +1920,12 @@ modifyClinicNumber = true; } + //修改了患者姓名并且修改了住院号或者诊疗号 if(modifyPatientName && (modifyHospitalNumber || modifyClinicNumber)){ - String[] tousseItemIdArr = splitTousseItemIds.split(";"); - List ids = new ArrayList(); - for (String temp : tousseItemIdArr) { - ids.add(temp); - } - List splitApplicationItems = objectDao.findByIds(TousseItem.class.getSimpleName(), ids); - if(CollectionUtils.isNotEmpty(applicationItems) && CollectionUtils.isNotEmpty(splitApplicationItems) - && splitApplicationItems.size() != applicationItems.size()){ - modifyPatientInfoOfForeignTousseApplication(foreignTousseApplication, splitApplicationItems, applicationItems, modifyHospitalNumber, modifyClinicNumber, - originalPatientName, originalHospitalNumber, originalClinicNumber, patientName, patientAge, patientSex, hospitalNumber, clinicNumber, patientArea, - roomNumber, bedNumber, doctor, surgery, operationTime, operationRoom, ascriptionDepartment); - return; - } + modifyPatientInfoOfForeignTousseApplication(foreignTousseApplication, splitApplicationItems, applicationItems, modifyHospitalNumber, modifyClinicNumber, + originalPatientName, originalHospitalNumber, originalClinicNumber, patientName, patientAge, patientSex, hospitalNumber, clinicNumber, patientArea, + roomNumber, bedNumber, doctor, surgery, operationTime, operationRoom, ascriptionDepartment); + return; } } @@ -2027,10 +2037,10 @@ appendRemark = originalRemark + ";" + appendRemark; } foreignTousseApplication.setRemark(appendRemark); - appLogManager.saveLog(userData, Log.MODEL_APPLICATION, Log.TYPE_UPDATE, userData.getUserFullName() +"于"+ DateTools.getFormatDateStr(new Date() , DateTools.COMMON_DATE_HMS) +"对该申请单的病人信息进行了修改,修改情况为:"+ needAppendRemark +"】"); + appLogManager.saveLog(userData, Log.MODEL_APPLICATION, Log.TYPE_UPDATE, userData.getUserFullName() +"于"+ DateTools.getFormatDateStr(new Date() , DateTools.COMMON_DATE_HMS) +"对申请单(单号:" + foreignTousseApplication.getSerialNumber() + ")的病人信息进行了修改,修改情况为:【"+ needAppendRemark +"】"); objectDao.saveOrUpdate(foreignTousseApplication); }else{ - appLogManager.saveLog(userData, Log.MODEL_APPLICATION, Log.TYPE_UPDATE, userData.getUserFullName() +"于"+ DateTools.getFormatDateStr(new Date() , DateTools.COMMON_DATE_HMS) +"点击了id为"+ id +"的申请单的病人信息修改提交,但未修改内容"); + appLogManager.saveLog(userData, Log.MODEL_APPLICATION, Log.TYPE_UPDATE, userData.getUserFullName() +"于"+ DateTools.getFormatDateStr(new Date() , DateTools.COMMON_DATE_HMS) +"对申请单(单号:" + foreignTousseApplication.getSerialNumber() + ")的病人信息进行修改提交,但未修改内容"); } }catch(Exception e){ e.printStackTrace();