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