From f6f57ba70679a0b050031f3cdf81b5bf5d4cbd60 Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期五, 11 七月 2025 15:28:37 +0800 Subject: [PATCH] 1.生产加工优化 2.销售,库存查询优化 --- main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java | 41 ++++++++++++++++++++++++++++++++++------- 1 files changed, 34 insertions(+), 7 deletions(-) diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java index d2e9256..145cf5b 100644 --- a/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java +++ b/main-business/src/main/java/com/ruoyi/business/service/impl/SalesRecordServiceImpl.java @@ -19,6 +19,7 @@ import com.ruoyi.business.service.SalesRecordService; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.exception.base.BaseException; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.system.mapper.SysUserMapper; import lombok.RequiredArgsConstructor; @@ -67,6 +68,32 @@ public IPage<SalesRecordDto> selectSalesRecordList(Page<SalesRecord> page, SalesRecordDto salesRecordDto) { // 1. 鍒涘缓鏌ヨ鏉′欢锛屾寜鍒涘缓鏃堕棿鍊掑簭鎺掑簭 LambdaQueryWrapper<SalesRecord> queryWrapper = new LambdaQueryWrapper<>(); + + if (StringUtils.isNotBlank(salesRecordDto.getSearchAll())) { + String searchValue = salesRecordDto.getSearchAll(); + // 1. 鍏堝皾璇曚綔涓烘棩鏈熸煡璇� + try { + LocalDate saleDate = LocalDate.parse(searchValue); + queryWrapper.eq(SalesRecord::getSaleDate, saleDate); + } catch (DateTimeParseException e) { + // 2. 濡傛灉涓嶆槸鏃ユ湡锛屽垯浣滀负鐓ょ鍚嶇О鏌ヨ + LambdaQueryWrapper<CoalInfo> coalQueryWrapper = new LambdaQueryWrapper<>(); + coalQueryWrapper.like(CoalInfo::getCoal, searchValue); + List<CoalInfo> coalInfos = coalInfoMapper.selectList(coalQueryWrapper); + if (!coalInfos.isEmpty()) { + // 鎻愬彇鎵�鏈夊尮閰嶇殑鐓ょID + List<Long> coalIds = coalInfos.stream() + .map(CoalInfo::getId) + .collect(Collectors.toList()); + // 浣跨敤in鏌ヨ鍖归厤浠绘剰涓�涓叅绉岻D + queryWrapper.in(SalesRecord::getCoalId, coalIds); + } else { + // 3. 濡傛灉鎵句笉鍒扮叅绉嶏紝鍙互杩斿洖绌虹粨鏋� + queryWrapper.eq(SalesRecord::getCoalId, "-1"); // 浣跨敤涓嶅彲鑳藉瓨鍦ㄧ殑ID + } + } + } + queryWrapper.orderByDesc(SalesRecord::getCreateTime); // 2. 鑾峰彇鍒嗛〉鐨勯攢鍞褰� @@ -509,13 +536,13 @@ ) )); - //鏋勫缓缁撴灉锛堜繚鎸佺叅绉嶉『搴忥紝閿�閲忛粯璁や负0锛� - List<Map<String, Object>> resultMouth = new ArrayList<>(); + // 2. 鍒涘缓 resultMouth锛屽瓨鍌ㄧ叅绉嶅強鍏堕攢閲忥紙Map 缁撴瀯锛� + Map<String, BigDecimal> resultMouthMap = new LinkedHashMap<>(); for (CoalInfo coal : allCoalTypes) { - Map<String, Object> item = new LinkedHashMap<>(); - item.put("coal", coal.getCoal()); // 鐓ょ鍚嶇О - item.put("saleQuantity", salesByCoalId.getOrDefault(coal.getId(), BigDecimal.valueOf(0))); // 閿�閲� - resultMouth.add(item); + resultMouthMap.put( + coal.getCoal(), // 鐓ょ鍚嶇О锛堝 "鏃犵儫鐓�"锛� + salesByCoalId.getOrDefault(coal.getId(), BigDecimal.valueOf(0)) // 閿�閲� + ); } result.put("revenueAmount", revenueAmount.setScale(2, RoundingMode.HALF_UP)); @@ -526,7 +553,7 @@ result.put("trendQuantity", trendQuantity); result.put("revenueDistribution", revenueDistribution); result.put("salesResults", results); - result.put("resultMouth", resultMouth); + result.put("resultMouth", resultMouthMap); return result; } -- Gitblit v1.9.3