From 508f3e225df87e0da974424981e7782fc5ce875c Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 19 五月 2025 14:21:39 +0800 Subject: [PATCH] 修改 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java | 121 ++++++++++++++++++++++++++++----------- 1 files changed, 86 insertions(+), 35 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java index c365360..c51cb1b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java @@ -6,13 +6,11 @@ import com.ruoyi.common.constant.OrderNumConstants; import com.ruoyi.common.utils.CodeGenerateUtils; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.domain.*; import com.ruoyi.system.dto.TOrderSaleDTO; import com.ruoyi.system.dto.TOrderStockDTO; -import com.ruoyi.system.mapper.TDataGeneratorMapper; -import com.ruoyi.system.mapper.TOrderSaleGoodsMapper; -import com.ruoyi.system.mapper.TOrderSaleMapper; -import com.ruoyi.system.mapper.TOrderStockMapper; +import com.ruoyi.system.mapper.*; import com.ruoyi.system.query.TDataGeneratorQuery; import com.ruoyi.system.query.TDataGeneratorStockQuery; import com.ruoyi.system.query.TOrderStockQuery; @@ -50,6 +48,8 @@ private TStockDataSetService stockDataSetService; @Autowired private TDataGeneratorMapper dataGeneratorMapper; + @Autowired + private TGoodsService goodsService; @Override public void add(TOrderStockDTO dto) { // 进货单号 @@ -61,11 +61,20 @@ dto.setIsCover(0); } this.save(dto); - // 添加商品 + List<TGoods> goods = goodsService.list(Wrappers.lambdaQuery(TGoods.class).eq(TGoods::getShopId,dto.getShopId())); + List<TGoods> goodsUpdateList = new ArrayList<>(); + // 添加商品 orderStockGoods.forEach(orderSaleGoods1 -> { orderSaleGoods1.setId(null); orderSaleGoods1.setOrderId(dto.getId()); + for (TGoods good : goods) { + if(good.getGoodsNum().equals(orderSaleGoods1.getGoodsNum())){ + good.setInventory(orderSaleGoods1.getStockCount()+good.getInventory()); + goodsUpdateList.add(good); + } + } }); + goodsService.updateBatchById(goodsUpdateList); tOrderStockGoodsService.saveBatch(orderStockGoods); } @@ -88,35 +97,36 @@ @Override public PageInfo<TOrderStockVO> pageList(TOrderStockQuery query) { - - // 判断时间 - if(Objects.nonNull(query.getTimeType())){ - LocalDateTime startTime = null; - LocalDateTime endTime = null; - switch (query.getTimeType()){ - case 1: - // 今日 - startTime = DateUtils.getDayStart(LocalDateTime.now()); - endTime = DateUtils.getDayEnd(LocalDateTime.now()); - break; - case 2: - // 昨日 - startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(1)); - endTime = DateUtils.getDayEnd(LocalDateTime.now().minusDays(1)); - break; - case 3: - // 近7天 - startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(7)); - endTime = DateUtils.getDayEnd(LocalDateTime.now()); - break; - case 4: - // 近30天 - startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(30)); - endTime = DateUtils.getDayEnd(LocalDateTime.now()); - break; + if(StringUtils.isEmpty(query.getStartTime()) && StringUtils.isEmpty(query.getEndTime())){ + // 判断时间 + if(Objects.nonNull(query.getTimeType())){ + LocalDateTime startTime = null; + LocalDateTime endTime = null; + switch (query.getTimeType()){ + case 1: + // 今日 + startTime = DateUtils.getDayStart(LocalDateTime.now()); + endTime = DateUtils.getDayEnd(LocalDateTime.now()); + break; + case 2: + // 昨日 + startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(1)); + endTime = DateUtils.getDayEnd(LocalDateTime.now().minusDays(1)); + break; + case 3: + // 近7天 + startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(7)); + endTime = DateUtils.getDayEnd(LocalDateTime.now()); + break; + case 4: + // 近30天 + startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(30)); + endTime = DateUtils.getDayEnd(LocalDateTime.now()); + break; + } + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); } - query.setStartTime(DateUtils.localDateTimeToDate(startTime)); - query.setEndTime(DateUtils.localDateTimeToDate(endTime)); } PageInfo<TOrderStockVO> pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize()); List<TOrderStockVO> list = this.baseMapper.pageList(query,pageInfo); @@ -129,8 +139,13 @@ List<TOrderStockGoods> collect = orderStockGoods.stream().filter(orderSaleGoods -> orderSaleGoods.getOrderId().equals(orderStockVO.getId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(collect)){ orderStockVO.setOrderStockGoods(collect); - orderStockVO.setOrderStockCount(collect.size()); - orderStockVO.setTotalPrice(collect.stream().map(TOrderStockGoods::getCostPrice).reduce(BigDecimal::add).get()); + int sum = collect.stream().mapToInt(TOrderStockGoods::getStockCount).sum(); + orderStockVO.setOrderStockCount(sum); + BigDecimal money = BigDecimal.ZERO; + for (TOrderStockGoods tOrderStockGoods : collect) { + money = money.add(tOrderStockGoods.getThisCostPrice().multiply(new BigDecimal(tOrderStockGoods.getStockCount()))); + } + orderStockVO.setTotalPrice(money); } }); } @@ -140,6 +155,37 @@ @Override public Map<String, Object> getDataGeneratorStockDetail(TDataGeneratorStockQuery query) { + if(StringUtils.isEmpty(query.getStartTime()) && StringUtils.isEmpty(query.getEndTime())){ + // 判断时间 + if(Objects.nonNull(query.getTimeType())){ + LocalDateTime startTime = null; + LocalDateTime endTime = null; + switch (query.getTimeType()){ + case 1: + // 今日 + startTime = DateUtils.getDayStart(LocalDateTime.now()); + endTime = DateUtils.getDayEnd(LocalDateTime.now()); + break; + case 2: + // 昨日 + startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(1)); + endTime = DateUtils.getDayEnd(LocalDateTime.now().minusDays(1)); + break; + case 3: + // 近7天 + startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(7)); + endTime = DateUtils.getDayEnd(LocalDateTime.now()); + break; + case 4: + // 近30天 + startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(30)); + endTime = DateUtils.getDayEnd(LocalDateTime.now()); + break; + } + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); + } + } return this.baseMapper.getDataGeneratorStockDetail(query); } @@ -235,4 +281,9 @@ }); tOrderStockGoodsService.saveBatch(orderStockGoods); } + + @Override + public void deleteByShopId(Long shopId) { + this.baseMapper.deleteByShopId(shopId); + } } -- Gitblit v1.7.1