From e53db31914bdbc49aa491e1613986e14fe211445 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期五, 08 十二月 2023 11:06:43 +0800 Subject: [PATCH] 使用记录保存一次 --- consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java | 84 ++++++++++++++++++++--------------------- consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java | 4 +- 2 files changed, 43 insertions(+), 45 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java index 160179e..e53acb8 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java @@ -6,7 +6,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Map.Entry; import java.util.Optional; import java.util.stream.Collectors; @@ -420,57 +419,56 @@ @ApiImplicitParams({@ApiImplicitParam(name = "transferOrderId", value = "璋冩嫧鍗昳d", required = true)}) @GetMapping("/use/record") public ResponseValue useRecord(Long transferOrderId) { - S_user_core currentUser = this.getCurrentUser(); if (currentUser == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); } + List<UseRecordDTO> useRecordDTOList = lWhProcureModelUserService.selectUseRecord(transferOrderId); if (CollectionUtils.isEmpty(useRecordDTOList)) { return ResponseValue.error("鏈煡璇㈠埌浣跨敤璁板綍"); } - List<GoodsUseRecordVO> goodsUseRecordList = Lists.newArrayList(); - // 鍒嗙粍 - Map<Long, List<UseRecordDTO>> groupedRecords = - useRecordDTOList.stream().collect(Collectors.groupingBy(UseRecordDTO::getId)); - for (Entry<Long, List<UseRecordDTO>> entry : groupedRecords.entrySet()) { - Long id = entry.getKey(); - List<UseRecordDTO> useRecordList = entry.getValue(); - UseRecordDTO useRecordDto = useRecordList.get(0); - // 寮�濮嬪惊鐜痸alue - GoodsUseRecordVO goodsUseRecordVO = new GoodsUseRecordVO(); - goodsUseRecordVO.setId(id); - goodsUseRecordVO.setUpdateUserName(useRecordDto.getUpdateUserName()); - goodsUseRecordVO.setUpdateTime(useRecordDto.getUpdateTime()); - List<UseRecordSkuVO> useRecordSkuList = Lists.newArrayList(); - useRecordList.stream().collect(Collectors.groupingBy(UseRecordDTO::getProcureModelId)) - .forEach((key, recordList) -> { - UseRecordDTO useRecordDTO = recordList.get(0); - UseRecordSkuVO useRecordSkuVO = new UseRecordSkuVO(); - useRecordSkuVO.setBaseGoodModelId(useRecordDTO.getBaseGoodsModelsId()); - useRecordSkuVO.setBaseGoodModelName(useRecordDTO.getBaseGoodsModelsName()); - useRecordSkuVO.setUnit(useRecordDTO.getUnit()); - useRecordSkuVO.setProcureModelId(useRecordDTO.getProcureModelId()); - List<RecordUserInfoVO> recordUserInfoList = Lists.newArrayList(); - for (UseRecordDTO userInfo : recordList) { - RecordUserInfoVO recordUserInfoVO = new RecordUserInfoVO(); - recordUserInfoVO.setUseName(userInfo.getUseName()); - recordUserInfoVO.setPhone(userInfo.getPhone()); - recordUserInfoVO.setNum(userInfo.getNum()); - recordUserInfoList.add(recordUserInfoVO); - } - useRecordSkuVO.setRecordUserInfos(recordUserInfoList); - useRecordSkuList.add(useRecordSkuVO); - }); - goodsUseRecordVO.setRecordSkuDtoList(useRecordSkuList); - goodsUseRecordList.add(goodsUseRecordVO); - } - // 鍒嗙粍涔嬪悗閲嶆柊鎺掑簭 - List<GoodsUseRecordVO> result = goodsUseRecordList - .stream().sorted(Comparator - .comparing(GoodsUseRecordVO::getUpdateTime, Comparator.nullsFirst(Long::compareTo)).reversed()) + + List<GoodsUseRecordVO> goodsUseRecordList = useRecordDTOList.stream() + .collect(Collectors.groupingBy(UseRecordDTO::getId)).entrySet().stream().map(entry -> { + Long id = entry.getKey(); + List<UseRecordDTO> useRecordList = entry.getValue(); + UseRecordDTO useRecordDto = useRecordList.get(0); + + GoodsUseRecordVO goodsUseRecordVO = new GoodsUseRecordVO(); + goodsUseRecordVO.setId(id); + goodsUseRecordVO.setUpdateUserName(useRecordDto.getUpdateUserName()); + goodsUseRecordVO.setUpdateTime(useRecordDto.getUpdateTime()); + + List<UseRecordSkuVO> useRecordSkuList = + useRecordList.stream().collect(Collectors.groupingBy(UseRecordDTO::getProcureModelId)).values() + .stream().map(recordList -> { + UseRecordDTO useRecordDTO = recordList.get(0); + UseRecordSkuVO useRecordSkuVO = new UseRecordSkuVO(); + useRecordSkuVO.setBaseGoodModelId(useRecordDTO.getBaseGoodsModelsId()); + useRecordSkuVO.setBaseGoodModelName(useRecordDTO.getBaseGoodsModelsName()); + useRecordSkuVO.setUnit(useRecordDTO.getUnit()); + useRecordSkuVO.setProcureModelId(useRecordDTO.getProcureModelId()); + + List<RecordUserInfoVO> recordUserInfoList = recordList.stream().map(userInfo -> { + RecordUserInfoVO recordUserInfoVO = new RecordUserInfoVO(); + recordUserInfoVO.setUseName(userInfo.getUseName()); + recordUserInfoVO.setPhone(userInfo.getPhone()); + recordUserInfoVO.setNum(userInfo.getNum()); + return recordUserInfoVO; + }).collect(Collectors.toList()); + + useRecordSkuVO.setRecordUserInfos(recordUserInfoList); + return useRecordSkuVO; + }).collect(Collectors.toList()); + + goodsUseRecordVO.setRecordSkuDtoList(useRecordSkuList); + return goodsUseRecordVO; + }).sorted(Comparator.comparing(GoodsUseRecordVO::getUpdateTime, Comparator.nullsFirst(Long::compareTo)) + .reversed()) .collect(Collectors.toList()); - return ResponseValue.success(result); + + return ResponseValue.success(goodsUseRecordList); } @ApiOperation(value = "鏌ヨ閮ㄩ棬涓嬬殑鍒嗗彂鍗�", notes = "鏌ヨ閮ㄩ棬涓嬬殑鍒嗗彂鍗�") diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java index dd21c13..74c16f6 100644 --- a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java @@ -187,14 +187,14 @@ List<LWhProcureModel> modelList = new ArrayList<>(); // 鍒ゆ柇娣诲姞涓�娆′娇鐢ㄤ汉璁板綍 - List<LWhFormTransferGoodsInfoParam> type = transferGoods.stream() + List<LWhFormTransferGoodsInfoParam> recordType = transferGoods.stream() .filter( item -> businessType == TransferBusinessType.DEPARTMENT_PROCURE.getValue() && item.getModels().stream() .anyMatch(model -> baseGoodsModelsService.queryGoodsModelInfo(model.getBaseGoodsModelsId()).stream() .findFirst().orElse(null).get("type").equals(CategoryType.TYPE_A.getValue()))) .collect(Collectors.toList()); LWhProcureModelUserRecord lWhProcureModelUserRecord = new LWhProcureModelUserRecord(); - if (CollectionUtils.isEmpty(type)) { + if (!CollectionUtils.isEmpty(recordType)) { lWhProcureModelUserRecord.setId(IdUtil.generateId()); lWhProcureModelUserRecord.setTransBusinessId(lWhFormTransferId); lWhProcureModelUserRecord.setOperatorId(sysInfo.getId()); -- Gitblit v1.9.1