Welcome! My name is ArmNo. I'm computer engineering student of Chiang Mai University, Thailand. This blog is about my internship program summer 2009. Enjoy!

email ประจำวัน #31

Monday, May 4th, 2009

สวัสดีครับ
รายงานประจำวันที่ 04/05/2009 – Web Time Sheet
สิ่งที่ทำวันนี้

  • ทำฟอร์มเลือก report month ใหม่
  • แก้ปัญหาของ timesheet ตรงที่เมื่อมีมากกว่า 1 report detail ใน 1 วัน ให้แสดงผลได้ทุกๆ report detail ใน timesheet (จากเดิมที่ขึ้นมาเพียง report detail ล่าสุด) .. แต่พบปัญหาคือ วันที่มี report detail แสดงแถวว่างๆเกินมา 1 แถวอยู่ครับ
  • หาวิธี export เป็น pdf กับ xls .. ซึ่ง xls จะง่ายกว่า pdf เนื่องจาก tequila framework สามารถเลือกให้ทุกๆเพจ แสดงผลเป็น excel format ได้เลย แต่ว่า pdf ยังไม่มีครับ .. ลอง export ออกมาเป็น xls แล้วพบปัญหาคือ รูปแบบยังผิดไปจากที่ควรจะเป็นค่อนข้างมากอยู่ครับ (ล้นหน้ากระดาษออกไปมาก)
  • แก้บั๊กการคำนวน total hours ในแต่ละวัน เนื่องจากเดิมนั้นดึงข้อมูลมาผิด table

สิ่งที่ต้องทำ

  • export timesheet เป็นไฟล์
  • แก้บั๊กของ timesheet

ขอบคุณครับ
อาม

email ประจำวัน #30

Thursday, April 30th, 2009

สวัสดีครับ
รายงานประจำวันที่ 30/4/2009 – Web Time Sheet (Tequila Framework)
สิ่งที่ทำวันนี้

  • ทำหน้า output ของ time sheet .. ตอนนี้แสดงผลได้ถูกต้องเกือบทั้งหมดแล้วครับ สามารถเลือกแสดง time sheet จาก resource name และ เดือน-ปี ได้
  • ปรับปรุง interface ของ time sheet (แก้ template + css)

ปัญหาที่พบ

  • วันที่มี report detail มากกว่า 1 detail ยังแสดงผลใน time sheet ไม่ถูกต้อง คือยังขึ้นมาแค่อันเดียวอยู่ครับ
  • ฟอร์มเลือก report month ของ timesheet ยังใช้งานยากเพราะว่า time sheet ต้องเลือกแค่ เดือน กับ ปี แต่ว่าตอนนี้ยังเป็น datetime picker อยู่ครับ ยังไม่ได้เปลี่ยน ซึ่งใช้งานได้เหมือนกัน แต่ไม่ค่อย make sense ครับ

สิ่งที่ต้องทำ

  • ทำฟอร์มเลือก report month ใหม่
  • export time sheet เป็น pdf, xls, หรืออื่นๆ

ขอบคุณครับ
อาม

email ประจำวัน #29

Wednesday, April 29th, 2009

สวัสดีครับ
รายงานประจำวันที่ 29/04/2009 – Web Time Sheet (Tequila Framework)
สิ่งที่ทำวันนี้

  • ทดสอบ input ข้อมูลของ add new mode
  • แก้บั๊กต่างๆของโปรแกรมที่พบระหว่างทำการทดสอบ input
  • สร้าง DAO และ VO ของ timesheet เพื่อทำงานใน viewReport mode (report output) .. ตอนนี้ report output แสดงข้อมูลที่เป็น header ของ timesheet ได้ครบแล้ว .. ยังเหลือส่วนที่เป็น detail ของแต่ละวันครับ

ปัญหาที่พบ

  • ในการ input .. เมื่อกด edit detail จะไม่สามารถเลือก timeto เป็นเวลาของวันพรุ่งนี้ได้ จึงเพิ่ม condition เมื่อเลือก timeto เป็นของวันพรุ่งนี้ ให้เปลี่ยนเป็น 23:59:59 แทน เพื่อให้การคำนวณเวลา และ insert ลง database ไม่เกิดข้อผิดพลาด .. ดังนั้นตอนนี้ถ้าต้องการ edit detail ของ report detail ที่มีช่วงเวลาคาบเกี่ยวระหว่าง 2 วัน ต้องกด edit detail เอาทีละวันครับ

สิ่งที่ต้องทำ

  • แสดง report detail ในหน้า timesheet ให้ถูกต้อง

ขอบคุณครับ
อาม

email ประจำวัน #28

Tuesday, April 28th, 2009

สวัสดีครับ
รายงานประจำวันที่ 28/4/2009 – Web Time Sheet (Tequila Framework)
สิ่งที่ทำวันนี้

  • เพิ่ม default option ให้แต่ละ project selector .. เนื่องจากเคยมีปัญหาเกี่ยวกับการ load child task มาไว้ใน selector ที่ต้องใช้ onchange event handler จึงใส่ default value เอาไว้ในทุกๆ selector เพื่อ force ให้เกิด onchange ครับ .. ส่วนสาเหตุที่พอกดเลือก project แล้วไม่สามารถ display ทั้ง task type และ task พร้อมกันได้ เนื่องจากตัว task ต้องใช้ selected value จาก task type .. แต่ task type นั้นได้จาก onchange event ของ project ทำให้ค่า selected value ของ tasktype มีค่าเป็นในตอนแรก null  .. ตัว task selector จึงแสดงผลไม่ถูกต้องครับ .. คุณ itzco เลยแนะนำให้ใช้วิธีนี้แทน
  • คุณ itzco จัดรูปแบบ template ของหน้า input ให้ใหม่ รวมถึง css ให้สวยงาม และเข้าใจง่ายยิ่งขึ้น หลังจากนั้นจึงให้ผมแก้ไข labels, images และ เก็บรายละเอียดให้เรียบร้อยครับ ซึ่งตอนนี้หน้า report input เกือบจะเสร็จแล้ว ยังเหลือการเช็คความถูกต้องของข้อมูลส่วนต่างๆครับ
  • แก้บั๊กของการ save o.t. request ที่ขึ้น error ให้เห็นใน firebug เพราะว่าใช้ ajax call ผิดรูปแบบ

ปัญหาที่พบ

  • อัพเกรดเวอร์ชั่นของ framework ไม่ถูกวิธี ทำให้ตัว page generator ยังเป็นเวอร์ชั่นเก่าอยู่ (แต่ไม่มีปัญหากับการใช้งาน).. คุณ itzco ให้รอเวอร์ชั่นใหม่ (วันนี้) แล้วค่อยอัพเดททีเดียวเลยครับ

สิ่งที่ต้องทำ

  • report output

ขอบคุณครับ
อาม

email ประจำวัน #27

Monday, April 27th, 2009

สวัสดีครับ
รายงานประจำวันที่ 27/04/2009 – Web Time Sheet (Tequila Framework)
สิ่งที่ทำวันนี้

  • ฟังก์ชั่นการคำนวน total hour เมื่อ add, delete, edit ของ report_detail
  • แก้ฟังก์ชั่นสำหรับ update o.t. เป็น update header info เพราะต้อง save total hour และ reload o.t. request hour ทุกๆครั้งที่มีการเปลี่ยนแปลง report detail จึงนำไปไว้ในฟังก์ชั่นเดียวกัน

ปัญหาที่พบ

  • การ update total hour ในกรณีที่ report detail มี time to ข้ามไปเป็นของอีกวัน .. ตอนแรกไม่ได้เช็คเคสนี้ จึงทำให้การคำนวณเวลา total hour ผิดพลาด .. ซึ่งตอนนี้ได้แก้ไขแล้วครับ

สิ่งที่ต้องทำ

  • ทำหน้า report output สำหรับแสดงผล time sheet .. ทำ template ของหน้า output ไว้บ้างแล้ว แต่ยังไม่ได้เอาข้อมูลจาก database ออกมาแสดงผลครับ

ขอบคุณครับ
อาม

email ประจำวัน #26

Friday, April 24th, 2009

สวัสดีครับ
รายงานประจำวันที่ 24/04/2009 – Web Time Sheet (Tequila Framework)
สิ่งที่ทำวันนี้

  • เปลี่ยนรูปแบบ input form ของ time to จากเดิม ที่เป็นแบบ date/time (มีปฏิทินให้เลือกวันที่และเวลา) ให้เป็นเลือกได้เฉพาะเวลาคล้ายกับฟอร์ม time from แต่ ว่าต่างกันตรงที่ time to จะมีเวลาให้เลือกจนถึง 09:00 ของวันถัดไป .. หากเลือก time to ข้ามไปเป็นของอีกวัน ตัว report detail ก็จะแบ่งเป็น 2 ส่วนคือของวันนี้กับวันถัดไป และบันทึกข้อมูลแยกกันเป็น 2 entries ของวันนี้จะเป็นเวลาตั้งแต่ time from ไปจนถึง 23:59 ส่วนของวันถัดไปจะเป็นตั้งแต่ 00:00 ไปถึง time to ที่ได้เลือกไว้ครับ .. ส่วนนี้ทำให้ต้องแก้ Model อีกเล็กน้อยเนื่องจากมี case เพิ่มเข้ามา (คือการบันทึกข้อมูล 2 entries แยกกัน) .. ซึ่งตอนนี้ทำเสร็จแล้วครับ  ที่ต้องใช้เป็น 23:59 แทนที่จะเป็น 24:00 เพราะตอนใส่ 24:00 เข้าไปใน database แล้วรูปแบบไม่ถูกต้อง ทำให้ข้อมูลเป็น 0000-00-00 00:00:00 ดังนั้นเลยใส่เป็น 23:59 แทนครับ
  • validation สำหรับ o.t.request hour

ปัญหาที่พบ

  • การใส่เวลาเป็น 23:59 ทำให้เกิดปัญหาตอนเข้าสู่ edit mode ครับ เพราะตัว selector แบ่งเวลาทุกๆ 30 นาที ทำให้ไม่มี 23:59 อยู่ใน selector ทำให้ selected value ของ timeto ไม่ตรงกับความเป็นจริงในกรณีครับ ต้องกดเลือกใหม่

สิ่งที่ต้องทำ

  • คำนวน total hour (ก่อน insert ลงใน database)
  • ascii encode/decode

ขอบคุณครับ
อาม

email ประจำวัน #25

Thursday, April 23rd, 2009

สวัสดีครับ
รายงานประจำวันที่ 23/04/2009 – Web Time Sheet
สิ่งที่ทำวันนี้

  • เอา ปุ่ม Save กับ Cancel ที่อยู่ด้านล่างสุดของหน้า add to report ออกไป เพราะว่าจะไม่ได้ใช้ครับ .. สำหรับการบันทึกข้อมูล report header นั้น มีส่วนเดียวที่ผู้ใช้สามารถเปลี่ยนแปลงได้ คือ o.t. request our นอกนั้นเป็นฟอร์มที่เปลี่ยนเอง ตามตัวแปรอื่น (คือ resource id กับ work report date ส่วน total hour ก็ได้จากการคำนวณ) คุณ itzco จึงแนะนำให้เอา save กับ cancel ออกไป แล้วเพิ่มปุ่ม save o.t. request ไว้หลังฟอร์ม o.t.request แทน
  • เปลี่ยน sql criteria ใน model ใน report detail list เรียงลำดับตาม start time ในแต่ละวัน (จากเดิมที่เรียงตามลำดับการ input)
  • แก้ bug ของเมื่อวาน (การแสดง child task ใน select form ในตอนแรกแสดงผลถูกต้องเฉพาะ add new และวันนี้ได้ทำให้แสดงผลถูกต้องสำหรับ edit mode แต่ว่ากลับมา add new mode แล้ว child task กลับไม่ออกใน select form .. ซึ่งปัญหามาจากพารามิเตอร์ selected value ที่ส่งไป JS function มีค่าเป็น null ครับ) ซึ่งจริงๆแล้วปัญหาไม่ได้อยู่ที่พา รามิเตอร์ แต่ว่าเป็นการเรียก inner function ของ select object จากทั้งใน และนอกฟังก์ชั่น select .. แก้ปัญหาโดยสร้างฟังก์ชั่นที่ต้องใช้สำหรับ select object ใหม่ 2 ฟังก์ชั่น สำหรับการเรียกใช้จากใน และนอกฟังก์ชั่น
  • upgrade Tequila Framework เป็นเวอร์ชั่น 3.2 ซึ่งต้องแก้ไข header file กับ footer file .. ซึ่งวิธีการมีอยู่ในเว็บไซต์ของ Tequila ครับ .. ตอนนี้ยังไม่พบปัญหาจากการ upgrade framework ครับ

ปัญหาที่พบ

  • ที่ พบวันนี้ ส่วนมากเป็น bug เล็กๆน้อยๆครับ และได้แก้หมดแล้ว เช่นของปุ่ม save o.t. หรือการ get data จาก database ที่ criteria บางส่วนตกหล่นไป

สิ่งที่ต้องทำ

  • คำนวน total hours
  • form validations
  • เปลี่ยนรูปแบบ selector ของ time to

ขอบคุณครับ
อาม

email ประจำวัน #24

Wednesday, April 22nd, 2009

สวัสดีครับ
รายงานประจำวันที่ 22/04/2009 – Web Time Sheet (Tequila Framework)
สิ่งที่ทำวันนี้

  • ย้ายฟอร์ม input ไปไว้ด้านบนของ work detail list เพื่อไม่ให้ต้องเลื่อนลงมาหากมี report detail จำนวนมากๆ
  • ทำปุ่ม cancel ไว้กับปุ่ม add เพื่อเคลียร์ข้อมูลในฟอร์ม input หากไม่ต้องการ (จากเดิมที่ต้อง reload หน้าเพจใหม่)
  • แก้ Page Title, Meta Description ให้เป็น Web Time Sheet Report System – by – blueballgroup.com (จากเดิม Dreamteam Member System – by – blueballgroup.com)
  • แก้ Model ให้บันทึกข้อมูล report header กับ report detail พร้อมกัน (จากเดิมที่ในการบันทึกข้อมูลที่ยังไม่มี report header ต้องบันทึก header ก่อนแล้วกรอก detail ใหม่ และกดบันทึกข้อมูล detail อีกครั้งหนึ่ง)
  • ทำให้ฟอร์ม project, task type, task name แสดง child task ได้ถูกต้องใน select form

ปัญหาที่พบ

  • การแสดง child task ใน select form ในตอนแรกแสดงผลถูกต้องเฉพาะ add new และวันนี้ได้ทำให้แสดงผลถูกต้องสำหรับ edit mode แต่ว่ากลับมา add new mode แล้ว child task กลับไม่ออกใน select form .. ซึ่งปัญหามาจากพารามิเตอร์ selected value ที่ส่งไป JS function มีค่าเป็น null ครับ

สิ่งที่ต้องทำ

  • คำนวน total hours
  • ทำปุ่ม add o.t. request
  • เอาปุ่ม save/cancel ออก เพราะไม่ได้ใช้
  • validation ของ form ต่างๆ

ขอบคุณครับ
อาม

email ประจำวัน #23

Tuesday, April 21st, 2009

สวัสดีครับ
รายงานประจำวันที่ 21/4/2009 – Web Time Sheet (Tequila Framework)
สิ่งที่ทำวันนี้

  • edit mode สำหรับแก้ไข report_detail แต่ละอัน เมื่อคลิก edit แล้ว ข้อมูล report detail นั้นจะมาอยู่ในฟอร์ม add new และปุ่ม add ก็จะเปลี่ยนเป็น save ให้บันทึกข้อมูลได้
  • สร้าง javascript functions เพิ่ม สำหรับการทำงานกับ ajax object ในการ reload ฟอร์มต่างๆจาก onchange event handlers .. ส่วนมากเป็น callback function ของ ajax object กับ function ที่ใช้หา selected value ของ select form ครับ

ปัญหาที่พบ

  • ให้ ajax object ไป get data ก้อนใหญ่เกินไป (มีข้อมูลหลายๆอย่างรวมกันในหนึ่ง response) พอกลับมาที่ callback function แล้วแยก response ลงแต่ละฟอร์มไม่ได้ จึงแบ่งเป็นส่วนย่อยๆ โดยใช้ ajax object หลายๆ object เพื่อ get data แยกกันแล้วนำมาใส่ลงในฟอร์มพร้อมกัน
  • ตอนนี้ส่วน add to report สามารถ add/edit/delete ได้แล้ว แต่ก็ยังมีบั๊กเล็กๆน้อยๆอยู่ครับ เช่น selected value ใน select form ยังไม่ถูกต้อง ยังขึ้นเป็นอันแรกสุดอยู่ (ในบางฟอร์มครับ)

สิ่งที่ต้องทำ

  • ย้าย input form ของ report detail ไปไว้ด้านบนของ report detail list 
  • class ASCII encode กับ decode สำหรับ tree

ขอบคุณครับ
อาม

email ประจำวัน #22

Monday, April 20th, 2009

สวัสดีครับ
รายงานประจำวันที่ 20/4/2009 – Web Time Sheet (Tequila Framework)
สิ่งที่ทำวันนี้

  • ทำฟอร์มแสดงผล child project เมื่อเลือก project ที่มี task type ก็แสดงผล task type ที่เป็น child ของ project นั้นในฟอร์ม task type selector .. เช่นเดียวกับของ task type ที่มี task เป็น child ครับ .. ใช้ฟังก์ชั่น select ของ Tequila ในการ generate form จากข้อมูลที่ได้จาก ajax object
  • แก้ไขฟังก์ชั่น getChild ของ Model ให้สามารถแสดง list ของทั้ง task type และ task ได้ จากตอนแรกที่แสดงได้เฉพาะ task อย่างเดียว

ปัญหาที่พบ

  • VO ที่ return มาจาก model ไม่ได้ถูก encode เป็น json ทำให้แสดงผลใน form selector ผิด .. แก้ไขแล้วครับ โดย encode เป็น json ก่อนแล้วจึงนำมาใช้กับฟังก์ชั่น select
  • insert ข้อมูล report detail ลงใน database แล้วเกิด error เนื่องจากตอนแรกที่ทำ selector นั้น value ของแต่ละ option ยังเป็น task_name อยู่ แต่ในการ insert ต้องใช้ task_id .. คุณ itzco ช่วยแก้ให้ โดยต้อง getdata ทั้ง task_id และ task_name และแก้ฟังก์ชั่น select อีกเล็กน้อย ให้สามารถใช้กับกรณีนี้ได้ .. คุณ itzco บอกว่าฟังก์ชั่น select นี้ต้องแก้ไขแล้วแต่กรณีที่ต้องการใช้ครับ ไม่ใช่ common function ที่เรียกใช้ได้ทันที

สิ่งที่ต้องทำ

  • class ASCII encode กับ decode สำหรับ tree

ขอบคุณครับ
อาม