From abfedddb15ff90b7810a231dac964d2450372b94 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期二, 10 九月 2024 09:01:42 +0800 Subject: [PATCH] 修改 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 92 insertions(+), 26 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java index b71b796..cc1409c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java @@ -6,10 +6,12 @@ import com.ruoyi.common.constant.OrderNumConstants; import com.ruoyi.common.enums.BoardEnum; import com.ruoyi.common.utils.CodeGenerateUtils; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.system.domain.*; import com.ruoyi.system.dto.*; import com.ruoyi.system.mapper.TOrderMealGoodsMapper; import com.ruoyi.system.mapper.TOrderMealMapper; +import com.ruoyi.system.query.TDataGeneratorMealQuery; import com.ruoyi.system.query.TDataStatisticsQuery; import com.ruoyi.system.query.TOrderMealQuery; import com.ruoyi.system.service.*; @@ -19,6 +21,7 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -50,19 +53,22 @@ if(Objects.isNull(dto.getBoardId())){ throw new RuntimeException("餐桌不能为空"); } + TOrderMeal orderMeal = this.getById(dto.getId()); + orderMeal.setRemark(orderMeal.getRemark()+dto.getRemark()); + orderMeal.setMealType(dto.getMealType()); + orderMeal.setMealPerson(dto.getMealPerson()); + orderMeal.setMealTime(dto.getMealTime()); + orderMeal.setOrderMoney(dto.getOrderMoney()); + // 查询菜品分类 List<TGoodsType> list1 = goodsTypeService.list(); // 查询餐桌 TBoard board = boardService.getById(dto.getBoardId()); - // 如果菜品为空 - if(CollectionUtils.isEmpty(dto.getMealOrderGoodsDTOS())){ - // 开台 - board.setStatus(BoardEnum.WAITING_ORDER.getCode()); - this.save(dto); - }else { + if(!CollectionUtils.isEmpty(dto.getMealOrderGoodsDTOS())){ board.setStatus(BoardEnum.DURING_MEAL.getCode()); + boardService.updateById(board); // 订单金额,订单编号 - String orderNum = OrderNumConstants.MEAL+CodeGenerateUtils.generateOrderSn(); + String orderNum = OrderNumConstants.MEAL+CodeGenerateUtils.generateVolumeSn(); dto.setOrderNum(orderNum); List<TOrderMealGoods> orderMealGoods = new ArrayList<>(); // 查询商品 @@ -77,25 +83,28 @@ orderMealGood.setGoodsPicture(item1.getGoodsPicture()); orderMealGood.setGoodsCount(item.getGoodsCount()); orderMealGood.setGoodsSalePrice(item1.getSalePrice().multiply(new BigDecimal(item.getGoodsCount()))); + orderMealGood.setCostPrice(item1.getCostPrice().multiply(new BigDecimal(item.getGoodsCount()))); // orderMealGood.setTypeId(item1.getTypeId()); orderMealGood.setTypeName(list1.stream().filter(item2 -> item2.getId().equals(item1.getTypeId())).findFirst().get().getTypeName()); orderMealGoods.add(orderMealGood); }); }); - this.saveOrUpdate(dto); + BigDecimal orderMoney = BigDecimal.ZERO; // 添加菜品 - orderMealGoods.forEach(item -> { - item.setOrderId(dto.getId()); - }); + for (TOrderMealGoods orderMealGood : orderMealGoods) { + orderMealGood.setOrderId(dto.getId()); + orderMoney = orderMoney.add(orderMealGood.getGoodsSalePrice()); + } orderMealGoodsService.saveBatch(orderMealGoods); + orderMeal.setOrderMoney(orderMoney); + this.updateById(orderMeal); // 添加备注 - TOrderRemark tOrderRemark = new TOrderRemark(); - tOrderRemark.setOrderId(dto.getId()); - tOrderRemark.setRemark(dto.getRemark()); - tOrderRemark.setCreateTime(LocalDateTime.now()); - orderRemarkService.save(tOrderRemark); +// TOrderRemark tOrderRemark = new TOrderRemark(); +// tOrderRemark.setOrderId(dto.getId()); +// tOrderRemark.setRemark(dto.getRemark()); +// tOrderRemark.setCreateTime(LocalDateTime.now()); +// orderRemarkService.save(tOrderRemark); } - boardService.updateById(board); } @Override @@ -126,11 +135,11 @@ }); orderMealGoodsService.saveBatch(orderMealGoods); // 添加备注 - TOrderRemark tOrderRemark = new TOrderRemark(); - tOrderRemark.setOrderId(dto.getOrderId()); - tOrderRemark.setRemark(dto.getRemark()); - tOrderRemark.setCreateTime(LocalDateTime.now()); - orderRemarkService.save(tOrderRemark); +// TOrderRemark tOrderRemark = new TOrderRemark(); +// tOrderRemark.setOrderId(dto.getOrderId()); +// tOrderRemark.setRemark(dto.getRemark()); +// tOrderRemark.setCreateTime(LocalDateTime.now()); +// orderRemarkService.save(tOrderRemark); } @Override @@ -172,8 +181,8 @@ endTime = LocalDateTime.now(); break; } - query.setStartTime(startTime); - query.setEndTime(endTime); + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); } PageInfo<TOrderMealVO> pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize()); List<TOrderMealVO> list = this.baseMapper.pageList(query,pageInfo); @@ -264,8 +273,8 @@ endTime = LocalDateTime.now(); break; } - query.setStartTime(startTime); - query.setEndTime(endTime); + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); } List<TOrderMealVO> list = this.baseMapper.exportOrderMeal(query); List<Long> ids = list.stream().map(TOrderMealVO::getId).collect(Collectors.toList()); @@ -295,4 +304,61 @@ return this.baseMapper.personnelStatistics(query); } + @Override + public PageInfo<TOrderMealVO> pageListGenerator(TDataGeneratorMealQuery query) { + PageInfo<TOrderMealVO> pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize()); + List<TOrderMealVO> list = this.baseMapper.pageListGenerator(query,pageInfo); + // 查询商品信息 + for (TOrderMealVO tOrderMealVO : list) { + List<TOrderMealGoods> list1 = orderMealGoodsService.list(Wrappers.lambdaQuery(TOrderMealGoods.class) + .eq(TOrderMealGoods::getOrderId, tOrderMealVO.getId())); + tOrderMealVO.setOrderMealGoods(list1); + Map<String, List<TOrderMealGoods>> map = list1.stream().collect(Collectors.groupingBy(TOrderMealGoods::getTypeName)); + List<String> goodsList = new ArrayList<>(); + map.forEach((k,v)->{ + goodsList.add(k+":"+v.stream().map(item->item.getGoodsName()+" "+(item.getGoodsSalePrice().multiply(new BigDecimal(item.getGoodsCount())))).collect(Collectors.joining(","))); + }); + tOrderMealVO.setGoodsList(goodsList); + } + pageInfo.setRecords(list); + return pageInfo; + } + + @Override + public Map<String, Double> getDataGeneratorMealDetail(TDataGeneratorMealQuery query) { + return this.baseMapper.getDataGeneratorMealDetail(query); + } + + @Override + public List<TOrderMealVO> mealGeneratorExport(TDataGeneratorMealQuery query) { + List<TOrderMealVO> list = this.baseMapper.mealGeneratorExport(query); + List<Long> ids = list.stream().map(TOrderMealVO::getId).collect(Collectors.toList()); + List<TOrderMealGoods> list1 = orderMealGoodsService.list(Wrappers.lambdaQuery(TOrderMealGoods.class) + .in(TOrderMealGoods::getOrderId,ids)); + // 查询商品信息 + for (TOrderMealVO tOrderMealVO : list) { + List<TOrderMealGoods> collect = list1.stream().filter(e -> e.getOrderId().equals(tOrderMealVO.getId())).collect(Collectors.toList()); + tOrderMealVO.setOrderMealGoods(collect); + Map<String, List<TOrderMealGoods>> map = collect.stream().collect(Collectors.groupingBy(TOrderMealGoods::getTypeName)); + List<String> goodsList = new ArrayList<>(); + map.forEach((k,v)->{ + goodsList.add(k+":"+v.stream().map(item->item.getGoodsName()+" "+(item.getGoodsSalePrice().multiply(new BigDecimal(item.getGoodsCount())))).collect(Collectors.joining(","))); + }); + tOrderMealVO.setGoodsList(goodsList); + } + return list; + } + + @Override + public void startMeal(TOrderMeal dto) { + // 查询餐桌 + TBoard board = boardService.getById(dto.getBoardId()); + // 开台 + board.setStatus(BoardEnum.WAITING_ORDER.getCode()); + boardService.updateById(board); + dto.setMealTime(LocalDate.now()); + dto.setOrderNum(OrderNumConstants.MEAL + CodeGenerateUtils.generateVolumeSn()); + this.save(dto); + } + } -- Gitblit v1.7.1