Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r26040 -r26130 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 26040) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 26130) @@ -1401,6 +1401,23 @@ } returnGoodsVo = recyclingApplicationManager.handleReturnGood(restApplyTousses, record.getDepartCode()); if(returnGoodsVo != null){ + + //如果有剩余物品(即实际回收数量减去确认自动归还数据量)的申请数量,则该map中只保留剩余物品,且后面的三个变量重新赋值(ASSGGSRMYY-26 回收时系统提醒还物后点击是,生成的回收申请单中归还物品回收数量不对) + Map tousseDefIdTousseItemVoMapNew = new HashMap(); + for (Entry entry : tousseDefIdTousseItemVoMap.entrySet()) { + TousseItemVo tousseItemVo = entry.getValue(); + String tousseName = tousseItemVo.getTousseName(); + Integer amount = restApplyTousses.get(tousseName); + if(amount != null && amount.intValue() > 0){ + tousseItemVo.setAmount(amount); + tousseItemVo.setRecyclingAmount(amount); + tousseDefIdTousseItemVoMapNew.put(entry.getKey(), tousseItemVo); + } + } + tousseDefIdTousseItemVoMap = tousseDefIdTousseItemVoMapNew; + tousseDefIds = CollectionUtils.union(tousseDefIdTousseItemVoMap.keySet(), basketItemJson.stream().map(p->p.getTousseDefinitionID()).collect(Collectors.toSet())); + tousseDefinitions = tousseDefinitionManager.getCollection(tousseDefIds); + //申请还物单的id List borrowRecyclingApplicationIds = returnGoodsVo.getNewBorrowingRecyclingApplicationIds(); if(CollectionUtils.isNotEmpty(borrowRecyclingApplicationIds)){