From a330741b1ab67955217644c41d4ff38329f6c9b3 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 31 Dec 2020 14:52:49 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java | 5 +
zq-erp/src/main/java/com/matrix/system/app/action/ApiStatisticsAction.java | 31 ++++++
zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml | 55 +++++++++++
zq-erp/src/main/java/com/matrix/system/app/dto/BusinessesDto.java | 11 ++
zq-erp/src/main/java/com/matrix/system/app/vo/VipAchieveDataShowVo.java | 147 +++++++++++++++++++++++++++++
5 files changed, 249 insertions(+), 0 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 4b50b34..331a695 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,10 +1,14 @@
package com.matrix.system.app.action;
+import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.pojo.PaginationVO;
+import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.BusinessesDto;
import com.matrix.system.app.vo.BusinessesDataShowVo;
+import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.hive.action.util.QueryUtil;
+import com.matrix.system.hive.bean.AchieveNew;
import com.matrix.system.hive.bean.SysBusinessData;
import com.matrix.system.hive.dao.SysBusinessDataDao;
import com.matrix.system.hive.service.imp.DataAnalysisCustomerServiceImpl;
@@ -147,4 +151,31 @@
return ajaxResult;
}
+
+ @ApiOperation(value = "查询员工业绩报表", notes = "查询员工业绩报表")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = BusinessesDataShowVo.class)
+ })
+ @PostMapping(value = "/findVipAchieve")
+ public AjaxResult findVipAchieve(@RequestBody BusinessesDto businessesDto) {
+ AchieveNew achieveNew = new AchieveNew();
+ if (BusinessesDto.DAY.equals(businessesDto.getType())) {
+ achieveNew.setT1("%Y-%m-%d");
+ } else {
+ achieveNew.setT1("%Y-%m");
+ }
+
+ SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ if (businessesDto.getStaffId() == null) {
+
+ businessesDto.setStaffId(sysUsers.getSuId());
+ }
+ achieveNew.setVipId(businessesDto.getStaffId());
+
+ PaginationVO pageVo = new PaginationVO();
+ pageVo.setLimit(businessesDto.getPageSize());
+ pageVo.setOffset((businessesDto.getPageNum() - 1) * businessesDto.getPageSize());
+ return AjaxResult.buildSuccessInstance(tjVipSumDao.selectVipAchieveInPage(achieveNew, pageVo));
+ }
+
}
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
index 873261c..0e5cf41 100644
--- 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
@@ -16,6 +16,9 @@
@ApiModelProperty(value = "门店ID", example = "34")
private Long shopId;
+ @ApiModelProperty(value = "会员ID")
+ private Long staffId;
+
public String getType() {
return type;
}
@@ -31,4 +34,12 @@
public void setShopId(Long shopId) {
this.shopId = shopId;
}
+
+ public Long getStaffId() {
+ return staffId;
+ }
+
+ public void setStaffId(Long staffId) {
+ this.staffId = staffId;
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/VipAchieveDataShowVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/VipAchieveDataShowVo.java
new file mode 100644
index 0000000..d392636
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/VipAchieveDataShowVo.java
@@ -0,0 +1,147 @@
+package com.matrix.system.app.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+/**
+ * @author wzy
+ * @date 2020-12-31
+ **/
+@ApiModel(value = "VipAchieveDataShowVo", description = "员工业绩返回参数类")
+public class VipAchieveDataShowVo {
+
+ @ApiModelProperty(value = "时间")
+ private String time;
+
+ @ApiModelProperty(value = "订单业绩")
+ private BigDecimal orderAmount;
+
+ @ApiModelProperty(value = "现金业绩")
+ private BigDecimal cashAmount;
+
+ @ApiModelProperty(value = "售卡业绩")
+ private BigDecimal cardAmount;
+
+ @ApiModelProperty(value = "产品业绩")
+ private BigDecimal goodsAmount;
+
+ @ApiModelProperty(value = "划扣业绩")
+ private BigDecimal cardUseAmount;
+
+ @ApiModelProperty(value = "本金消耗")
+ private BigDecimal hisConsume;
+
+ @ApiModelProperty(value = "赠送消耗")
+ private BigDecimal freeConsume;
+
+ @ApiModelProperty(value = "提成")
+ private BigDecimal commission;
+
+ @ApiModelProperty(value = "人头数")
+ private BigDecimal peopleNum;
+
+ @ApiModelProperty(value = "项目数")
+ private Integer projNum;
+
+ @ApiModelProperty(value = "服务时长")
+ private Integer serviceTime;
+
+
+ public String getTime() {
+ return time;
+ }
+
+ public void setTime(String time) {
+ this.time = time;
+ }
+
+ public BigDecimal getOrderAmount() {
+ return orderAmount;
+ }
+
+ public void setOrderAmount(BigDecimal orderAmount) {
+ this.orderAmount = orderAmount;
+ }
+
+ public BigDecimal getCashAmount() {
+ return cashAmount;
+ }
+
+ public void setCashAmount(BigDecimal cashAmount) {
+ this.cashAmount = cashAmount;
+ }
+
+ public BigDecimal getCardAmount() {
+ return cardAmount;
+ }
+
+ public void setCardAmount(BigDecimal cardAmount) {
+ this.cardAmount = cardAmount;
+ }
+
+ public BigDecimal getGoodsAmount() {
+ return goodsAmount;
+ }
+
+ public void setGoodsAmount(BigDecimal goodsAmount) {
+ this.goodsAmount = goodsAmount;
+ }
+
+ public BigDecimal getCardUseAmount() {
+ return cardUseAmount;
+ }
+
+ public void setCardUseAmount(BigDecimal cardUseAmount) {
+ this.cardUseAmount = cardUseAmount;
+ }
+
+ public BigDecimal getHisConsume() {
+ return hisConsume;
+ }
+
+ public void setHisConsume(BigDecimal hisConsume) {
+ this.hisConsume = hisConsume;
+ }
+
+ public BigDecimal getFreeConsume() {
+ return freeConsume;
+ }
+
+ public void setFreeConsume(BigDecimal freeConsume) {
+ this.freeConsume = freeConsume;
+ }
+
+ public BigDecimal getCommission() {
+ return commission;
+ }
+
+ public void setCommission(BigDecimal commission) {
+ this.commission = commission;
+ }
+
+ public BigDecimal getPeopleNum() {
+ return peopleNum;
+ }
+
+ public void setPeopleNum(BigDecimal peopleNum) {
+ this.peopleNum = peopleNum;
+ }
+
+ public Integer getProjNum() {
+ return projNum;
+ }
+
+ public void setProjNum(Integer projNum) {
+ this.projNum = projNum;
+ }
+
+ public Integer getServiceTime() {
+ return serviceTime;
+ }
+
+ public void setServiceTime(Integer serviceTime) {
+ this.serviceTime = serviceTime;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java
index 1e260ee..fb61fb0 100644
--- a/zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hiveErp/dao/TjVipSumDao.java
@@ -1,6 +1,9 @@
package com.matrix.system.hiveErp.dao;
+import com.matrix.core.pojo.PaginationVO;
+import com.matrix.system.app.vo.VipAchieveDataShowVo;
+import com.matrix.system.hive.bean.AchieveNew;
import com.matrix.system.hiveErp.analysUtil.StatisticsTimeDaoParam;
import org.apache.ibatis.annotations.Param;
@@ -31,4 +34,6 @@
Map<String, BigDecimal> selectFreeConsume(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId, @Param("companyId") Long companyId);
Map<String, BigDecimal> selectCardRefund(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId, @Param("companyId") Long companyId);
Map<String, BigDecimal> selectCashRefund(@Param("list") List<StatisticsTimeDaoParam> timeSpaceParam, @Param("shopId") Long shopId, @Param("companyId") Long companyId);
+
+ List<VipAchieveDataShowVo> selectVipAchieveInPage(@Param("record") AchieveNew achieveNew, @Param("pageVo") PaginationVO pageVo);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
index 2d1f072..02ff341 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
@@ -227,5 +227,60 @@
</foreach>
from area where id=1
</select>
+
+ <select id="selectVipAchieveInPage" resultType="com.matrix.system.app.vo.VipAchieveDataShowVo">
+ select
+ date_format(a.datatime, #{record.t1}) time,
+ ROUND(sum(IFNULL(zk_total, 0)), 2) orderAmount,
+ ROUND(sum(IFNULL(proj_cash, 0)), 2) cashAmount,
+ ROUND(sum(IFNULL(card_cash, 0)), 2) cardAmount,
+ ROUND(sum(IFNULL(goods_cash, 0)), 2) goodsAmount,
+ ROUND(sum(IFNULL(consume, 0)), 2) cardUseAmount,
+ ROUND(sum(IFNULL(his_consume, 0)), 2) hisConsume,
+ ROUND(sum(IFNULL(free_consume, 0)), 2) freeConsume,
+ ROUND(sum(IFNULL(proj_percentage, 0)), 2) commission,
+ ROUND(sum(IFNULL(number_of_people, 0)), 2) peopleNum,
+ ROUND(sum(IFNULL(proj_num, 0)), 2) projNum,
+ ROUND(sum(IFNULL(proj_time, 0)), 2) serviceTime
+ from (
+ select * from (
+ select * from (
+ select date_format(date_add(now(), INTERVAL -(@rowd := @rowd + 1) DAY), '%Y-%m-%d') datatime
+ from achieve_new a, (select @rowd := 0) t
+ ) a
+ ) a
+ left join (
+ select
+ date_format(a.datatime, '%Y-%m-%d') datatime1,
+ SUM((IFNULL(a.card_cash,0) +IFNULL(a.proj_cash,0) + IFNULL(a.goods_cash,0))) as zk_total,
+ SUM(IFNULL(a.proj_cash,0)) proj_cash,
+ SUM(IFNULL(a.goods_cash, 0)) goods_cash,
+ SUM(IFNULL(a.card_cash,0)) card_cash,
+ SUM(IFNULL(a.consume, 0)) consume
+ from achieve_new a where a.sale_id=#{record.vipId}
+ group by date_format(a.datatime, '%Y-%m-%d')
+ ) b on a.datatime=b.datatime1
+ left join (
+ select
+ date_format(b.datatime, '%Y-%m-%d') datatime2,
+ SUM(IFNULL(b.his_consume, 0)) his_consume,
+ SUM(IFNULL(b.free_consume, 0)) free_consume,
+ SUM(IFNULL(b.proj_percentage, 0)) proj_percentage,
+ SUM(IFNULL(b.number_of_people, 0)) number_of_people,
+ SUM(IFNULL(b.proj_num, 0)) proj_num,
+ SUM(IFNULL(b.proj_time, 0)) proj_time
+ from achieve_new b where b.beault_id=#{record.vipId}
+ group by date_format(b.datatime, '%Y-%m-%d')
+ ) c on a.datatime=c.datatime2
+ ) a
+ group by date_format(a.datatime, #{record.t1})
+ order by a.datatime desc
+ <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
+ <if test="pageVo.offset >=0 and pageVo.limit >0">
+ limit
+ #{pageVo.offset},#{pageVo.limit}
+ </if>
+ </if>
+ </select>
</mapper>
--
Gitblit v1.9.1