脚本
This commit is contained in:
+128
@@ -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;
|
||||
Reference in New Issue
Block a user