From 2c678522fc2adf031c28feb6563648f7133ff4b1 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 28 Dec 2020 18:19:48 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/java/com/matrix/system/app/vo/RankingVo.java | 15 ++++
zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java | 3 +
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java | 3 +
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml | 25 ++++++++
zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java | 10 +++
zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java | 52 +++++++++++++++--
zq-erp/src/main/java/com/matrix/system/app/dto/RankingDto.java | 54 ++++++++++++++++++
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 6 ++
8 files changed, 160 insertions(+), 8 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java
index 0b7fba6..4004241 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java
@@ -1,13 +1,25 @@
package com.matrix.system.app.action;
import com.matrix.core.pojo.AjaxResult;
-import com.matrix.system.app.vo.RankingDto;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.system.app.dto.RankingDto;
+import com.matrix.system.app.vo.RankingVo;
+import com.matrix.system.common.tools.DataAuthUtil;
+import com.matrix.system.hive.action.util.QueryUtil;
+import com.matrix.system.hive.bean.SysOrder;
+import com.matrix.system.hive.service.AchieveNewService;
+import com.matrix.system.hive.service.SysOrderService;
import io.swagger.annotations.Api;
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.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
/**
* @author wzy
@@ -18,19 +30,47 @@
@RequestMapping(value ="/api/ranking")
public class ApiRankingAction {
- public AjaxResult findStaffAchieveRanking() {
+ @Autowired
+ private SysOrderService sysOrderService;
+
+ @Autowired
+ private AchieveNewService achieveNewService;
+
+ @ApiOperation(value = "顾问业绩排行榜", notes = "顾问业绩排行榜")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = RankingVo.class)
+ })
+ @PostMapping(value = "/findStaffAchieveRanking")
+ public AjaxResult findStaffAchieveRanking(@RequestBody RankingDto rankingDto) {
return null;
}
@ApiOperation(value = "门店业绩排行榜", notes = "门店业绩排行榜")
@ApiResponses({
- @ApiResponse(code = 200, message = "ok", response = RankingDto.class)
+ @ApiResponse(code = 200, message = "ok", response = RankingVo.class)
})
- public AjaxResult findShopAchieveRanking() {
- return null;
+ @PostMapping(value = "/findShopAchieveRanking")
+ public AjaxResult findShopAchieveRanking(@RequestBody RankingDto rankingDto) {
+ AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("");
+ if (RankingDto.SALE.equals(rankingDto.getDataType())) {
+ SysOrder sysOrder = new SysOrder();
+ QueryUtil.setQueryLimitCom(sysOrder);
+ sysOrder.setType(rankingDto.getType());
+ sysOrder.setOrderTime(DateUtil.stringToDate(rankingDto.getTime(), DateUtil.DATE_FORMAT_DD));
+ List<RankingVo> list = sysOrderService.findApiShopAchieveRanking(sysOrder);
+ ajaxResult.setRows(list);
+ } else {
+
+ }
+ return ajaxResult;
}
- public AjaxResult findBeauticianAchieveRanking() {
+ @ApiOperation(value = "美疗师业绩排行榜", notes = "美疗师业绩排行榜")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "ok", response = RankingVo.class)
+ })
+ @PostMapping(value = "/findBeauticianAchieveRanking")
+ public AjaxResult findBeauticianAchieveRanking(@RequestBody RankingDto rankingDto) {
return null;
}
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/RankingDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/RankingDto.java
new file mode 100644
index 0000000..080f1bd
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/RankingDto.java
@@ -0,0 +1,54 @@
+package com.matrix.system.app.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @author wzy
+ * @date 2020-12-28
+ **/
+@ApiModel(value = "RankingDto", description = "排行榜参数接收类")
+public class RankingDto {
+
+ public static final String SALE = "1";
+ public static final String CONSUME = "2";
+
+ public static final String DAY = "1";
+ public static final String MONTH = "2";
+ public static final String YEAR = "3";
+
+ @ApiModelProperty(value = "数据类型 1-销售 2-消耗")
+ private String dataType;
+
+ @ApiModelProperty(value = "排行榜类型 1-日榜 2-月榜 3-年榜")
+ private String type;
+
+ @ApiModelProperty(value = "时间")
+ private String time;
+
+ public String getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(String dataType) {
+ this.dataType = dataType;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getTime() {
+ return time;
+ }
+
+ public void setTime(String time) {
+ this.time = time;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/RankingDto.java b/zq-erp/src/main/java/com/matrix/system/app/vo/RankingVo.java
similarity index 71%
rename from zq-erp/src/main/java/com/matrix/system/app/vo/RankingDto.java
rename to zq-erp/src/main/java/com/matrix/system/app/vo/RankingVo.java
index a43bb16..0b2007b 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/vo/RankingDto.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/RankingVo.java
@@ -9,8 +9,8 @@
* @author wzy
* @date 2020-12-28
**/
-@ApiModel(value = "RankingDto", description = "排行榜返回参数类")
-public class RankingDto {
+@ApiModel(value = "RankingVo", description = "排行榜返回参数类")
+public class RankingVo {
@ApiModelProperty(value = "姓名")
private String name;
@@ -21,6 +21,17 @@
@ApiModelProperty(value = "金额")
private BigDecimal amount;
+ @ApiModelProperty(value = "店铺名称")
+ private String shopName;
+
+ public String getShopName() {
+ return shopName;
+ }
+
+ public void setShopName(String shopName) {
+ this.shopName = shopName;
+ }
+
public String getName() {
return name;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java
index 663fa32..9c16a42 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrder.java
@@ -161,6 +161,16 @@
*/
private Integer times;
+ private String type;
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
public Integer getTimes() {
return times;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
index 8320974..51f47e0 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
@@ -3,6 +3,7 @@
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.app.dto.OrderListDto;
import com.matrix.system.app.vo.OrderDetailVo;
+import com.matrix.system.app.vo.RankingVo;
import com.matrix.system.hive.bean.SysOrder;
import org.apache.ibatis.annotations.Param;
@@ -43,4 +44,6 @@
int selectApiOrderListTotal(@Param("record") OrderListDto orderListDto);
OrderDetailVo selectApiOrderDetailById(@Param("orderId") Long orderId);
+
+ List<RankingVo> selectShopAchieveRanking(@Param("record") SysOrder sysOrder);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
index a3af416..f0c0118 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
@@ -4,6 +4,7 @@
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.app.dto.OrderListDto;
import com.matrix.system.app.vo.OrderDetailVo;
+import com.matrix.system.app.vo.RankingVo;
import com.matrix.system.hive.bean.SysOrder;
import com.matrix.system.hive.plugin.util.BaseServices;
import com.matrix.system.hive.pojo.CzXkVo;
@@ -136,4 +137,6 @@
int findApiOrderListTotal(OrderListDto orderListDto);
OrderDetailVo findApiOrderDetailByOrderId(Long orderId);
+
+ List<RankingVo> findApiShopAchieveRanking(SysOrder sysOrder);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
index 250b154..5a826cd 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -10,6 +10,7 @@
import com.matrix.system.app.vo.OrderDetailAchieveItemVo;
import com.matrix.system.app.vo.OrderDetailItemVo;
import com.matrix.system.app.vo.OrderDetailVo;
+import com.matrix.system.app.vo.RankingVo;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.common.dao.SysUsersDao;
@@ -1250,4 +1251,9 @@
orderDetail.setItems(items);
return orderDetail;
}
+
+ @Override
+ public List<RankingVo> findApiShopAchieveRanking(SysOrder sysOrder) {
+ return sysOrderDao.selectShopAchieveRanking(sysOrder);
+ }
}
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
index d86c4f7..28637b1 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -550,4 +550,29 @@
left join sys_users c on a.STAFF_ID=c.su_id
where a.id=#{orderId}
</select>
+
+ <select id="selectShopAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo">
+ select
+ b.shop_short_name name,
+ b.SHOP_IMAG photo,
+ sum(IFNULL(a.ZK_TOTAL,0)) amount
+ from sys_order a
+ left join sys_shop_info b on a.SHOP_ID=b.ID
+ <where>
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
+ <if test='record.type == "1" and record.orderTime != null'>
+ and date_format(order_time, '%Y-%m-%d') = date_format(#{record.orderTime}, '%Y-%m-%d')
+ </if>
+ <if test='record.type == "2" and record.orderTime != null'>
+ and date_format(order_time, '%Y-%m') = date_format(#{record.orderTime}, '%Y-%m')
+ </if>
+ <if test='record.type == "3" and record.orderTime != null'>
+ and date_format(order_time, '%Y') = date_format(#{record.orderTime}, '%Y')
+ </if>
+ </where>
+ group by a.SHOP_ID
+ order by amount desc, a.shop_id
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1