Index: ssts-web/src/main/webapp/disinfectsystem/packing/directPacking.js =================================================================== diff -u -r17032 -r17061 --- ssts-web/src/main/webapp/disinfectsystem/packing/directPacking.js (.../directPacking.js) (revision 17032) +++ ssts-web/src/main/webapp/disinfectsystem/packing/directPacking.js (.../directPacking.js) (revision 17061) @@ -155,20 +155,20 @@ barcodeField.setValue(); } - function printBarcode(barcodeStr,virtualSeqNums,disinfectionDate,isTraceable,fixedBarcode,idCardDefinitionUseAmount){ + function printBarcode(retObj,virtualSeqNums,disinfectionDate,isTraceable,fixedBarcode,idCardDefinitionUseAmount){ var names = getPrintNames(isPrintUserFullName, Ext.getCmp('operator').getValue(), Ext.getCmp('reviewer').getValue(), Ext.getCmp('sterileUser').getValue(), Ext.getCmp('operatorCode').getValue(), Ext.getCmp('reviewerCode').getValue(),Ext.getCmp('sterileCode').getValue()); - + var tousseInstances = retObj.tousseInstances; var printNum = Ext.getCmp('tempPrintNum').getValue();//打印张数 var packageType = Ext.getCmp("packageType").getValue(); var sterilingType = Ext.getCmp("sterilingType").getValue(); var sterilizer = Ext.getCmp("sterilizer").getValue(); var frequency = Ext.getCmp("frequency").getValue(); - var department = ''; + var department = retObj.department; + var selectedDepartment = ''; if(sstsConfig.selectDepartInCustomPacking){ - department=Ext.getCmp('depart').getValue(); + selectedDepartment = Ext.getCmp('depart').getValue(); } - - if(barcodeStr != null && barcodeStr.length > 0){ + if(tousseInstances.length > 0){ var tousseName = Ext.getCmp('tousseName').getValue(); ExpirationDateInfoTableManager.getExpirationDate(disinfectionDate,packageType,function(result){ @@ -184,14 +184,12 @@ progress:true, closable:false }); - var barcodeArray = barcodeStr.split(";"); - var virtualSeqNumsArray = virtualSeqNums.split(";"); - for ( var i = 0; i < barcodeArray.length; i++) { - var barcodeItem = barcodeArray[i].split(":"); - var toussName = barcodeItem[0]; - var barcode = barcodeItem[1]; + for ( var i = 0; i < tousseInstances.length; i++) { + var tousseInstance = tousseInstances[i]; + var toussName = tousseInstance.tousseName; + var barcode = tousseInstance.barcode; var barocdeArray = barcode.split(","); - var virtualSeqNumArray = virtualSeqNumsArray[i].split(","); + var virtualSeqNumArray = tousseInstance.virtualSeqNums.split(","); for ( var j = 0; j < barocdeArray.length; j++) { top.Ext.MessageBox.updateProgress((j + 1)/barocdeArray.length,'正在打印第' + (j + 1) + '个,共' + barocdeArray.length + '个'); var tempPrintNum = printNum; @@ -204,11 +202,7 @@ DWREngine.setAsync(true); var barcodePaperType = jsonObj.barcodePaperType; var materials = jsonObj.result; - //打印 - var pBarcode = barocdeArray[j]; - if(!isTraceable){ - pBarcode = fixedBarcode; - } + // 获取包装方式的简称 var packageTypeAbbreviation = ''; DWREngine.setAsync(false); @@ -217,19 +211,27 @@ }); DWREngine.setAsync(true); - var obj = {'barcode':pBarcode, 'name':toussName, 'name':toussName, 'nameWithoutDepart':toussName,'pageType':barcodePaperType, 'materials':materials, 'operator':names.operatorToPrint, 'reviewer': names.reviewerToPrint,'sterilizationUser':names.sterilizationUserToPrint,'washOperator':'', 'sterilizationDate':sterilizationDate, 'validDate':validDate, + var barcodes = [barocdeArray[j]]; + var obj = {'barcodes':barcodes, 'name':toussName, 'name':toussName, 'nameWithoutDepart':toussName,'pageType':barcodePaperType, 'materials':materials, 'operator':names.operatorToPrint, 'reviewer': names.reviewerToPrint,'sterilizationUser':names.sterilizationUserToPrint,'washOperator':'', 'sterilizationDate':sterilizationDate, 'validDate':validDate, 'hospitalName':hospitalName, 'sterilizer':sterilizer, 'frequency':frequency, 'markTousse':markTousse, 'sterilingType':sterilingType ,'materialAmount':jsonObj.materialAmount,'diposableGoodsAmount':jsonObj.diposableGoodsAmount,'totalAmount':jsonObj.totalAmount, 'idCardDefinitionUseAmount':idCardDefinitionUseAmount,'packageTypeAbbreviation':packageTypeAbbreviation}; obj.sterilizerName = sterilizer; obj.sterileFrequency = frequency; - obj.virtualBasketSeqNum = virtualSeqNumArray[j]; + obj.virtualBasketSeqNum = [virtualSeqNumArray[j]]; + obj.virtualSeqNums = [virtualSeqNumArray[j]]; obj.department = department; obj.depart = department; //自定义装配时,如果所选科室有值,则默认为要打印科室,无论包定义设置是否打印科室 - if(obj.department){ - obj.printOrgSource = '回收科室'; + obj.printOrgSource = tousseInstance.printOrgSource; + if(selectedDepartment){ + if(obj.printOrgSource == '无'){// 如果选了科室,自定义装配,始终打印科室 + obj.printOrgSource = '回收科室'; + obj.department = selectedDepartment; + obj.depart = selectedDepartment; + } } - defaultPrintPackage(obj); + top.Ext4.applyIf(obj,tousseInstance); + doPrintLabel(obj); tempPrintNum--; } } @@ -1189,9 +1191,10 @@ //此处改为不管器械包定义是否打印,都打印标签 if(isPrint){ if(action.result.isDisinfection){//是否为消毒物品 - printBarcodeOfDisinfection(action.result.barcode, action.result.disinfectionItem,isTraceable,fixedBarcode,expirationDate,action.result.packageTypeAbbreviation); + alert('暂时不支持消毒物品!') +// printBarcodeOfDisinfection(action.result.barcode, action.result.disinfectionItem,isTraceable,fixedBarcode,expirationDate,action.result.packageTypeAbbreviation); }else{ - printBarcode(action.result.barcode,action.result.virtualSeqNums,disinfectionDate,isTraceable,fixedBarcode,idCardDefinitionUseAmount); + printBarcode(action.result,action.result.virtualSeqNums,disinfectionDate,isTraceable,fixedBarcode,idCardDefinitionUseAmount); } }else{ showResult("此器械包不打印标签!");