/**
 * ข้อมูลจะเริ่มต้นที่ Root ที่มีเพียงอันเดียว แล้วแตกรากลงมา ชื่อฟิลด์ต่าง ๆ จะพยายามให้เหมือนกับ TreeList ฟิลด์ไหนใช้ชื่อต่างกันก็ระบุมาได้นะว่าใน TreeList ใช้อะไร จะได้ใช้ให้เหมือนกัน
 *	- Object ส่วนที่เป็นหน่วยงานประกอบด้วย
 *		- deptID : Unique ID ของสำนัก/ฝ่าย/กอง เป็น Int หรือ String ก็ได้ ขอแค่ระบุให้ชัด
 *		- departmentName : ชื่อสำนัก/ฝ่าย/กอง
 *		- totalPositionCount : จำนวนตำแหน่งทั้งหมดในหน่วยงาน หรือในส่วนงานย่อย
 *		- totalPositionVacant : จำนวนตำแหน่งว่างทั้งหมดในหน่วยงาน
 *	- นอกจากนั้นในแต่ละหน่วยงานยังมี Object ได้อีก 3 แบบคือ
 *		- heads : เป็น Array ของ Object ที่เก็บตำแหน่งระดับหัวหน้า
 *		- offcier : เป็น Array ของ Object ที่เก็บตำแหน่งระดับเจ้าหน้าที่
 *		- children : เป็น Array ของหน่วยงานย่อย ซึ่ง Root ของ children ต้องเป็น Object ของหน่วยงานเสมอ
 *	- Object ส่วนที่เป็นตำแหน่งประกอบด้วย
 *		- positionID : Unique ID ของตำแหน่งประเภทนั้น เงื่อนไขเหมือน deptID
 *		- positionName : ชื่อตำแหน่ง
 *		- positionNum : เลขที่ประจำตำแหน่ง เช่น กทข.
 *		- totalPositionCount : จำนวนตำแหน่งทั้งหมด
 *		- totalPositionVacant : จำนวนตำแหน่งว่างทั้งหมด
 */
const chartData = {
  // root ของข้อมูลเป็น Object (ไม่ใช่ Array แบบ TreeList)
  deptID: 1, // Unique ID ของสำนัก/ฝ่าย/กอง (ถ้ามี?)
  departmentName: "สำนักงานเลขานุการผู้ว่าราชการกรุงเทพมหานคร", // ชื่อสำนัก/ฝ่าย/กอง
  totalPositionCount: 75, // จำนวนตำแหน่งทั้งหมดในหน่วยงาน
  totalPositionVacant: 2, // จำนวนตำแหน่งว่างทั้งหมดในหน่วยงาน
  heads: [
    // Array ของผู้บริหารในหน่วยงานนั้น ๆ (ผู้อำนวยการ/หัวหน้า)
    {
      positionID: 2, // Unique ID ของตำแหน่งประเภทนั้น (ถ้ามี?)
      positionName: "ผู้อำนวยการสูง", // ชื่อตำแหน่ง
      positionNum: "(หัวหน้าสำนักงาน)", // เลขที่ประจำตำแหน่ง (ถ้ามี) เช่นพวก กทข.
      totalPositionCount: 1, // จำนวนตำแหน่งทั้งหมด
      totalPositionVacant: 0, // จำนวนตำแหน่งว่างทั้งหมด
    },
  ],
  officer: [
    // Array ของเจ้าหน้าที่ในหน่วยงาน (รายการตำแหน่งในหน่วยงานที่ขึ้นตรงกับ deptID นั้น ๆ)
  ],
  children: [
    // Array ของหน่วยงานย่อย เช่น ฝ่าย กอง
    {
      // โครงสร้างที่เหลือจะเหมือนกับส่วน Root ทุกอย่าง คือแต่ละหน่วยงานย่อย มี heads ไว้ระบุหัวหน้า ผู้อำนวยการ มี Officer ไว้ระบุรายการตำแหน่งในหน่วยงาน มี Children ไว้ระบุหน่วยงานย่อย
      deptID: 3,
      departmentName: "ฝ่ายบริหารทั่วไป",
      totalPositionCount: 14,
      totalPositionVacant: 0,
      heads: [
        {
          positionID: 2,
          positionName: "นักจัดการงานทั่วไป",
          positionNum: "ชพ. (หัวหน้าฝ่าย)",
          totalPositionCount: 1,
          totalPositionVacant: 0,
        },
      ],
      officer: [
        {
          positionID: 3,
          positionName: "นักจัดการงานทั่วไป",
          positionNum: "ปก./ชก",
          totalPositionCount: 1,
          totalPositionVacant: 0,
        },
        {
          positionID: 4,
          positionName: "นักทรัพยากรบุคคล",
          positionNum: "ปก./ชก.",
          totalPositionCount: 1,
          totalPositionVacnt: 0,
        },
        {
          positionID: 5,
          positionName: "นักวิชาการเงินและบัญชี",
          positionNum: "ปก./ชก.",
          totalPositionCount: 2,
          totalPositionVacnt: 0,
        },
        {
          positionID: 6,
          positionName: "นักวิชาการพัสดุ",
          positionNum: "ปก./ชก.",
          totalPositionCount: 1,
          totalPositionVacnt: 0,
        },
        {
          positionID: 7,
          positionName: "เจ้าพนักงานการเงินและบัญชี",
          positionNum: "ปง./ชง.",
          totalPositionCount: 3,
          totalPositionVacnt: 0,
        },
        {
          positionID: 8,
          positionName: "เจ้าพนักงานพัสดุ",
          positionNum: "ปง./ชง.",
          totalPositionCount: 1,
          totalPositionVacnt: 0,
        },
        {
          positionID: 9,
          positionName: "เจ้าพนักงานธุรการ",
          positionNum: "ปง./ชง.",
          totalPositionCount: 4,
          totalPositionVacnt: 0,
        },
      ],
    },
    {
      deptID: 4,
      departmentName: "ส่วนประสานนโยบาย",
      totalPositionCount: 15,
      totalPositionVacant: 0,
      heads: [
        {
          positionID: 10,
          positionName: "ผู้อำนวยการต้น",
          positionNum: "(ผู้อำนวยการส่วน)",
          totalPositionCount: 1,
          totalPositionVacant: 0,
        },
      ],
      children: [
        {
          deptID: 11,
          departmentName: "กลุ่มงานประชุม",
          totalPositionCount: 6,
          totalPositionVacant: 0,
          heads: [
            {
              positionID: 11,
              positionName: "นักจัดการงานทั่วไป",
              positionNum: "ชพ. (หัวหน้ากลุ่มงาน)",
              totalPositionCount: 1,
              totalPositionVacant: 0,
            },
          ],
          officer: [
            {
              positionID: 12,
              positionName: "นักจัดการงานทั่วไป",
              positionNum: "ปก./ชก.",
              totalPositionCount: 4,
              totalPositionVacant: 0,
            },
            {
              positionID: 13,
              positionName: "เจ้าพนักงานธุรการ",
              positionNum: "ปง./ชง.",
              totalPositionCount: 1,
              totalPositionVacant: 0,
            },
          ],
        },
        {
          deptID: 12,
          departmentName: "กลุ่มงานการเมืองและประสานนโยบาย",
          totalPositionCount: 8,
          totalPositionVacant: 0,
          heads: [
            {
              positionID: 14,
              positionName: "นักจัดการงานทั่วไป",
              positionNum: "ชพ. (หัวหน้ากลุ่มงาน)",
              totalPositionCount: 1,
              totalPositionVacant: 0,
            },
          ],
          officer: [
            {
              positionID: 15,
              positionName: "นักจัดการงานทั่วไป",
              positionNum: "ปก./ชก.",
              totalPositionCount: 4,
              totalPositionVacant: 0,
            },
            {
              positionID: 16,
              positionName: "เจ้าพนักงานสถิติ",
              positionNum: "ปง./ชง.",
              totalPositionCount: 1,
              totalPositionVacant: 0,
            },
            {
              positionID: 17,
              positionName: "เจ้าพนักงานธุรการ",
              positionNum: "ปง./ชง.",
              totalPositionCount: 2,
              totalPositionVacant: 0,
            },
          ],
        },
      ],
    },
    {
      deptID: 14,
      departmentName: "ส่วนเรื่องราวร้องทุกข์",
      totalPositionCount: 15,
      totalPositionVacant: 0,
      heads: [
        {
          positionID: 18,
          positionName: "ผู้อำนวยการต้น",
          positionNum: "(ผู้อำนวยการส่วน)",
          totalPositionCount: 1,
          totalPositionVacant: 0,
        },
      ],
      children: [
        {
          deptID: 15,
          departmentName: "กลุ่มงานรับเรื่องราวร้องทุกข์",
          totalPositionCount: 7,
          totalPositionVacant: 0,
          heads: [
            {
              positionID: 19,
              positionName: "นักจัดการงานทั่วไป",
              positionNum: "ชพ. (หัวหน้ากลุ่มงาน)",
              totalPositionCount: 1,
              totalPositionVacant: 0,
            },
          ],
          officer: [
            {
              positionID: 20,
              positionName: "นักจัดการงานทั่วไป",
              positionNum: "ปก./ชก.",
              totalPositionCount: 4,
              totalPositionVacant: 0,
            },
            {
              positionID: 21,
              positionName: "เจ้าพนักงานธุรการ",
              positionNum: "ปง./ชง.",
              totalPositionCount: 2,
              totalPositionVacant: 0,
            },
          ],
        },
        {
          deptID: 16,
          departmentName: "กลุ่มงานตรวจสอบ ติดตามและประมวลผล",
          totalPositionCount: 7,
          totalPositionVacant: 0,
          heads: [
            {
              positionID: 22,
              positionName: "นักจัดการงานทั่วไป",
              positionNum: "ชพ. (หัวหน้ากลุ่มงาน)",
              totalPositionCount: 1,
              totalPositionVacant: 0,
            },
          ],
          officer: [
            {
              positionID: 23,
              positionName: "นักจัดการงานทั่วไป",
              positionNum: "ปก./ชก.",
              totalPositionCount: 4,
              totalPositionVacant: 0,
            },
            {
              positionID: 24,
              positionName: "เจ้าพนักงานธุรการ",
              positionNum: "ปง./ชง.",
              totalPositionCount: 2,
              totalPositionVacant: 0,
            },
          ],
        },
      ],
    },
  ],
};

export default chartData;
