import json import sys from pathlib import Path sys.stdout.reconfigure(encoding='utf-8') const_master_path = Path('resources/data_work_item_master/const_work_item_master_2026-01-01.json') with open(const_master_path, 'r', encoding='utf-8') as f: const_master = json.load(f) const_pum_path = Path('resources/data_cost_input_value/pum_const_2026.json') with open(const_pum_path, 'r', encoding='utf-8') as f: const_pum = json.load(f) pum_tables = {t['table_id']: t for t in const_pum.get('variables', {}).get('pum', {}).get('tables', [])} target_c_ids = [f"C{i}" for i in range(2193, 2203)] print(f"Target new tables: {target_c_ids}\n") # Find in work_items found_tables = {} for wi in const_master['work_items']: for t in wi.get('tables', []): tid = t.get('pum_table_id') if tid in target_c_ids: found_tables[tid] = (wi, t) for tid in target_c_ids: pt = pum_tables.get(tid) pair = found_tables.get(tid) print(f"==================== [{tid}] ====================") if pt: print(f"pum_const: line {pt.get('line')} | sec: {pt.get('section')}") print(f" headers: {pt.get('headers')}") print(f" rows count: {len(pt.get('rows', []))}") if pt.get('rows'): print(f" sample row: {pt['rows'][0]}") else: print(f"pum_const: NOT FOUND") if pair: wi, mt = pair print(f"master WI: {wi.get('work_item_code')} - {wi.get('name')}") print(f" master section: {mt.get('section')} | form: {mt.get('pum_form')} | basis: {mt.get('basis_quantity')} {mt.get('basis_unit')}") else: print(f"master: NOT FOUND in work_items") print()