Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r21961 -r21971 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 21961) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 21971) @@ -390,8 +390,8 @@ List reviewedBasketList = sterilizationRecord.getReviewedBaskets();//灭菌篮筐集合 sterilizationRecord.setReviewedBasketAmount(reviewedBasketList.size()); //计算此灭菌记录的灭菌篮筐总数 - //如果状态不等于“灭菌中”,则不用去获取条码 - if(sterilizationRecord.getStatus().equals(SterilizationRecord.STERILIZATION_STATUS_BEGIN)){ + //只要状态不等于“灭菌完成”的都去获取条码 + if(!sterilizationRecord.getStatus().equals(SterilizationRecord.STERILIZATION_STATUS_END)){ //汇总后的数据,不显示唯一条码,所以在这里要提前拿到并给到前台 List tousseInsList = sterilizationRecord.getTousseInstanceList();//器械包集合 for (TousseInstance ti : tousseInsList) { Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java =================================================================== diff -u -r21933 -r21971 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 21933) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManager.java (.../TousseInstanceManager.java) (revision 21971) @@ -205,6 +205,13 @@ public List getToussInstanceByForeignTousseApplicationID(Long id); /** + * 加载篮筐内的所有已审核器械包(从Action提取) + * @param basketBarcode + * @return + */ + public JSONArray getFromBasket(String basketBarcode); + + /** * 根据外来申请单申请的申请包. * @param id 外来器械包申请单id * @return Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r21961 -r21971 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 21961) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 21971) @@ -3184,8 +3184,8 @@ if(!isCountBarcode){ cMap.put(tousseInstance.getBarcode(), tousseObj); }else{ - String fixedBarcode = tousseInstanceManager.getTousseInsFixedBarcode(tousseName); - jsonObj.put("barcode",fixedBarcode);//固定条码 + //String fixedBarcode = tousseInstanceManager.getTousseInsFixedBarcode(tousseName); + //jsonObj.put("barcode",fixedBarcode);//固定条码 cMap.put(tousseName, tousseObj); } //cMap.put(tousseName, tousseObj); Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js =================================================================== diff -u -r21961 -r21971 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 21961) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 21971) @@ -679,9 +679,12 @@ var tousseInstanceArr = resultData.tousseInstanceArr; //进入容器的器械包集合 var containerName = resultData.containerName; //容器名称 var length = tousseInstanceArr.length; - var amount=length + var amount=0 if(typeof(tousseInstanceArr[0])!="undefined"){ - amount=amount+parseInt(tousseInstanceArr[0].amount); + for(var i =0;i(); + } //追加状态 findSql+=sqlStatus; - findSql+=" order by ti.reviewTime asc"; + findSql+=rownum; + findSql+=" order by ti.reviewTime asc"; + + System.out.println("我是sql="+findSql); ResultSet rs = objectDao.executeSql(findSql); List barcodeList = new ArrayList(); try { @@ -3883,6 +3898,54 @@ throw new RuntimeException("没有可以增加的数量"); } - - + @Override + public JSONArray getFromBasket(String basketBarcode) { + JSONArray jsonArray = new JSONArray(); + logger.debug("加载篮筐内器械包:" + basketBarcode); + Set tousses = getReviewedTousseInstanceByBasket(basketBarcode); + + //将set转换成list,按id降序排序 + List tousseList = new ArrayList(); + tousseList.addAll(tousses); + Collections.sort(tousseList); + Map bMap=Maps.newHashMap(); + + for (TousseInstance tousseInstance : tousseList) { + + String tousseName = tousseInstance.getShowTousseName(); + String key=tousseName; + boolean isCountBarcode=isCountBarcode(tousseInstance.getBarcode()); + + if(bMap.containsKey(key) && isCountBarcode){//只有支持扫固定条码的包,才去统计 + //已存在 则取出该对象,对象中 objAmount 累加。 + JSONObject obj = bMap.get(key); + int amt=(int) obj.get("amount"); + amt++; + obj.put("amount", amt); + obj.put("objBarcode", getTousseInsFixedBarcode(tousseName));//固定条码 + + //覆盖 + bMap.put(key, obj); + }else{ + JSONObject jsonObject = new JSONObject(); + jsonObject.put("objName", tousseInstance.getShowTousseName()); + jsonObject.put("amount", 1); + jsonObject.put("objBarcode", tousseInstance.getBarcode()); + jsonObject.put("depart", tousseInstance.getDepart()); + if(!isCountBarcode){ + bMap.put(tousseInstance.getBarcode(), jsonObject); + }else{ + String fixedBarcode = getTousseInsFixedBarcode(tousseName); + jsonObject.put("objBarcode",fixedBarcode);//固定条码 + //jsonObject.put("stockAmount",getTousseInstanceStockAmount(fixedBarcode));//库存数量 + bMap.put(key, jsonObject); + } + } + } + for (String str : bMap.keySet()) { + JSONObject tousseInBasket=bMap.get(str); + jsonArray.add(tousseInBasket); + } + return jsonArray; + } }