{
  "DJ111": {
    "cases": [
      {
        "header": "收入表，单位人民币万元",
        "raw": "120000",
        "source_unit": "万元",
        "standard_unit": "元",
        "multiplier": 10000,
        "source_standard_value": 1200000000.0,
        "candidate_unit": "亿元",
        "candidate_value": 12000000000000.0,
        "ratio": 10000.0,
        "allowed": false
      },
      {
        "header": "现金表，单位人民币亿元",
        "raw": "2.4",
        "source_unit": "亿元",
        "standard_unit": "元",
        "multiplier": 100000000,
        "source_standard_value": 240000000.0,
        "candidate_unit": "万元",
        "candidate_value": 24000.0,
        "ratio": 0.0001,
        "allowed": false
      },
      {
        "header": "费用表，单位人民币元",
        "raw": "30000",
        "source_unit": "元",
        "standard_unit": "元",
        "multiplier": 1,
        "source_standard_value": 30000.0,
        "candidate_unit": "元",
        "candidate_value": 30000.0,
        "ratio": 1.0,
        "allowed": true
      },
      {
        "header": "每股收益，单位元／股",
        "raw": "1.2",
        "source_unit": "元／股",
        "standard_unit": null,
        "multiplier": null,
        "source_standard_value": null,
        "candidate_unit": "元",
        "candidate_value": 1.2,
        "ratio": null,
        "allowed": false
      },
      {
        "header": "无单位表头",
        "raw": "100",
        "source_unit": null,
        "standard_unit": null,
        "multiplier": null,
        "source_standard_value": null,
        "candidate_unit": "万元",
        "candidate_value": 1000000.0,
        "ratio": null,
        "allowed": false
      }
    ],
    "python_version": "3.12.4"
  },
  "DJ112": {
    "group": {
      "revenue": 1000,
      "cost": 700,
      "net": 120,
      "cfo": 150,
      "assets": 2000,
      "liabilities": 800,
      "equity": 1200
    },
    "parent": {
      "revenue": 600,
      "cost": 300,
      "net": 90,
      "cfo": 40,
      "assets": 1200,
      "liabilities": 400,
      "equity": 800
    },
    "group_margin": 0.3,
    "parent_margin": 0.5,
    "mixed_margin": 0.7,
    "group_cfo_net": 1.25,
    "mixed_cfo_net": 0.3333333333333333,
    "mixed_context_allowed": false,
    "python_version": "3.12.4"
  },
  "DJ113": {
    "original": {
      "id": "教学2026A001",
      "published": "2026-03-01",
      "period": "2025",
      "scope": "合并",
      "fields": {
        "revenue": 1000,
        "cost": 700,
        "net": 120,
        "cfo": 150
      }
    },
    "correction": {
      "id": "教学2026A002",
      "published": "2026-03-20",
      "corrects": "教学2026A001",
      "period": "2025",
      "scope": "合并",
      "replacements": {
        "revenue": 900,
        "cost": 680,
        "net": 80
      }
    },
    "original_sha256": "b35bbbd5f50b36cd208067ac7a8aeacb819d3dc335041451b204d009a0aa4a2f",
    "correction_sha256": "8cbfb91adb7811f103806d684db72debfbab4895cf7b501f58a93ee49e22ed5a",
    "snapshots": [
      {
        "asof": "2026-03-10",
        "fields": {
          "revenue": 1000,
          "cost": 700,
          "net": 120,
          "cfo": 150
        },
        "provenance": {
          "revenue": "教学2026A001",
          "cost": "教学2026A001",
          "net": "教学2026A001",
          "cfo": "教学2026A001"
        },
        "margin": 0.3,
        "cfo_net": 1.25
      },
      {
        "asof": "2026-04-01",
        "fields": {
          "revenue": 900,
          "cost": 680,
          "net": 80,
          "cfo": 150
        },
        "provenance": {
          "revenue": "教学2026A002",
          "cost": "教学2026A002",
          "net": "教学2026A002",
          "cfo": "教学2026A001"
        },
        "margin": 0.24444444444444444,
        "cfo_net": 1.875
      }
    ],
    "late_retrieval_old_file": "2026-04-02",
    "python_version": "3.12.4"
  },
  "DJ114": {
    "a_period": [
      "2025-01-01",
      "2025-12-31"
    ],
    "b_period": [
      "2025-04-01",
      "2026-03-31"
    ],
    "a_days": 365,
    "b_days": 365,
    "overlap_days": 275,
    "a_quarters": [
      250,
      300,
      300,
      350
    ],
    "b_quarters": [
      300,
      300,
      350,
      400
    ],
    "a_fiscal_revenue": 1200,
    "b_fiscal_revenue": 1350,
    "b_calendar_2025_revenue": 1150,
    "b_prior_janmar": 200,
    "wrong_comparison_difference": 150,
    "aligned_difference": -50,
    "python_version": "3.12.4"
  },
  "DJ115": {
    "cases": [
      {
        "raw": "1,200",
        "dash_zero": false,
        "state": "numeric",
        "value": 1200.0
      },
      {
        "raw": "(1,200)",
        "dash_zero": false,
        "state": "numeric",
        "value": -1200.0
      },
      {
        "raw": "—",
        "dash_zero": false,
        "state": "needs_legend",
        "value": null
      },
      {
        "raw": "—",
        "dash_zero": true,
        "state": "explicit_zero",
        "value": 0
      },
      {
        "raw": "",
        "dash_zero": false,
        "state": "missing",
        "value": null
      },
      {
        "raw": "(120)①",
        "dash_zero": false,
        "state": "numeric",
        "value": -120.0
      },
      {
        "raw": "120①",
        "dash_zero": false,
        "state": "numeric",
        "value": 120.0
      },
      {
        "raw": "12O",
        "dash_zero": false,
        "state": "reject",
        "value": null
      }
    ],
    "correct_net": 350.0,
    "sign_dropped_net": 590,
    "python_version": "3.12.4"
  },
  "DJ116": {
    "cells": [
      {
        "entity": "构造甲公司",
        "start": "2025-01-01",
        "end": "2025-12-31",
        "currency": "CNY",
        "version": "v1",
        "scope": "合并",
        "page_printed": 88,
        "page_pdf": 90,
        "row": "经营活动现金流量净额",
        "column": "2025年度",
        "raw": "150.45",
        "unit": "万元",
        "value": 150.45
      },
      {
        "entity": "构造甲公司",
        "start": "2025-01-01",
        "end": "2025-12-31",
        "currency": "CNY",
        "version": "v1",
        "scope": "合并",
        "page_printed": 86,
        "page_pdf": 88,
        "row": "净利润",
        "column": "2025年度",
        "raw": "120.12",
        "unit": "万元",
        "value": 120.12
      }
    ],
    "formula": "经营活动现金流量净额 / 净利润",
    "ratio": 1.2524975024975025,
    "percentage": 125.24975024975025,
    "percentage_display": "125.25",
    "rounded_inputs_ratio": 1.25,
    "context_checks": {
      "valid": true,
      "wrong_scope": false,
      "wrong_period": false,
      "wrong_version": false
    },
    "python_version": "3.12.4"
  },
  "DJ117": {
    "documents": [
      {
        "id": "教学预告001",
        "published": "2026-01-20",
        "state": "预告区间",
        "audit": "未审计",
        "low": 80,
        "high": 120,
        "reported": null,
        "entity": "构造甲公司",
        "period": "2025",
        "scope": "合并",
        "metric": "归母净利润",
        "unit": "万元",
        "eligible_for_reported_actual": false
      },
      {
        "id": "教学快报001",
        "published": "2026-02-20",
        "state": "快报值",
        "audit": "未审计",
        "reported": 95,
        "entity": "构造甲公司",
        "period": "2025",
        "scope": "合并",
        "metric": "归母净利润",
        "unit": "万元",
        "eligible_for_reported_actual": true
      },
      {
        "id": "教学年报001",
        "published": "2026-03-20",
        "state": "定报值",
        "audit": "本构造材料明确含审计报告",
        "reported": 88,
        "entity": "构造甲公司",
        "period": "2025",
        "scope": "合并",
        "metric": "归母净利润",
        "unit": "万元",
        "eligible_for_reported_actual": true
      }
    ],
    "forecast_midpoint": 100.0,
    "midpoint_is_reported_actual": false,
    "flash_to_annual_difference": -7,
    "forecast_range_contains_annual": true,
    "asof_selection": [
      {
        "asof": "2026-01-25",
        "selected": "教学预告001"
      },
      {
        "asof": "2026-02-25",
        "selected": "教学快报001"
      },
      {
        "asof": "2026-03-25",
        "selected": "教学年报001"
      }
    ],
    "python_version": "3.12.4"
  },
  "DJ118": {
    "cards": [
      {
        "missing": [
          "date"
        ],
        "supplied": {
          "price": 20,
          "eps": 1,
          "currency": "CNY",
          "earnings_basis": "TTM归母基本每股收益",
          "scope": "合并"
        },
        "pe": null
      },
      {
        "missing": [
          "currency"
        ],
        "supplied": {
          "price": 20,
          "eps": 1,
          "date": "2026-10-23",
          "earnings_basis": "TTM归母基本每股收益",
          "scope": "合并"
        },
        "pe": null
      },
      {
        "missing": [
          "earnings_basis"
        ],
        "supplied": {
          "price": 20,
          "eps": 1,
          "date": "2026-10-23",
          "currency": "CNY",
          "scope": "合并"
        },
        "pe": null
      }
    ],
    "complete_card": {
      "price": 20,
      "eps": 1,
      "date": "2026-10-23",
      "currency": "CNY",
      "earnings_basis": "TTM归母基本每股收益",
      "scope": "合并"
    },
    "complete_pe": 20.0,
    "assumed_price_examples": [
      {
        "price": 10,
        "eps": 1,
        "pe": 10.0
      },
      {
        "price": 20,
        "eps": 1,
        "pe": 20.0
      }
    ],
    "assumed_basis_examples": [
      {
        "basis": "上年",
        "eps": 1,
        "pe": 20.0
      },
      {
        "basis": "TTM",
        "eps": 0.8,
        "pe": 25.0
      },
      {
        "basis": "预测",
        "eps": 1.25,
        "pe": 16.0
      }
    ],
    "assumed_fx_example": {
      "price_CNY": 20,
      "eps_USD": 1,
      "CNY_per_USD": 7,
      "pe": 2.857142857142857
    },
    "python_version": "3.12.4"
  },
  "DJ119": {
    "discount_assumption": 0.1,
    "growth_assumption": 0.02,
    "net_debt": 200,
    "shares": 100,
    "models": [
      {
        "state": "未披露",
        "operating_cash": 100,
        "capex": null,
        "fcf": null,
        "enterprise_value": null,
        "equity_value": null,
        "per_share": null
      },
      {
        "state": "明确为零",
        "operating_cash": 100,
        "capex": 0,
        "fcf": 100,
        "enterprise_value": 1275.0,
        "equity_value": 1075.0,
        "per_share": 10.75
      },
      {
        "state": "另列构造估计",
        "operating_cash": 100,
        "capex": 40,
        "fcf": 60,
        "enterprise_value": 765.0,
        "equity_value": 565.0,
        "per_share": 5.65
      }
    ],
    "python_version": "3.12.4"
  },
  "DJ120": {
    "archive": {
      "announcement_id": "教学2026A001",
      "public_source": null,
      "source_status": "纯构造教学文件，无真实公开公告",
      "download_day": null,
      "generated_day": "2026-10-23",
      "page": 1,
      "local_file": "fixtures/ai-source-v1.txt",
      "sha256": "301120e97ca98b971a5d3050c957273330b853951f1bd46e24da7aa835fbe980"
    },
    "files": [
      {
        "file": "ai-source-v1.txt",
        "byte_length": 79,
        "sha256": "301120e97ca98b971a5d3050c957273330b853951f1bd46e24da7aa835fbe980",
        "matches_original": true
      },
      {
        "file": "ai-source-changed.txt",
        "byte_length": 79,
        "sha256": "bb647f0f5493535f95de44c2da827c2e9d25f1bce5966262a00705da6e08188a",
        "matches_original": false
      },
      {
        "file": "ai-source-crlf.txt",
        "byte_length": 83,
        "sha256": "071f63d2df9b1e3125749f0a4c62d20b3e44833195ecb62276c995052cf1ea85",
        "matches_original": false
      }
    ],
    "byte_content_utf8": "构造公告：教学2026A001\n页码：1\n收入：900万元\n成本：680万元\n",
    "python_version": "3.12.4"
  }
}