docs/Éú³É»ã×Ü´ó±í/¹æÏ»õÔËÁ¿¿Ú¾¶_2026-09-04.sql
@@ -1,25 +1,41 @@
-- ============================================================
-- è§„下货运量/周转量口径(2026-09-04 ä¸šåŠ¡ç¡®è®¤ï¼‰
-- å…¬å¼ï¼ˆåˆ†å¸‚州、逐月同式):
--   è§„上货运量(万吨)   = SUM(h2032_enterprise_monthly.freight_total) / 10000   -- h2032 å•位为吨
--   å…¨å£å¾„货运量(万吨) = freight_turnover_import.freight_m{MM}                  -- è¯¥è¡¨å·²æ˜¯ä¸‡å¨
--   è§„下货运量(万吨)   = å…¨å£å¾„ - è§„上
--   å‘¨è½¬é‡åŒå¼ï¼šh2032.turnover_total(吨公里)/10000 = è§„上(万吨公里);
--               freight_turnover_import.turnover_m{MM} = å…¨å£å¾„(万吨公里);
--               è§„下 = å…¨å£å¾„ - è§„上
-- å…¨çœæ ¡éªŒï¼š17 å¸‚州求和 = åº“内"湖北省"行 = æ¯ç‰ˆæ±‡æ€»è¡¨" è´§è¿"页(2026-07: O5=16285.71, O7=3754.78, O9=12530.93)
-- æ³¨æ„å•位:跨表相减前 h2032 å¿…须先 /10000,否则差 4 ä¸ªæ•°é‡çº§ã€‚
-- è§„下货运量 / è§„下周转量 è®¡ç®—口径(2026-09-04 ä¸šåŠ¡ç¡®è®¤ï¼‰
-- ------------------------------------------------------------
-- ç”¨åˆ°å“ªäº›è¡¨ï¼ˆä¸­æ–‡å = ç”¨æˆ·å¹³æ—¶å«çš„名字,括号内是程序里存的表名,一般不用管):
--   â‘ ã€Šé“路货物运输月度生产情况表》= äº¤ä¼ç»ŸH203-2表,企业级月报
--      ï¼ˆåº“表名 h2032_enterprise_monthly)——里面的企业都是“规上企业”,
--      æŠŠå„市州所有企业的“货运量、货物周转量”加起来,就是“规上”合计。
--      æ³¨æ„ï¼šè¯¥è¡¨çš„货运量单位是“吨”、周转量单位是“吨公里”,
--      è€ŒæŠ¥è¡¨å•位是“万吨、万吨公里”,所以要除以 10000。
--   â‘¡ã€Šè´§è¿é‡å‘¨è½¬é‡è¡¨ã€‹ï¼ˆåº“表名 freight_turnover_import)——全省和各市州的
--      â€œå…¨å£å¾„”货运量、周转量(规上+规下都算在内),单位已经是“万吨/万吨公里”,
--      é‡Œé¢è¿˜æœ‰ä¸€è¡Œâ€œæ¹–北省”用来核对全省合计,以及去年同月列(last_*)。
--   â‘¢ã€Šè§„上规下拆分表》(库表名 scale_split_transport)——把拆分结果存下来的表
--      ï¼ˆè§„上/规下/合计,含排名、同比)。目前导入的拆分模板只有“周转量”,
--      æ‰€ä»¥è¯¥è¡¨å‘¨è½¬é‡ä¸‰åˆ—有数、货运量三列为空;货运量拆分如需落表,
--      ç”¨æŸ¥è¯¢ 3(默认不执行)回填。
-- æ ¸å¿ƒå…¬å¼ï¼ˆåˆ†å¸‚州、每个月都一样):
--   è§„上货运量(万吨) = â‘ è¡¨è´§è¿é‡åˆè®¡ Ã· 10000
--   å…¨å£å¾„货运量(万吨) = â‘¡è¡¨å½“月货运量
--   è§„下货运量(万吨) = å…¨å£å¾„ âˆ’ è§„上
--   å‘¨è½¬é‡åŒç†ï¼ˆè§„下周转量 = â‘¡è¡¨å½“月周转量 âˆ’ â‘ è¡¨å‘¨è½¬é‡åˆè®¡ Ã· 10000)
-- å…¨çœæ ¡éªŒï¼š17 ä¸ªå¸‚州相加 = â€œæ¹–北省”行 = æ±‡æ€»è¡¨ã€Šâ€œ è´§è¿â€é¡µã€‹å…¨çœæ•°
--   ï¼ˆ2026-07:货运量 16285.71 ä¸‡å¨ã€è§„上 3754.78 ä¸‡å¨ã€è§„下 12530.93 ä¸‡å¨ï¼‰
-- ============================================================
-- Q1 åˆ†å¸‚州:规上 / å…¨å£å¾„ / è§„下(货运量+周转量),2026-07 ç¤ºä¾‹
SELECT m.city, ft.freight_m07 AS total_freight_wan,
       ROUND(gs.gs_freight_wan, 4) AS gs_freight_wan,
       ROUND(ft.freight_m07 - gs.gs_freight_wan, 4) AS below_freight_wan,
       ft.turnover_m07 AS total_turnover_wan,
       ROUND(gs.gs_turnover_wan, 4) AS gs_turnover_wan,
       ROUND(ft.turnover_m07 - gs.gs_turnover_wan, 4) AS below_turnover_wan
-- =====================================================================
-- æŸ¥è¯¢ 1:分市州 â€œè§„上 / å…¨å£å¾„ / è§„下” è´§è¿é‡ã€å‘¨è½¬é‡ï¼ˆ2026-07 ç¤ºä¾‹ï¼‰
--   æŠŠ '2026-07' æ¢æˆåˆ«çš„æœˆä»½ï¼ŒæŠŠ m07 æ¢æˆå¯¹åº”月号(m01~m12)即可查其他月。
-- =====================================================================
SELECT m.市州,
       ft.freight_m07  AS å…¨å£å¾„货运量_万吨,
       ROUND(gs.规上货运量_万吨, 4) AS è§„上货运量_万吨,
       ROUND(ft.freight_m07 - gs.规上货运量_万吨, 4) AS è§„下货运量_万吨,
       ft.turnover_m07 AS å…¨å£å¾„周转量_万吨公里,
       ROUND(gs.规上周转量_万吨公里, 4) AS è§„上周转量_万吨公里,
       ROUND(ft.turnover_m07 - gs.规上周转量_万吨公里, 4) AS è§„下周转量_万吨公里
FROM (
  SELECT '武汉' city, '武汉市' full_name UNION ALL SELECT '黄石','黄石市'
  SELECT '武汉' AS å¸‚å·ž, '武汉市' AS è¡¨å†…城市名 UNION ALL SELECT '黄石','黄石市'
  UNION ALL SELECT '十堰','十堰市' UNION ALL SELECT '宜昌','宜昌市'
  UNION ALL SELECT '襄阳','襄阳市' UNION ALL SELECT '鄂州','鄂州市'
  UNION ALL SELECT '荆门','荆门市' UNION ALL SELECT '孝感','孝感市'
@@ -29,8 +45,8 @@
  UNION ALL SELECT '潜江','潜江市' UNION ALL SELECT '天门','天门市'
  UNION ALL SELECT '林区','林区'
) m
LEFT JOIN freight_turnover_import ft
  ON ft.report_period = '2026-07' AND ft.region_name = m.full_name
LEFT JOIN freight_turnover_import ft -- â‘¡ã€Šè´§è¿é‡å‘¨è½¬é‡è¡¨ã€‹ï¼šå…¨å£å¾„总量月报
  ON ft.report_period = '2026-07' AND ft.region_name = m.表内城市名
LEFT JOIN (
  SELECT CASE
           WHEN region_code LIKE '4201%' THEN '武汉' WHEN region_code LIKE '4202%' THEN '黄石'
@@ -41,30 +57,38 @@
           WHEN region_code LIKE '4212%' THEN '咸宁' WHEN region_code LIKE '4213%' THEN '随州'
           WHEN region_code LIKE '4228%' THEN '恩施' WHEN region_code LIKE '429004%' THEN '仙桃'
           WHEN region_code LIKE '429005%' THEN '潜江' WHEN region_code LIKE '429006%' THEN '天门'
           WHEN region_code LIKE '429021%' THEN '林区' END AS city,
         SUM(freight_total) / 10000 AS gs_freight_wan,
         SUM(turnover_total) / 10000 AS gs_turnover_wan
  FROM h2032_enterprise_monthly
           WHEN region_code LIKE '429021%' THEN '林区' END AS å¸‚å·ž,
         SUM(freight_total) / 10000  AS è§„上货运量_万吨,    -- â‘ è¡¨â€œè´§è¿é‡â€åˆè®¡ï¼Œå¨Ã·10000→万吨
         SUM(turnover_total) / 10000 AS è§„上周转量_万吨公里 -- â‘ è¡¨â€œå‘¨è½¬é‡â€åˆè®¡ï¼Œå¨å…¬é‡ŒÃ·10000→万吨公里
  FROM h2032_enterprise_monthly      -- â‘ ã€Šé“路货物运输月度生产情况表》(H203-2,规上企业)
  WHERE report_period = '2026-07'
  GROUP BY city
) gs ON gs.city = m.city;
  GROUP BY å¸‚å·ž
) gs ON gs.市州 = m.市州;
-- Q2 å…¨çœæ ¡éªŒï¼šä¸Žåº“内"湖北省"行及母版 O5/O7/O9 å¯¹è´¦
-- =====================================================================
-- æŸ¥è¯¢ 2:全省校验(看程序算的全省数对不对)
--   æœŸæœ›å€¼ = 2026-07:规上货运量 3754.78;规上周转量 597278.64;
--            å…¨å£å¾„货运量 16285.71(母版 O5);全口径周转量 2181925.71。
-- =====================================================================
SELECT
  (SELECT ROUND(SUM(freight_total)/10000, 4) FROM h2032_enterprise_monthly
    WHERE report_period='2026-07' AND (region_code LIKE '42%' OR region_code LIKE '4290%')) AS gs_freight_hb_wan,
  (SELECT ROUND(SUM(turnover_total)/10000, 4) FROM h2032_enterprise_monthly
    WHERE report_period='2026-07' AND (region_code LIKE '42%' OR region_code LIKE '4290%')) AS gs_turnover_hb_wan,
  (SELECT freight_m07 FROM freight_turnover_import
    WHERE report_period='2026-07' AND region_name='湖北省') AS total_freight_hb_wan,
  (SELECT turnover_m07 FROM freight_turnover_import
    WHERE report_period='2026-07' AND region_name='湖北省') AS total_turnover_hb_wan;
  (SELECT ROUND(SUM(freight_total)/10000, 4) FROM h2032_enterprise_monthly -- â‘ è¡¨
    WHERE report_period='2026-07' AND (region_code LIKE '42%' OR region_code LIKE '4290%')) AS å…¨çœè§„上货运量_万吨,
  (SELECT ROUND(SUM(turnover_total)/10000, 4) FROM h2032_enterprise_monthly -- â‘ è¡¨
    WHERE report_period='2026-07' AND (region_code LIKE '42%' OR region_code LIKE '4290%')) AS å…¨çœè§„上周转量_万吨公里,
  (SELECT freight_m07 FROM freight_turnover_import      -- â‘¡è¡¨â€œæ¹–北省”行
    WHERE report_period='2026-07' AND region_name='湖北省') AS å…¨çœå…¨å£å¾„货运量_万吨,
  (SELECT turnover_m07 FROM freight_turnover_import     -- â‘¡è¡¨â€œæ¹–北省”行
    WHERE report_period='2026-07' AND region_name='湖北省') AS å…¨çœå…¨å£å¾„周转量_万吨公里;
-- Q3 å¯é€‰ï¼šæŠŠè´§è¿é‡æ‹†åˆ†å›žå¡«åˆ° scale_split_transport(仅当月口径 MONTHLY è¡Œé€‚用;
--    çŽ°æœ‰ 2026-07 æ•°æ®æ˜¯ CUMULATIVE ç´¯è®¡è¡Œï¼Œéœ€è¦ 1-7 æœˆé€æœˆæ±‚和后再回填,暂不执行)
-- UPDATE scale_split_transport s
-- JOIN (Q1 åˆ†å¸‚州派生结果) d ON d.city = å¸‚州短名
-- SET s.above_scale_freight = d.gs_freight_wan,
--     s.below_scale_freight = d.below_freight_wan,
--     s.total_freight       = d.total_freight_wan
-- WHERE s.report_period='2026-07' AND s.period_type='MONTHLY';
-- =====================================================================
-- æŸ¥è¯¢ 3(可选,默认不执行):把“货运量拆分”回填到《规上规下拆分表》
--   æ³¨æ„ï¼šè¯¥è¡¨çŽ°åœ¨åªæœ‰â€œç´¯è®¡ï¼ˆCUMULATIVE)”口径的周转量行;
--   å›žå¡«è´§è¿é‡éœ€è¦å…ˆæƒ³æ¸…楚是“当月”还是“1-月累计”口径,
--   ç´¯è®¡å£å¾„要先把 1~7 æœˆé€æœˆç®—出来再加总。确认口径后再放开注释执行。
-- =====================================================================
-- UPDATE scale_split_transport   -- â‘¢ã€Šè§„上规下拆分表》
-- JOIN (查询 1 çš„结果) d ON d.市州 = å¸‚州名
-- SET above_scale_freight = d.规上货运量_万吨,
--     below_scale_freight = d.规下货运量_万吨,
--     total_freight       = d.全口径货运量_万吨
-- WHERE report_period='2026-07' AND period_type='MONTHLY';