Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r21933 -r21961 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 21933) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 21961) @@ -2903,19 +2903,21 @@ Set toussesInBasket = null; if(Container.CONTAINER_PURPOSE_DISINFECTION.equals(container.getPurpose())){ //如果为灭菌筐,按原有方式查询 toussesInBasket = tousseInstanceManager.getReviewedTousseInstanceByBasket(barcode); + }else if(Container.CONTAINER_PURPOSE_VIRTUAL.equals(container.getPurpose())){ //如果为虚拟篮筐,则按范围区间方式查询,begin和end都为条码的参数 Map map = barcodeManager.getTousseInstanceListByRange(barcode, barcode, TousseInstance.STATUS_REVIEWED); if(map != null && map.get("result") != null){ toussesInBasket = new HashSet(); toussesInBasket.addAll((List)map.get("result")); } } + if (toussesInBasket != null && toussesInBasket.size() > 0) { List tousseList = new ArrayList(); tousseList.addAll(toussesInBasket); Collections.sort(tousseList);//按id降序排序 Map cMap=Maps.newHashMap(); - int countAmount=0; + int countAmount=0; for (TousseInstance tousseInstance : tousseList) { String tousseName = tousseInstance.getTousseName(); if (tousseInstance != null && StringUtils.isNotBlank(tousseInstance.getTousseName())) { @@ -3138,7 +3140,6 @@ } } // 容器 - int basketAmount=0;//篮筐汇总总数 for (ReviewedBasket reviewedBasket : reviewedBasketList) { try { Set tousseInstanceList2 = reviewedBasket.getTousseInstances(objectDao); @@ -3148,7 +3149,7 @@ jsonObj.put("name", reviewedBasket.getContainer().getContainerName()); jsonObj.put("type", "篮筐"); jsonObj.put("position", reviewedBasket.getSterilizerPosition()); - jsonObj.put("amount", basketAmount); + jsonObj.put("amount", tousseInstanceList2.size()); jsonObj.put("uiProvider", "col"); jsonObj.put("iconCls", "task-folder"); @@ -3168,7 +3169,6 @@ obj.put("barcode", tousseInstanceManager.getTousseInsFixedBarcode(tousseName)); //覆盖 cMap.put(tousseName, obj); - basketAmount++; }else{ JSONObject tousseObj = new JSONObject(); tousseObj.put("isParentNode", false); @@ -3189,7 +3189,6 @@ cMap.put(tousseName, tousseObj); } //cMap.put(tousseName, tousseObj); - basketAmount++; } } @@ -3198,7 +3197,7 @@ tousseInBasketArray.add(cMap.get(str)); } jsonObj.put("children", tousseInBasketArray); - jsonObj.put("amount",basketAmount); + //jsonObj.put("amount",basketAmount); jsonArray.add(jsonObj); Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r21933 -r21961 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 21933) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 21961) @@ -391,24 +391,22 @@ sterilizationRecord.setReviewedBasketAmount(reviewedBasketList.size()); //计算此灭菌记录的灭菌篮筐总数 //如果状态不等于“灭菌中”,则不用去获取条码 - if(!sterilizationRecord.getStatus().equals(SterilizationRecord.STERILIZATION_STATUS_BEGIN)){ - return; + if(sterilizationRecord.getStatus().equals(SterilizationRecord.STERILIZATION_STATUS_BEGIN)){ + //汇总后的数据,不显示唯一条码,所以在这里要提前拿到并给到前台 + List tousseInsList = sterilizationRecord.getTousseInstanceList();//器械包集合 + for (TousseInstance ti : tousseInsList) { + if(tousseInstanceManager.isCountBarcode(ti.getBarcode())){//只有是固定条码才去获取 + String barcode = ti.getBarcode();//当前条码 + String fBarcode = tousseInstanceManager.getTousseInsFixedBarcode(ti.getTousseName());//获得固定条码 + if(fBarcode!=""){ + barcodes.append(ti.getBarcode()+","); + } + if(fBarcode!="" && fixedBarcodes.indexOf(fBarcode)==-1 ){ + fixedBarcodes.append(fBarcode+","); + } + } + } } - - //汇总后的数据,不显示唯一条码,所以在这里要提前拿到并给到前台 - List tousseInsList = sterilizationRecord.getTousseInstanceList();//器械包集合 - for (TousseInstance ti : tousseInsList) { - if(tousseInstanceManager.isCountBarcode(ti.getBarcode())){//只有是固定条码才去获取 - String barcode = ti.getBarcode();//当前条码 - String fBarcode = tousseInstanceManager.getTousseInsFixedBarcode(ti.getTousseName());//获得固定条码 - if(fBarcode!=""){ - barcodes.append(ti.getBarcode()+","); - } - if(fBarcode!="" && fixedBarcodes.indexOf(fBarcode)==-1 ){ - fixedBarcodes.append(fBarcode+","); - } - } - } } Map map = new HashMap(); Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js =================================================================== diff -u -r21954 -r21961 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 21954) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 21961) @@ -1202,7 +1202,8 @@ * 删除灭菌物品栏,物品回退至待灭菌物品列表 * @param clickNode */ -function addPendingStarilizationGoodsFromRecord(clickNode,isFixedBarcode) { +/*function addPendingStarilizationGoodsFromRecord(clickNode,isFixedBarcode) { + var objBarcode = clickNode.attributes.barcode; var objName = clickNode.attributes.name; var type = clickNode.attributes.type; @@ -1313,7 +1314,7 @@ }else{ top.Ext.getCmp("btnBatchAddTousse").enable(); } -} +}*/ @@ -1336,15 +1337,14 @@ var objAmount = 1; if (type == '篮筐') { type = 'BASKET'; - //objAmount = 0; clickNode.eachChild(function(pNode){ countAmount=parseInt(countAmount)+parseInt(pNode.attributes.amount) var childObjBarcode = pNode.attributes.barcode; var childObjName = pNode.attributes.name; - var childObjAmount = 1; + var childObjAmount = pNode.attributes.amount; var childType = 'TOUSSE_IN'; var isUrgent = '否'; - var childNode = createPendingSterilizationGoodsNode(childObjBarcode, childObjName, amount, childType , pNode.attributes.depart, pNode.attributes.reviewTime); + var childNode = createPendingSterilizationGoodsNode(childObjBarcode, childObjName, childObjAmount, childType , pNode.attributes.depart, pNode.attributes.reviewTime); DWREngine.setAsync(false); //如果灭菌程序不能添加器械包,要清除灭菌物品列表 SterilizationRecordTableManager.isTousseUrgent(childObjBarcode,function(result){ @@ -1472,6 +1472,7 @@ if(result.success){ var newBarcode = result.message.split(",") myBarcodes=myBarcodes.concat(newBarcode);//将返回的条码添加到全局中 + top.Ext.getCmp('saveBtn').enable(); }else{ showResult("增加数量失败,请勿提交数据"); } @@ -1587,6 +1588,7 @@ //removeByValue() //myFixedBarcodes.removeByValue(fixedBarcode);//从全局固定条码集合中移除 } + top.Ext.getCmp('saveBtn').enable(); }else{ showResult("减少数量失败,请勿提交数据"); } @@ -1782,12 +1784,10 @@ // finalAmount = surplusAmount // } addTousseInsAmount(attr.barcode,count) - sterilizationRecordWin.getEl().unmask(); // removeAndUpdateAmountToFixedBarcodes(barcode,finalAmount) }else{ var count = oldAmount - newAmount //减少的数量 delTousseInsAmount(count,attr.barcode) - sterilizationRecordWin.getEl().unmask(); // var surplusAmount = stockAmount - newAmount //剩余可用数量 // if(surplusAmount >= todayAmount){ // finalAmount = todayAmount @@ -1803,8 +1803,6 @@ } //每次修改数量后,进行统计 statisticsTousseAndBasket(); - top.Ext.getCmp('saveBtn').enable(); - sterilizationRecordWin.getEl().unmask(); }, failure : function(response, options) { showResult("后台运行异常,请稍候再试...");