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/TOrderMealService.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderMealMapper.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationPersonVO.java | 6 + ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationPersonServiceImpl.java | 19 ++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TShopController.java | 18 ++ ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderSaleMapper.java | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java | 8 + ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java | 26 +++- ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBoardMapper.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java | 42 ++++-- ruoyi-system/src/main/resources/mapper/system/TOrderSaleMapper.xml | 20 +- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java | 17 +- ruoyi-system/src/main/java/com/ruoyi/system/vo/TDataGeneratorMealDetailVO.java | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java | 8 + ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java | 12 ++ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java | 9 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TShopServiceImpl.java | 11 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderSaleController.java | 9 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java | 26 ++++ ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/TimeRangeQueryBody.java | 12 +- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java | 24 ++- ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderSaleService.java | 9 + ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml | 26 ++-- ruoyi-system/src/main/java/com/ruoyi/system/vo/TShopVO.java | 6 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBoardController.java | 4 25 files changed, 234 insertions(+), 88 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBoardController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBoardController.java index c725554..5794268 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBoardController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBoardController.java @@ -55,7 +55,9 @@ List<Long> ids = list.stream().filter(e -> !e.getStatus().equals(1)).map(TBoard::getId).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(ids)){ List<TOrderMeal> orderMeals = orderMealService.list(Wrappers.lambdaQuery(TOrderMeal.class) - .in(TOrderMeal::getBoardId, ids)); + .in(TOrderMeal::getBoardId, ids) + .isNotNull(TOrderMeal::getMealTime) + .orderByDesc(TOrderMeal::getMealTime)); for (TBoard board : list) { List<TOrderMeal> collect = orderMeals.stream().filter(e -> board.getId().equals(e.getBoardId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(collect)){ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java index 890755b..2f9c3ec 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java @@ -2,6 +2,7 @@ import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.query.TDataStatisticsQuery; import com.ruoyi.system.service.TOrderMealService; @@ -76,8 +77,8 @@ endTime = LocalDateTime.now(); break; } - query.setStartTime(startTime); - query.setEndTime(endTime); + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); SalesVolumeVO salesVolumeVO; if(roleType == 2){ salesVolumeVO = orderMealService.salesVolume(query); @@ -120,8 +121,8 @@ endTime = LocalDateTime.now(); break; } - query.setStartTime(startTime); - query.setEndTime(endTime); + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); List<SalesRankingVO> salesRankingVOS; if(roleType == 2){ salesRankingVOS = orderMealService.salesRanking(query); @@ -164,8 +165,8 @@ endTime = LocalDateTime.now(); break; } - query.setStartTime(startTime); - query.setEndTime(endTime); + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); List<OrderTrendsVO> orderTrendsVOS; if(roleType == 2){ orderTrendsVOS = orderMealService.orderingTrends(query); @@ -207,8 +208,8 @@ endTime = LocalDateTime.now(); break; } - query.setStartTime(startTime); - query.setEndTime(endTime); + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); return AjaxResult.success(orderMealService.personnelStatistics(query)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java index bcdbc55..853c4e5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsController.java @@ -1,6 +1,7 @@ package com.ruoyi.web.controller.api; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.bean.BeanUtils; @@ -97,6 +98,13 @@ @ApiOperation( value = "删除商品管理") @DeleteMapping(value = "/deleteById") public AjaxResult<Boolean> deleteById(@RequestParam("id") Long id) { + TGoods goods = goodsService.getById(id); + long count = goodsService.count(Wrappers.lambdaQuery(TGoods.class) + .eq(TGoods::getTypeId, goods.getTypeId()) + .ne(TGoods::getId,id)); + if(count == 0){ + return AjaxResult.error("当前菜品所属分类下至少保留一种菜品"); + } return AjaxResult.success(goodsService.removeById(id)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java index 3507500..8457add 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java @@ -1,6 +1,7 @@ package com.ruoyi.web.controller.api; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.framework.web.service.TokenService; @@ -42,7 +43,12 @@ @PostMapping(value = "/list") public AjaxResult<List<TGoodsType>> list() { Long shopId = tokenService.getLoginUser().getObjectId(); - return AjaxResult.success(goodsTypeService.list(Wrappers.<TGoodsType>lambdaQuery().eq(TGoodsType::getShopId, shopId))); + Integer roleType = tokenService.getLoginUser().getRoleType(); + LambdaQueryWrapper<TGoodsType> wrapper = new LambdaQueryWrapper<>(); + if(roleType != 1){ + wrapper.eq(TGoodsType::getShopId, shopId); + } + return AjaxResult.success(goodsTypeService.list(wrapper)); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java index fd98610..a4710ab 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderMealController.java @@ -9,13 +9,14 @@ import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.WebUtils; import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.domain.TGoodsType; import com.ruoyi.system.domain.TOrderMeal; import com.ruoyi.system.domain.TOrderMealGoods; -import com.ruoyi.system.dto.AddDishDTO; import com.ruoyi.system.dto.CheckoutDTO; import com.ruoyi.system.dto.TOrderMealDTO; import com.ruoyi.system.export.TOrderMealExportExcel; import com.ruoyi.system.query.TOrderMealQuery; +import com.ruoyi.system.service.TGoodsTypeService; import com.ruoyi.system.service.TOrderMealGoodsService; import com.ruoyi.system.service.TOrderMealService; import com.ruoyi.system.vo.AmountSumVO; @@ -51,12 +52,14 @@ private final TOrderMealService orderMealService; private final TOrderMealGoodsService orderMealGoodsService; + private final TGoodsTypeService goodsTypeService; private final TokenService tokenService; @Autowired - public TOrderMealController(TOrderMealService orderMealService, TOrderMealGoodsService orderMealGoodsService, TokenService tokenService) { + public TOrderMealController(TOrderMealService orderMealService, TOrderMealGoodsService orderMealGoodsService, TGoodsTypeService goodsTypeService, TokenService tokenService) { this.orderMealService = orderMealService; this.orderMealGoodsService = orderMealGoodsService; + this.goodsTypeService = goodsTypeService; this.tokenService = tokenService; } @@ -92,6 +95,25 @@ return AjaxResult.success(orderMealVO); } + @ApiOperation( value = "修改") + @PostMapping(value = "/update") + public AjaxResult<String> update(@RequestBody TOrderMealDTO dto) { + // 删除所有菜品 + orderMealGoodsService.remove(Wrappers.lambdaQuery(TOrderMealGoods.class) + .eq(TOrderMealGoods::getOrderId, dto.getId())); + orderMealService.updateById(dto); + for (TOrderMealGoods mealOrderGood : dto.getMealOrderGoods()) { + // 设置商品类型和类型id + TGoodsType goodsType = goodsTypeService.getById(mealOrderGood.getTypeId()); + mealOrderGood.setId(null); + mealOrderGood.setOrderId(dto.getId()); + mealOrderGood.setTypeId(goodsType.getId()); + mealOrderGood.setTypeName(goodsType.getTypeName()); + } + orderMealGoodsService.saveBatch(dto.getMealOrderGoods()); + return AjaxResult.success(); + } + @ApiOperation( value = "删除餐饮订单") @GetMapping(value = "/deleteById") public AjaxResult<Boolean> deleteById(@RequestParam(value = "id") Long id) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderSaleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderSaleController.java index 6a885af..e36ffb0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderSaleController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderSaleController.java @@ -11,6 +11,7 @@ import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.domain.TOrderSale; import com.ruoyi.system.domain.TOrderSaleGoods; +import com.ruoyi.system.dto.CheckoutDTO; import com.ruoyi.system.dto.TOrderSaleDTO; import com.ruoyi.system.export.TOrderMealExportExcel; import com.ruoyi.system.export.TOrderSaleExportExcel; @@ -25,6 +26,7 @@ import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.ServletOutputStream; @@ -109,6 +111,13 @@ return AjaxResult.success(); } + @ApiOperation( value = "结账接口") + @PostMapping(value = "/checkout") + public AjaxResult<String> checkout(@Validated @RequestBody CheckoutDTO dto) { + orderSaleService.checkout(dto); + return AjaxResult.success(); + } + /** * 导出销售列表 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TShopController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TShopController.java index 08f2e93..516e1c0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TShopController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TShopController.java @@ -6,17 +6,21 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.domain.TBoard; import com.ruoyi.system.domain.TShop; import com.ruoyi.system.dto.TShopDTO; import com.ruoyi.system.query.TShopQuery; import com.ruoyi.system.service.ISysUserService; +import com.ruoyi.system.service.TBoardService; import com.ruoyi.system.service.TShopService; import com.ruoyi.system.vo.TShopVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Objects; /** @@ -34,12 +38,14 @@ private final TShopService shopService; private final ISysUserService userService; + private final TBoardService boardService; private final TokenService tokenService; @Autowired - public TShopController(TShopService shopService, ISysUserService userService, TokenService tokenService) { + public TShopController(TShopService shopService, ISysUserService userService, TBoardService boardService, TokenService tokenService) { this.shopService = shopService; this.userService = userService; + this.boardService = boardService; this.tokenService = tokenService; } @@ -80,8 +86,14 @@ */ @ApiOperation( value = "查看店铺信息详情") @GetMapping(value = "/getDetailById") - public AjaxResult<TShop> getDetailById(@RequestParam("id") Long id) { - return AjaxResult.success(shopService.getById(id)); + public AjaxResult<TShopVO> getDetailById(@RequestParam("id") Long id) { + TShop shop = shopService.getById(id); + TShopVO shopVO = new TShopVO(); + BeanUtils.copyProperties(shop,shopVO); + List<TBoard> list = boardService.list(Wrappers.lambdaQuery(TBoard.class) + .eq(TBoard::getShopId, id)); + shopVO.setBoards(list); + return AjaxResult.success(shopVO); } /** diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/TimeRangeQueryBody.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/TimeRangeQueryBody.java index 45488a5..539b795 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/TimeRangeQueryBody.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/TimeRangeQueryBody.java @@ -14,12 +14,12 @@ public class TimeRangeQueryBody extends BasePage { @ApiModelProperty("开始时间 格式 yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private LocalDateTime startTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date startTime; @ApiModelProperty("结束时间 格式 yyyy-MM-dd") - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private LocalDateTime endTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date endTime; public String getStartTime() { if (Objects.nonNull(startTime)) { @@ -28,7 +28,7 @@ return null; } - public void setStartTime(LocalDateTime startTime) { + public void setStartTime(Date startTime) { this.startTime = startTime; } @@ -39,7 +39,7 @@ return null; } - public void setEndTime(LocalDateTime endTime) { + public void setEndTime(Date endTime) { this.endTime = endTime; } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java index 01b986b..ed4057a 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java @@ -374,4 +374,16 @@ return LocalDate.parse(time, DateTimeFormatter.ofPattern("yyyy-MM-dd")); } + /** + * LocalDateTime转Date + * + * @param dateTime 日期 + * @return Date + */ + public static Date localDateTimeToDate(LocalDateTime dateTime) { + ZoneId zoneId = ZoneId.systemDefault(); + ZonedDateTime zdt = dateTime.atZone(zoneId); + return Date.from(zdt.toInstant()); + } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBoardMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBoardMapper.java index aa9ec6c..b08e81b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBoardMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBoardMapper.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.system.domain.TBoard; +import org.apache.ibatis.annotations.Mapper; /** * <p> @@ -11,6 +12,7 @@ * @author xiaochen * @since 2024-08-14 */ +@Mapper public interface TBoardMapper extends BaseMapper<TBoard> { } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderMealMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderMealMapper.java index 01065a1..c4e6829 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderMealMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderMealMapper.java @@ -80,7 +80,7 @@ * @param query * @return */ - Map<String, BigDecimal> getDataGeneratorMealDetail(@Param("query")TDataGeneratorMealQuery query); + Map<String, Double> getDataGeneratorMealDetail(@Param("query")TDataGeneratorMealQuery query); /** * 导出餐饮数据生成详情 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderSaleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderSaleMapper.java index 675070b..dbbb291 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderSaleMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderSaleMapper.java @@ -68,7 +68,7 @@ * @param query * @return */ - Map<String, BigDecimal> getDataGeneratorMealDetail(@Param("query")TDataGeneratorSaleQuery query); + Map<String, Double> getDataGeneratorSaleDetail(@Param("query")TDataGeneratorSaleQuery query); /** * 销售生成数据详情导出 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderMealService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderMealService.java index 8aed3d3..16429f4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderMealService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderMealService.java @@ -106,7 +106,7 @@ * @param query * @return */ - Map<String, BigDecimal> getDataGeneratorMealDetail(TDataGeneratorMealQuery query); + Map<String, Double> getDataGeneratorMealDetail(TDataGeneratorMealQuery query); /** * 餐饮生成数据详情导出 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderSaleService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderSaleService.java index 45e9fdb..5919843 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderSaleService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderSaleService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.system.domain.TOrderSale; +import com.ruoyi.system.dto.CheckoutDTO; import com.ruoyi.system.dto.TOrderSaleDTO; import com.ruoyi.system.query.TDataGeneratorSaleQuery; import com.ruoyi.system.query.TDataStatisticsQuery; @@ -77,7 +78,7 @@ * @param query * @return */ - Map<String, BigDecimal> getDataGeneratorMealDetail(TDataGeneratorSaleQuery query); + Map<String, Double> getDataGeneratorSaleDetail(TDataGeneratorSaleQuery query); /** * 销售生成数据详情导出 @@ -85,4 +86,10 @@ * @return */ List<TOrderSaleVO> saleGeneratorExport(TDataGeneratorSaleQuery query); + + /** + * 结账接口 + * @param dto + */ + void checkout(CheckoutDTO dto); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java index e58f7b3..837f187 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java @@ -22,6 +22,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.math.RoundingMode; @@ -63,6 +64,8 @@ @Autowired private TGoodsTypeService goodsTypeService; @Autowired + private TShopService shopService; + @Autowired private RedisCache redisCache; @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED) @@ -72,7 +75,7 @@ TDataGenerator dataGenerator = new TDataGenerator(); dataGenerator.setUserId(dto.getUserId()); dataGenerator.setUserName(dto.getNickName()); - dataGenerator.setShopId(dataGenerator.getShopId()); + dataGenerator.setShopId(dto.getShopId()); dataGenerator.setStartTime(dto.getStartTime()); dataGenerator.setEndTime(dto.getEndTime()); dataGenerator.setMinMoney(dto.getMinMoney()); @@ -109,7 +112,9 @@ orderMeal.setOrderNum(OrderNumConstants.MEAL + CodeGenerateUtils.generateVolumeSn()); orderMeal.setStatus(2); List<TOrderMealGoods> orderMealGoods = new ArrayList<>(); + // 获取当前桌的菜品 List<TFoundationConfigVO> foundationConfigVOS = foundationConfigs.stream().filter(e -> e.getMealCount().equals(random)).collect(Collectors.toList()); + // 每种菜品分类需要几个菜的生成 foundationConfigVOS.forEach(e -> { int random1 = getRandom(e.getMinCount(), e.getMaxCount()); List<TGoods> typeGoods = goods.stream().filter(m -> e.getTypeId().equals(m.getTypeId())).collect(Collectors.toList()); @@ -130,6 +135,7 @@ tOrderMealGoods.setGoodsPicture(typeGood.getGoodsPicture()); tOrderMealGoods.setGoodsSalePrice(typeGood.getSalePrice()); tOrderMealGoods.setGoodsCount(1); + tOrderMealGoods.setTypeId(typeGood.getTypeId()); orderMealGoods.add(tOrderMealGoods); } } @@ -426,6 +432,9 @@ PageInfo<TDataGeneratorVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<TDataGeneratorVO> list = this.baseMapper.pageList(query,pageInfo); List<Long> ids = list.stream().map(TDataGeneratorVO::getId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(ids)){ + return new PageInfo<>(); + } if(query.getOrderType() == 1){ List<TOrderMeal> orderMeals = orderMealService.list(Wrappers.lambdaQuery(TOrderMeal.class) .in(TOrderMeal::getGeneratorId, ids)); @@ -479,16 +488,21 @@ TDataGenerator dataGenerator = this.getById(query.getGeneratorId()); TDataGeneratorMealDetailVO data = new TDataGeneratorMealDetailVO(); BeanUtils.copyProperties(dataGenerator,data); + // 查询店铺 + TShop shop = shopService.getById(dataGenerator.getShopId()); + if(Objects.nonNull(shop)){ + data.setShopName(shop.getShopName()); + } // 查询订单 PageInfo<TOrderMealVO> pageInfo = orderMealService.pageListGenerator(query); data.setOrderMealList(pageInfo); // 统计支付金额 - Map<String, BigDecimal> map = orderMealService.getDataGeneratorMealDetail(query); - BigDecimal money = map.get("moneyPay"); - BigDecimal card = map.get("cardPay"); - BigDecimal weiXin = map.get("weiXinPay"); - BigDecimal ali = map.get("aliPay"); - BigDecimal other = map.get("otherPay"); + Map<String, Double> map = orderMealService.getDataGeneratorMealDetail(query); + BigDecimal money = new BigDecimal(map.get("moneyPay")).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal card = new BigDecimal(map.get("cardPay")).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal weiXin = new BigDecimal(map.get("weiXinPay")).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal ali = new BigDecimal(map.get("aliPay")).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal other = new BigDecimal(map.get("otherPay")).setScale(2,BigDecimal.ROUND_HALF_UP); data.setMoneyPayAmount(money); data.setCardPayAmount(card); data.setWeiXinPayAmount(weiXin); @@ -510,12 +524,12 @@ PageInfo<TOrderSaleVO> pageInfo = orderSaleService.pageList(orderSaleQuery); data.setOrderMealList(pageInfo); // 统计支付金额 - Map<String, BigDecimal> map = orderSaleService.getDataGeneratorMealDetail(query); - BigDecimal money = map.get("moneyPay"); - BigDecimal card = map.get("cardPay"); - BigDecimal weiXin = map.get("weiXinPay"); - BigDecimal ali = map.get("aliPay"); - BigDecimal other = map.get("otherPay"); + Map<String, Double> map = orderSaleService.getDataGeneratorSaleDetail(query); + BigDecimal money = new BigDecimal(map.get("moneyPay")).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal card = new BigDecimal(map.get("cardPay")).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal weiXin = new BigDecimal(map.get("weiXinPay")).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal ali = new BigDecimal(map.get("aliPay")).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal other = new BigDecimal(map.get("otherPay")).setScale(2,BigDecimal.ROUND_HALF_UP); data.setMoneyPayAmount(money); data.setCardPayAmount(card); data.setWeiXinPayAmount(weiXin); @@ -550,7 +564,7 @@ } private int getRandomPayType(Integer size,BigDecimal count) { - BigDecimal bigDecimal = new BigDecimal(size).multiply(count.divide(new BigDecimal(100))).setScale(0, RoundingMode.HALF_UP); + BigDecimal bigDecimal = new BigDecimal(size).multiply(count.divide(new BigDecimal(100))).setScale(0, BigDecimal.ROUND_FLOOR); return Integer.parseInt(bigDecimal.toString()); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationPersonServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationPersonServiceImpl.java index c779ea9..dc4ab1f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationPersonServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationPersonServiceImpl.java @@ -11,7 +11,9 @@ import com.ruoyi.system.vo.TFoundationPersonVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; @@ -60,11 +62,18 @@ public List<TFoundationPersonVO> getList() { List<TFoundationPersonVO> list = this.baseMapper.getList(); List<Long> ids = list.stream().map(TFoundationPersonVO::getId).collect(Collectors.toList()); - List<TFoundationConfig> list1 = foundationConfigService.list(Wrappers.lambdaQuery(TFoundationConfig.class) - .in(TFoundationConfig::getPersonId, ids)); - list.forEach(item -> { - item.setFoundationConfigs(list1.stream().filter(item1 -> item1.getPersonId().equals(item.getId())).collect(Collectors.toList())); - }); + if(!CollectionUtils.isEmpty(ids)){ + List<TFoundationConfig> list1 = foundationConfigService.list(Wrappers.lambdaQuery(TFoundationConfig.class) + .in(TFoundationConfig::getPersonId, ids)); + list.forEach(item -> { + List<TFoundationConfig> collect = list1.stream().filter(item1 -> item1.getPersonId().equals(item.getId())).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(collect)){ + item.setMinDish(collect.stream().sorted(Comparator.comparingInt(TFoundationConfig::getMinCount)).findFirst().get().getMinCount()); + item.setMaxDish(collect.stream().sorted(Comparator.comparingInt(TFoundationConfig::getMaxCount).reversed()).findFirst().get().getMaxCount()); + item.setFoundationConfigs(collect); + } + }); + } return list; } } 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 26051c6..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,6 +6,7 @@ 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; @@ -58,7 +59,6 @@ orderMeal.setMealPerson(dto.getMealPerson()); orderMeal.setMealTime(dto.getMealTime()); orderMeal.setOrderMoney(dto.getOrderMoney()); - this.updateById(orderMeal); // 查询菜品分类 List<TGoodsType> list1 = goodsTypeService.list(); @@ -83,16 +83,21 @@ 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); }); }); + 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()); @@ -176,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); @@ -268,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()); @@ -320,7 +325,7 @@ } @Override - public Map<String, BigDecimal> getDataGeneratorMealDetail(TDataGeneratorMealQuery query) { + public Map<String, Double> getDataGeneratorMealDetail(TDataGeneratorMealQuery query) { return this.baseMapper.getDataGeneratorMealDetail(query); } @@ -352,6 +357,7 @@ board.setStatus(BoardEnum.WAITING_ORDER.getCode()); boardService.updateById(board); dto.setMealTime(LocalDate.now()); + dto.setOrderNum(OrderNumConstants.MEAL + CodeGenerateUtils.generateVolumeSn()); this.save(dto); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java index e357f60..02b9936 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java @@ -7,6 +7,7 @@ import com.ruoyi.common.utils.CodeGenerateUtils; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.system.domain.*; +import com.ruoyi.system.dto.CheckoutDTO; import com.ruoyi.system.dto.TOrderSaleDTO; import com.ruoyi.system.mapper.TOrderSaleMapper; import com.ruoyi.system.query.TDataGeneratorSaleQuery; @@ -92,8 +93,8 @@ endTime = LocalDateTime.now(); break; } - query.setStartTime(startTime); - query.setEndTime(endTime); + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); } PageInfo<TOrderSaleVO> pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize()); List<TOrderSaleVO> list = this.baseMapper.pageList(query,pageInfo); @@ -184,8 +185,8 @@ endTime = LocalDateTime.now(); break; } - query.setStartTime(startTime); - query.setEndTime(endTime); + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); } List<TOrderSaleVO> list = this.baseMapper.exportOrderSale(query); List<Long> ids = list.stream().map(TOrderSaleVO::getId).collect(Collectors.toList()); @@ -205,8 +206,8 @@ } @Override - public Map<String, BigDecimal> getDataGeneratorMealDetail(TDataGeneratorSaleQuery query) { - return this.baseMapper.getDataGeneratorMealDetail(query); + public Map<String, Double> getDataGeneratorSaleDetail(TDataGeneratorSaleQuery query) { + return this.baseMapper.getDataGeneratorSaleDetail(query); } @Override @@ -236,8 +237,8 @@ endTime = LocalDateTime.now(); break; } - query.setStartTime(startTime); - query.setEndTime(endTime); + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); } List<TOrderSaleVO> list = this.baseMapper.saleGeneratorExport(query); List<Long> ids = list.stream().map(TOrderSaleVO::getId).collect(Collectors.toList()); @@ -250,4 +251,13 @@ } return list; } + + @Override + public void checkout(CheckoutDTO dto) { + TOrderSale orderSale = this.getById(dto.getOrderId()); + orderSale.setPayType(dto.getPayType()); + orderSale.setPayMoney(dto.getPayMoney()); + orderSale.setStatus(2); + this.updateById(orderSale); + } } 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 0bc0826..f52f708 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 @@ -5,6 +5,7 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.constant.OrderNumConstants; import com.ruoyi.common.utils.CodeGenerateUtils; +import com.ruoyi.common.utils.DateUtils; import com.ruoyi.system.domain.TOrderSaleGoods; import com.ruoyi.system.domain.TOrderStock; import com.ruoyi.system.domain.TOrderStockGoods; @@ -102,8 +103,8 @@ endTime = LocalDateTime.now(); break; } - query.setStartTime(startTime); - query.setEndTime(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); @@ -156,8 +157,8 @@ endTime = LocalDateTime.now(); break; } - query.setStartTime(startTime); - query.setEndTime(endTime); + query.setStartTime(DateUtils.localDateTimeToDate(startTime)); + query.setEndTime(DateUtils.localDateTimeToDate(endTime)); } List<TOrderStockVO> list = this.baseMapper.stockGeneratorExport(query); // 查询商品 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TShopServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TShopServiceImpl.java index ef10c0c..31c8edd 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TShopServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TShopServiceImpl.java @@ -1,13 +1,17 @@ package com.ruoyi.system.service.impl; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.system.domain.TBoard; import com.ruoyi.system.domain.TShop; +import com.ruoyi.system.mapper.TBoardMapper; import com.ruoyi.system.mapper.TShopMapper; import com.ruoyi.system.query.TShopQuery; import com.ruoyi.system.service.TShopService; import com.ruoyi.system.vo.TGoodsVO; import com.ruoyi.system.vo.TShopVO; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -23,10 +27,17 @@ @Service public class TShopServiceImpl extends ServiceImpl<TShopMapper, TShop> implements TShopService { + @Autowired + private TBoardMapper boardMapper; + @Override public PageInfo<TShopVO> pageList(TShopQuery query) { PageInfo<TShopVO> pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize()); List<TShopVO> list = this.baseMapper.pageList(query,pageInfo); + for (TShopVO tShopVO : list) { + tShopVO.setBoards(boardMapper.selectList(Wrappers.lambdaQuery(TBoard.class) + .eq(TBoard::getShopId,tShopVO.getId()))); + } pageInfo.setRecords(list); return pageInfo; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TDataGeneratorMealDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TDataGeneratorMealDetailVO.java index ea1291a..dd00cb5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TDataGeneratorMealDetailVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TDataGeneratorMealDetailVO.java @@ -12,6 +12,8 @@ @ApiModel(value = "餐饮数据生成详情VO") public class TDataGeneratorMealDetailVO extends TDataGenerator { + @ApiModelProperty(value = "店铺名称") + private String shopName; @ApiModelProperty(value = "现金支付金额") private BigDecimal moneyPayAmount; @ApiModelProperty(value = "微信支付金额") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationPersonVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationPersonVO.java index 40a40b5..79a54e3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationPersonVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationPersonVO.java @@ -15,4 +15,10 @@ @ApiModelProperty(value = "菜品设置") private List<TFoundationConfig> foundationConfigs; + @ApiModelProperty(value = "最大菜品") + private Integer maxDish; + + @ApiModelProperty(value = "最小菜品") + private Integer minDish; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TShopVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TShopVO.java index d886f2f..b0a7e31 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TShopVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TShopVO.java @@ -1,12 +1,18 @@ package com.ruoyi.system.vo; +import com.ruoyi.system.domain.TBoard; import com.ruoyi.system.domain.TShop; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + @Data @ApiModel(value = "店铺返回VO") public class TShopVO extends TShop { + @ApiModelProperty(value = "桌子列表") + private List<TBoard> boards; + } diff --git a/ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml index 9f8e667..5db7eb4 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml @@ -28,7 +28,7 @@ <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, boardId, mealType, mealPerson, orderMoney, payMoney, payType, createTime, updateTime, disabled, - createBy, updateBy, orderNum, status,isCover,shopId,generatorId,remark + createBy, updateBy, orderNum, status,isCover,shopId,generatorId,remark,mealTime </sql> <select id="pageList" resultType="com.ruoyi.system.vo.TOrderMealVO"> select @@ -91,11 +91,11 @@ </select> <select id="salesVolume" resultType="com.ruoyi.system.vo.SalesVolumeVO"> select - SUM(CASE WHEN payType = 1 THEN payMoney ELSE 0 END) AS moneyPay, - SUM(CASE WHEN payType = 2 THEN payMoney ELSE 0 END) AS aliPay, - SUM(CASE WHEN payType = 3 THEN payMoney ELSE 0 END) AS weiXinPay, - SUM(CASE WHEN payType = 4 THEN payMoney ELSE 0 END) AS cardPay, - SUM(CASE WHEN payType = 5 THEN payMoney ELSE 0 END) AS otherPay + IFNULL(SUM(CASE WHEN payType = 1 THEN payMoney ELSE 0 END),0) AS moneyPay, + IFNULL(SUM(CASE WHEN payType = 2 THEN payMoney ELSE 0 END),0) AS aliPay, + IFNULL(SUM(CASE WHEN payType = 3 THEN payMoney ELSE 0 END),0) AS weiXinPay, + IFNULL(SUM(CASE WHEN payType = 4 THEN payMoney ELSE 0 END),0) AS cardPay, + IFNULL(SUM(CASE WHEN payType = 5 THEN payMoney ELSE 0 END),0) AS otherPay from t_order_meal <where> <if test="query.shopId != null"> @@ -188,15 +188,15 @@ </select> <select id="getDataGeneratorMealDetail" resultType="java.util.Map"> SELECT - SUM(CASE WHEN payType = 1 THEN payMoney ELSE 0 END) AS moneyPay, - SUM(CASE WHEN payType = 2 THEN payMoney ELSE 0 END) AS aliPay, - SUM(CASE WHEN payType = 3 THEN payMoney ELSE 0 END) AS weiXinPay, - SUM(CASE WHEN payType = 4 THEN payMoney ELSE 0 END) AS cardPay, - SUM(CASE WHEN payType = 5 THEN payMoney ELSE 0 END) AS otherPay + IFNULL(SUM(CASE WHEN payType = 1 THEN payMoney ELSE 0 END),0) AS moneyPay, + IFNULL(SUM(CASE WHEN payType = 2 THEN payMoney ELSE 0 END),0) AS aliPay, + IFNULL(SUM(CASE WHEN payType = 3 THEN payMoney ELSE 0 END),0) AS weiXinPay, + IFNULL(SUM(CASE WHEN payType = 4 THEN payMoney ELSE 0 END),0) AS cardPay, + IFNULL(SUM(CASE WHEN payType = 5 THEN payMoney ELSE 0 END),0) AS otherPay from t_order_meal <where> - <if test="query.dataId != null"> - and generatorId = #{query.dataId} + <if test="query.generatorId != null"> + and generatorId = #{query.generatorId} </if> <if test="query.payType != null"> and payType = #{query.payType} diff --git a/ruoyi-system/src/main/resources/mapper/system/TOrderSaleMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TOrderSaleMapper.xml index 13d331c..db02481 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TOrderSaleMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TOrderSaleMapper.xml @@ -79,11 +79,11 @@ </select> <select id="salesVolume" resultType="com.ruoyi.system.vo.SalesVolumeVO"> select - SUM(CASE WHEN payType = 1 THEN payMoney ELSE 0 END) AS moneyPay, - SUM(CASE WHEN payType = 2 THEN payMoney ELSE 0 END) AS aliPay, - SUM(CASE WHEN payType = 3 THEN payMoney ELSE 0 END) AS weiXinPay, - SUM(CASE WHEN payType = 4 THEN payMoney ELSE 0 END) AS cardPay, - SUM(CASE WHEN payType = 5 THEN payMoney ELSE 0 END) AS otherPay + IFNULL(SUM(CASE WHEN payType = 1 THEN payMoney ELSE 0 END),0) AS moneyPay, + IFNULL(SUM(CASE WHEN payType = 2 THEN payMoney ELSE 0 END),0) AS aliPay, + IFNULL(SUM(CASE WHEN payType = 3 THEN payMoney ELSE 0 END),0) AS weiXinPay, + IFNULL(SUM(CASE WHEN payType = 4 THEN payMoney ELSE 0 END),0) AS cardPay, + IFNULL(SUM(CASE WHEN payType = 5 THEN payMoney ELSE 0 END),0) AS otherPay from t_order_sale <where> <if test="query.shopId != null"> @@ -135,11 +135,11 @@ </select> <select id="getDataGeneratorMealDetail" resultType="java.util.Map"> SELECT - SUM(CASE WHEN payType = 1 THEN payMoney ELSE 0 END) AS moneyPay, - SUM(CASE WHEN payType = 2 THEN payMoney ELSE 0 END) AS aliPay, - SUM(CASE WHEN payType = 3 THEN payMoney ELSE 0 END) AS weiXinPay, - SUM(CASE WHEN payType = 4 THEN payMoney ELSE 0 END) AS cardPay, - SUM(CASE WHEN payType = 5 THEN payMoney ELSE 0 END) AS otherPay + IFNULL(SUM(CASE WHEN payType = 1 THEN payMoney ELSE 0 END),0) AS moneyPay, + IFNULL(SUM(CASE WHEN payType = 2 THEN payMoney ELSE 0 END),0) AS aliPay, + IFNULL(SUM(CASE WHEN payType = 3 THEN payMoney ELSE 0 END),0) AS weiXinPay, + IFNULL(SUM(CASE WHEN payType = 4 THEN payMoney ELSE 0 END),0) AS cardPay, + IFNULL(SUM(CASE WHEN payType = 5 THEN payMoney ELSE 0 END),0) AS otherPay from t_order_sale <where> <if test="query.generatorId != null"> -- Gitblit v1.7.1