<?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.TOrderMealMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.ruoyi.system.domain.TOrderMeal">
|
<id column="id" property="id" />
|
<result column="boardId" property="boardId" />
|
<result column="mealType" property="mealType" />
|
<result column="mealPerson" property="mealPerson" />
|
<result column="orderMoney" property="orderMoney" />
|
<result column="payMoney" property="payMoney" />
|
<result column="payType" property="payType" />
|
<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="isCover" property="isCover" />
|
<result column="shopId" property="shopId" />
|
<result column="shopId" property="shopId" />
|
</resultMap>
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
id, boardId, mealType, mealPerson, orderMoney, payMoney, payType, createTime, updateTime, disabled,
|
createBy, updateBy, orderNum, status,isCover,shopId
|
</sql>
|
<select id="pageList" resultType="com.ruoyi.system.vo.TOrderMealVO">
|
select
|
tom.id, tom.boardId, tom.mealType, tom.mealPerson, tom.orderMoney, tom.payMoney, tom.payType, tom.createTime, tom.updateTime, tom.disabled,
|
tom.createBy, tom.updateBy, tom.orderNum, tom.status,tom.isCover,tom.shopId,tb.boardName
|
from t_order_meal tom
|
left join t_board tb on tb.id = tom.boardId
|
<where>
|
<if test="query.mealType != null">
|
and tom.mealType = #{query.mealType}
|
</if>
|
<if test="query.payType != null">
|
and tom.payType = #{query.payType}
|
</if>
|
<if test="query.status != null">
|
and tom.status = #{query.status}
|
</if>
|
<if test="query.orderNum != null and query.orderNum">
|
and tom.orderNum LIKE concat('%',#{query.status},'%')
|
</if>
|
<if test="query.shopId != null">
|
and tom.shopId = #{query.shopId}
|
</if>
|
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
|
AND (tom.createTime BETWEEN #{query.startTime} AND #{query.endTime})
|
</if>
|
AND tom.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
</where>
|
ORDER BY tom.createTime DESC
|
</select>
|
<select id="amountSum" resultType="com.ruoyi.system.vo.AmountSumVO">
|
select
|
COUNT(tom.id) AS orderCount,
|
SUM(tom.orderMoney) AS saleAmount,
|
SUM(tom.payMoney) AS payAmount,
|
SUM(tom.orderMoney - tom.payMoney) AS obligation
|
from t_order_meal tom
|
left join t_board tb on tb.id = tom.boardId
|
<where>
|
<if test="query.mealType != null">
|
and tom.mealType = #{query.mealType}
|
</if>
|
<if test="query.payType != null">
|
and tom.payType = #{query.payType}
|
</if>
|
<if test="query.status != null">
|
and tom.status = #{query.status}
|
</if>
|
<if test="query.orderNum != null and query.orderNum">
|
and tom.orderNum LIKE concat('%',#{query.status},'%')
|
</if>
|
<if test="query.shopId != null">
|
and tom.shopId = #{query.shopId}
|
</if>
|
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
|
AND (tom.createTime BETWEEN #{query.startTime} AND #{query.endTime})
|
</if>
|
AND tom.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
</where>
|
</select>
|
<select id="salesVolume" resultType="com.ruoyi.system.vo.SalesVolumeVO">
|
select
|
SUM(CASE WHEN payType = 1 THEN payMoney ELSE 0 END) AS moneyPay,
|
SUM(CASE WHEN payType = 2 THEN payMoney ELSE 0 END) AS aliPay,
|
SUM(CASE WHEN payType = 3 THEN payMoney ELSE 0 END) AS weiXinPay,
|
SUM(CASE WHEN payType = 4 THEN payMoney ELSE 0 END) AS cardPay,
|
SUM(CASE WHEN payType = 5 THEN payMoney ELSE 0 END) AS otherPay
|
from t_order_meal
|
<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="exportOrderMeal" resultType="com.ruoyi.system.vo.TOrderMealVO">
|
select
|
tom.id, tom.boardId, tom.mealType, tom.mealPerson, tom.orderMoney, tom.payMoney, tom.payType, tom.createTime, tom.updateTime, tom.disabled,
|
tom.createBy, tom.updateBy, tom.orderNum, tom.status,tom.isCover,tom.shopId,tb.boardName
|
from t_order_meal tom
|
left join t_board tb on tb.id = tom.boardId
|
<where>
|
<if test="query.mealType != null">
|
and tom.mealType = #{query.mealType}
|
</if>
|
<if test="query.payType != null">
|
and tom.payType = #{query.payType}
|
</if>
|
<if test="query.status != null">
|
and tom.status = #{query.status}
|
</if>
|
<if test="query.orderNum != null and query.orderNum">
|
and tom.orderNum LIKE concat('%',#{query.status},'%')
|
</if>
|
<if test="query.shopId != null">
|
and tom.shopId = #{query.shopId}
|
</if>
|
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
|
AND (tom.createTime BETWEEN #{query.startTime} AND #{query.endTime})
|
</if>
|
AND tom.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
</where>
|
ORDER BY tom.createTime DESC
|
</select>
|
<select id="orderingTrends" resultType="com.ruoyi.system.vo.OrderTrendsVO">
|
select
|
DATE_FORMAT(createTime, '%Y-%m-%d') AS dayTime,
|
COUNT(id) AS orderCount
|
from t_order_meal
|
<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="personnelStatistics" resultType="com.ruoyi.system.vo.PersonnelStatisticsVO">
|
select
|
tb.boardName,tom.mealPerson, (tom.payMoney/tom.mealPerson) AS avgAmount
|
from t_order_meal tom
|
left join t_board tb on tb.id = tom.boardId
|
<where>
|
<if test="query.shopId != null">
|
AND tom.shopId = #{query.shopId}
|
</if>
|
<if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
|
AND (tom.createTime BETWEEN #{query.startTime} AND #{query.endTime})
|
</if>
|
AND tom.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
|
</where>
|
</select>
|
|
</mapper>
|