Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManagerImpl.java =================================================================== diff -u -r12811 -r12877 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManagerImpl.java (.../DiposableGoodBatchStockManagerImpl.java) (revision 12811) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManagerImpl.java (.../DiposableGoodBatchStockManagerImpl.java) (revision 12877) @@ -10,6 +10,7 @@ import java.util.List; import java.util.Set; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -28,6 +29,7 @@ import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.db.InitDbConnection; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.string.StringTools; /** * @author JamZhou @@ -175,13 +177,26 @@ Long.valueOf(id)); } + /** + * 条码不能唯一确定一条批次记录,因为有多个仓库 + */ + @Deprecated @Override public DisposableGoodsBatchStock getByBarcode(String barcode) { return (DisposableGoodsBatchStock) objectDao.getByProperty( DisposableGoodsBatchStock.class.getSimpleName(), "barcode", barcode); } - + public DisposableGoodsBatchStock getByBarcode(String barcode,String warehouseId){ + if(StringTools.isNotBlank(barcode) && DatabaseUtil.isPoIdValid(warehouseId)){ + String sql = " where po.barcode = '" + barcode + "' and po.warehouseID = " + warehouseId; + List list = objectDao.findBySql(DisposableGoodsBatchStock.class.getSimpleName(), sql); + if(CollectionUtils.isNotEmpty(list)){ + return (DisposableGoodsBatchStock)list.get(0); + } + } + return null; + } @Override public void deleteDiposableGoodBatchStock( DisposableGoodsBatchStock disposableGoodsBatchStock) { Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManager.java =================================================================== diff -u -r12789 -r12877 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManager.java (.../DiposableGoodBatchStockManager.java) (revision 12789) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManager.java (.../DiposableGoodBatchStockManager.java) (revision 12877) @@ -33,7 +33,20 @@ public DisposableGoodsBatchStock getDiposableGoodBatchStockById(String id); + /** + * 条码不能唯一确定一条批次记录,因为有多个仓库 + * @param barcode 条码 + * @return + */ + @Deprecated public DisposableGoodsBatchStock getByBarcode(String barcode); + /** + * 根据条码获取指定仓库下的一次性物品批次库存 + * @param barcode + * @param warehouseId + * @return + */ + public DisposableGoodsBatchStock getByBarcode(String barcode,String warehouseId); public void deleteDiposableGoodBatchStock( DisposableGoodsBatchStock disposableGoodsBatchStock); Index: ssts-web/src/main/webapp/disinfectsystem/stocktakeinfomanager/stockTakeInfoView.js =================================================================== diff -u -r12874 -r12877 --- ssts-web/src/main/webapp/disinfectsystem/stocktakeinfomanager/stockTakeInfoView.js (.../stockTakeInfoView.js) (revision 12874) +++ ssts-web/src/main/webapp/disinfectsystem/stocktakeinfomanager/stockTakeInfoView.js (.../stockTakeInfoView.js) (revision 12877) @@ -73,12 +73,14 @@ function loadBatchDiposableGoodsByBarcode(){ var barcode = top.Ext.getCmp('barcode').getValue(); + var warehouseId = top.Ext.getCmp('wareHouseId').getValue(); top.Ext.getCmp('barcode').setValue(''); Ext.Ajax.request({ url : WWWROOT + '/disinfectSystem/diposableGoodsAction!getDiposableGoodBatchStockByBarcode.do', params : { - barcode : barcode + barcode : barcode, + warehouseId : warehouseId }, success : function(response, options) { var result = response.responseText; @@ -536,7 +538,9 @@ top.Ext.getCmp("originalItems").setValue(originalItems); top.Ext.getCmp('tempName').setDisabled(false); - top.Ext.getCmp('batchNumber').setDisabled(false); + if(isDisposableGood){ + top.Ext.getCmp('batchNumber').setDisabled(false); + } top.Ext.getCmp('tempAmount').setDisabled(false); top.Ext.getCmp('barcode').setDisabled(false); }, Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java =================================================================== diff -u -r12862 -r12877 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 12862) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 12877) @@ -461,9 +461,10 @@ public String getDiposableGoodBatchStockByBarcode() { String barcode = StrutsParamUtils.getPraramValue("barcode", ""); + String warehouseId = StrutsParamUtils.getPraramValue("warehouseId", ""); String diposableGoodsStr = ""; DisposableGoodsBatchStock disposableGoodsBatchStock = diposableGoodBatchStockManager - .getByBarcode(barcode); + .getByBarcode(barcode,warehouseId); if (disposableGoodsBatchStock != null && disposableGoodsBatchStock.getDiposableGoods() != null) { // Map obj = new HashMap();