From 95e69381eeb4a589e9ab7b8e3b967ceb36d13b1d Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期四, 18 七月 2024 18:20:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 27 +++++++++++++++++++++++---- 1 files changed, 23 insertions(+), 4 deletions(-) diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java index b7c2c51..103b180 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java @@ -29,7 +29,10 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; +import java.util.function.Function; +import java.util.function.Predicate; import java.util.stream.Collectors; /** @@ -73,10 +76,23 @@ //鑾峰彇妫�楠屼笅鍗曟暟鎹� @Override public Map<String, Object> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto) { + Map<String, Object> map = new HashMap<>(); + map.put("head", PrintChina.printChina(SampleOrderDto.class)); //鍒ゆ柇鍏ㄩ儴,涓汉,缁勭粐鐨勬潈闄� Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectInsOrderParameter"); - User user = userMapper.selectById(map1.get("userId")); + User user = userMapper.selectById(map1.get("userId"));//褰撳墠鐧诲綍鐨勪汉 Integer roleId = user.getRoleId(); + //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id + String departLimsId = user.getDepartLimsId(); + String laboratory=null; + if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")){ + String[] split = departLimsId.split(","); + //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙) + String departLims=baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1])); + if (departLims.contains("瀹為獙瀹�")){ + laboratory=departLims; + } + } //鍒ゆ柇鏄惁鏄叏閮ㄦ潈闄� Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "selectAllInsOrder")); if (ObjectUtils.isEmpty(power)) { @@ -92,9 +108,7 @@ } } } - Map<String, Object> map = new HashMap<>(); - map.put("head", PrintChina.printChina(SampleOrderDto.class)); - map.put("body", insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto))); + map.put("body", insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto),laboratory)); return map; } @@ -497,12 +511,17 @@ costStatisticsDto.setDates(null); List<CostStatisticsDto> costStatisticsDtos = insOrderMapper.selectCostStatistics2(QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59")); double totalPrice = costStatisticsDtos.stream() + .filter(distinctByKey(dto -> Arrays.asList(dto.getEntrustCode(), dto.getSample(), dto.getCost()))) .filter(dto -> dto.getPrice() != null) // 杩囨护鎺変环鏍间负 null 鐨勫璞� .mapToDouble(value -> value.getPrice().doubleValue()) .sum(); map.put("total", totalPrice); return map; } + public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) { + Map<Object, Boolean> seen = new ConcurrentHashMap<>(); + return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null; + } @Override public Map<String, Object> selectSampleDefects(Page page, String inspectionItems, String orderNumber) { -- Gitblit v1.9.3