<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.ruoyi.system.mapper.TOrderSaleMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.ruoyi.system.domain.TOrderSale">
|
<id column="id" property="id" />
|
<result column="orderTime" property="orderTime" />
|
<result column="remark" property="remark" />
|
<result column="createTime" property="createTime" />
|
<result column="updateTime" property="updateTime" />
|
<result column="disabled" property="disabled" />
|
<result column="createBy" property="createBy" />
|
<result column="updateBy" property="updateBy" />
|
<result column="orderNum" property="orderNum" />
|
<result column="status" property="status" />
|
<result column="orderMoney" property="orderMoney" />
|
<result column="payMoney" property="payMoney" />
|
<result column="shopId" property="shopId" />
|
<result column="generatorId" property="generatorId" />
|
<result column="payType" property="payType" />
|
</resultMap>
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
id, orderTime, remark, createTime, updateTime, disabled, createBy, updateBy, orderNum, status,orderMoney,payMoney,shopId,generatorId,payType
|
</sql>
|
<select id="pageList" resultType="com.ruoyi.system.vo.TOrderSaleVO">
|
select id, orderTime, remark, createTime, updateTime, disabled, createBy, updateBy, orderNum, status,orderMoney,payMoney,shopId,generatorId,payType
|
from t_order_sale
|
<where>
|
<if test="query.orderNum != null and query.orderNum != ''">
|
AND orderNum LIKE concat('%', #{query.orderNum}, '%')
|
</if>
|
<if test="query.payType != null">
|
AND payType = #{query.payType}
|
</if>
|
<if test="query.status != null">
|
AND status = #{query.status}
|
</if>
|
<if test="query.shopId != null">
|
and shopId = #{query.shopId}
|
</if>
|
<if test="query.generatorId != null">
|
and generatorId = #{query.generatorId}
|
</if>
|
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
|
AND (createTime BETWEEN #{query.startTime} AND #{query.endTime})
|
</if>
|
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
</where>
|
ORDER BY orderTime DESC
|
</select>
|
<select id="amountSum" resultType="com.ruoyi.system.vo.AmountSumVO">
|
select
|
COUNT(id) AS orderCount,
|
SUM(orderMoney) AS saleAmount,
|
SUM(payMoney) AS payAmount,
|
SUM(orderMoney - payMoney) AS obligation
|
from t_order_sale
|
<where>
|
<if test="query.orderNum != null and query.orderNum != ''">
|
AND orderNum LIKE concat('%', #{query.orderNum}, '%')
|
</if>
|
<if test="query.payType != null">
|
AND payType = #{query.payType}
|
</if>
|
<if test="query.status != null">
|
AND status = #{query.status}
|
</if>
|
<if test="query.shopId != null">
|
and shopId = #{query.shopId}
|
</if>
|
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
|
AND (createTime BETWEEN #{query.startTime} AND #{query.endTime})
|
</if>
|
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
</where>
|
</select>
|
<select id="salesVolume" resultType="com.ruoyi.system.vo.SalesVolumeVO">
|
select
|
IFNULL(SUM(CASE WHEN payType = 1 THEN payMoney ELSE 0 END),0) AS moneyPay,
|
IFNULL(SUM(CASE WHEN payType = 2 THEN payMoney ELSE 0 END),0) AS aliPay,
|
IFNULL(SUM(CASE WHEN payType = 3 THEN payMoney ELSE 0 END),0) AS weiXinPay,
|
IFNULL(SUM(CASE WHEN payType = 4 THEN payMoney ELSE 0 END),0) AS cardPay,
|
IFNULL(SUM(CASE WHEN payType = 5 THEN payMoney ELSE 0 END),0) AS otherPay
|
from t_order_sale
|
<where>
|
<if test="query.shopId != null">
|
and shopId = #{query.shopId}
|
</if>
|
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
|
AND (createTime BETWEEN #{query.startTime} AND #{query.endTime})
|
</if>
|
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
</where>
|
</select>
|
<select id="exportOrderSale" resultType="com.ruoyi.system.vo.TOrderSaleVO">
|
select id, orderTime, remark, createTime, updateTime, disabled, createBy, updateBy, orderNum, status,orderMoney,payMoney,shopId
|
from t_order_sale
|
<where>
|
<if test="query.orderNum != null and query.orderNum != ''">
|
AND orderNum LIKE concat('%', #{query.orderNum}, '%')
|
</if>
|
<if test="query.payType != null">
|
AND payType = #{query.payType}
|
</if>
|
<if test="query.status != null">
|
AND status = #{query.status}
|
</if>
|
<if test="query.shopId != null">
|
and shopId = #{query.shopId}
|
</if>
|
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
|
AND (createTime BETWEEN #{query.startTime} AND #{query.endTime})
|
</if>
|
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
</where>
|
ORDER BY orderTime DESC
|
</select>
|
<select id="orderingTrends" resultType="com.ruoyi.system.vo.OrderTrendsVO">
|
select
|
DATE_FORMAT(orderTime, '%Y-%m-%d') AS dayTime,
|
COUNT(id) AS orderCount
|
from t_order_sale
|
<where>
|
<if test="query.shopId != null">
|
AND shopId = #{query.shopId}
|
</if>
|
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
|
AND (createTime BETWEEN #{query.startTime} AND #{query.endTime})
|
</if>
|
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
</where>
|
</select>
|
<select id="getDataGeneratorSaleDetail" resultType="java.util.Map">
|
SELECT
|
IFNULL(SUM(CASE WHEN payType = 1 THEN payMoney ELSE 0 END),0) AS moneyPay,
|
IFNULL(SUM(CASE WHEN payType = 2 THEN payMoney ELSE 0 END),0) AS aliPay,
|
IFNULL(SUM(CASE WHEN payType = 3 THEN payMoney ELSE 0 END),0) AS weiXinPay,
|
IFNULL(SUM(CASE WHEN payType = 4 THEN payMoney ELSE 0 END),0) AS cardPay,
|
IFNULL(SUM(CASE WHEN payType = 5 THEN payMoney ELSE 0 END),0) AS otherPay
|
from t_order_sale
|
<where>
|
<if test="query.generatorId != null">
|
and generatorId = #{query.generatorId}
|
</if>
|
<if test="query.orderNum != null and query.orderNum != ''">
|
AND orderNum LIKE concat('%', #{query.orderNum}, '%')
|
</if>
|
<if test="query.payType != null">
|
and payType = #{query.payType}
|
</if>
|
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
|
AND (createTime BETWEEN #{query.startTime} AND #{query.endTime})
|
</if>
|
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
</where>
|
</select>
|
<select id="saleGeneratorExport" resultType="com.ruoyi.system.vo.TOrderSaleVO">
|
select id, orderTime, remark, createTime, updateTime, disabled, createBy, updateBy, orderNum, status,orderMoney,payMoney,shopId
|
from t_order_sale
|
<where>
|
<if test="query.generatorId != null">
|
and generatorId = #{query.generatorId}
|
</if>
|
<if test="query.orderNum != null and query.orderNum != ''">
|
AND orderNum LIKE concat('%', #{query.orderNum}, '%')
|
</if>
|
<if test="query.payType != null">
|
and payType = #{query.payType}
|
</if>
|
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
|
AND (createTime BETWEEN #{query.startTime} AND #{query.endTime})
|
</if>
|
AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
</where>
|
ORDER BY orderTime DESC
|
</select>
|
<select id="saleGeneratorListExport" resultType="com.ruoyi.system.vo.TDataGeneratorVO">
|
select tdg.id, tdg.userId, tdg.userName, tdg.shopId, tdg.startTime, tdg.endTime, tdg.minMoney, tdg.maxMoney, tdg.status, tdg.createTime,
|
tdg.updateTime, tdg.disabled, tdg.createBy, tdg.updateBy,tdg.orderType,tdg.weiXinPay,tdg.aliPay,tdg.cardPay,tdg.moneyPay,tdg.otherPay,
|
ts.shopName
|
from t_data_generator tdg
|
left join t_shop ts on tdg.shopId = ts.id
|
<where>
|
<if test="query.shopName != null and query.shopName != ''">
|
and ts.shopName like concat('%', #{query.shopName}, '%')
|
</if>
|
<if test="query.userName != null and query.userName != ''">
|
and tdg.shopName like concat('%', #{query.userName}, '%')
|
</if>
|
<if test="query.status != null">
|
and tdg.status = #{query.status}
|
</if>
|
<if test="query.ids != null and query.ids.size()>0">
|
and tdg.id IN
|
<foreach collection="query.ids" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
</if>
|
<if test="query.orderType != null">
|
and tdg.orderType = #{query.orderType}
|
</if>
|
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
|
AND (tdg.createTime BETWEEN #{query.startTime} AND #{query.endTime})
|
</if>
|
AND tdg.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
and tdg.orderType = 2
|
</where>
|
</select>
|
|
</mapper>
|