Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r36710 -r37755 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 36710) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 37755) @@ -2050,5 +2050,53 @@ } StrutsResponseUtils.output(result); } + + /** + * 库位物品汇总查询BJDXZLYY-51 + */ + public void loadStorageLocationGoodsSummary(){ + JSONObject result = JSONUtil.buildJsonObject(true); + //库位ID + Long storageLocationId = StrutsParamUtils.getPraramLongValue("storageLocationId", null); + Map tousseNameAmountMap = loadStorageLocationGoodsAmountMap(storageLocationId); + if(MapUtils.isNotEmpty(tousseNameAmountMap)){ + JSONArray data = JSONArray.fromObject(tousseNameAmountMap); + result = JSONUtil.buildJsonObject(true, data); + } + StrutsResponseUtils.output(result); + } + + /** + * 库位物品汇总查询BJDXZLYY-51 + * @param storageLocationId + * @return + */ + private Map loadStorageLocationGoodsAmountMap(Long storageLocationId) { + Map tousseNameAmountMap = new HashMap(); + if(!DatabaseUtil.isPoIdValid(storageLocationId)){ + return tousseNameAmountMap; + } + StringBuffer sqlStringBuffer = new StringBuffer(); + sqlStringBuffer.append("select ti.tousseName, count(1) amount "); + sqlStringBuffer.append("from TousseInstance ti "); + sqlStringBuffer.append("join Storage_TousseInstance st on ti.id = st.tousseInstanceId "); + sqlStringBuffer.append("where st.storageLocationId = " + storageLocationId + " "); + sqlStringBuffer.append("group by ti.tousseName"); + ResultSet rs = null; + try { + rs = objectDao.executeSql(sqlStringBuffer.toString()); + while(rs.next()){ + String tousseName = rs.getString("tousseName"); + Integer amount = rs.getInt("amount"); + tousseNameAmountMap.put(tousseName, amount); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + DatabaseUtil.closeResultSetAndStatement(rs); + } + + return tousseNameAmountMap; + } } \ No newline at end of file