Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js =================================================================== diff -u -r29610 -r29621 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 29610) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 29621) @@ -12,6 +12,8 @@ var shareDepartsMap = new newMap(); var shareDepartsArr = []; var basketArray = []; +//缓存扫描的包实例条码 +var sessionTousseInstance = {}; /** * 不回收的器械包的集合。这个是由绑定带出来的器械包,并且不回收,在回收这里本来是不做处理的。现在要能修改原来的申请数量,相关的还有装配任务 */ @@ -778,7 +780,7 @@ } } } - + delete(sessionTousseInstance[tousseDefinitionID]); //移除篮筐内物品 $("#basketsUl li").each(function(){ var jsonObj = null; @@ -1285,7 +1287,7 @@ showBarcode = tousseName; } - if((sstsConfig.defaultRecycleAmountOfTousseFormIsZero || sstsConfig.defaultRecycleAmountOfComboFormIsZero) && idCardBarcode == ""){ + if(idCardBarcode == ""){ if(tousseInstanceBarcode !=""){ showBarcode = tousseInstanceBarcode; }else{ @@ -1711,7 +1713,7 @@ alertDiv(msg.errorMessage); } }else{ - if((sstsConfig.defaultRecycleAmountOfComboFormIsZero || sstsConfig.defaultRecycleAmountOfTousseFormIsZero) && msg.errorMessage == "器械包已回收!"){ + if(msg.errorMessage == "器械包已回收!"){ newAlert(msg.errorMessage); }else{ alertDiv(msg.errorMessage); @@ -1749,13 +1751,11 @@ if(!msg.isIDCardInstance){//扫描器械包实例的条码 var ti = msg.tousseInstance; var td = ti.tousseDefinition; - if(sstsConfig.defaultRecycleAmountOfComboFormIsZero || sstsConfig.defaultRecycleAmountOfTousseFormIsZero){ + if(sstsConfig.enableAutoIntoWashBasketWhenScanTousseBarcode){ var basketHideStr = $("#basketsUl li:first").find('input').val(); - if(sstsConfig.enableAutoIntoWashBasketWhenScanTousseBarcode){ - if(basketHideStr == null || basketHideStr == ""){ - newAlert("请扫描篮筐条码!"); - return false; - } + if(basketHideStr == null || basketHideStr == ""){ + newAlert("请扫描篮筐条码!"); + return false; } if(!sstsConfig.disableIdCard && td.isDisableIDCard == "否"){//配置项开启和包定义中启用标识牌功能后,必须扫描标识牌回收 @@ -1800,12 +1800,7 @@ cleanDeleteTousseItem(td.id); addErrorDamageRemark(ti,tmpRow); var orgUnitName = $('#depart').val(); - if(sstsConfig.enableAutoIntoWashBasketWhenScanTousseBarcode){ - var loadedAmount2 = tousseIntoBasketFunction(ti.id,td.id,td.name,1,td.isCleanedEntirely,orgUnitName,"",ti.barcode,td.tousseType,-1,'否',2,msg); - }else { - addToussItem(toussItem,sstsConfig.addTousseAtLastForRecycle); - } - + addToussItem(toussItem,sstsConfig.addTousseAtLastForRecycle,true,ti.id); //未补充的丢失报损 loadUnSupplementMaterial(msg,tmpRow,ti.barcode); } @@ -3158,7 +3153,25 @@ if(amount == 0){ alertDiv('没有可以放入篮筐的器械包。'); }else{ - var loadedAmount = tousseIntoBasketFunction("",tousseDefinitionID,tousseName,amount,isCleanedEntirely,orgUnitName,"","",tousseType,row,isIDCard,1,{}); + var idsLen = 0; + for(var item in sessionTousseInstance){ + if(item == tousseDefinitionID){ + var ids = ''+sessionTousseInstance[item].ids+''; + var barcodes = sessionTousseInstance[item].barcode; + if(ids){ + idsLen = ids.split(';').length; + for(var i=0;i 0){ + var resultAmount = parseInt(amount)-idsLen; + tousseIntoBasketFunction("",tousseDefinitionID,tousseName,resultAmount,isCleanedEntirely,orgUnitName,"","",tousseType,row,isIDCard,1,{}); + } newAmount = 0; } setTousseItemLoadedAmountCss(row); @@ -3323,9 +3336,11 @@ * 添加回收记录明细,tousseName为器械包名称,applicationAmount为申请数量,recycleAmount为回收数量,loadedAmount为装载数量 * @param toussItem 物品明细 * @param appendLast 是否追加到最后一行 + * @param isScanAddTouss 是否扫描添加的物品 + * @param tid 包实例条码 * @returns {Boolean} */ -function addToussItem(toussItem,appendLast){ +function addToussItem(toussItem,appendLast,isScanAddTouss,tid){ var row = toussItem.row; var tousseItemId = toussItem.tousseItemId; var tousseName = toussItem.tousseName; @@ -3350,9 +3365,37 @@ if(($('#tousseDefinitionID'+i).val() == tousseDefinitionID)||(tousseType == '消毒物品' && $('#tousseName'+i).val() == tousseName)){ //显示的列表中是否有该器械包 if($('#deleted'+i).val() == '0'){ - if(barcode !== ''){ + //BJ307YY-35缓存扫描的包实例的数量 + if(barcode !== ''){ var recycleAmount = parseInt($('#recycleAmount'+i).val()); - $('#recycleAmount'+i).val(recycleAmount+1); + if(isScanAddTouss){ + if(!sessionTousseInstance[tousseDefinitionID]){ + sessionTousseInstance[tousseDefinitionID] = { + name:tousseName, + amount:1, + barcode:barcode, + ids:tid + } + showResult(sessionTousseInstance[tousseDefinitionID].name+'的实例条码数量为'+sessionTousseInstance[tousseDefinitionID].amount); + if(Object.keys(sessionTousseInstance).length > recycleAmount){ + $('#recycleAmount'+i).val(recycleAmount+1); + } + }else { + if(sessionTousseInstance[tousseDefinitionID].barcode.indexOf(barcode) == -1){ + sessionTousseInstance[tousseDefinitionID].amount += 1; + sessionTousseInstance[tousseDefinitionID].ids += ';'+tid; + sessionTousseInstance[tousseDefinitionID].barcode += ';'+barcode; + if(recycleAmount < sessionTousseInstance[tousseDefinitionID].amount){ + $('#recycleAmount'+i).val(recycleAmount+1); + } + showResult(sessionTousseInstance[tousseDefinitionID].name+'的实例条码数量为'+sessionTousseInstance[tousseDefinitionID].amount); + }else { + showResult('该实例条码已经在回收列表中!'); + } + } + }else { + $('#recycleAmount'+i).val(recycleAmount+1); + } b = false; highlightExistTousseItem(i); }else { @@ -3463,7 +3506,16 @@ } } refreshErrorRemarkView(row); - refreshDamageRemarkView(row); + refreshDamageRemarkView(row); + if(isScanAddTouss){ + sessionTousseInstance[tousseDefinitionID] = { + name:tousseName, + amount:1, + barcode:barcode, + ids:tid + } + showResult(tousseName+'的实例条码数量为1') + } } return b; }