From 9cf68def59e9331dc470b06ece538ed5543e2526 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期四, 17 十月 2024 22:35:10 +0800 Subject: [PATCH] 1.小程序-供应商-统计 --- src/main/resources/mapper/report/OrderReportMapper.xml | 130 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 130 insertions(+), 0 deletions(-) diff --git a/src/main/resources/mapper/report/OrderReportMapper.xml b/src/main/resources/mapper/report/OrderReportMapper.xml index 64045e7..9fee255 100644 --- a/src/main/resources/mapper/report/OrderReportMapper.xml +++ b/src/main/resources/mapper/report/OrderReportMapper.xml @@ -593,4 +593,134 @@ ) s group by dateinfo,supplier_id ) s2 </select> + <select id="getAppSupplierAmountStatistics" + resultType="com.mzl.flower.dto.response.report.AppSupplierStatisticsVO"> + select + ( <include refid="all_supplier_amount"></include> ) as all_supplier_amount + , ( <include refid="cur_mon_supplier_amount"></include> ) as cur_mon_supplier_amount + , ( <include refid="last_mon_supplier_amount"></include> ) as last_mon_supplier_amount + , ( <include refid="today_supplier_amount"></include> ) as today_supplier_amount + , ( <include refid="cur_mon_lack_num"></include> ) as cur_mon_lack_num + , ( <include refid="last_mon_lack_num"></include> ) as last_mon_lack_num + , ( <include refid="cur_mon_reduce_num"></include> ) as cur_mon_reduce_num + , ( <include refid="last_mon_reduce_num"></include> ) as last_mon_reduce_num + , ( <include refid="cur_mon_replace_num"></include> ) as cur_mon_replace_num + , ( <include refid="last_mon_replace_num"></include> ) as last_mon_replace_num + + </select> + + <!--供应商总价款--> + <sql id="all_supplier_amount"> + select IFNULL(sum(oi.supplier_price*oi.num),0) as supplier_amount from t_order_item oi where oi.supplier_id=287 + </sql> + <!--本月成交:本月售卖的底价合计--> + <sql id="cur_mon_supplier_amount"> + select IFNULL(sum(oi.supplier_price*oi.num),0) as cur_mon_supplier_amount + from t_order_item oi + left join t_order o + on oi.order_id = o.id + where oi.supplier_id = #{dto.supplierId} + and o.payment_time > DATE_FORMAT(LAST_DAY(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)), '%Y-%m-%d 17:00:00') + and o.payment_time <= DATE_FORMAT(LAST_DAY(CURRENT_DATE()), '%Y-%m-%d 17:00:00') + </sql> + <!--上月成交:上月售卖的底价合计--> + <sql id="last_mon_supplier_amount"> + select IFNULL(sum(oi.supplier_price*oi.num),0) as last_mon_supplier_amount + from t_order_item oi + left join t_order o + on oi.order_id = o.id + where oi.supplier_id = #{dto.supplierId} + and o.payment_time > DATE_FORMAT(LAST_DAY(DATE_SUB(CURRENT_DATE(), INTERVAL 2 MONTH)), '%Y-%m-%d 17:00:00') + and o.payment_time <= DATE_FORMAT(DATE_SUB(DATE_FORMAT(CURRENT_DATE(), '%Y-%m-01'), INTERVAL 1 DAY), '%Y-%m-%d 17:00:00') + </sql> + <!--今日成交:今日售卖的底价合计 // todo 需要根据当前时间判断今日的开始时间和结束时间--> + <sql id="today_supplier_amount"> + select IFNULL(sum(oi.supplier_price*oi.num),0) as today_supplier_amount + from t_order_item oi + left join t_order o + on oi.order_id = o.id + where oi.supplier_id = #{dto.supplierId} + and o.payment_time > #{dto.startDateTime} + and o.payment_time <= #{dto.endDateTime} + </sql> + <!--缺货(本月):本月质检缺货,并且web端审核通过的数量合计--> + <sql id="cur_mon_lack_num"> + select IFNULL(sum(oic.num),0) as cur_mon_lack_num + from t_order_item_check oic + left join t_order_item oi + on oic.order_item_id=oi.ID + left join t_order o + on oi.order_id = o.id + where oi.supplier_id = #{dto.supplierId} + and oic.type = 'lack' and oic.audit_status='AGREED' + and o.payment_time > DATE_FORMAT(LAST_DAY(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)), '%Y-%m-%d 17:00:00') + and o.payment_time <= DATE_FORMAT(LAST_DAY(CURRENT_DATE()), '%Y-%m-%d 17:00:00') + </sql> + <!--缺货(上月):上月质检缺货,并且web端审核通过的数量合计--> + <sql id="last_mon_lack_num"> + select IFNULL(sum(oic.num),0) as last_mon_lack_num + from t_order_item_check oic + left join t_order_item oi + on oic.order_item_id=oi.ID + left join t_order o + on oi.order_id = o.id + where oi.supplier_id = #{dto.supplierId} + and oic.type = 'lack' and oic.audit_status='AGREED' + and o.payment_time > DATE_FORMAT(LAST_DAY(DATE_SUB(CURRENT_DATE(), INTERVAL 2 MONTH)), '%Y-%m-%d 17:00:00') + and o.payment_time <= DATE_FORMAT(DATE_SUB(DATE_FORMAT(CURRENT_DATE(), '%Y-%m-01'), INTERVAL 1 DAY), '%Y-%m-%d 17:00:00') + </sql> + <!--降级(本月):本月质检降级,并且web端审核通过的数量合计--> + <sql id="cur_mon_reduce_num"> + select IFNULL(sum(oic.num),0) as cur_mon_reduce_num + from t_order_item_check oic + left join t_order_item oi + on oic.order_item_id=oi.ID + left join t_order o + on oi.order_id = o.id + where oi.supplier_id = #{dto.supplierId} + and oic.type = 'reduce' and oic.audit_status='AGREED' + and o.payment_time > DATE_FORMAT(LAST_DAY(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)), '%Y-%m-%d 17:00:00') + and o.payment_time <= DATE_FORMAT(LAST_DAY(CURRENT_DATE()), '%Y-%m-%d 17:00:00') + </sql> + +<!-- 降级(上月):上月质检降级,并且web端审核通过的数量合计--> + <sql id="last_mon_reduce_num"> + select IFNULL(sum(oic.num),0) as last_mon_reduce_num + from t_order_item_check oic + left join t_order_item oi + on oic.order_item_id=oi.ID + left join t_order o + on oi.order_id = o.id + where oi.supplier_id = #{dto.supplierId} + and oic.type = 'reduce' and oic.audit_status='AGREED' + and o.payment_time > DATE_FORMAT(LAST_DAY(DATE_SUB(CURRENT_DATE(), INTERVAL 2 MONTH)), '%Y-%m-%d 17:00:00') + and o.payment_time <= DATE_FORMAT(DATE_SUB(DATE_FORMAT(CURRENT_DATE(), '%Y-%m-01'), INTERVAL 1 DAY), '%Y-%m-%d 17:00:00') + </sql> +<!-- 补货(本月):本月质检补货,并且web端审核通过的数量合计--> + <sql id="cur_mon_replace_num"> + select IFNULL(sum(oic.num),0) as cur_mon_replace_num + from t_order_item_check oic + left join t_order_item oi + on oic.order_item_id=oi.ID + left join t_order o + on oi.order_id = o.id + where oi.supplier_id = #{dto.supplierId} + and oic.type = 'replace' and oic.audit_status='AGREED' + and o.payment_time > DATE_FORMAT(LAST_DAY(DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH)), '%Y-%m-%d 17:00:00') + and o.payment_time <= DATE_FORMAT(LAST_DAY(CURRENT_DATE()), '%Y-%m-%d 17:00:00') + </sql> + <!-- 补货(上月):上月质检补货,并且web端审核通过的数量合计--> + <sql id="last_mon_replace_num"> + select IFNULL(sum(oic.num),0) as last_mon_replace_num + from t_order_item_check oic + left join t_order_item oi + on oic.order_item_id=oi.ID + left join t_order o + on oi.order_id = o.id + where oi.supplier_id = #{dto.supplierId} + and oic.type = 'replace' and oic.audit_status='AGREED' + and o.payment_time > DATE_FORMAT(LAST_DAY(DATE_SUB(CURRENT_DATE(), INTERVAL 2 MONTH)), '%Y-%m-%d 17:00:00') + and o.payment_time <= DATE_FORMAT(DATE_SUB(DATE_FORMAT(CURRENT_DATE(), '%Y-%m-01'), INTERVAL 1 DAY), '%Y-%m-%d 17:00:00') + </sql> + </mapper> \ No newline at end of file -- Gitblit v1.9.3