From b90fe56ef4ac2f7f2645511eb9f06aa21bd9c7e3 Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Tue, 29 Dec 2020 22:50:44 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java | 42 +++++++++++++
zq-erp/src/main/java/com/matrix/system/app/vo/BusinessesDataShowVo.java | 10 +-
zq-erp/src/main/java/com/matrix/system/app/dto/BusinessesDto.java | 34 +++++++++++
zq-erp/src/main/java/com/matrix/system/hive/dao/SysBusinessDataDao.java | 4 +
zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml | 49 ++++++++++++++++
5 files changed, 130 insertions(+), 9 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java
index 458e129..0690c32 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java
@@ -1,8 +1,18 @@
package com.matrix.system.app.action;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.PaginationVO;
+import com.matrix.system.app.dto.BusinessesDto;
+import com.matrix.system.app.vo.BusinessesDataShowVo;
+import com.matrix.system.hive.action.util.QueryUtil;
+import com.matrix.system.hive.bean.SysBusinessData;
+import com.matrix.system.hive.dao.SysBusinessDataDao;
import io.swagger.annotations.Api;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
/**
* @author wzy
@@ -12,4 +22,32 @@
@RestController
@RequestMapping(value = "/api/statistics")
public class ApiStatisticsAction {
+
+ @Autowired
+ private SysBusinessDataDao sysBusinessDataDao;
+
+ @ApiOperation(value = "公司经营报表/门店经营报表")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = BusinessesDataShowVo.class)
+ })
+ @PostMapping(value = "/findShopBusinessesData")
+ public AjaxResult findShopBusinessesData(@RequestBody BusinessesDto businessesDto) {
+ SysBusinessData sysBusinessData = new SysBusinessData();
+ // 若shopId为空,则查询门店经营报表
+ if (businessesDto.getShopId() == null) {
+ sysBusinessData.setShopId(businessesDto.getShopId());
+ }
+ QueryUtil.setQueryLimitCom(sysBusinessData);
+
+ if (BusinessesDto.DAY.equals(businessesDto.getType())) {
+ sysBusinessData.setT1("%Y-%m-%d");
+ } else {
+ sysBusinessData.setT1("%Y-%m");
+ }
+ PaginationVO pageVo = new PaginationVO();
+ pageVo.setOffset((businessesDto.getPageNum() - 1) * businessesDto.getPageSize());
+ pageVo.setLimit(businessesDto.getPageSize());
+
+ return AjaxResult.buildSuccessInstance(sysBusinessDataDao.selectApiBusinessDataInPage(sysBusinessData, pageVo), sysBusinessDataDao.selectApiBusinessDataTotal(sysBusinessData));
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/BusinessesDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/BusinessesDto.java
new file mode 100644
index 0000000..873261c
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/BusinessesDto.java
@@ -0,0 +1,34 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+@ApiModel(value = "BusinessesDto", description = "门店/公司报表参数接受类")
+public class BusinessesDto extends BasePageDto{
+
+ public static final String DAY = "1";
+
+ public static final String MONTH = "2";
+
+ @ApiModelProperty(value = "type 1-每日 2-每月", example = "1")
+ private String type;
+
+ @ApiModelProperty(value = "门店ID", example = "34")
+ private Long shopId;
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public Long getShopId() {
+ return shopId;
+ }
+
+ public void setShopId(Long shopId) {
+ this.shopId = shopId;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/BusinessesDataShowVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/BusinessesDataShowVo.java
index 91ddd37..f47b02e 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/vo/BusinessesDataShowVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/BusinessesDataShowVo.java
@@ -11,7 +11,7 @@
public class BusinessesDataShowVo {
@ApiModelProperty(value = "时间")
- private String time;
+ private String dataTime;
@ApiModelProperty(value = "营业收入")
private String totalPay;
@@ -37,12 +37,12 @@
@ApiModelProperty(value = "卡项退款")
private String refundCardPay;
- public String getTime() {
- return time;
+ public String getDataTime() {
+ return dataTime;
}
- public void setTime(String time) {
- this.time = time;
+ public void setDataTime(String dataTime) {
+ this.dataTime = dataTime;
}
public String getTotalPay() {
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysBusinessDataDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysBusinessDataDao.java
index dda7702..0aefeb4 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysBusinessDataDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysBusinessDataDao.java
@@ -46,6 +46,8 @@
public SysBusinessData selectForUpdate(Integer id);
- List<BusinessesDataShowVo> selectApiBusinessDataInPage(SysBusinessData data, PaginationVO pageVo);
+ List<BusinessesDataShowVo> selectApiBusinessDataInPage(@Param("record") SysBusinessData data,@Param("pageVo") PaginationVO pageVo);
+
+ int selectApiBusinessDataTotal(@Param("record") SysBusinessData data);
}
\ 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 5b0e697..74da875 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
@@ -535,7 +535,7 @@
<select id="selectApiBusinessDataInPage" resultType="com.matrix.system.app.vo.BusinessesDataShowVo">
select
- date_format(a.time, #{record.t1}),
+ date_format(a.time, #{record.t1}) dataTime,
sum(cashPay + cardPay + arrearsPay) totalPay,
sum(cashPay) cashPay,
sum(cardPay) cardPay,
@@ -569,6 +569,53 @@
</where>
group by date_format(a.time, #{record.t1})
order by a.time desc
+ <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
+ <if test="pageVo.offset >=0 and pageVo.limit >0">
+ limit
+ #{pageVo.offset},#{pageVo.limit}
+ </if>
+ </if>
</select>
+ <select id="selectApiBusinessDataTotal" resultType="java.lang.Integer">
+ select
+ count(1)
+ from (
+ select
+ date_format(a.time, #{record.t1}) dataTime,
+ sum(cashPay + cardPay + arrearsPay) totalPay,
+ sum(cashPay) cashPay,
+ sum(cardPay) cardPay,
+ sum(arrearsPay) arrearsPay,
+ sum(freeConsumePay) freeConsumePay,
+ sum(consumePay) consumePay,
+ sum(refundCardPay) refundCardPay,
+ sum(refundCashPay) refundCashPay
+ from (
+ select
+ company_id,
+ shop_id,
+ a.time,
+ MAX(CASE code WHEN 'cashPay' THEN value ELSE 0 END) cashPay,
+ MAX(CASE code WHEN 'cardPay' THEN value ELSE 0 END) cardPay,
+ MAX(CASE code WHEN 'arrearsPay' THEN value ELSE 0 END) arrearsPay,
+ MAX(CASE code WHEN 'freeConsumePay' THEN value ELSE 0 END) freeConsumePay,
+ MAX(CASE code WHEN 'consumePay' THEN value ELSE 0 END) consumePay,
+ MAX(CASE code WHEN 'refundCashPay' THEN ABS(value) ELSE 0 END) refundCashPay,
+ MAX(CASE code WHEN 'refundCardPay' THEN ABS(value) ELSE 0 END) refundCardPay
+ from sys_business_data a
+ group by a.time, company_id, shop_id
+ ) a
+ <where>
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
+ <if test="record.shopId != null">
+ and a.shop_id=#{record.shopId}
+ </if>
+ </where>
+ group by date_format(a.time, #{record.t1})
+ order by a.time desc
+ ) a
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1