From fc46f2a7c6680df278f4c68c5e91a0ce544a2de4 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 18 Jan 2021 17:00:41 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-sale-list.html |   16 ++++++--
 zq-erp/src/main/java/com/matrix/system/hive/statistics/DailySaleVo.java              |   10 +++++
 zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java    |   28 +++++++++++++-
 zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml                 |   17 ++++++--
 4 files changed, 60 insertions(+), 11 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/statistics/DailySaleVo.java b/zq-erp/src/main/java/com/matrix/system/hive/statistics/DailySaleVo.java
index 743bd33..dabb87f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/statistics/DailySaleVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/statistics/DailySaleVo.java
@@ -18,6 +18,8 @@
 
     private String shopName;
 
+    private BigDecimal shouldPay;
+
     private BigDecimal totalPay;
 
     private BigDecimal cashPay;
@@ -100,6 +102,14 @@
 
     private Long shopId;
 
+    public BigDecimal getShouldPay() {
+        return shouldPay;
+    }
+
+    public void setShouldPay(BigDecimal shouldPay) {
+        this.shouldPay = shouldPay;
+    }
+
     public BigDecimal getWechat() {
         return wechat;
     }
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java b/zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java
index 0b2fa69..14b05f9 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/statistics/SysBusinessDataAction.java
@@ -60,22 +60,46 @@
     @RequestMapping(value = "/findDailySaleData")
     @ResponseBody
     public AjaxResult findDailySaleData(DailySaleVo dailySaleVo, PaginationVO pageVo) {
-
+        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
         Calendar calendar = Calendar.getInstance();
+        int total = 999;
+
+        Date endDate = new Date();
+        if (dailySaleVo.getEndTime() != null) {
+            if (!dailySaleVo.getEndTime().after(new Date())) {
+                calendar.setTime(dailySaleVo.getEndTime());
+                endDate = DateUtil.nextNDate(dailySaleVo.getEndTime(), 1);
+            }
+        }
+
+        calendar.add(Calendar.DATE, 1);
         calendar.add(Calendar.DATE, -pageVo.getOffset());
         String endTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD);
         calendar.add(Calendar.DATE, -pageVo.getLimit());
         String startTime = DateUtil.dateToString(calendar.getTime(), DateUtil.DATE_FORMAT_DD);
+
+        if (dailySaleVo.getBeginTime() != null) {
+            Date startDate = DateUtil.stringToDate(startTime, DateUtil.DATE_FORMAT_DD);
+            if(dailySaleVo.getBeginTime().after(startDate)) {
+                startTime = DateUtil.dateFormatStr(dailySaleVo.getBeginTime(), DateUtil.DATE_FORMAT_DD);
+            }
+            long sub = DateUtil.getTimeSpan(dailySaleVo.getBeginTime(), endDate, null);
+            Long l = sub / (1000 * 3600 * 24);
+            total = l.intValue();
+        }
         List<Date> xAxis = StatisticsTimeUtil.getTimeSpace(startTime, endTime, "日");
         List<StatisticsTimeDaoParam> timeSpaceParam = StatisticsTimeUtil.buidParam(xAxis);
         List<StatisticsTimeDaoParam> statisticsTimeDaoParams = timeSpaceParam.subList(0, timeSpaceParam.size() - 2);
 
+        if (dailySaleVo.getShopId() == null) {
+            dailySaleVo.setShopId(user.getShopId());
+        }
         List<DailySaleVo> dailySaleVos = sysBusinessDataDao.selectDailySaleData(statisticsTimeDaoParams, dailySaleVo.getShopId());
         List<DailySaleVo> result = new ArrayList<>();
         for (int i = dailySaleVos.size() - 1; i >= 0; i--) {
             result.add(dailySaleVos.get(i));
         }
-        return AjaxResult.buildSuccessInstance(result);
+        return AjaxResult.buildSuccessInstance(result, total);
     }
 
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
index 3be128f..fcbd597 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
@@ -804,11 +804,18 @@
         <foreach collection="list" index="index" item="item"   separator="union all"  >
             select
             #{item.beginTime} dataTime,
+            (select shop_short_name from sys_shop_info where id=#{shopId}) shopName,
+            (select sum(total) shouldPay from sys_order
+                where STATU = '已付款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+                <if test="shopId != null">
+                    and shop_id=#{shopId}
+                </if>
+                ) shouldPay,
             (select IFNULL(sum(amount),0) from sys_order_flow
-            where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> and pay_method!='欠款'
-            <if test="shopId != null">
-                and shop_id=#{shopId}
-            </if>
+                where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> and pay_method!='欠款'
+                <if test="shopId != null">
+                    and shop_id=#{shopId}
+                </if>
             )totalPay,
             (select IFNULL(sum(amount),0) from sys_order_flow
             where pay_method not in ('储值卡', '欠款') and flow_type != '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
@@ -932,7 +939,7 @@
         from sys_order_flow
         where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime} ]]>
         <if test="shopId != null">
-            and a.shop_id=#{shopId}
+            and shop_id=#{shopId}
         </if>
         group by paymethod
     </sql>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-sale-list.html b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-sale-list.html
index 4d459b9..a9c2d1b 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-sale-list.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/statistics/daily-sale-list.html
@@ -53,9 +53,9 @@
 						data-width="30px">序号</th>
 					<th data-field="dataTime">日期</th>
 					<th data-field="shopName">门店名称</th>
-					<th data-field="totalPay">应收金额</th>
+					<th data-field="shouldPay" data-formatter="shouldPayFormat">应收金额</th>
 					<th data-field="totalPay">实收金额</th>
-					<th data-field="hisConsume">折扣金额</th>
+					<th data-field="shouldPay" data-formatter="zkAmountFormat">折扣金额</th>
 					<th data-field="perCustomCnt">客单数</th>
 					<th data-field="customGoodsCnt">客品数</th>
 					<th data-field="cost">成本</th>
@@ -79,8 +79,8 @@
 	<script type="text/javascript">
 		var myGrid;
 		var initParam = {
-				format : "yyyy-mm-dd hh:ii", //默认显示年与日,如果想显示十分秒:"yyyy-mm-dd hh:ii:ss"
-				minView: "hour", 	//"month",只显示年月日的选择,不会再跳转去选择时分秒;如果想要选择时分秒的:"hour"
+				format : "yyyy-mm-dd", //默认显示年与日,如果想显示十分秒:"yyyy-mm-dd hh:ii:ss"
+				minView: "month", 	//"month",只显示年月日的选择,不会再跳转去选择时分秒;如果想要选择时分秒的:"hour"
 			}
 		 MTools.ininDatetimepicker(initParam);
 		//限制结束时间不小于开始时间
@@ -111,6 +111,14 @@
 
 		});
 
+		function shouldPayFormat(value, row, index) {
+			return row.shouldPay + row.refund;
+		}
+
+		function zkAmountFormat(value, row, index) {
+			return row.shouldPay + row.refund - row.arrears - row.totalPay;
+		}
+
 		function footCountTitle(data) {
 			return "<b>合计</b>";
 		};

--
Gitblit v1.9.1