From b08e80da00021fd2497b8c1e2b6e8abf16d97785 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 29 Dec 2020 11:42:04 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java                 |    2 +
 zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java         |    2 +
 zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml                    |   32 ++++++++++++++++
 zq-erp/src/main/java/com/matrix/system/app/action/ApiRankingAction.java          |   22 ++++++++--
 zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml                  |   30 +++++++++++++++
 zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java               |    2 +
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java |    5 ++
 7 files changed, 90 insertions(+), 5 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 6493af5..7cc09fe 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
@@ -37,9 +37,6 @@
     private SysOrderService sysOrderService;
 
     @Autowired
-    private AchieveNewService achieveNewService;
-
-    @Autowired
     private AchieveNewDao achieveNewDao;
 
     @ApiOperation(value = "顾问业绩排行榜", notes = "顾问业绩排行榜")
@@ -48,7 +45,14 @@
     })
     @PostMapping(value = "/findStaffAchieveRanking")
     public AjaxResult findStaffAchieveRanking(@RequestBody RankingDto rankingDto) {
-        return null;
+        SysOrder sysOrder = new SysOrder();
+        if (DataAuthUtil.hasAllShopAuth()) {
+            QueryUtil.setQueryLimitCom(sysOrder);
+        } else {
+            QueryUtil.setQueryLimit(sysOrder);
+        }
+        sysOrder.setType(rankingDto.getType());
+        return AjaxResult.buildSuccessInstance(sysOrderService.findStaffSaleAchieveRanking(sysOrder));
     }
 
     @ApiOperation(value = "门店业绩排行榜", notes = "门店业绩排行榜")
@@ -82,6 +86,14 @@
     })
     @PostMapping(value = "/findBeauticianAchieveRanking")
     public AjaxResult findBeauticianAchieveRanking(@RequestBody RankingDto rankingDto) {
-        return null;
+        AchieveNew achieveNew = new AchieveNew();
+        if (DataAuthUtil.hasAllShopAuth()) {
+            QueryUtil.setQueryLimitCom(achieveNew);
+        } else {
+            QueryUtil.setQueryLimit(achieveNew);
+        }
+        achieveNew.setDatatime(new Date());
+        achieveNew.setT1(rankingDto.getType());
+        return AjaxResult.buildSuccessInstance(achieveNewDao.selectBeauticianConsumeAchieveRanking(achieveNew));
     }
 }
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
index c5a9c3b..3ebd60b 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java
@@ -65,4 +65,6 @@
 	List<OrderDetailAchieveItemVo> selectApiOrderItemAchieve(@Param("itemId") Long itemId);
 
 	List<RankingVo> selectShopConsumeAchieveRanking(AchieveNew achieveNew);
+
+	List<RankingVo> selectBeauticianConsumeAchieveRanking(AchieveNew achieveNew);
 }
\ No newline at end of file
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 51f47e0..b0c55ff 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
@@ -46,4 +46,6 @@
 	OrderDetailVo selectApiOrderDetailById(@Param("orderId") Long orderId);
 
 	List<RankingVo> selectShopAchieveRanking(@Param("record") SysOrder sysOrder);
+
+	List<RankingVo> selectStaffSaleAchieveRanking(@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 f0c0118..40a7f9e 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
@@ -139,4 +139,6 @@
 	OrderDetailVo findApiOrderDetailByOrderId(Long orderId);
 
 	List<RankingVo> findApiShopAchieveRanking(SysOrder sysOrder);
+
+	List<RankingVo> findStaffSaleAchieveRanking(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 5a826cd..dc51426 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
@@ -1256,4 +1256,9 @@
     public List<RankingVo> findApiShopAchieveRanking(SysOrder sysOrder) {
         return sysOrderDao.selectShopAchieveRanking(sysOrder);
     }
+
+    @Override
+    public List<RankingVo> findStaffSaleAchieveRanking(SysOrder sysOrder) {
+        return sysOrderDao.selectShopAchieveRanking(sysOrder);
+    }
 }
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
index 2509e3e..c36f30a 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
@@ -983,4 +983,34 @@
 		group by a.shop_id
 		order by amount desc, a.shop_id
 	</select>
+
+	<select id="selectBeauticianConsumeAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo">
+		select
+			b.su_name name,
+			sum(IFNULL(a.free_consume,0) + IFNULL(a.his_consume, 0) + IFNULL(a.consume, 0)) amount,
+			c.shop_short_name shopName
+		from achieve_new a
+		inner join sys_users b on a.beault_id=b.su_id
+		left join sys_shop_info c on a.shop_id=c.ID
+		where a.order_type='服务单'
+		<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>
+			<if test='record.t1 == "1" and record.orderTime != null'>
+				and date_format(datatime, '%Y-%m-%d') = date_format(#{record.datatime}, '%Y-%m-%d')
+			</if>
+			<if test='record.t1 == "2" and record.orderTime != null'>
+				and date_format(datatime, '%Y-%m') = date_format(#{record.datatime}, '%Y-%m')
+			</if>
+			<if test='record.t1 == "3" and record.orderTime != null'>
+				and date_format(datatime, '%Y') = date_format(#{record.datatime}, '%Y')
+			</if>
+		</where>
+		group by a.beault_id
+		order by amount desc
+	</select>
 </mapper>
\ No newline at end of file
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 28637b1..fb14fa7 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -559,6 +559,7 @@
         from sys_order a
         left join sys_shop_info b on a.SHOP_ID=b.ID
         <where>
+            a.statu in ('已付款', '欠款')
             <if test="record.companyId != null">
                 and a.company_id=#{record.companyId}
             </if>
@@ -575,4 +576,35 @@
         group by a.SHOP_ID
         order by amount desc, a.shop_id
     </select>
+
+    <select id="selectStaffSaleAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo">
+        select
+               b.su_name name,
+               b.su_photo photo,
+               sum(ZK_TOTAL) amount,
+               c.shop_short_name shopName
+        from sys_order a
+        left join sys_users b on a.STAFF_ID=b.su_id
+        left join sys_shop_info c on a.SHOP_ID=c.ID
+        <where>
+            a.statu in ('已付款', '欠款') and b.su_id is not null
+            <if test="record.companyId != null">
+                and a.company_id=#{record.companyId}
+            </if>
+            <if test="record.shopId != null">
+                and a.shop_id=#{record.shopId}
+            </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 b.su_id
+        order by amount desc, a.su_id
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1