Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r20289 -r20291 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 20289) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 20291) @@ -307,7 +307,12 @@ String newRemark = (orginalRemark == null ? "" : orginalRemark + ";") + "病人名称为"+ patientName +"的使用记录已于"+ nowDateTimeIncludeHms +"被"+ currentOperator +"删除"; tempForeignTousseApplication.setRemark(newRemark); - if(tempForeignTousseApplication.recyclingStatusAwaitRecycle()){ + //如果该使用记录的外来器械包对应的外来器械申请单的状态为待回收且该外来器械申请单也没有外来器械包录入到其它状态为已申请的使用记录时,则回滚为已接收 + int count = objectDao.countBySql("select count(0) from " + TousseInstance.class.getSimpleName() + + " where foreignTousseApp_id = " + tempForeignTousseApplication.getId() + + " and useRecord_id in (select id from "+ UseRecord.class.getSimpleName() + + " where status = '"+ UseRecord.STATUS_SEQ_APPLIED +"' and id <> "+ useRecordId +")"); + if(count == 0 && tempForeignTousseApplication.recyclingStatusAwaitRecycle()){ tempForeignTousseApplication.setRecyclingStatus(ForeignTousseApplication.APPLICATION_STATUS_SIGNED); } objectDao.saveOrUpdate(tempForeignTousseApplication);