Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java =================================================================== diff -u -r26654 -r26781 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 26654) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 26781) @@ -642,9 +642,12 @@ */ private JSONObject checkTousseAmountInBorrow(Collection srcTousseItemVoList){ JSONObject obj = null; + // for (TousseItemVo tousseItemVo : srcTousseItemVoList) { - String sql = String.format("select count(*) from TousseInstance ti inner join TousseDefinition td on td.id=ti.tousseDefinition_id where td.ancestorID=%s and ti.status='%s'", - tousseItemVo.getAncestorId(),TousseInstance.STATUS_STERILED); + String sql = String.format("select count(*) from TousseInstance ti inner join TousseDefinition td on td.id=ti.tousseDefinition_id " + + "where td.ancestorID=%s and (ti.status='%s' or (td.tousseType='%s' and status='%s'))", + tousseItemVo.getAncestorId(),TousseInstance.STATUS_STERILED,TousseDefinition.PACKAGE_TYPE_DISINFECTION, + TousseInstance.STATUS_DISINFECTED); int existingAmount = objectDao.countBySql(sql); Integer amount = tousseItemVo.getAmount(); if(amount > existingAmount){