Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/dwr/table/ForeignTousseApplicationTableManager.java =================================================================== diff -u -r40302 -r40552 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/dwr/table/ForeignTousseApplicationTableManager.java (.../ForeignTousseApplicationTableManager.java) (revision 40302) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/dwr/table/ForeignTousseApplicationTableManager.java (.../ForeignTousseApplicationTableManager.java) (revision 40552) @@ -12,6 +12,7 @@ import java.util.Set; import java.util.regex.Pattern; +import com.forgon.disinfectsystem.entity.becleanitem.ClassifyBasket; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -209,8 +210,18 @@ } //篮筐条码ZSYY-417 String queryBasketBarcode = sqlWhereParamMap.get("queryBasketBarcode"); - if(StringUtils.isNotBlank(queryBasketBarcode)){ - sqlBuilder.append(" and exists (select 1 from ClassifiedItem ci where ci.classifyBasket.containerBarcode = '" + queryBasketBarcode + "' and ci.invoicePlanID = po.id)"); + if(StringUtils.isNotBlank(queryBasketBarcode)){//只查询篮筐最新回收记录对应得申请单 ZSYY-432 如果篮筐装了多张申请单的包 这些单会一起显示 + SqlUtils.checkInputParam(queryBasketBarcode); + String sql = "select max(cr.ClassifyBasket_ID) maxId from ClassifyBasket_RecyclingRecord cr join " + + ClassifyBasket.class.getSimpleName() +" cb on cb.id=cr.ClassifyBasket_ID where cb.containerBarcode='" + + queryBasketBarcode + +"' "; + Long maxClassifyBasket_ID = objectDao.getALongNum(sql , "maxId"); + if(DatabaseUtil.isPoIdValid(maxClassifyBasket_ID)){ + sqlBuilder.append(" and exists (select 1 from ClassifiedItem ci where ci.classifyBasket.id="+ maxClassifyBasket_ID +" and ci.invoicePlanID = po.id)"); + }else{ + sqlBuilder.append(" and 1=2 ");// 直接返回空结果 + } } //搜索列的查询语句