{
  "request_no": "PR-20251014-003",
  "job_no": "테스트용",
  "created_at": "2025-10-14T21:40:12.581699",
  "materials": [
    {
      "material_id": 1,
      "description": "HALF NIPPLE, SMLS, SCH 80S, ASTM A312 TP304 SW X NPT",
      "category": "FITTING",
      "size": "1/2\"",
      "material_grade": "ASTM A312 TP304",
      "quantity": 3,
      "unit": "EA",
      "user_requirement": ""
    },
    {
      "material_id": 3,
      "description": "HALF NIPPLE, SMLS, SCH 80S, ASTM A312 TP304 SW X NPT",
      "category": "FITTING",
      "size": "1/2\"",
      "material_grade": "ASTM A312 TP304",
      "quantity": 3,
      "unit": "EA",
      "user_requirement": ""
    },
    {
      "material_id": 143,
      "description": "HALF NIPPLE, SMLS, SCH 160, ASTM A106 B SW * NPT",
      "category": "FITTING",
      "size": "1\"",
      "material_grade": "ASTM A106 B",
      "quantity": 2,
      "unit": "EA",
      "user_requirement": ""
    }
  ],
  "grouped_materials": [
    {
      "group_key": "HALF NIPPLE, SMLS, SCH 80S, ASTM A312 TP304 SW X NPT|1/2\"|undefined|ASTM A312 TP304",
      "material_ids": [
        1,
        3
      ],
      "description": "HALF NIPPLE, SMLS, SCH 80S, ASTM A312 TP304 SW X NPT",
      "category": "FITTING",
      "size": "1/2\"",
      "material_grade": "ASTM A312 TP304",
      "quantity": 3,
      "unit": "EA",
      "user_requirement": ""
    },
    {
      "group_key": "HALF NIPPLE, SMLS, SCH 160, ASTM A106 B SW * NPT|1\"|undefined|ASTM A106 B",
      "material_ids": [
        143
      ],
      "description": "HALF NIPPLE, SMLS, SCH 160, ASTM A106 B SW * NPT",
      "category": "FITTING",
      "size": "1\"",
      "material_grade": "ASTM A106 B",
      "quantity": 2,
      "unit": "EA",
      "user_requirement": ""
    }
  ]
}