Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/util/DiposableGoodsUtils.java =================================================================== diff -u -r12672 -r12727 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/util/DiposableGoodsUtils.java (.../DiposableGoodsUtils.java) (revision 12672) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/util/DiposableGoodsUtils.java (.../DiposableGoodsUtils.java) (revision 12727) @@ -10,6 +10,7 @@ import org.apache.commons.lang3.StringUtils; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatch; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntryItem; import com.forgon.tools.db.DatabaseUtil; @@ -79,6 +80,44 @@ return diposableGoodsIDs; } + /** + * 根据批次ID从批次定义表获取一次性物品定义ID(与上面的方法不同的是,上一个方法查的是一次性物品批次定义表有可能不准备) + * @param objectDao + * @param batchIds + * @return + */ + public static List getDiposableGoodsIdsFromGoodsBatchByBatchIDs(ObjectDao objectDao,Iterable batchIds) { + List diposableGoodsIds = new LinkedList(); + if(batchIds == null){ + return diposableGoodsIds; + } + + String batchIDsStr = SqlUtils.joinToWhereInConditionForNonStringProperties(batchIds); + if(StringUtils.isBlank(batchIDsStr)){ + return diposableGoodsIds; + } + + //实际上diposablegoods_id表示的是一次性物品库存id.以后再统一改掉命名 + String sql = String + .format(" select distinct b.diposablegoods_id from %s b where b.id in(%s)", + DisposableGoodsBatch.class.getSimpleName(), + batchIDsStr); + ResultSet resultSet = objectDao.executeSql(sql.toString()); + if (resultSet == null) { + return diposableGoodsIds; + } + try { + while (resultSet.next()) { + diposableGoodsIds.add(resultSet.getLong(1)); + } + } catch (SQLException e) { + e.printStackTrace(); + }finally { + DatabaseUtil.closeResultSetAndStatement(resultSet); + } + return diposableGoodsIds; + } + // public static String[] getNameAndSpecificationFromFullName(String diposableGoodsName) { // String[] nameAndSpecification = new String[]{diposableGoodsName,null}; // String specification = null;