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