Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r22327 -r22387 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 22327) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 22387) @@ -765,7 +765,7 @@ String[] excludeBarcodes = StringUtils.split(saveBarcode, ';'); JSONObject jsonObject = new JSONObject(); - List tousseInstanceList = tousseInstanceManager.addTousseInstanceToBasket( + List tousseInstanceList = tousseInstanceManager.addTousseInstanceToBasket( basketBarcode, Arrays.asList(tousseBarcodeArray), Arrays.asList(excludeBarcodes)); jsonObject.put("success", true); jsonObject.put("msg", "成功放入篮筐"); @@ -774,33 +774,38 @@ Map bMap=Maps.newHashMap(); if(CollectionUtils.isNotEmpty(tousseInstanceList)){ JSONArray jsonArray = new JSONArray(); - for(TousseInstance tousseInstance : tousseInstanceList){ + for(TousseSimpleVO tousseInstance : tousseInstanceList){ String objName = tousseInstance.getTousseName(); - boolean isCountBarcode = tousseInstanceManager.isCountBarcode(tousseInstance.getBarcode()); - if(bMap.containsKey(objName) && isCountBarcode){//只有支持扫固定条码的包,才去统计 - //已存在 则取出该对象,对象中 objAmount 累加。 - JSONObject obj = bMap.get(objName); - int amt=(int) obj.get("amount"); - amt++; - obj.put("amount", amt); - obj.put("barcode", tousseInstanceManager. getTousseFixedBarcodeByBarcode(tousseInstance.getBarcode(),TousseDefinition.STR_NO)); - //覆盖 - bMap.put(objName, obj); + if(StringUtils.equals(Constants.STR_NO, tousseInstance.getIsTraceable())){//只有支持扫固定条码的包,才去统计 + if(bMap.containsKey(objName)){ + + //已存在 则取出该对象,对象中 objAmount 累加。 + JSONObject obj = bMap.get(objName); + int amt=(int) obj.get("amount"); + amt++; + obj.put("amount", amt); + obj.put("barcode", tousseInstance.getFixedBarcode()); + //覆盖 + bMap.put(objName, obj); + }else{ + JSONObject json = new JSONObject(); + json.put("depart", tousseInstance.getDepart()); + json.put("tousseName", tousseInstance.getTousseName()); + json.put("barcode", tousseInstance.getFixedBarcode()); + json.put("fixedBarcode", tousseInstance.getFixedBarcode()); + json.put("departCoding", tousseInstance.getDepartCoding()); + json.put("amount", 1); + bMap.put(objName, json); + } }else{ JSONObject json = new JSONObject(); json.put("depart", tousseInstance.getDepart()); json.put("tousseName", tousseInstance.getTousseName()); json.put("barcode", tousseInstance.getBarcode()); - json.put("fixedBarcode", tousseInstanceManager.getTousseFixedBarcodeByBarcode(tousseInstance.getBarcode(), TousseDefinition.STR_NO)); + json.put("fixedBarcode", ""); json.put("departCoding", tousseInstance.getDepartCoding()); json.put("amount", 1); - if(!isCountBarcode){ - bMap.put(tousseInstance.getBarcode(), json); - }else{ - String fixedBarcode = tousseInstanceManager.getTousseFixedBarcodeByBarcode(tousseInstance.getBarcode(),TousseDefinition.STR_NO); - json.put("barcode",fixedBarcode);//固定条码 - bMap.put(objName, json); - } + bMap.put(tousseInstance.getBarcode(), json); } } for (String str : bMap.keySet()) { Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r22327 -r22387 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 22327) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 22387) @@ -33,7 +33,6 @@ import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.hibernate.Query; -import org.testng.collections.Lists; import com.forgon.Constants; import com.forgon.databaseadapter.service.DateQueryAdapter; @@ -714,7 +713,7 @@ return "select count(0) from ((select tdancestor.id,depart,ti.tousseName,b.barcode,ti.reviewTime,1 amount from " + "TousseInstance ti join barcodeDevice b on b.id=ti.id join toussedefinition td on ti.tousseDefinition_id=td.id " + "join toussedefinition tdancestor on td.ancestorID=tdancestor.id where ti.comboTousseInstanceId is null " - + "and tdancestor.isTraceable='是' "+keyWordSearchSql+" and ti.status='"+TousseInstance.STATUS_REVIEWED+"' "+departSearchSql+" and ti.reviewBasket_id is null and " + + "and tdancestor.isTraceable='是' "+keyWordSearchSql+" and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null and " + "((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCode+"') " + "or (ti.proxyDisinfection_id is not null and ti.proxyDisinfection_id in (select ip.id from InvoicePlan ip where ip.handleDepartCoding='"+orgUnitCode+"')))) " @@ -725,7 +724,7 @@ + "barcode,null reviewTime,count(0) amount from TousseInstance ti join barcodeDevice b on b.id=ti.id " + "join toussedefinition td on ti.tousseDefinition_id=td.id join toussedefinition tdancestor " + "on td.ancestorID=tdancestor.id where 1=1 and ti.comboTousseInstanceId is null " - + "and tdancestor.isTraceable='否'"+keyWordSearchSql+" and ti.status='"+TousseInstance.STATUS_REVIEWED+"' "+departSearchSql+" and ti.reviewBasket_id is null " + + "and tdancestor.isTraceable='否'"+keyWordSearchSql+" and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null " + "and ((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCode+"')" + " or (ti.proxyDisinfection_id is not null and ti.proxyDisinfection_id in " + "(select ip.id from InvoicePlan ip where ip.handleDepartCoding='"+orgUnitCode+"')))group by tdancestor.id,tdancestor.name)) t"; @@ -740,7 +739,7 @@ return "select count(0) from ((select tdancestor.id,depart,ti.tousseName,b.barcode,ti.reviewTime,1 amount from TousseInstance ti " + "join barcodeDevice b on b.id=ti.id join toussedefinition td on ti.tousseDefinition_id=td.id " + "join toussedefinition tdancestor on td.ancestorID=tdancestor.id where ti.comboTousseInstanceId " - + "is null and tdancestor.isTraceable='是' "+keyWordSearchSql+" and ti.status='"+TousseInstance.STATUS_REVIEWED+"' "+departSearchSql+" and ti.reviewBasket_id is null " + + "is null and tdancestor.isTraceable='是' "+keyWordSearchSql+" and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null " + "and ((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCode+"') or (ti.proxyDisinfection_id " + "is not null and ti.proxyDisinfection_id in (select ip.id from InvoicePlan ip " + "where ip.handleDepartCoding='"+orgUnitCode+"'))))" @@ -753,7 +752,7 @@ + "reviewTime,count(0) amount from TousseInstance ti join barcodeDevice b on b.id=ti.id join " + "toussedefinition td on ti.tousseDefinition_id=td.id join toussedefinition tdancestor " + "on td.ancestorID=tdancestor.id where 1=1 and ti.comboTousseInstanceId is null and " - + "tdancestor.isTraceable='否'"+keyWordSearchSql+" and ti.status='"+TousseInstance.STATUS_REVIEWED+"' "+departSearchSql+" and ti.reviewBasket_id is null " + + "tdancestor.isTraceable='否'"+keyWordSearchSql+" and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null " + "and ((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCode+"') or " + "(ti.proxyDisinfection_id is not null and ti.proxyDisinfection_id in " + "(select ip.id from InvoicePlan ip where ip.handleDepartCoding='"+orgUnitCode+"'))" @@ -775,7 +774,7 @@ + "b.barcode,ti.reviewTime,1 amount from TousseInstance ti join barcodeDevice b on b.id=ti.id " + "join toussedefinition td on ti.tousseDefinition_id=td.id join toussedefinition tdancestor on " + "td.ancestorID=tdancestor.id where ti.comboTousseInstanceId is null and tdancestor.isTraceable='是' "+keyWordSearchSql+" " - + "and ti.status='"+TousseInstance.STATUS_REVIEWED+"' "+departSearchSql+" and ti.reviewBasket_id is null and ((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCoding+"') " + + "and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null and ((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCoding+"') " + "or (ti.proxyDisinfection_id is not null and ti.proxyDisinfection_id in " + "(select ip.id from InvoicePlan ip where ip.handleDepartCoding='"+orgUnitCoding+"')) ) ) " @@ -786,7 +785,7 @@ + ", null reviewTime,count(0) amount from TousseInstance ti " + "join barcodeDevice b on b.id=ti.id join toussedefinition td on ti.tousseDefinition_id=td.id join toussedefinition " + "tdancestor on td.ancestorID=tdancestor.id where 1=1 and ti.comboTousseInstanceId is null and tdancestor.isTraceable='否' "+keyWordSearchSql+" " - + "and ti.status='"+TousseInstance.STATUS_REVIEWED+"' "+departSearchSql+" and ti.reviewBasket_id is null and ((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCoding+"') " + + "and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null and ((ti.proxyDisinfection_id is null and ti.orgUnitCoding='"+orgUnitCoding+"') " + "or (ti.proxyDisinfection_id is not null and ti.proxyDisinfection_id in " + "(select ip.id from InvoicePlan ip where ip.handleDepartCoding='"+orgUnitCoding+"')))group by tdancestor.id,tdancestor.name)) " + "v where rownum <= "+amount+") v1 where rn > "+start+" "; @@ -805,7 +804,7 @@ + "((select tdancestor.id,depart,ti.tousseName,b.barcode,ti.reviewTime,1 amount from TousseInstance ti " + "join barcodeDevice b on b.id=ti.id join toussedefinition td on ti.tousseDefinition_id=td.id join " + "toussedefinition tdancestor on td.ancestorID=tdancestor.id where tdancestor.isTraceable='是' "+keyWordSearchSql+" and " - + "ti.status='"+TousseInstance.STATUS_REVIEWED+"' "+departSearchSql+" and ti.reviewBasket_id is null and ti.orgunitcoding='"+orgUnitCoding+"')" + + "ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null and ti.orgunitcoding='"+orgUnitCoding+"')" + " union " @@ -814,13 +813,13 @@ + "ti1.tousseDefinition_id=tdancestor.id) barcode,null reviewTime,count(0) amount from TousseInstance " + "ti join barcodeDevice b on b.id=ti.id join toussedefinition td on ti.tousseDefinition_id=td.id join " + "toussedefinition tdancestor on td.ancestorID=tdancestor.id where 1=1 and tdancestor.isTraceable='否' "+keyWordSearchSql+" " - + "and ti.status='"+TousseInstance.STATUS_REVIEWED+"' "+departSearchSql+" and ti.reviewBasket_id is null " + + "and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null " + "and ti.orgunitcoding='"+orgUnitCoding+"' group by tdancestor.id,tdancestor.name )) tt ) t " + "where t.barcode not in (select top "+start+" barcode from " + "((select tdancestor.id,depart,ti.tousseName,b.barcode,ti.reviewTime,1 amount from TousseInstance ti " + "join barcodeDevice b on b.id=ti.id join toussedefinition td on ti.tousseDefinition_id=td.id join " + "toussedefinition tdancestor on td.ancestorID=tdancestor.id where tdancestor.isTraceable='是' "+keyWordSearchSql+" " - + "and ti.status='"+TousseInstance.STATUS_REVIEWED+"' "+departSearchSql+" " + + "and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" " + " and ti.reviewBasket_id is null and ti.orgunitcoding='"+orgUnitCoding+"')" + " union " @@ -830,7 +829,7 @@ + "and ti1.tousseDefinition_id=tdancestor.id) barcode,null reviewTime,count(0) amount from TousseInstance ti join barcodeDevice " + "b on b.id=ti.id join toussedefinition td on ti.tousseDefinition_id=td.id join " + "toussedefinition tdancestor on td.ancestorID=tdancestor.id where 1=1 and tdancestor.isTraceable='否' "+keyWordSearchSql+" " - + "and ti.status='"+TousseInstance.STATUS_REVIEWED+"' "+departSearchSql+" and ti.reviewBasket_id is null " + + "and ti.status='"+TousseInstance.STATUS_REVIEWED+"' and ti.comboTousseInstanceId is null "+departSearchSql+" and ti.reviewBasket_id is null " + "and ti.orgunitcoding='"+orgUnitCoding+"'group by tdancestor.id,tdancestor.name)) aa )"; } @@ -868,6 +867,7 @@ }else if(dbConnection.isOracle()){ findSql = getTousseInstanceWithOutBasketByOracle(start,limit,orgUnitCode,departSearchSql,keyWordSearchSql); } + System.out.println("5555"+findSql); ResultSet rs = objectDao.executeSql(findSql); List tousseList = new ArrayList(); try { @@ -1467,15 +1467,23 @@ } @Override - public List addTousseInstanceToBasket(String basketBarcode, + public List addTousseInstanceToBasket(String basketBarcode, Collection tousseInstanceBarcodes, Collection excludeBarcodes) { + //1.根据传入的条码查询vo + String querySql = "select ti.tousseName,ti.departCoding,ti.depart,b.barcode,td.isTraceable "+ + "from TousseInstance ti join barcodeDevice b on ti.id=b.id "+ + "join TousseDefinition td on ti.tousseDefinition_id=td.id "+ + "join TousseDefinition tdAncestor on td.ancestorID=tdAncestor.id "+ + "where " + SqlUtils.getStringFieldInCollectionsPredicate("b.barcode", tousseInstanceBarcodes); + List tousseSimpleVOList = getTousseVoDataFromDb(querySql); //判断是否有勾选固定条码,如果有,则去获取下面的包实例条码 Collection bList = new ArrayList(); - for (String barcode : tousseInstanceBarcodes) { - if(isCountBarcode(barcode)){ - List list = getTousseInsDataByFixedBarcode(barcode, "", " and status='"+TousseInstance.STATUS_REVIEWED+"' ", "barcode", 1); + for (TousseSimpleVO tousseSimpleVO : tousseSimpleVOList) { + //if(isCountBarcode(barcode)){ + if(StringUtils.equals(Constants.STR_NO, tousseSimpleVO.getIsTraceable())){ + List list = getTousseInsDataByFixedBarcode(tousseSimpleVO.getBarcode(), "", " and status='"+TousseInstance.STATUS_REVIEWED+"' ", "barcode", 1); for (String bStr : list) { bList.add(bStr); } @@ -1513,52 +1521,55 @@ appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_REVIEW + "或者" + Log.MODEL_STERILELOADING, Log.TYPE_UPDATE, json); + //由于tousseInstanceBarcodes的类型是Arrays$ArrayList类型,不能调用add或addAll方法,所以重新new了一个arrayList对象 List tousseInstanceBarcodeList = new ArrayList(); tousseInstanceBarcodeList.addAll(tousseInstanceBarcodes); tousseInstanceBarcodeList.addAll(bList); - Query query = objectDao.getHibernateSession().createQuery("from TousseInstance where barcode in :barcode order by barcode"); - query.setParameterList("barcode", tousseInstanceBarcodeList); - List tousses = query.list(); + String barcodeInCondition = SqlUtils.getStringFieldInCollectionsPredicate("barcode", tousseInstanceBarcodeList); //获取器械包审核前所在的虚拟篮筐集合 - List virtualBasketNameList = new ArrayList(); - for (TousseInstance tousseInstance : tousses) { - //获取审核前虚拟篮筐 - String virtualBasketSeqNum = tousseInstance.getVirtualBasketSeqNum(); - if(StringUtils.isNotBlank(virtualBasketSeqNum) && !virtualBasketNameList.contains(virtualBasketSeqNum)){ - virtualBasketNameList.add(virtualBasketSeqNum); - } - } + List virtualBasketNameList = new ArrayList(); + String queryAllVirtualBasketNameSql = "select distinct virtualBasketSeqNum from " + TousseInstance.class.getSimpleName() + + " ti join "+ BarcodeDevice.class.getSimpleName() +" b on ti.id=b.id where " + barcodeInCondition; + ResultSet rs = null; + try { + rs = objectDao.executeSql(queryAllVirtualBasketNameSql); + while(rs.next()){ + virtualBasketNameList.add(rs.getString("virtualBasketSeqNum")); + } + } catch (Exception e) { + // TODO: handle exception + }finally{ + DatabaseUtil.closeResultSetAndStatement(rs); + } + - Query queryForUpate = objectDao.getHibernateSession().createQuery("from TousseInstance where barcode in :barcode"); - queryForUpate.setParameterList("barcode", tousseInstanceBarcodeList); - List tousseInstanceList = queryForUpate.list(); - if(CollectionUtils.isNotEmpty(tousseInstanceList)){ - for(TousseInstance tousseInstanceUpdate : tousseInstanceList){ - tousseInstanceUpdate.setVirtualBasketSeqNum(null); - tousseInstanceUpdate.setReviewBasket_id(basket.getId()); - tousseInstanceUpdate.setSterilizationBasket(basket.getContainer().getContainerName()); - objectDao.saveOrUpdate(tousseInstanceUpdate); - - List tousseInstanceListBelongInComboTousse = tousseInstanceUpdate.getTousseInstancesBelongToThisComboTousse(objectDao); - if(CollectionUtils.isNotEmpty(tousseInstanceListBelongInComboTousse)){ - for (TousseInstance tousse : tousseInstanceListBelongInComboTousse) { - tousse.setReviewBasket_id(tousseInstanceUpdate.getReviewBasket_id()); - tousse.setSterilizationBasket(tousseInstanceUpdate.getSterilizationBasket()); - tousse.setVirtualBasketSeqNum(null); - objectDao.saveOrUpdate(tousse); - } - } - } - } + //然后执行计算虚拟篮筐状态 + if(CollectionUtils.isNotEmpty(virtualBasketNameList)){ + //重新计算虚拟篮筐状态 + countVirtualContainerStatus(virtualBasketNameList); + } + + String updateSql = "update TousseInstance set VirtualBasketSeqNum = null , ReviewBasket_id = "+ basket.getId() +" , " + + " SterilizationBasket='"+ basket.getContainer().getContainerName() + +"' where id in (select id from BarcodeDevice where " + barcodeInCondition + ") or comboTousseInstanceId in (select id from BarcodeDevice where " + barcodeInCondition + ")"; + objectDao.excuteSQL(updateSql); + objectDao.clearCache(); - //然后执行计算虚拟篮筐状态 - if(CollectionUtils.isNotEmpty(virtualBasketNameList)){ - //重新计算虚拟篮筐状态 - countVirtualContainerStatus(virtualBasketNameList); + + String queryFixedBarcode = "(select top 1 barcode from TousseInstance ti1 join barcodeDevice b1 on ti1.id=b1.id where ti1.tousseFixedBarcode=1 and ti1.tousseDefinition_id=tdancestor.id) fixedBarcode"; + if(dbConnection.isOracle()){ + queryFixedBarcode = "(select barcode from TousseInstance ti1 join barcodeDevice b1 on ti1.id=b1.id where ti1.tousseFixedBarcode=1 and ti1.tousseDefinition_id=tdancestor.id and rownum <= 1) fixedBarcode"; } - return tousses; + String returnSql = "select ti.reviewBasket_id,ti.tousseName,ti.departCoding,ti.depart,b.barcode,td.isTraceable,"+ queryFixedBarcode +" " + + "from TousseInstance ti join barcodeDevice b on ti.id=b.id " + + "join TousseDefinition td on ti.tousseDefinition_id=td.id " + + "join TousseDefinition tdAncestor on td.ancestorID=tdAncestor.id " + + "where " + SqlUtils.getStringFieldInCollectionsPredicate("b.barcode", tousseInstanceBarcodeList) + +" and reviewBasket_id is not null "; + List resultList = getTousseVoDataFromDb(returnSql); + return resultList; } return null; } @@ -3997,7 +4008,7 @@ String isTraceable=""; try { while(rs.next()){ - isTraceable = rs.getString("isTraceable");//是否追溯:“是”或者“否” 能不能根据barcode查询isTraceable这一个列 要查多少张表 + isTraceable = rs.getString("isTraceable");//是否追溯:“是”或者“否” } if(isTraceable.equals(TousseDefinition.STR_NO)){ return true; Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/signRecord/service/SignRecordManagerImpl.java =================================================================== diff -u -r22301 -r22387 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/signRecord/service/SignRecordManagerImpl.java (.../SignRecordManagerImpl.java) (revision 22301) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/signRecord/service/SignRecordManagerImpl.java (.../SignRecordManagerImpl.java) (revision 22387) @@ -46,7 +46,7 @@ private static Logger logger = Logger.getLogger(SignRecordManagerImpl.class); public SignRecordManagerImpl() { - System.out.println("SignRecordManagerImpl"); + } public TousseInstanceManager getTousseInstanceManager() { Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js =================================================================== diff -u -r22322 -r22387 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 22322) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 22387) @@ -1607,6 +1607,7 @@ } sterilizationRecordWin.getEl().unmask(); top.Ext.getCmp('saveBtn').enable();//成功删除全部后,启用保存按钮 + statisticsTousseAndBasket(); }, failure : function(response, options) { showResult("后台运行异常,请稍候再试...", null , sstsConfig.messagePauseTimeOnSterilizationRecordPage); Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationLoadingForm.js =================================================================== diff -u -r22335 -r22387 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationLoadingForm.js (.../sterilizationLoadingForm.js) (revision 22335) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationLoadingForm.js (.../sterilizationLoadingForm.js) (revision 22387) @@ -518,6 +518,8 @@ //改为由js操作来控制 //console.log('barcode6='+barcode+','+new Date().format('y-m-d H:i:s') + '.' + new Date().getMilliseconds()); + //待灭菌装载列表数据源重新刷新 + waitSterileLoadingTousseStore.reload(); } else { showResult(obj.msg); Ext.getCmp('barcode').setValue(""); @@ -539,7 +541,7 @@ stasticsStore.load(); reviewedPanel.loader.load(reviewedPanel.root,function(){ - reviewedPanel.expandAll(); + //reviewedPanel.expandAll(); reviewedPanel.root.eachChild( function(childNode){ if(childNode.attributes.objBarcode == basketBarcode){ childNode.eachChild(function(node){ @@ -694,12 +696,9 @@ Ext.getCmp('tousseGrid').getStore().insert(0,currentTousseInstance);//最新扫描的器械包放到第一行 } } - //篮筐物品统计刷新 - stasticsStore.load(); - //每次会调用会导致入筐器械包列表多出许多重复数据及重复统计,所以只在循环到最后一个时添加的篮筐 reviewedPanel.loader.load(reviewedPanel.root,function(){ - reviewedPanel.expandAll(); + //reviewedPanel.expandAll(); reviewedPanel.root.eachChild( function(childNode){ if(childNode.attributes.objBarcode == basketBarcode){ childNode.eachChild(function(node){ @@ -715,8 +714,13 @@ } }); }); - //待灭菌装载列表数据源重新刷新 - waitSterileLoadingTousseStore.reload(); + + //待灭菌装载列表数据源重新刷新 + waitSterileLoadingTousseStore.reload(); + + //篮筐物品统计刷新 + stasticsStore.load(); + }else{ showResult('未找到该首尾条码范围内的器械包'); } @@ -931,6 +935,7 @@ width : document.body.clientWidth/2-24, height : contentHeight-306, bodyStyle : 'border:1px solid #afd7af', + loadMask : true, store: tousseStore, viewConfig: { forceFit:true @@ -993,6 +998,7 @@ width : document.body.clientWidth/2-24, height : 200, bodyStyle : 'border:1px solid #afd7af', + loadMask : true, store: stasticsStore, viewConfig: { forceFit:true @@ -1151,6 +1157,7 @@ reviewedStatisticsGrid = new Ext.grid.GridPanel({ id : 'reviewedStatisticsGrid', title : '入筐器械包统计信息', + loadMask : true, width : document.body.clientWidth/4-50, height : enableBeginEndBarcodeScan ? 300 : 280, region : 'center', @@ -1221,6 +1228,7 @@ waitSterileLoadingTousseGrid = new Ext.grid.GridPanel({ id : 'waitSterileLoadingTousseGrid', title : '待灭菌装载器械包信息', + loadMask : true, width : document.body.clientWidth/4+50, height : enableBeginEndBarcodeScan ? 300 : 280, bodyStyle : 'border:1px solid #afd7af', Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java =================================================================== diff -u -r22327 -r22387 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 22327) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 22387) @@ -191,7 +191,7 @@ - public List addTousseInstanceToBasket(String basketBarcode, + public List addTousseInstanceToBasket(String basketBarcode, Collection tousseInstanceBarcodes, Collection excludeBarcodes); public void addTousseInstanceToBasket(String basketBarcode,