Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java =================================================================== diff -u -r39346 -r39647 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java (.../PackingTableManager.java) (revision 39346) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java (.../PackingTableManager.java) (revision 39647) @@ -59,6 +59,7 @@ import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.json.JSONUtil; +import com.forgon.tools.util.SqlUtils; import com.google.gson.JsonObject; /** @@ -355,19 +356,9 @@ //增加其他信息 if(StringUtils.isNotBlank(resultStr)){ JSONObject result = JSONObject.fromObject(resultStr); - String selectSqlWhereCondition = result.optString("selectSqlWhereCondition"); int totalCountOfTousseInstance = 0; - if(StringUtils.isNotBlank(selectSqlWhereCondition)){ - String countSql = "select count(*) from " - + TousseInstance.class.getSimpleName() - + " ti join " - + PackingRecord.class.getSimpleName() - + " po on po.id=ti.packingRecord_id " - + selectSqlWhereCondition; - totalCountOfTousseInstance = objectDao.countBySql(countSql); - } //装配记录包含的包实例数量 - result.put("totalCountOfTousseInstance", totalCountOfTousseInstance); + JSONArray rows = result.optJSONArray("rows"); if(CollectionUtils.isNotEmpty(rows)){ Set packingRecordIds = new HashSet(); @@ -376,6 +367,13 @@ Long id = packingRecord.optLong("id"); packingRecordIds.add(id); } + if(CollectionUtils.isNotEmpty(packingRecordIds)){ + String countSql = "select count(*) from " + + TousseInstance.class.getSimpleName() + + " ti where 1=1 " + + SqlUtils.getInLongListSql("ti.packingRecord_id", packingRecordIds); + totalCountOfTousseInstance = objectDao.countBySql(countSql); + } Map packingRecordToPackageTypeMap = packingManager.queryPackingRecordVos(packingRecordIds); for (Object row : rows) { JSONObject packingRecord = (JSONObject)row; @@ -387,6 +385,7 @@ packingRecord.put("sterileUser", vo.getSterilizationUser()); packingRecord.put("isTran", vo.getIsTran()); } + result.put("totalCountOfTousseInstance", totalCountOfTousseInstance); resultStr = result.toString(); } }