Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/dwr/table/ReturnGoodsRecordTableManager.java =================================================================== diff -u -r24015 -r25130 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/dwr/table/ReturnGoodsRecordTableManager.java (.../ReturnGoodsRecordTableManager.java) (revision 24015) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/dwr/table/ReturnGoodsRecordTableManager.java (.../ReturnGoodsRecordTableManager.java) (revision 25130) @@ -9,12 +9,15 @@ import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import com.forgon.component.grid.GridManager; import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.disinfectsystem.barcode.service.BarcodeManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.invoicemanager.Invoice; @@ -26,6 +29,7 @@ import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; import com.forgon.search.service.TBarFilterManager; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.json.JSONUtil; /** * @author panhaowen @@ -51,6 +55,9 @@ private WareHouseManager wareHouseManager; + @Autowired + private BarcodeManager barcodeManager; + public void setSupplyRoomConfigManager( SupplyRoomConfigManager supplyRoomConfigManager) { this.supplyRoomConfigManager = supplyRoomConfigManager; @@ -211,4 +218,21 @@ } return jsonArray.toString(); } + + public String getDisposableGoodsByBarcode(String barcode){ + JSONObject json = JSONUtil.buildJsonObject(false); + Object obj = barcodeManager.getBarcodeEntityByPrefixBarcode(barcode); + if(obj == null || !(obj instanceof DisposableGoods)){ + JSONUtil.addMessage(json, "请扫描一次性物品定义条码!"); + }else{ + DisposableGoods disposableGoods = (DisposableGoods)obj; + JSONObject disposableGoodsObj = JSONUtil.toJSONObjectWithInclude(disposableGoods, new String[]{"id","name"}); + + disposableGoodsObj.put("displayName", disposableGoods.getShowName() + "(库存:0)"); + JSONUtil.addSuccess(json, true); + json.put("disposableGoods", disposableGoodsObj); + } + return json.toString(); + } + } Index: ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnGoodsRecordForm.js =================================================================== diff -u -r21891 -r25130 --- ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnGoodsRecordForm.js (.../returnGoodsRecordForm.js) (revision 21891) +++ ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnGoodsRecordForm.js (.../returnGoodsRecordForm.js) (revision 25130) @@ -348,11 +348,32 @@ function getCurrentDepart(){ return top.Ext.getCmp('depart').getValue(); } + +function onScanDiposableGoodsBarcode(){ + +} function loadReturnDiposableGoodsItem() { var barcode = top.Ext.getCmp('barcode').getValue(); top.Ext.getCmp("barcode").setValue('');// 清除条码 var depart = getCurrentDepart(); + if(isUndefinedOrNullOrEmpty(barcode)){ + showResult("条码不能为空!"); + return false; + } + + if(barcode.substr(0,1) == 'A'){ + // 扫描固定条码 + ReturnGoodsRecordTableManager.getDisposableGoodsByBarcode(barcode,function(resultStr){ + var result = top.Ext4.JSON.decode(resultStr); + if(result.success){ + loadReturnBatchsByDiposableGoodsId(result.disposableGoods); + }else{ + showResult(result.message); + } + }); + return; + } //alert(depart) if(depart == ''){ showResult("必须先填写部门!"); @@ -426,6 +447,39 @@ //设置价格 setPrices(diposableGood.priceAmountList) } +// 扫描固定条码 +function loadReturnBatchsByDiposableGoodsId(diposableGoods){ + var depart = getCurrentDepart(); + if(depart == ''){ + showResult("必须先填写部门!"); + return ; + } + var warehouseID = top.Ext.getCmp("warehouseID").getValue(); + if(isUndefinedOrNullOrEmpty(warehouseID)){ + showResult('请先选择仓库!'); + return ; + } + + loadDiposableGoodsByBarcode = false; + top.Ext.getCmp('package1').setValue(diposableGoods.name); + // 清空批次价格 + clearBatchNumberAndPrice(); + + ReturnGoodsRecordTableManager.getBatchStocksByStockIDWarehouseDepart(diposableGoods.id,warehouseID,depart,function(batchesStr){ + var batches = top.Ext4.JSON.decode(batchesStr); + if(batches.length > 0){ + for(var i=0;i 0){ - for(var i=0;i