Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r25527 -r25602 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 25527) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 25602) @@ -722,18 +722,18 @@ Set tousseDefIds = tousseJson.stream().filter(p->p != null).map(p->p.getTousseDefinitionID()).collect(Collectors.toSet()); Collection tds = tousseDefinitionManager.getCollection(tousseDefIds); for (int i = 0; i < tousseJson.size(); i++) { - RecyclingBasketItemVo json = tousseJson.get(i); - String tousseName = json.getTousseName(); - Long tousseDefinitionId = json.getTousseDefinitionID(); - Integer amount = json.getAmount(); - String idCardBarcode = json.getIdCardBarcode(); + RecyclingBasketItemVo basketItemVo = tousseJson.get(i); + String tousseName = basketItemVo.getTousseName(); + Long tousseDefinitionId = basketItemVo.getTousseDefinitionID(); + Integer amount = basketItemVo.getAmount(); + String idCardBarcode = basketItemVo.getIdCardBarcode(); - String basketGroupBarcodes = json.getBasketGroupBarcodes(); + String basketGroupBarcodes = basketItemVo.getBasketGroupBarcodes(); - if(json.itemTypeMaterial()){ - tousseName = json.getTousseNameForMaterial(); + if(basketItemVo.itemTypeMaterial()){ + tousseName = basketItemVo.getTousseNameForMaterial(); } - //key = 包名称+标志牌条码 + //key = 包名称+标识牌条码 String key = tousseDefinitionId + idCardBarcode; Map> basketMap = map.get(key); if(basketMap == null){ @@ -746,11 +746,11 @@ list = new ArrayList(); basketMap.put(basketGroupBarcodes, list); } - if(json.itemTypeMaterial()){ - String materialName = json.getTousseName(); - Long tousseDefinitionID = json.getTousseDefinitionID(); - Integer tousseAmount = json.getTousseAmountForMaterial(); - Long basketId = json.getBasketId(); //原来是optString + if(basketItemVo.itemTypeMaterial()){ + String materialName = basketItemVo.getTousseName(); + Long tousseDefinitionID = basketItemVo.getTousseDefinitionID(); + Integer tousseAmount = basketItemVo.getTousseAmountForMaterial(); + Long basketId = basketItemVo.getBasketId(); //原来是optString //同一个包多个材料 if(list.size() > 0){ setUnCleanedEntirelyTousseMaterials(list.get(0), @@ -765,21 +765,21 @@ obj.setBasketBarcode(basketGroupBarcodes); obj.setBasketId(basketId); obj.setIdCardBarcode(idCardBarcode); - obj.setBasketSequence(json.getBasketSequence()); + obj.setBasketSequence(basketItemVo.getBasketSequence()); setUnCleanedEntirelyTousseMaterials(obj, materialName, amount); list.add(obj); }else{ /** * 将包中材料及总数量添加到json中的materials字段中 */ - TousseDefinition td = IDOperators.find(tds, json.getTousseDefinitionID()); + TousseDefinition td = IDOperators.find(tds, basketItemVo.getTousseDefinitionID()); if(td != null){ for(MaterialInstance mi : td.getMaterialInstances()){ - setUnCleanedEntirelyTousseMaterials(json,CssdUtils.getMaterialName(mi.getMaterialDefinition()), - MathTools.mul(json.getAmount(), mi.getCount()).intValue()); + setUnCleanedEntirelyTousseMaterials(basketItemVo,CssdUtils.getMaterialName(mi.getMaterialDefinition()), + MathTools.mul(basketItemVo.getAmount(), mi.getCount()).intValue()); } } - list.add(json); + list.add(basketItemVo); } } List list = new ArrayList(); @@ -840,6 +840,7 @@ * @param containerMap 清洗篮筐map * @param isSecondRecycleForForeignTousse 是否外来器械申请单二次回收 * @param toReSetWorkloadMap 需要重新计算的清洗工作量 + * @param tousseIntoBasketInfo jsonParam中的参数,当前篮筐中装载的物品信息。外来器械判断能否入筐时使用 */ private void setClassifyBaskets(List tousseJson, List tousseDefinitions, RecyclingRecord record, @@ -857,51 +858,52 @@ tousseIntoBasketService.initJsonArray(tousseIntoBasketInfo); // buildTousseDefinitionIdBasketMap(tousseJson,tousseDefinitions,containerMap); tousseIntoBasketService.initDataBaseBasketTousse(); + // 遍历每一个入筐的物品 for (int i = 0; i < tousseJson.size(); i++) { - RecyclingBasketItemVo json = tousseJson.get(i); - String basketBarcode = json.getBasketBarcode(); - Long basketId = json.getBasketId(); + RecyclingBasketItemVo basketItemVo = tousseJson.get(i); + String basketBarcode = basketItemVo.getBasketBarcode(); + Long basketId = basketItemVo.getBasketId(); Container container = getContainerByBarcode(containerMap, basketBarcode); washAndDisinfectRecordManager.containerCanRecycle(container); - ClassifyBasket basket = null; + ClassifyBasket classifyBasket = null; if (DatabaseUtil.isPoIdValid(basketId)) { - basket = getClassifyBasketById(basketMap,basketId); + classifyBasket = getClassifyBasketById(basketMap,basketId); //修改回收记录时已清洗的篮筐不能再追加物品 - if(basket != null){ - List washRecords = basket.getWashAndDisinfectRecords(); - if(CollectionUtils.isNotEmpty(washRecords) && json.getAmount() != null && json.getAmount().intValue() != 0){ + if(classifyBasket != null){ + List washRecords = classifyBasket.getWashAndDisinfectRecords(); + if(CollectionUtils.isNotEmpty(washRecords) && basketItemVo.getAmount() != null && basketItemVo.getAmount().intValue() != 0){ for (WashAndDisinfectRecord washRecord : washRecords) { toReSetWorkloadMap.put(washRecord.getId(), washRecord); } } } }else{ - basket = getUnWashedBasketByBasketBarcode(unWashedBasketMap, basketBarcode); + classifyBasket = getUnWashedBasketByBasketBarcode(unWashedBasketMap, basketBarcode); } - if (basket == null) { - basket = new ClassifyBasket(); - basket.setContainerBarcode(basketBarcode); + if (classifyBasket == null) { + classifyBasket = new ClassifyBasket(); + classifyBasket.setContainerBarcode(basketBarcode); if(container == null){ throw new RuntimeException(basketBarcode+",未找到相应的篮筐!"); } - basket.setContainerName(container.getContainerName()); - basket.setWashClassifyType(container.getWashClassifyType()); + classifyBasket.setContainerName(container.getContainerName()); + classifyBasket.setWashClassifyType(container.getWashClassifyType()); } - basketBarcodeMap.put(basketBarcode, basket); + basketBarcodeMap.put(basketBarcode, classifyBasket); - String itemType = json.getItemType(); - String name = json.getTousseName(); - Long tousseDefinitionID = json.getTousseDefinitionID(); - Integer amount = json.getAmount(); - String tousseNameForMaterial = json.getTousseNameForMaterial(); - Integer tousseAmountForMaterial = json.getTousseAmountForMaterial(); - String basketGroupBarcodes = json.getBasketGroupBarcodes(); - String idCardBarcode = json.getIdCardBarcode(); + String itemType = basketItemVo.getItemType(); + String name = basketItemVo.getTousseName(); + Long tousseDefinitionID = basketItemVo.getTousseDefinitionID(); + Integer amount = basketItemVo.getAmount(); + String tousseNameForMaterial = basketItemVo.getTousseNameForMaterial(); + Integer tousseAmountForMaterial = basketItemVo.getTousseAmountForMaterial(); + String basketGroupBarcodes = basketItemVo.getBasketGroupBarcodes(); + String idCardBarcode = basketItemVo.getIdCardBarcode(); TousseDefinition tousseDefinition = getTousseDefinition(tousseDefinitions, tousseDefinitionID); - Set items = basket.getClassfiedItems(); + Set items = classifyBasket.getClassfiedItems(); ClassifiedItem item = getExistClassifiedItem(record.getId(), itemType, name, tousseDefinitionID, basketGroupBarcodes, @@ -920,18 +922,18 @@ classifiedItemManager.delete(item); } //删除对应的篮筐序号 - classifyBasketRecyclingSequenceManager.save(record.getId(), basket.getId(), tousseDefinitionID, null); + classifyBasketRecyclingSequenceManager.save(record.getId(), classifyBasket.getId(), tousseDefinitionID, null); continue; } - tousseIntoBasketService.canAddThisBasketItem(basket.getContainerBarcode(), tousseDefinition,isSecondRecycleForForeignTousse); + tousseIntoBasketService.canAddThisBasketItem(classifyBasket.getContainerBarcode(), tousseDefinition,isSecondRecycleForForeignTousse); // if(multiForeignTousseIntoSameBasket){}else{ // if(!canAddThisBasketItem(basket,tousseDefinition)){ // throw new RuntimeException("同一个篮筐只能装一个外来器械包"); // } // } item.setAmount(newAmount); - item.setClassifyBasket(basket); + item.setClassifyBasket(classifyBasket); item.setIdCardBarcode(idCardBarcode); item.setName(name); item.setTousseDefinitionID(tousseDefinitionID); @@ -976,13 +978,13 @@ item.setIsSencondWashForForeignTousse(true); } } - basket.setClassfiedItems(items); + classifyBasket.setClassfiedItems(items); // 设置回收时间 - basket.setRecyclingTime(record.getRecyclingTime()); - classifyBasketManager.save(basket); + classifyBasket.setRecyclingTime(record.getRecyclingTime()); + classifyBasketManager.save(classifyBasket); //篮筐验重复 - String newBasketBarcode = basket.getContainerBarcode(); + String newBasketBarcode = classifyBasket.getContainerBarcode(); ClassifyBasket cb = CollectionUtils.find(baskets, new Predicate(){ @Override public boolean evaluate(ClassifyBasket obj) { @@ -993,9 +995,9 @@ } }); if(cb == null){ - baskets.add(basket); + baskets.add(classifyBasket); } - classifyBasketRecyclingSequenceManager.save(record.getId(), basket.getId(), tousseDefinitionID, json.getBasketSequence()); + classifyBasketRecyclingSequenceManager.save(record.getId(), classifyBasket.getId(), tousseDefinitionID, basketItemVo.getBasketSequence()); } //修改篮筐状态 for (String basketBarcode : basketBarcodeMap.keySet()) { @@ -3835,7 +3837,7 @@ if(washClassifyType.equals(md_washClassifyType)){ - //材料有设置入筐上线 + //材料有设置入筐上限 if(md.getIntoBasketMaxAmount() != null && md.getIntoBasketMaxAmount() > 0){ Double percentage = barcodeToPercentageMap.get(basketBarcode);