This commit is contained in:
2026-02-25 09:46:59 +08:00
parent a0845a8169
commit e00fa3e0ad
19 changed files with 5373 additions and 1491 deletions
+128
View File
@@ -0,0 +1,128 @@
SELECT
'{{%%p_start_date}}' AS ,
'{{%%p_end_date}}' AS ,
sos.id_storage AS id,
sos.storage_name AS ,
sos.part_name AS ,
sos.custom_code AS ,
sos.supplier_code AS ,
sos.category_root_name AS ,
sos.category_name AS ,
sos.part_brand AS ,
/* ---------- 期初(begin_*:仅在开始日取值;>60天仅月初保留) ---------- */
SUM(
CASE
WHEN DATEDIFF(CURRENT_DATE(), STR_TO_DATE('{{%%p_start_date}}', '%Y-%m-%d')) > 60
AND DAY(STR_TO_DATE(sos.bill_day, '%Y-%m-%d')) <> 1
THEN 0
WHEN sos.bill_day = '{{%%p_start_date}}'
THEN sos.begin_number
ELSE 0
END
) AS ,
SUM(
CASE
WHEN DATEDIFF(CURRENT_DATE(), STR_TO_DATE('{{%%p_start_date}}', '%Y-%m-%d')) > 60
AND DAY(STR_TO_DATE(sos.bill_day, '%Y-%m-%d')) <> 1
THEN 0
WHEN sos.bill_day = '{{%%p_start_date}}'
THEN sos.begin_price
ELSE 0
END
) AS ,
SUM(
CASE
WHEN DATEDIFF(CURRENT_DATE(), STR_TO_DATE('{{%%p_start_date}}', '%Y-%m-%d')) > 60
AND DAY(STR_TO_DATE(sos.bill_day, '%Y-%m-%d')) <> 1
THEN 0
WHEN sos.bill_day = '{{%%p_start_date}}'
THEN sos.begin_price_no_tax
ELSE 0
END
) AS ,
/* ---------- 入库数量 ---------- */
SUM(sos.cgdin_number) AS ,
SUM(sos.cgtin_number) AS 退,
SUM(sos.drdin_number) AS ,
SUM(sos.rkdin_number) AS ,
SUM(sos.ykrin_number) AS ,
SUM(sos.czrin_number) AS ,
/* ---------- 入库成本(除税) ---------- */
SUM(sos.cgdin_amount_no_tax) AS ,
SUM(sos.cgtin_amount_no_tax) AS 退,
SUM(sos.drdin_amount_no_tax) AS ,
SUM(sos.rkdin_amount_no_tax) AS ,
SUM(sos.ykrin_amount_no_tax) AS ,
SUM(sos.czrin_amount_no_tax) AS ,
/* ---------- 出库/退料相关数量 ---------- */
SUM(sos.pickout_number) AS ,
SUM(sos.tin_number) AS 退,
SUM(sos.dcdout_number) AS ,
SUM(sos.ckdout_number) AS ,
SUM(sos.czcout_number) AS ,
SUM(sos.ykcout_number) AS ,
/* ---------- 出库/退料相关成本(除税) ---------- */
SUM(sos.pickout_amount_no_tax) AS ,
SUM(sos.tin_amount_no_tax) AS 退,
SUM(sos.dcdout_amount_no_tax) AS ,
SUM(sos.ckdout_amount_no_tax) AS ,
SUM(sos.czcout_amount_no_tax) AS ,
SUM(sos.ykcout_amount_no_tax) AS ,
/* ---------- 期末(end_*:仅在结束日取值;>60天仅月末保留) ---------- */
SUM(
CASE
WHEN DATEDIFF(CURRENT_DATE(), STR_TO_DATE('{{%%p_end_date}}', '%Y-%m-%d')) > 60
AND DAY(STR_TO_DATE(sos.bill_day, '%Y-%m-%d')) <> DAY(LAST_DAY(STR_TO_DATE(sos.bill_day, '%Y-%m-%d')))
THEN 0
WHEN sos.bill_day = '{{%%p_end_date}}'
THEN sos.end_number
ELSE 0
END
) AS ,
SUM(
CASE
WHEN DATEDIFF(CURRENT_DATE(), STR_TO_DATE('{{%%p_end_date}}', '%Y-%m-%d')) > 60
AND DAY(STR_TO_DATE(sos.bill_day, '%Y-%m-%d')) <> DAY(LAST_DAY(STR_TO_DATE(sos.bill_day, '%Y-%m-%d')))
THEN 0
WHEN sos.bill_day = '{{%%p_end_date}}'
THEN sos.end_price
ELSE 0
END
) AS ,
SUM(
CASE
WHEN DATEDIFF(CURRENT_DATE(), STR_TO_DATE('{{%%p_end_date}}', '%Y-%m-%d')) > 60
AND DAY(STR_TO_DATE(sos.bill_day, '%Y-%m-%d')) <> DAY(LAST_DAY(STR_TO_DATE(sos.bill_day, '%Y-%m-%d')))
THEN 0
WHEN sos.bill_day = '{{%%p_end_date}}'
THEN sos.end_price_no_tax
ELSE 0
END
) AS
FROM rpt_customized_ndsd_storage_order_stat AS sos
WHERE 1=1
/* ---------- 固定过滤条件(按你现有配置保留) ---------- */
AND sos.id_own_group = '11240984669918396614'
AND sos.id_own_org IN ('11240984669918400634')
/* ---------- 日期区间过滤(bill_day 为文本 YYYY-MM-DD ---------- */
AND sos.bill_day >= '{{%%p_start_date}}'
AND sos.bill_day <= '{{%%p_end_date}}'
GROUP BY
sos.id_storage,
sos.part_name,
sos.custom_code,
sos.supplier_code,
sos.category_root_name,
sos.category_name;