From 84541af9e497f66f5806eb0da6377419f641435f Mon Sep 17 00:00:00 2001
From: jyy <jyy>
Date: Thu, 22 Jul 2021 16:55:21 +0800
Subject: [PATCH] 1、删除后台校验业绩 2、部分导出功能

---
 zq-erp/src/main/java/com/matrix/system/hive/statistics/OrderStatisticsAction.java |   78 +++++++++++++++++++++++++++++++++++---
 1 files changed, 71 insertions(+), 7 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/statistics/OrderStatisticsAction.java b/zq-erp/src/main/java/com/matrix/system/hive/statistics/OrderStatisticsAction.java
index 162b40c..317206f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/statistics/OrderStatisticsAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/statistics/OrderStatisticsAction.java
@@ -2,9 +2,13 @@
 
 import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.tools.DateUtil;
 import com.matrix.core.tools.WebUtil;
+import com.matrix.core.tools.excl.ExcelSheetPO;
+import com.matrix.core.tools.excl.ExcelVersion;
 import com.matrix.system.common.bean.SysUsers;
-import com.matrix.system.common.constance.AppConstance;
+import com.matrix.system.common.tools.DataAuthUtil;
+import com.matrix.system.common.tools.ResponseHeadUtil;
 import com.matrix.system.hive.dao.SysOrderItemDao;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -12,6 +16,11 @@
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -31,28 +40,83 @@
      */
     @RequestMapping(value = "/showList")
     public @ResponseBody
-    AjaxResult showList( @RequestParam Map<String , Object> param) {
+    AjaxResult showList(@RequestParam Map<String, Object> param) {
         SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
-        if(!AppConstance.ZONGDIAN.equals(sysUsers.getShopName())){
-            param.put("shopId",sysUsers.getShopId());
+
+        if(!DataAuthUtil.hasAllShopAuth()){
+            param.put("shopId", sysUsers.getShopId());
         }
         return AjaxResult.buildSuccessInstance(orderItemDao.selectItemDetail(param),
                 orderItemDao.selectItemDetailTotal(param));
     }
+    @RequestMapping(value = "/exportShowList")
+    public void exportShowList(@RequestParam Map<String, Object> param, HttpServletResponse response) throws Exception {
+        SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
+        String title = "产品销售明细统计";
+        String[] header = {"门店", "销售日期", "订单号", "商品名称", "分类", "客户名", "购买数量", "单价", "健康顾问", "支付方式", "状态"};
+        String[] column = {"SHOP_NAME", "pay_time", "ORDER_NO", "goodsName", "cateName", "VIP_NAME", "COUNT", "ZK_PRICE", "su_name", "pay_method", "status"};
+
+        if(!DataAuthUtil.hasAllShopAuth()){
+            param.put("shopId", sysUsers.getShopId());
+        }
+        List<Map<String, Object>> dataList = orderItemDao.selectItemDetail(param);
+        exportExcel(title, header,column, dataList, response);
+    }
+
 
     /**
      * 产品销售明细统计
      */
     @RequestMapping(value = "/summaryItemDetail")
     public @ResponseBody
-    AjaxResult summaryItemDetail( @RequestParam Map<String , Object> param) {
+    AjaxResult summaryItemDetail(@RequestParam Map<String, Object> param) {
         SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
-        if(!AppConstance.ZONGDIAN.equals(sysUsers.getShopName())){
-            param.put("shopId",sysUsers.getShopId());
+
+        if(!DataAuthUtil.hasAllShopAuth()){
+            param.put("shopId", sysUsers.getShopId());
         }
         return AjaxResult.buildSuccessInstance(orderItemDao.summaryItemDetail(param),
                 orderItemDao.summaryItemDetailTotal(param));
     }
 
+    @RequestMapping(value = "/exportSummaryItemDetail")
+    public void exportSummaryItemDetail(@RequestParam Map<String, Object> param, HttpServletResponse response) throws Exception {
+        SysUsers sysUsers = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
+        String title = "产品销售明细统计";
+        String[] header = {"门店", "商品名称", "分类", "销售数量", "销售总额"};
+        String[] column = {"SHOP_NAME", "goodsName", "cateName", "COUNT", "ZK_PRICE"};
+
+        if(!DataAuthUtil.hasAllShopAuth()){
+            param.put("shopId", sysUsers.getShopId());
+        }
+        List<Map<String, Object>> dataList = orderItemDao.summaryItemDetail(param);
+        exportExcel(title, header,column, dataList, response);
+    }
+
+
+    public static void exportExcel(String title, String[] header,String[] column, List<Map<String, Object>> dataList, HttpServletResponse response) throws Exception {
+        //这里是从数据库里查数据并组装成我们想要的数据结构的过程
+        List<ExcelSheetPO> res = new ArrayList<>();
+        ExcelSheetPO orderSheet = new ExcelSheetPO();
+        orderSheet.setSheetName(title);
+        orderSheet.setTitle(title);
+        orderSheet.setHeaders(header);
+        List<List<Object>> list = new ArrayList<>();
+        if (dataList.size() > 0) {
+            for (Map<String, Object> item : dataList) {
+                List<Object> temp = new ArrayList<>();
+                Arrays.stream(column).forEach(key-> temp.add(item.get(key)));
+                list.add(temp);
+            }
+        }
+        orderSheet.setDataList(list);
+        res.add(orderSheet);
+        response = ResponseHeadUtil.setExcelHead(response);
+        response.setHeader("Content-Disposition",
+                "attachment;filename=" + java.net.URLEncoder.encode(title + DateUtil.getTimeMark() + ".xlsx".trim(), "UTF-8"));
+        OutputStream os = response.getOutputStream();
+        com.matrix.core.tools.excl.ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true);
+    }
+
 
 }
\ No newline at end of file

--
Gitblit v1.9.1