Helius
2022-05-27 4351e71d782741143a98f86f6648acd16689165f
zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
@@ -624,64 +624,70 @@
            select
                #{item.beginTime} dataTime,
                (select shop_short_name from sys_shop_info where id=#{shopId}) shopName,
                (select IFNULL(sum(amount),0) from sys_order_flow
                    where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> and pay_method!='欠款'
                (select IFNULL(sum(a.amount),0) from sys_order_flow a
                    inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
                    where <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> and a.pay_method!='欠款'
                    <if test="shopId != null">
                        and shop_id=#{shopId}
                        and a.shop_id=#{shopId}
                    </if>
                    <if test="companyId != null">
                        and company_id=#{companyId}
                        and a.company_id=#{companyId}
                    </if>
                    )totalPay,
                (select IFNULL(sum(amount),0) from sys_order_flow
                    where pay_method not in ('储值卡', '欠款') and flow_type != '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
                (select IFNULL(sum(a.amount),0) from sys_order_flow a
                    inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
                    where a.pay_method not in ('储值卡', '欠款') and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
                    <if test="shopId != null">
                        and shop_id=#{shopId}
                        and a.shop_id=#{shopId}
                    </if>
                    <if test="companyId != null">
                        and company_id=#{companyId}
                        and a.company_id=#{companyId}
                    </if>
                    ) cashPay,
                (select IFNULL(sum(amount),0) from sys_order_flow
                    where pay_method = '储值卡' and flow_type != '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
                (select IFNULL(sum(a.amount),0) from sys_order_flow a
                    inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
                    where a.pay_method = '储值卡' and a.flow_type != '退款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
                    <if test="shopId != null">
                        and shop_id=#{shopId}
                        and a.shop_id=#{shopId}
                    </if>
                    <if test="companyId != null">
                        and company_id=#{companyId}
                        and a.company_id=#{companyId}
                    </if>
                    ) cardPay,
                (select IFNULL(sum(amount),0) from sys_order_flow
                    where pay_method = '欠款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
                (select IFNULL(sum(a.amount),0) from sys_order_flow a
                    inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
                    where a.pay_method = '欠款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
                    <if test="shopId != null">
                        and shop_id=#{shopId}
                        and a.shop_id=#{shopId}
                    </if>
                    <if test="companyId != null">
                        and company_id=#{companyId}
                        and a.company_id=#{companyId}
                    </if>
                    ) arrearsPay,
                (select IFNULL(sum(amount),0) from sys_order_flow
                    where pay_method not in ('储值卡', '欠款') and flow_type = '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
                (select IFNULL(sum(a.amount),0) from sys_order_flow a
                    inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
                    where a.pay_method not in ('储值卡', '欠款') and a.flow_type = '退款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
                    <if test="shopId != null">
                        and shop_id=#{shopId}
                        and a.shop_id=#{shopId}
                    </if>
                    <if test="companyId != null">
                        and company_id=#{companyId}
                        and a.company_id=#{companyId}
                    </if>
                    ) refundCashPay,
                (select IFNULL(sum(amount),0) from sys_order_flow
                    where pay_method in ('储值卡') and flow_type = '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
                (select IFNULL(sum(a.amount),0) from sys_order_flow a
                    inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
                    where a.pay_method in ('储值卡') and a.flow_type = '退款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
                    <if test="shopId != null">
                        and shop_id=#{shopId}
                        and a.shop_id=#{shopId}
                    </if>
                    <if test="companyId != null">
                        and company_id=#{companyId}
                        and a.company_id=#{companyId}
                    </if>
                    ) refundCardPay,
                (select IFNULL(sum(zk_price),0) from sys_order_item a
                (select IFNULL(sum(zk_price*count),0) from sys_order_item a
                    inner join shopping_goods b on a.goods_id=b.id
                    inner join sys_order c on a.ORDER_ID=c.id
                    where b.good_type='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
                    inner join sys_order c on a.ORDER_ID=c.id and c.statu!='已取消'
                    where b.good_type='家居产品' and <![CDATA[ c.pay_time > #{item.beginTime} and c.pay_time < #{item.endTime}]]>
                    <if test="shopId != null">
                        and c.shop_id=#{shopId}
                    </if>
@@ -689,10 +695,10 @@
                        and c.company_id=#{companyId}
                    </if>
                    ) productAchieve,
                (select IFNULL(sum(zk_price),0) from sys_order_item a
                (select IFNULL(sum(zk_price*count),0) from sys_order_item a
                    inner join shopping_goods b on a.goods_id=b.id
                    inner join sys_order c on a.ORDER_ID=c.id
                    where b.good_type!='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
                    inner join sys_order c on a.ORDER_ID=c.id and c.statu!='已取消'
                    where b.good_type!='家居产品' and <![CDATA[ c.pay_time > #{item.beginTime} and c.pay_time < #{item.endTime}]]>
                    <if test="shopId != null">
                        and c.shop_id=#{shopId}
                    </if>
@@ -700,16 +706,40 @@
                        and c.company_id=#{companyId}
                    </if>
                    ) cardAchieve,
                (select IFNULL(sum(amount),0) from sys_order_flow where flow_type = '还款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
                (select IFNULL(sum(a.amount),0) from sys_order_flow a
                    inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
                    where a.flow_type = '还款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
                    <if test="shopId != null">
                        and shop_id=#{shopId}
                        and a.shop_id=#{shopId}
                    </if>
                    <if test="companyId != null">
                        and company_id=#{companyId}
                        and a.company_id=#{companyId}
                    </if>
                ) refund,
                (select sum(IFNULL(amount, 0))
                    from sys_order_flow a
                    inner join sys_order b on a.order_id=b.id and b.STATU!='已取消'
                    where a.pay_method='储值卡' and a.is_gift='N' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
                    <if test="shopId != null">
                        and a.shop_id=#{shopId}
                    </if>
                    <if test="companyId != null">
                        and a.company_id=#{companyId}
                    </if>
                ) cardAmount,
                (select sum(IFNULL(amount, 0))
                    from sys_order_flow a
                    inner join sys_order b on a.order_id=b.id and b.STATU!='已取消'
                    where a.pay_method='储值卡' and a.is_gift='Y' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
                    <if test="shopId != null">
                        and a.shop_id=#{shopId}
                    </if>
                    <if test="companyId != null">
                        and a.company_id=#{companyId}
                    </if>
                ) cardFreeAmount,
                (select IFNULL(count(1),0) from sys_order
                    where STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
                    where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
                    <if test="shopId != null">
                        and shop_id=#{shopId}
                    </if>
@@ -718,7 +748,7 @@
                    </if>
                    ) perCustomCnt,
                (select IFNULL(sum(b.COUNT),0) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID
                    where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
                    where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
                    <if test="shopId != null">
                        and shop_id=#{shopId}
                    </if>
@@ -732,7 +762,7 @@
                    inner join sys_store_info d on c.store_id = d.ID
                    inner join sys_order_item e on a.ID=e.ORDER_ID
                    inner join shopping_goods f on e.goods_id=f.id and f.good_type='家居产品'
                    where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
                    where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
                    <if test="shopId != null">
                        and a.shop_id=#{shopId}
                    </if>
@@ -743,7 +773,7 @@
                (select IFNULL(sum(b.COUNT * IFNULL(c.price, 0)),0) from sys_order a
                    inner join sys_order_item b on a.ID=b.ORDER_ID
                    inner join shopping_goods c on c.good_type != '家居产品' and b.goods_id=c.id
                    where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
                    where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
                    <if test="shopId != null">
                        and a.shop_id=#{shopId}
                    </if>
@@ -806,7 +836,7 @@
            #{item.beginTime} dataTime,
            (select shop_short_name from sys_shop_info where id=#{shopId}) shopName,
            (select sum(total) shouldPay from sys_order
                where STATU = '已付款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
                where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
                <if test="shopId != null">
                    and shop_id=#{shopId}
                </if>
@@ -847,18 +877,18 @@
                and shop_id=#{shopId}
            </if>
            ) refundCardPay,
            (select IFNULL(sum(zk_price),0) from sys_order_item a
            (select IFNULL(sum(zk_price*count),0) from sys_order_item a
            inner join shopping_goods b on a.goods_id=b.id
            inner join sys_order c on a.ORDER_ID=c.id
            where b.good_type='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
            where b.good_type='家居产品' and <![CDATA[ c.pay_time > #{item.beginTime} and c.pay_time < #{item.endTime}]]>
            <if test="shopId != null">
                and c.shop_id=#{shopId}
            </if>
            ) productAchieve,
            (select IFNULL(sum(zk_price),0) from sys_order_item a
            (select IFNULL(sum(zk_price*count),0) from sys_order_item a
            inner join shopping_goods b on a.goods_id=b.id
            inner join sys_order c on a.ORDER_ID=c.id
            where b.good_type!='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
            where b.good_type!='家居产品' and <![CDATA[ c.pay_time > #{item.beginTime} and c.pay_time < #{item.endTime}]]>
            <if test="shopId != null">
                and c.shop_id=#{shopId}
            </if>
@@ -869,13 +899,13 @@
            </if>
            ) refund,
            (select IFNULL(count(1),0) from sys_order
            where STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
            where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
            <if test="shopId != null">
                and shop_id=#{shopId}
            </if>
            ) perCustomCnt,
            (select IFNULL(sum(b.COUNT),0) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID
            where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
            where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
            <if test="shopId != null">
                and shop_id=#{shopId}
            </if>
@@ -886,7 +916,7 @@
            inner join sys_store_info d on c.store_id = d.ID
            inner join sys_order_item e on a.ID=e.ORDER_ID
            inner join shopping_goods f on e.goods_id=f.id and f.good_type='家居产品'
            where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
            where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
            <if test="shopId != null">
                and a.shop_id=#{shopId}
            </if>
@@ -894,7 +924,7 @@
            (select IFNULL(sum(b.COUNT * IFNULL(c.price, 0)),0) from sys_order a
            inner join sys_order_item b on a.ID=b.ORDER_ID
            inner join shopping_goods c on c.good_type != '家居产品' and b.goods_id=c.id
            where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
            where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
            <if test="shopId != null">
                and a.shop_id=#{shopId}
            </if>