Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js =================================================================== diff -u -r36146 -r36189 --- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 36146) +++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 36189) @@ -34,7 +34,9 @@ if (sstsConfig.aliasNameOfInspectorField) { inspectorName = sstsConfig.aliasNameOfInspectorField; } - +var packingForCode = false; +var noCreateSetCode = ''; +var oldTousseInstanceIds = ''; var reviewViewText; if (sstsConfig.nameSchemeOfReviewModule == 2) { reviewViewText = "包装"; @@ -2631,8 +2633,19 @@ id: "save_print", text: '' + packingBtnText + '', handler: function () { + packingForCode = false; packingTousseBtnClick0(this, true); } + },{ + xtype: 'button', + margin: '0 0 0 10', + id: "save_print2", + hidden: !sstsConfig.enableTousseNumberCollectionCodeFunction, + text: '' + packingBtnText + '(含集合码)', + handler: function () { + packingForCode = true; + packingTousseBtnClick0(this, true); + } }, { xtype: 'button', @@ -3285,6 +3298,7 @@ function showPackButton(isPrint, isReview, tousseType, showOrHidePrintBtn) { var packButton = Ext4.getCmp('save_print'); packButton.show(); + Ext4.getCmp('save_print2').show(); if (sstsConfig.showPackingGoodsBtn) { var packingLableBtn = Ext4.getCmp('packingLableBtn'); @@ -4035,11 +4049,13 @@ if (sstsConfig.autoPackingAfterScanIdCard) { packing = true; Ext4.getCmp('save_print').disable(); + Ext4.getCmp('save_print2').disable(); packingTousseBtnClick(); } } function onPackingTousseBtnClickComplete() { Ext4.getCmp('save_print').enable(); + Ext4.getCmp('save_print2').enable(); Ext4.getCmp('packingLableBtn').enable(); hidePackingTousseBtnClick_mask(); @@ -4185,10 +4201,12 @@ if (selLength > 0) { var delBasketItems = new Array(); var map = {}, dest = []; + var departmentArr = []; Ext4.each(selNodes, function (pNode) { if (pNode.childNodes.length == 0) { var ai = pNode; var tousseName = ai.get('tousseName') + var department = ai.get('department'); if (!map[tousseName]) { if (ai.get('idCardBarcode') !== '') { dest.push(ai); @@ -4197,8 +4215,16 @@ } map[tousseName] = ai; } + if(departmentArr.indexOf(department) == -1){ + departmentArr.push(department); + } } }); + if(departmentArr.length > 1){ + onPackingTousseBtnClickComplete(); + showMultipleResult('只支持同科室物品合并生成器械包集合码,请检查物品后重新操作。'); + return + } if (dest.length == 1 && isConfirm == '否') { var sterilingType = Ext4.getCmp('sterilingType').getValue(); if (packingPageAutoSetSterilizationProgramAfterSelectTousse || !sstsConfig.hideSterilingType) { @@ -4813,6 +4839,7 @@ websocketSessionId: getWebsocketSessionId(), tousseName: tousseName, tousseType: tousseType, + department:department, printImmediately: printImmediately, tousseID: tousseID } @@ -4826,6 +4853,24 @@ //装配调接口 function requestPackingTousse(params, index, isTrue) { var par = params[index]; + if(packingForCode){ + var createSetCode = false; + var lastTime = false; + var tousseInstanceIds = ''; + if(noCreateSetCode !== ''){ + createSetCode = false; + tousseInstanceIds = ''; + }else { + createSetCode = true; + tousseInstanceIds = oldTousseInstanceIds; + } + par.createSetCode = createSetCode; + par.tousseInstanceIds = tousseInstanceIds; + if(index == (params.length - 1)){ + lastTime = true; + } + par.lastTime = lastTime; + } Ext4.Ajax.request({ async: false, dataType: "json", @@ -4838,6 +4883,14 @@ getPackingMaterialsForCheck.remove(par.tousseID); materialStore.reload(); } + noCreateSetCode = result.noCreateSetCode || ''; + oldTousseInstanceIds = result.tousseInstanceIds || ''; + var errorOfCreateSetCode = result.errorOfCreateSetCode || ''; + if(errorOfCreateSetCode !== ''){ + showMultipleResult(errorOfCreateSetCode); + uncheck(); + return + } if (result.success) { var taskIdToAmountMapInfo = par.taskIdToAmountMapInfo; var obj = JSON.parse(taskIdToAmountMapInfo); @@ -4857,6 +4910,14 @@ setVideoWhenAddPackingRecord(packingRecordIdArray); } } + if(packingForCode){ + var setCode = result.setCode || ''; + var setCodeSize = result.setCodeSize || ''; + if(setCode !== ''){ + var department = result.tousses[0].department; + printSetCode(setCode,setCodeSize,department); + } + } } else { //如果返回失败的结果类型为stockNotEnough(即库存不足,则进行提示) if (result.type && (result.type == 'virtualBasketNotEnough')) { @@ -4927,6 +4988,32 @@ }); } + //打印集合码 + function printSetCode(setCode, setCodeSize, department) { + doGetLodop(); + LODOP.PRINT_INIT(""); + var tableHtml = "
总包数:" + setCodeSize + " | "; + tableHtml += "