Tqf/employmentstats

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา

รายละเอียดข้อมูล

แหล่งข้อมูล: จากกองแผนงาน http://www.planning.ku.ac.th/planning/downloads/work/work_index.htm (น่าจะดูของเป็นสรุปผลครั้งที่ 2 นะครับ)

1. ข้อมูลมันจะมีอยู่ 3 ส่วน น่าจะเอามาใส่ฟอร์มข้างต้นได้หมด ยกเว้น field จำนวนผู้สำเร็จการศึกษาที่มีงานทำก่อนเข้าศึกษา ซึ่งเราต้องไปคุยกับเค้าอีกทีว่าจะเอาไง

2. ปัญหาคือในข้อมูลระบุสาขามาอาจจะไม่ตรงกับในหลักสูตร เช่น "วิศวกรรมศาสตรบัณฑิต (วิศวกรรมโยธา-ทรัพยากรน้ำ)" ชื่อในระบบเราเป็น "วิศวกรรมศาสตรบัณฑิต สาขาวิศวกรรมโยธา-ทรัพยากรน้ำ" ซึ่งตรงนี้ช่างมันก่อน เราค่อยไปทำหน้าให้เค้าลิงก์ข้อมูลมา (แถมมีภาคปกติภาคพิเศษแยกกันอีก)

สิ่งที่คุณน่าจะทำคร่าว ๆ

1. สร้างตาราง importedcurriculumemploymentstats (อย่าลืม migration) และโมเดล Model_ImportedCurriculumEmploymentStat

2. เขียน script นำเข้าข้อมูล

3. manually เชื่อมโยงของข้อมูลที่ import มา กับข้อมูลหลักสูตรที่ต้องการกรอก (สักวิธี เดี๋ยวผมเขียนอธิบายเมลถัดไป)

4. ทำหน้า employmentstats ที่แสดงข้อมูลดังกล่าว และมีช่องหนึ่งช่องให้เขียนอธิบาย

ตารางและโมเดล

โดยมากเวลานำเข้าข้อมูลจากภายนอก ผมจะไม่เก็บลงข้อมูลจริงโดยตรง แต่จะสร้างตารางและโมเดลที่ prefix ว่า imported ไว้ก่อน กันบึ้ม

สำหรับข้อมูลการได้งานทำนั้น จริง ๆ มันมีโมเดลอยู่แล้ว ชื่อ Model_CurriculumEmploymentStat (curriculumemploymentstat) แต่ฟิลด์มันจะไม่ครบ (เพราะว่ามันตามฟอร์มเดิม)

ผมเสนอให้คุณดำเนินการดังนี้

1. สร้างตาราง importedcurriculumemploymentstats (ปกติผมจะสร้างใน phpmyadmin สร้าง key อะไรให้เรียบร้อย แล้ว export มาใส่ migration (อยู่ที่ application/migration) อย่าลืม postfix มันด้วย _UP นะ) ตารางนี้จะล้อกับ curriculumemploymentstats

  • convention ของตาราง ต้องมี field id เป็น primary key เป็น int แล้วก็ auto increment
  • ให้เพิ่มฟิลด์ให้ครบตามฟอร์ม
  • ให้มีฟิลด์ imported_curriculum_title (ตรงนี้จะเป็นชื่อที่ไม่ตรง แต่ตรงตามที่เรา import มา)
  • เพิ่มพิลด์ year ระบุปีของข้อมูลด้วย
  • เพิ่มฟิลด์ annualcurriculumresult_id (ตรงนี้ ถ้าเค้าเชื่อมข้อมูลแล้ว เราจะปรับให้ตรงกับ id ของตัวมคอ.7)

2. สร้างโมเดล Model_ImportedCurriculumEmploymentStat (ล้อกับ Model_CurriculumEmploymentStat)

การนำเข้าข้อมูล

เขียนสคริปต์นำเข้าข้อมูลโดยดูตัวอย่างจากบรรดา application/classes/controller/cli/import* เช่น importtqf7curriculuminstructors.php

พวกนี้จะเป็น controller ที่คุณจะเรียกผ่าน CLI โดยจะเรียกจาก tqf directory เลย ประมาณ

$ php index.php --uri=cli/importtqf7curriculuminstructors --file=data.csv --year=2557

เจ้า --file และ --year เนี่ยะ จะเป็น options ที่คุณจะอ่านได้โดยสั่งประมาณ

   $options = CLI::options('file','year');
   if((!isset($options['file'])) || (!isset($options['year']))) {
     exit(1);
   }
   $filename = $options["file"];