Helius
2022-05-26 eb706a988e747b624fda0d44e0aaf6a4ee5e20eb
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -15,6 +15,7 @@
        <result property="activity" column="ACTIVITY"/>
        <result property="total" column="TOTAL"/>
        <result property="statu" column="STATU"/>
        <result property="zkTotal" column="ZK_TOTAL"/>
        <result property="shopId" column="SHOP_ID"/>
@@ -29,7 +30,8 @@
        <result property="cardPay" column="card_Pay"/>
        <result property="arrears" column="arrears"/>
        <result property="payTime" column="pay_time"/>
        <result property="cashierId" column="cashier_id"/>
        <result property="cashierName" column="cashierName"/>
        <!-- 扩展字段 -->
        <result property="shopName" column="SHOP_NAME"/>
        <result property="shopShortName" column="SHOP_SHORT_NAME"/>
@@ -64,7 +66,8 @@
      pay_time,
      company_id,
      orderType,
        is_has_refund
        is_has_refund,
        cashier_id
      )
      VALUES (
      #{id},
@@ -88,7 +91,8 @@
      #{payTime},
      #{companyId},
      #{orderType},
      #{isHasRefund}
      #{isHasRefund},
      #{cashierId}
      )
   </insert>
@@ -151,7 +155,9 @@
            <if test="isHasRefund != null  ">
                is_has_refund = #{isHasRefund},
            </if>
            <if test="cashierId != null  ">
                cashier_id = #{cashierId},
            </if>
        </set>
        WHERE id=#{id}
    </update>
@@ -174,11 +180,12 @@
    <!-- 分页查询 -->
    <select id="selectInPage" resultMap="SysOrderMap">
        select
        a.*, b.VIP_NAME, c.su_name as STAFF_NAME,
        a.*, b.VIP_NAME, c.su_name as STAFF_NAME, e.su_name as cashierName,
        d.SHOP_NAME, b.PHONE
        from sys_order a
        LEFT JOIN sys_vip_info b on b.ID=a.VIP_ID
        left JOIN sys_users c on c.su_id=a.STAFF_ID
        left JOIN sys_users e on e.su_id=a.cashier_id
        left JOIN sys_shop_info d on d.ID=a.SHOP_ID
        where 1=1
        <if test="record!=null">
@@ -208,6 +215,9 @@
            </if>
            <if test="record.staffId != null and record.staffId !='' ">
                and a.STAFF_ID = #{record.staffId}
            </if>
            <if test="record.cashierId != null and record.cashierId !='' ">
                and a.cashier_id = #{record.cashierId}
            </if>
            <if test="record.isCross != null and record.isCross !='' ">
                and a.IS_CROSS = #{record.isCross}
@@ -290,6 +300,9 @@
            <if test="record.staffId != null and record.staffId !='' ">
                and a.STAFF_ID = #{record.staffId}
            </if>
            <if test="record.cashierId != null and record.cashierId !='' ">
                and a.cashier_id = #{record.cashierId}
            </if>
            <if test="(record.companyId!=null and record.companyId!='') ">
                and a.company_id = #{record.companyId}
            </if>
@@ -334,7 +347,7 @@
    <select id="selectById" resultMap="SysOrderMap">
        select
            a.*,
            c.su_name as STAFF_NAME,
            c.su_name as STAFF_NAME, e.su_name as cashierName,
            d.SHOP_NAME,
            d.shop_short_name,
            b.PHONE,
@@ -342,6 +355,7 @@
        from sys_order a
      LEFT JOIN sys_vip_info b on b.ID=a.VIP_ID
      left JOIN sys_users c on c.su_id=a.STAFF_ID
        left JOIN sys_users e on e.su_id=a.cashier_id
      left JOIN sys_shop_info d on d.ID=a.SHOP_ID
        where a.id=#{id}
    </select>
@@ -384,6 +398,9 @@
            <if test="record.staffId != null and record.staffId !='' ">
                and a.STAFF_ID = #{record.staffId}
            </if>
            <if test="record.cashierId != null and record.cashierId !='' ">
                and a.cashier_id = #{record.cashierId}
            </if>
            <if test="record.isCross != null and record.isCross !='' ">
                and a.IS_CROSS = #{record.isCross}
@@ -440,6 +457,9 @@
            <if test="record.staffId != null and record.staffId !='' ">
                and a.STAFF_ID = #{record.staffId}
            </if>
            <if test="record.cashierId != null and record.cashierId !='' ">
                and a.cashier_id = #{record.cashierId}
            </if>
            <if test="record.isCross != null and record.isCross !='' ">
                and a.IS_CROSS = #{record.isCross}
@@ -538,6 +558,48 @@
        </if>
    </select>
    <select id="selectPadApiOrderListInPage" resultType="com.matrix.system.padApi.vo.PadOrderDetailVo">
        select
        a.id orderId,
        a.VIP_ID vipId,
        a.ORDER_NO orderNo,
        a.ORDER_TIME orderTime,
        a.STATU orderStatus,
        a.ZK_TOTAL needPay,
        (a.card_Pay + a.cash_Pay) realPay,
        a.arrears arrears,
        b.su_name staffName,
        c.VIP_NAME vipName,
        c.PHONE phone
        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
        <where>
            <if test="record.queryKey != null and record.queryKey != ''">
                and (instr(c.vip_name, #{record.queryKey}) or instr(c.phone, #{record.queryKey}) or instr(a.order_no, #{record.queryKey}))
            </if>
            <if test="record.status != null and record.status != ''">
                and a.statu = #{record.status}
            </if>
            <if test="record.orderTime != null  ">
                and a.ORDER_TIME = #{record.orderTime}
            </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对象是否为空 -->
            order by a.order_time desc
            <if test="pageVo.offset >=0  and pageVo.limit >0">
                limit
                #{pageVo.offset},#{pageVo.limit}
            </if>
        </if>
    </select>
    <select id="selectApiOrderListTotal" resultType="java.lang.Integer">
        select
            count(1)
@@ -550,6 +612,31 @@
            </if>
            <if test="record.status != null and record.status != ''">
                and a.statu = #{record.status}
            </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>
    </select>
    <select id="selectPadApiOrderListTotal" resultType="java.lang.Integer">
        select
        count(1)
        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
        <where>
            <if test="record.queryKey != null and record.queryKey != ''">
                and (instr(c.vip_name, #{record.queryKey}) or instr(c.phone, #{record.queryKey}) or instr(a.order_no, #{record.queryKey}))
            </if>
            <if test="record.status != null and record.status != ''">
                and a.statu = #{record.status}
            </if>
            <if test="record.orderTime != null  ">
                and a.ORDER_TIME = #{record.orderTime}
            </if>
            <if test="record.shopId != null">
                and a.shop_id=#{record.shopId}
@@ -581,6 +668,27 @@
        where a.id=#{orderId}
    </select>
    <select id="selectPadApiOrderDetailById" resultType="com.matrix.system.padApi.vo.PadOrderDetailVo">
        select
            a.id orderId,
            b.VIP_NAME vipName,
            b.PHONE phone,
            a.ORDER_NO orderNo,
            c.su_name staffName,
            a.cash_Pay cashPay,
            a.card_Pay cardPay,
            a.ZK_TOTAL needPay,
            a.cash_Pay + a.card_Pay realPay,
            a.arrears arrears,
            a.TOTAL - a.ZK_TOTAL discount,
            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,