From e423d56d730db1baed24f3f7dbbc4141038776b6 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Fri, 18 Jun 2021 22:12:03 +0800
Subject: [PATCH] 修复每日业绩bug和优化赠送业绩计算方式
---
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml | 157 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 149 insertions(+), 8 deletions(-)
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 043b37b..7bdfec4 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -18,10 +18,12 @@
<result property="statu" column="STATU"/>
<result property="zkTotal" column="ZK_TOTAL"/>
<result property="shopId" column="SHOP_ID"/>
+ <result property="companyId" column="company_id"/>
<result property="vipName" column="VIP_NAME"/>
<result property="vipNo" column="VIP_NO"/>
<result property="staffName" column="STAFF_NAME"/>
<result property="changeId" column="CHANGE_ID"/>
+ <result property="orderType" column="orderType"/>
<result property="cashPay" column="cash_Pay"/>
<result property="cardPay" column="card_Pay"/>
@@ -30,6 +32,7 @@
<!-- 扩展字段 -->
<result property="shopName" column="SHOP_NAME"/>
+ <result property="shopShortName" column="SHOP_SHORT_NAME"/>
<result property="vipPhone" column="PHONE"/>
@@ -59,7 +62,9 @@
beatuyId,
beatuyName,
pay_time,
- company_id
+ company_id,
+ orderType,
+ is_has_refund
)
VALUES (
#{id},
@@ -81,14 +86,16 @@
#{beatuyId},
#{beatuyName},
#{payTime},
- #{companyId}
+ #{companyId},
+ #{orderType},
+ #{isHasRefund}
)
</insert>
<!-- 更新订单时间 -->
<update id="updateOrderTime">
UPDATE sys_order
- set ORDER_TIME = #{orderTime}
+ set pay_time = #{payTime}
WHERE id=#{id}
</update>
@@ -138,9 +145,11 @@
<if test="cashPay != null and cashPay !='' ">
cash_Pay = #{cashPay},
</if>
-
<if test="payTime != null ">
pay_time = #{payTime},
+ </if>
+ <if test="isHasRefund != null ">
+ is_has_refund = #{isHasRefund},
</if>
</set>
@@ -227,6 +236,9 @@
<if test="(record.companyId!=null and record.companyId!='') ">
and a.company_id = #{record.companyId}
</if>
+ <if test="(record.orderType!=null and record.orderType!='') ">
+ and a.orderType = #{record.orderType}
+ </if>
<if test="record.beginTimeVo != null ">
and a.ORDER_TIME >= #{record.beginTimeVo}
</if>
@@ -281,6 +293,9 @@
<if test="(record.companyId!=null and record.companyId!='') ">
and a.company_id = #{record.companyId}
</if>
+ <if test="(record.orderType!=null and record.orderType!='') ">
+ and a.orderType = #{record.orderType}
+ </if>
<if test="record.isCross != null and record.isCross !='' ">
and a.IS_CROSS = #{record.isCross}
</if>
@@ -321,6 +336,7 @@
a.*,
c.su_name as STAFF_NAME,
d.SHOP_NAME,
+ d.shop_short_name,
b.PHONE,
b.VIP_NAME
from sys_order a
@@ -402,6 +418,9 @@
<if test="(record.companyId!=null and record.companyId!='') ">
and a.company_id = #{record.companyId}
</if>
+ <if test="(record.orderType!=null and record.orderType!='') ">
+ and a.orderType = #{record.orderType}
+ </if>
</if>
</sql>
@@ -430,6 +449,9 @@
</if>
<if test="(record.companyId!=null and record.companyId!='') ">
and a.company_id = #{record.companyId}
+ </if>
+ <if test="(record.orderType!=null and record.orderType!='') ">
+ and a.orderType = #{record.orderType}
</if>
<if test="record.activity != null and record.activity !='' ">
and a.ACTIVITY = #{record.activity}
@@ -467,18 +489,20 @@
<select id="selectVipOrderInfoTotal" resultType="com.matrix.system.hive.bean.SysOrder">
select
- sum(ZK_TOTAL) zkTotal,
+ sum(amount) zkTotal,
count(1) times,
MAX(pay_time) payTime,
GROUP_CONCAT(DISTINCT t2.shop_short_name) shopName
from sys_order t1
+ left join sys_order_flow b on t1.id=b.ORDER_ID and pay_method!='储值卡'
left join sys_shop_info t2 on t1.SHOP_ID=t2.ID
- where VIP_ID=#{vipId} and STATU='已付款';
+ where t1.VIP_ID=#{vipId} and STATU='已付款';
</select>
<select id="selectApiOrderListInPage" resultType="com.matrix.system.app.vo.OrderDetailVo">
select
a.id orderId,
+ a.VIP_ID vipId,
a.ORDER_NO orderNo,
a.ORDER_TIME orderTime,
a.STATU orderStatus,
@@ -500,6 +524,9 @@
</if>
<if test="record.shopId != null">
and a.shop_id=#{record.shopId}
+ </if>
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
</if>
</where>
<if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
@@ -527,6 +554,9 @@
<if test="record.shopId != null">
and a.shop_id=#{record.shopId}
</if>
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
</where>
</select>
@@ -540,13 +570,124 @@
a.cash_Pay cashPay,
a.card_Pay cardPay,
a.ZK_TOTAL needPay,
- a.card_Pay + a.card_Pay realPay,
+ a.cash_Pay + a.card_Pay realPay,
a.arrears arrears,
a.TOTAL - a.ZK_TOTAL discount,
- a.STATU orderStatus
+ a.STATU orderStatus,
+ a.order_time orderTime
from sys_order a
inner join sys_vip_info b on a.VIP_ID=b.ID
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>
+ a.statu in ('已付款', '欠款')
+ <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>
+
+ <select id="selectStaffSaleAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo">
+ select
+ b.su_name name,
+ b.su_id id,
+ 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, b.su_id
+ </select>
+
+
+ <select id="selectErpOrderList" resultType="com.matrix.system.shopXcx.api.vo.ErpOrderDetailVo">
+ select
+ a.id orderId,
+ a.ORDER_NO orderNo,
+ a.ORDER_TIME orderTime,
+ a.STATU orderStatus,
+ a.ZK_TOTAL needPay,
+ a.TOTAL - a.ZK_TOTAL discount,
+ (a.card_Pay + a.cash_Pay) realPay,
+ a.arrears arrears,
+ b.su_name staffName,
+ d.shop_name as shopName
+ from sys_order a
+ left join sys_users b on a.STAFF_ID = b.su_id
+ left join sys_vip_info c on c.id = a.VIP_ID
+ left join sys_shop_info d on d.id=a.shop_id
+ <where>
+ <if test="queryKey != null and queryKey != ''">
+ and instr(a.order_no, #{queryKey})
+ </if>
+ <if test="status != null and status != ''">
+ and a.statu = #{status}
+ </if>
+ <if test="vipId != null">
+ and a.vip_id=#{vipId}
+ </if>
+ </where>
+ order by a.order_time desc
+ limit #{offset},#{limit}
+ </select>
+ <select id="findUserOrderById" resultType="com.matrix.system.shopXcx.api.vo.ErpOrderDetailVo">
+ select
+ a.id orderId,
+ a.ORDER_NO orderNo,
+ a.ORDER_TIME orderTime,
+ a.STATU orderStatus,
+ a.ZK_TOTAL needPay,
+ a.TOTAL - a.ZK_TOTAL discount,
+ (a.card_Pay + a.cash_Pay) realPay,
+ a.arrears arrears,
+ b.su_name staffName,
+ d.shop_name as shopName
+ from sys_order a
+ left join sys_users b on a.STAFF_ID = b.su_id
+ left join sys_vip_info c on c.id = a.VIP_ID
+ left join sys_shop_info d on d.id=a.shop_id
+ where a.id=#{orderId}
+ </select>
+
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1