Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r40770 -r40774 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 40770) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 40774) @@ -7886,15 +7886,15 @@ barcodeToPercentageMap.put(basketBarcode, newPercentage); buildJsonObject(materials, mi, thisBasketCanIntoAmount, basketBarcode,washClassifyType,md.getIntoBasketMaxAmount()); - tousseIntoBasketService.addTousseBasket(td.getId(), td.getName(), td.getTousseType(), typedBasket.getBarcode(), typedBasket.getName()); + tousseIntoBasketService.addTousseBasket(td.getId(), td.getName(), td.getTousseType(), typedBasket.getBarcode(), typedBasket.getName(), td.getIsCleanedEntirely()); // addTousseDefinitionBasket(defIdBasketMap,td,typedBasket); basketGroupBarcodeMap.put(basketBarcode, basketBarcode); totalIntoBasketAmount -= thisBasketCanIntoAmount; } }else{ buildJsonObject(materials, mi, miCount * amount, basketBarcode,washClassifyType,0); - tousseIntoBasketService.addTousseBasket(td.getId(), td.getName(), td.getTousseType(), typedBasket.getBarcode(), typedBasket.getName()); + tousseIntoBasketService.addTousseBasket(td.getId(), td.getName(), td.getTousseType(), typedBasket.getBarcode(), typedBasket.getName(), td.getIsCleanedEntirely()); // addTousseDefinitionBasket(defIdBasketMap,td,typedBasket); totalIntoBasketAmount = 0; basketGroupBarcodeMap.put(basketBarcode, basketBarcode); @@ -7939,6 +7939,7 @@ } data.put("amount", amount); data.put("materials", materials); + data.put("isCleanedEntirely", Constants.STR_NO); //整包清洗 }else{ CustomIntoBasket basketItem = null; @@ -8008,6 +8009,7 @@ } data.put("basketBarcode", basketItem == null?StringUtils.EMPTY:basketItem.getBarcode()); data.put("tousseName", td.getName()); + data.put("isCleanedEntirely", Constants.STR_YES); data.put("tousseDefinitionID", td.getId()); data.put("amount", loadedAmount); data.put("putBasketMaxAmount", maxAmount == null ? MathTools.ZERO_INTEGER : maxAmount); @@ -9817,14 +9819,14 @@ barcodeToPercentageMap.put(basketBarcode, newPercentage); buildJsonObject(materials, mi, thisBasketCanIntoAmount, basketBarcode,washClassifyType,md.getIntoBasketMaxAmount()); - tousseIntoBasketService.addTousseBasket(td.getId(), td.getName(), td.getTousseType(), typedBasket.getBarcode(), typedBasket.getName()); + tousseIntoBasketService.addTousseBasket(td.getId(), td.getName(), td.getTousseType(), typedBasket.getBarcode(), typedBasket.getName(), td.getIsCleanedEntirely()); basketGroupBarcodeMap.put(basketBarcode, basketBarcode); totalIntoBasketAmount -= thisBasketCanIntoAmount; } }else{ buildJsonObject(materials, mi, miCount * amount, basketBarcode,washClassifyType,0); - tousseIntoBasketService.addTousseBasket(td.getId(), td.getName(), td.getTousseType(), typedBasket.getBarcode(), typedBasket.getName()); + tousseIntoBasketService.addTousseBasket(td.getId(), td.getName(), td.getTousseType(), typedBasket.getBarcode(), typedBasket.getName(), td.getIsCleanedEntirely()); totalIntoBasketAmount = 0; basketGroupBarcodeMap.put(basketBarcode, basketBarcode); break; Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/TousseIntoBasketService.java =================================================================== diff -u -r40770 -r40774 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/TousseIntoBasketService.java (.../TousseIntoBasketService.java) (revision 40770) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/TousseIntoBasketService.java (.../TousseIntoBasketService.java) (revision 40774) @@ -11,6 +11,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; +import com.forgon.Constants; import com.forgon.disinfectsystem.basedata.becleanitem.service.ClassifyBasketManager; import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; @@ -74,6 +75,10 @@ */ private String tousseType; /** + * 整包清洗 + */ + private String isCleanedEntirely; + /** * 器械包入的所有篮筐 */ private Map baskets; @@ -102,6 +107,14 @@ public String getTousseType() { return tousseType; } + + + public String getIsCleanedEntirely() { + return isCleanedEntirely; + } + public void setIsCleanedEntirely(String isCleanedEntirely) { + this.isCleanedEntirely = isCleanedEntirely; + } public Map getBaskets() { return baskets; } @@ -156,13 +169,14 @@ * @param basketName 篮筐名称 */ public void addTousseBasket(Long tousseDefinitionId,String tousseName,String tousseType, - String basketBarcode,String basketName){ + String basketBarcode,String basketName, String isCleanedEntirely){ if(DatabaseUtil.isPoIdValid(tousseDefinitionId)){ BasketTousseItem findTousseItem = infoMap.get(tousseDefinitionId); if(findTousseItem == null){ findTousseItem = new BasketTousseItem(); findTousseItem.setTousseDefinitionId(tousseDefinitionId); findTousseItem.setTousseName(tousseName); + findTousseItem.setIsCleanedEntirely(isCleanedEntirely); findTousseItem.setTousseType(tousseType); findTousseItem.setBaskets(new HashMap<>()); infoMap.put(tousseDefinitionId, findTousseItem); @@ -189,7 +203,7 @@ if(CollectionUtils.isNotEmpty(basket.getScanedGoods())){ for(CustomIntoBasketItem item : basket.getScanedGoods()){ addTousseBasket(item.getTousseDefinitionID(),item.getTousseName(),item.getTousseType(), - basket.getBarcode(),basket.getName()); + basket.getBarcode(),basket.getName(), null); } } } @@ -211,13 +225,14 @@ if(DatabaseUtil.isPoIdValid(tousseDefinitionId)){ String tousseName = JSONUtil.optString(jobj, "tousseName", ""); String tousseType = JSONUtil.optString(jobj, "tousseType", ""); - JSONArray jbaskets = jobj.optJSONArray("baskets"); + String isCleanedEntirely = JSONUtil.optString(jobj, "isCleanedEntirely", ""); + JSONArray jbaskets = jobj.optJSONArray("baskets"); if(jbaskets != null){ for(int j = 0; j < jbaskets.size();++j){ JSONObject jb = jbaskets.optJSONObject(j); String basketBarcode = JSONUtil.optString(jb, "barcode", ""); String basketName = JSONUtil.optString(jb, "name", ""); - addTousseBasket(tousseDefinitionId, tousseName, tousseType, basketBarcode, basketName); + addTousseBasket(tousseDefinitionId, tousseName, tousseType, basketBarcode, basketName, isCleanedEntirely); } } } @@ -268,7 +283,7 @@ } if(add){ addTousseBasket(o.getTousseDefinitionID(), td.getName(), - td.getTousseType(), p.getContainerBarcode(), p.getContainerName()); + td.getTousseType(), p.getContainerBarcode(), p.getContainerName(), td.getIsCleanedEntirely()); } } }); @@ -347,7 +362,7 @@ } if(add){ addTousseBasket(o.getTousseDefinitionID(), td.getName(), - td.getTousseType(), p.getContainerBarcode(), p.getContainerName()); + td.getTousseType(), p.getContainerBarcode(), p.getContainerName(),td.getIsCleanedEntirely()); } } }); @@ -518,7 +533,7 @@ * @param filterForeignTousse 是否外来器械不参与比较 * @return 包ID集合,如果没有匹配项返回空集合 */ - public Set getTdIdsByBasketbarcode(String basketbarcode, boolean queryCleanedEntirely, boolean filterForeignTousse) { + public Set getTdIdsByBasketbarcode(String basketbarcode,boolean queryCleanedEntirely, boolean filterForeignTousse) { if (MapUtils.isEmpty(infoMap)) { return Collections.emptySet(); } @@ -537,11 +552,9 @@ ){ continue; } - // 检查整包清洗条件 - if (queryCleanedEntirely && basketItems.size() > 1) { - continue; + if(queryCleanedEntirely && !Constants.STR_YES.equals(basketTousseItem.getIsCleanedEntirely())){ + continue;//非整包不参与计算 } - // 直接检查是否包含目标条码 if (basketItems.containsKey(basketbarcode)) { tdIds.add(basketTousseItem.getTousseDefinitionId());