Преглед на файлове

杰生合同付款按应付款倒叙排序

home преди 2 години
родител
ревизия
993ef0a4ce

+ 28 - 6
hx-common/hx-tool/src/main/java/com/fjhx/utils/feign/UserClientUtil.java

@@ -5,10 +5,7 @@ import org.springblade.core.tool.api.ResultCode;
 import org.springblade.core.tool.utils.SpringUtil;
 import org.springblade.system.user.feign.IUserSearchClient;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -25,7 +22,7 @@ public class UserClientUtil {
      * @param userIdList 用户id列表
      * @return MAP<用户id, 用户名称>
      */
-    public static Map<Long, String> getUserNameMap(List<Long> userIdList) {
+    public static Map<Long, String> getUserNameMapByLong(List<Long> userIdList) {
         R<Map<Long, String>> r = userSearchClient.mapByUser(userIdList);
         if (r.getCode() == ResultCode.SUCCESS.getCode()) {
             return r.getData();
@@ -40,7 +37,7 @@ public class UserClientUtil {
      * @param mapper Lambda方法
      * @return MAP<用户id, 用户名称>
      */
-    public static <T> Map<Long, String> getUserNameMap(List<T> list, Function<? super T, ? extends Long> mapper) {
+    public static <T> Map<Long, String> getUserNameMapByLong(List<T> list, Function<T, Long> mapper) {
 
         List<Long> userIdList = list.stream().map(mapper).distinct().filter(Objects::nonNull).collect(Collectors.toList());
 
@@ -52,4 +49,29 @@ public class UserClientUtil {
         return r.getData();
     }
 
+    /**
+     * 通过userId获取
+     *
+     * @param list   数组
+     * @param mapper Lambda方法
+     * @return MAP<用户id, 用户名称>
+     */
+    public static <T> Map<Long, String> getUserNameMapByList(List<T> list, Function<T, List<Long>> mapper) {
+
+        List<List<Long>> userIdsList = list.stream().map(mapper).collect(Collectors.toList());
+
+        List<Long> userIdList = new ArrayList<>();
+        for (List<Long> item : userIdsList) {
+            userIdList.addAll(item);
+        }
+        userIdList = userIdList.stream().filter(Objects::nonNull).distinct().collect(Collectors.toList());
+
+        R<Map<Long, String>> r = userSearchClient.mapByUser(userIdList);
+
+        if (r.getCode() != ResultCode.SUCCESS.getCode()) {
+            return new HashMap<>();
+        }
+        return r.getData();
+    }
+
 }

+ 1 - 1
hx-serve/iot-management/src/main/java/com/fjhx/bom/service/impl/BomServiceImpl.java

@@ -43,7 +43,7 @@ public class BomServiceImpl extends ServiceImpl<BomMapper, Bom> implements BomSe
         Page<BomVo> result = baseMapper.getPage(createPage(condition), wrapper);
 
         // 赋值最后修改人
-        Map<Long, String> userNameMap = UserClientUtil.getUserNameMap(result.getRecords(), Bom::getUpdateUser);
+        Map<Long, String> userNameMap = UserClientUtil.getUserNameMapByLong(result.getRecords(), Bom::getUpdateUser);
         result.getRecords().forEach(item -> item.setUpdateUserName(userNameMap.get(item.getUpdateUser())));
         return result;
     }

+ 1 - 1
hx-serve/iot-management/src/main/java/com/fjhx/workshop/service/impl/WorkshopServiceImpl.java

@@ -49,7 +49,7 @@ public class WorkshopServiceImpl extends ServiceImpl<WorkshopMapper, Workshop> i
 
         // 赋值车间负责人名称
         List<Long> userIdList = page.getRecords().stream().map(Workshop::getResponsibleUserId).collect(Collectors.toList());
-        Map<Long, String> userNameMap = UserClientUtil.getUserNameMap(userIdList);
+        Map<Long, String> userNameMap = UserClientUtil.getUserNameMapByLong(userIdList);
         result.getRecords().forEach(item -> item.setResponsibleUserName(userNameMap.get(item.getResponsibleUserId())));
 
         return result;

+ 0 - 2
hx-serve/storage/src/main/java/com/fjhx/StorageApplication.java

@@ -1,13 +1,11 @@
 package com.fjhx;
 
-import org.springblade.core.cloud.feign.EnableBladeFeign;
 import org.springblade.core.launch.BladeApplication;
 import org.springframework.cloud.client.SpringCloudApplication;
 
 /**
  * 杰生模块启动器
  */
-@EnableBladeFeign
 @SpringCloudApplication
 public class StorageApplication {
 

+ 35 - 31
hx-serve/storage/src/main/java/com/fjhx/stock/service/impl/StockWaterServiceImpl.java

@@ -271,20 +271,22 @@ public class StockWaterServiceImpl extends ServiceImpl<StockWaterMapper, StockWa
 
 
         // 根据供应商id,统计出向每家公司付款的金额
-        Collection<Map<String, Object>> values = list.stream().collect(Collectors.toMap(
-                item -> item.get("supplierId").toString(),
-                item -> {
-                    Map<String, Object> map = new HashMap<>();
-                    map.put("supplierId", item.get("supplierId"));
-                    map.put("supplierName", item.get("supplierName"));
-                    map.put("money", ((BigDecimal) item.get("money")).setScale(2, RoundingMode.HALF_UP));
-                    return map;
-                },
-                (v1, v2) -> {
-                    v1.put("money", ((BigDecimal) v1.get("money")).add((BigDecimal) v2.get("money")));
-                    return v1;
-                }
-        )).values();
+        List<Map<String, Object>> values = list.stream().collect(Collectors.toMap(
+                        item -> item.get("supplierId").toString(),
+                        item -> {
+                            Map<String, Object> map = new HashMap<>();
+                            map.put("supplierId", item.get("supplierId"));
+                            map.put("supplierName", item.get("supplierName"));
+                            map.put("money", ((BigDecimal) item.get("money")).setScale(2, RoundingMode.HALF_UP));
+                            return map;
+                        },
+                        (v1, v2) -> {
+                            v1.put("money", ((BigDecimal) v1.get("money")).add((BigDecimal) v2.get("money")));
+                            return v1;
+                        }
+                )).values().stream()
+                .sorted(Comparator.comparing((Map<String, Object> v) -> ((BigDecimal) v.get("money"))).reversed())
+                .collect(Collectors.toList());
 
         /*
          0 全部公司统计
@@ -294,24 +296,26 @@ public class StockWaterServiceImpl extends ServiceImpl<StockWaterMapper, StockWa
          4 5~20万
          5 5万以下
          */
-        Map<String, List<Map<String, Object>>> map = values.stream().collect(Collectors.groupingBy(item -> {
-            BigDecimal money = (BigDecimal) item.get("money");
-            if (money.compareTo(new BigDecimal("50000")) < 0) {
-                return "5";
-            }
-            if (money.compareTo(new BigDecimal("100000")) > 0) {
-                return "4";
-            }
-            if (money.compareTo(new BigDecimal("200000")) > 0) {
-                return "3";
-            }
-            if (money.compareTo(new BigDecimal("500000")) > 0) {
-                return "4";
-            }
-            return "5";
-        }));
+        Map<String, List<Map<String, Object>>> map = values.stream()
+
+                .collect(Collectors.groupingBy(item -> {
+                    BigDecimal money = (BigDecimal) item.get("money");
+                    if (money.compareTo(new BigDecimal("50000")) < 0) {
+                        return "5";
+                    }
+                    if (money.compareTo(new BigDecimal("100000")) < 0) {
+                        return "4";
+                    }
+                    if (money.compareTo(new BigDecimal("200000")) < 0) {
+                        return "3";
+                    }
+                    if (money.compareTo(new BigDecimal("500000")) < 0) {
+                        return "2";
+                    }
+                    return "1";
+                }));
 
-        map.put("0", new ArrayList<>(values));
+        map.put("0", values);
         map.putIfAbsent("1", new ArrayList<>());
         map.putIfAbsent("2", new ArrayList<>());
         map.putIfAbsent("3", new ArrayList<>());