Index: ssts-web/src/main/webapp/disinfectsystem/invoice/expressInvoiceForm.js =================================================================== diff -u -r20576 -r21242 --- ssts-web/src/main/webapp/disinfectsystem/invoice/expressInvoiceForm.js (.../expressInvoiceForm.js) (revision 20576) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/expressInvoiceForm.js (.../expressInvoiceForm.js) (revision 21242) @@ -435,15 +435,39 @@ } var barcodeToAppRecordMap = {}; var barcodeToScanGoodsMap = {}; + +function isStorageSatisfied(goods){ + var storageAmount = 0;// 库存数量 + try{ + storageAmount = Number(goods.storage,10); + }catch (e) { + storageAmount = 0; + } + var amountToSend = 0; + for ( var i = 0; i < recyclingapplicationStore.getCount(); i++) { + var record = recyclingapplicationStore.getAt(i); + var count = record.get('count'); + amountToSend += count; + } + if(storageAmount >= amountToSend){ + return true; + } + return false; +} function addGoods(goods,speakBasket){ var storageAmount = 0;// 库存数量 try{ storageAmount = Number(goods.storage,10); }catch (e) { storageAmount = 0; } - - //// + // 如果是一次性物品,库存不够时不允许发货 + if(goods.diposable == '是'){ + if(!isStorageSatisfied(goods)){ + showResult("该批次库存不够,请扫描其他批次!"); + return; + } + } var remnantStorage = storageAmount; for ( var i = 0; i < recyclingapplicationStore.getCount(); i++) { var record = recyclingapplicationStore.getAt(i); @@ -747,7 +771,7 @@ return; } var goods = result.data[0]; - if(!goods.tousseFixedBarcode){ + if(goods.diposable == '否' && !goods.tousseFixedBarcode){ showResult("请扫描固定条码"); top.Ext.getCmp('scanText').setValue(""); top.Ext.getCmp('scanTextEnd').setValue(""); @@ -761,7 +785,17 @@ var speakBasket = new SpeakBasket(); - if(goods.tousseDefinitionId != selTousseDefinitionId){ + var inInvoicePlan = true; + if(goods.diposable == '是'){ + if(getDisposableGoodsIdByScanVo(goods) != selDisposableGoodsId){ + inInvoicePlan = false; + } + }else{ + if(goods.tousseDefinitionId != selTousseDefinitionId){ + inInvoicePlan = false; + } + } + if(!inInvoicePlan){ var msg = '['+getTtsNameByGoods(goods)+']不在发货计划中!'; if(!isUndefinedOrNullOrEmpty(goods.tousseType)){ msg = '['+goods.tousseType+']'+'['+getTtsNameByGoods(goods)+']不在发货计划中!'; @@ -842,6 +876,26 @@ // } //} // +function getDisposableGoodsIdByScanVo(vo){ + if(!isUndefinedOrNullOrEmpty(vo.typeInfoOnScanned)){ + var typeInfoOnScanned = JSON.parse(vo.typeInfoOnScanned); + return typeInfoOnScanned.disposableGoodsId; + } + return null; +} +function appItemsContainsDisposableGoods(record,vo){ + var disposableGoodsIdSet = record.get('disposableGoodsIdSet'); + if(disposableGoodsIdSet.length > 0 && !isUndefinedOrNullOrEmpty(vo.typeInfoOnScanned)){ + var typeInfoOnScanned = JSON.parse(vo.typeInfoOnScanned); + for(var di=0;di vos = invoiceManager - .getExpressInvoiceWaitDeliverGoods(orgUnitCoding, applyDate, null,tousseDefinitionId); + .getExpressInvoiceWaitDeliverGoods(orgUnitCoding, applyDate, null,tousseDefinitionId,disposableGoodsId); return JSONUtil.buildJsonObject(true,JSONArray.fromObject(vos)).toString(); } Index: ssts-web/src/main/webapp/disinfectsystem/invoice/expressInvoiceView.js =================================================================== diff -u -r20576 -r21242 --- ssts-web/src/main/webapp/disinfectsystem/invoice/expressInvoiceView.js (.../expressInvoiceView.js) (revision 20576) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/expressInvoiceView.js (.../expressInvoiceView.js) (revision 21242) @@ -13,6 +13,7 @@ var invoiceDepartGroups = ''; var appDepartCode = ''; var selTousseDefinitionId = null; +var selDisposableGoodsId = null; var tousseName = ''; //申请科室Store var appDepartJsonStore = new Ext.data.Store({ @@ -92,6 +93,7 @@ var depart = records[0].data['depart']; openMode = INVOICE_FORM_OPEN_MODE_CLICKITEM; selTousseDefinitionId = records[0].data['tousseDefinitionId']; + selDisposableGoodsId = records[0].data['disposableGoodsId']; tousseName = records[0].data['tousseName']; var departCodingSet = records[0].data['departCodingSet']; addAndEditInvoicePlan(departCodingSet.join(';'),depart); @@ -259,6 +261,7 @@ fields : [ {name : 'tousseName'}, {name : 'tousseDefinitionId'}, + {name : 'disposableGoodsId'}, {name : 'departAmount'}, {name : 'departCodingSet'}, {name : 'invoicePlanAmount'},