From bfdb3faf4f27df01718f58ac8c4ec0bcc092e7b6 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期六, 30 十一月 2024 18:50:47 +0800 Subject: [PATCH] 生成数据明细导出修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderSaleController.java | 45 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 39 insertions(+), 6 deletions(-) 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..79124a6 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,8 +11,8 @@ 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; import com.ruoyi.system.query.TOrderMealQuery; import com.ruoyi.system.query.TOrderSaleQuery; @@ -25,6 +25,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; @@ -34,6 +35,7 @@ import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * <p> @@ -65,6 +67,7 @@ @PostMapping(value = "/pageList") public AjaxResult<PageInfo<TOrderSaleVO>> pageList(@RequestBody TOrderSaleQuery query) { query.setShopId(tokenService.getLoginUser().getObjectId()); + query.setIsCover(1); return AjaxResult.success(orderSaleService.pageList(query)); } @@ -73,7 +76,7 @@ */ @ApiOperation( value = "查询销售金额统计") @PostMapping(value = "/amountSum") - public AjaxResult<AmountSumVO> amountSum(@RequestBody TOrderMealQuery query) { + public AjaxResult<AmountSumVO> amountSum(@RequestBody TOrderSaleQuery query) { query.setShopId(tokenService.getLoginUser().getObjectId()); return AjaxResult.success(orderSaleService.amountSum(query)); } @@ -82,11 +85,22 @@ @GetMapping(value = "/getDetailById") public AjaxResult<TOrderSaleVO> getDetailById(@RequestParam(value = "id") Long id) { TOrderSale orderSale = orderSaleService.getById(id); + if(Objects.isNull(orderSale)){ + return AjaxResult.error("未查询到销售单"); + } TOrderSaleVO orderSaleVO = new TOrderSaleVO(); BeanUtils.copyProperties(orderSale, orderSaleVO); List<TOrderSaleGoods> list = orderSaleGoodsService.list(Wrappers.lambdaQuery(TOrderSaleGoods.class) .eq(TOrderSaleGoods::getOrderId, orderSale.getId())); orderSaleVO.setOrderSaleGoods(list); + BigDecimal sum = BigDecimal.ZERO; + Integer count = 0; + for (TOrderSaleGoods tOrderSaleGoods : list) { + sum = sum.add(tOrderSaleGoods.getThisSalePrice().multiply(new BigDecimal(tOrderSaleGoods.getGoodsCount()))); + count = count + tOrderSaleGoods.getGoodsCount(); + } + orderSaleVO.setGoodsAmount(sum); + orderSaleVO.setGoodsCount(count); return AjaxResult.success(orderSaleVO); } @@ -110,22 +124,41 @@ } /** + * 销售下单接口 + */ + @ApiOperation( value = "销售单修改接口") + @PostMapping(value = "/edit") + public AjaxResult<String> edit(@RequestBody TOrderSaleDTO dto) { + orderSaleService.edit(dto); + return AjaxResult.success(); + } + + @ApiOperation( value = "结账接口") + @PostMapping(value = "/checkout") + public AjaxResult<String> checkout(@Validated @RequestBody CheckoutDTO dto) { + orderSaleService.checkout(dto); + return AjaxResult.success(); + } + + /** * 导出销售列表 */ @ApiOperation(value = "导出销售列表") @PostMapping("/exportOrderSale") public void exportOrderSale(@RequestBody TOrderMealQuery query) { + query.setShopId(tokenService.getLoginUser().getObjectId()); List<TOrderSaleVO> list = orderSaleService.exportOrderSale(query); - List<TOrderMealExportExcel> orderMeals = new ArrayList<>(); + List<TOrderSaleExportExcel> orderMeals = new ArrayList<>(); for (TOrderSaleVO orderSaleVO : list) { TOrderSaleExportExcel orderSaleExportExcel = new TOrderSaleExportExcel(); BeanUtils.copyProperties(orderSaleVO, orderSaleExportExcel); orderSaleExportExcel.setCreateStrTime(DateUtils.localDateTimeToString(orderSaleVO.getCreateTime())); - orderSaleExportExcel.setGoodsAmount(orderSaleVO.getOrderSaleGoods().stream().map(TOrderSaleGoods::getThisSalePrice).reduce(BigDecimal::add).get()); - orderSaleExportExcel.setGoodsCount(orderSaleVO.getOrderSaleGoods().size()); + orderSaleExportExcel.setGoodsAmount(orderSaleVO.getGoodsAmount()); + orderSaleExportExcel.setGoodsCount(orderSaleVO.getGoodsCount()); + orderMeals.add(orderSaleExportExcel); } - Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TOrderMealExportExcel.class, orderMeals); + Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TOrderSaleExportExcel.class, orderMeals); HttpServletResponse response = WebUtils.response(); response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); -- Gitblit v1.7.1