Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedForm.js =================================================================== diff -u -r25136 -r25317 --- ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedForm.js (.../invoicePlanExtractedForm.js) (revision 25136) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedForm.js (.../invoicePlanExtractedForm.js) (revision 25317) @@ -46,11 +46,10 @@ } } }); -var isSameTypeBarcode; -var isSameTypeBarcodeCount; +//weizhenyu +var allBarcodeArr=[]; +var goodsInfo; - - if(sstsConfig.disableLoadToVirtualBasket == false){ beginBarcodeLabel = '条码/篮筐(首):'; hiddenEndBarcode = false;//显示尾篮筐 @@ -132,14 +131,13 @@ sendOutGoodsStore.remove(rows[i]); //weizhenyu - //判断是否删除的是表格的最后一条 - if(isSameTypeBarcodeCount == 1){ - isSameTypeBarcodeCount = 0; - isSameTypeBarcode = ""; + var reAllBarcodeArr = []; + for(var i = 0; i < allBarcodeArr.length;i++){ + if(allBarcodeArr[i].barcode != barcode){ + reAllBarcodeArr.push(allBarcodeArr[i]); + } } - if(isSameTypeBarcodeCount != 1 && isSameTypeBarcodeCount != 0){ - isSameTypeBarcodeCount = isSameTypeBarcodeCount - 1; - } + allBarcodeArr =reAllBarcodeArr; if(goods.tousseType == '聚合包' && sstsConfig.comboTousseSendByWrapperTousse){ adjustComboTousseAppListAoumt(goods, 'sub'); @@ -192,33 +190,40 @@ } } //weizhenyu - //判断初次扫码 - if(isSameTypeBarcode == "" || !isSameTypeBarcode){ - isSameTypeBarcode = barcode; - isSameTypeBarcodeCount = 1; - } - else{ - var isBatch = /^[0-9]*$/ ;//全数字的批次条码正则 - if(isBatch.test(isSameTypeBarcode)){//若为批次扫码 - if(isBatch.test(barcode)){ - isSameTypeBarcodeCount = isSameTypeBarcodeCount+1; + var isBatch = /^[0-9]*$/ ;//全数字的批次条码正则 + if(allBarcodeArr.length != 0){ + for(var i = 0; i < allBarcodeArr.length; i++){ + //同名物品 + if(allBarcodeArr[i].name == goodsInfo.name){ + //扫描的是批次条码 + //是否为同种类型的条码 + if(isBatch.test(allBarcodeArr[i].barcode)){ + if(isBatch.test(goodsInfo.barcode)){ + allBarcodeArr.push(goodsInfo); + } + else{ + //同物品不同类型条码 + showResult('请您扫描批次条码!' , null , true); + return true; + } + } + else{ + //扫描的是固定条码 + if(!isBatch.test(goodsInfo.barcode)){ + allBarcodeArr.push(goodsInfo); + } + else{ + //同物品不同类型条码 + showResult('请您扫描固定条码!' , null , true); + return true; + } + } } - else{//不同类别 - showResult('请扫描批次条码!' , null , true); - return true; - } } - else{//若为一次性条码扫码 isDisposable.test(isSameTypeBarcode) - if(!isBatch.test(barcode)){ - isSameTypeBarcodeCount = isSameTypeBarcodeCount+1; - } - else{//不同类别 - showResult('请扫描一次性条码!' , null , true); - return true; - } - } } - + else{ + allBarcodeArr.push(goodsInfo); + } } return false; } @@ -985,10 +990,15 @@ if((result.data.length > 1) && goods.tousseFixedBarcode){// 扫单个包才提示 continue; } + //weizhenyu + var goodsName = result.data[0].name; + var goodsBarcode = result.data[0].barcode; + goodsInfo = { name : goodsName , barcode : goodsBarcode}; var b = isBarcodeRepeat(goods.barcode); if(b && (goods.diposable == '是' || !goods.tousseFixedBarcode || goods.tousseType==EXPENSIVEGOODS_TYPE_NAME)){// 扫描多个时,如果存在已扫描的,直接忽略,跳过 continue; } + // 校验是否超过待发数量,如果是,也跳过 if(exceedAmountNames.hasOwnProperty(goods.name)){ continue; @@ -1057,7 +1067,6 @@ var goodsName = goods.name; // 验证是否为申请的物品 - if (sstsConfig.biologicalMonitoringEnable && biologicalMonitoringWarning) { //发货时对含植入物的器械包,进行是否紧急发货以及生物监测情况的提示 if (goods.biologicalMonitoringFail) { //生物监测不合格 showResult('[' + goods.name + ']生物监测结果为不合格,不能发货' , null , sstsConfig.messagePauseTimeOnInvoiceplanPage); @@ -1723,8 +1732,7 @@ xtype : 'hidden', name : 'warehouseID', id : 'warehouseID' - }, - { + },{ xtype : 'hidden', name : 'warehouseName', id : 'warehouseName'