BMS-HOSxP Community

HOSxP => การเขียน SQL Script => ข้อความที่เริ่มโดย: naj ที่ มกราคม 03, 2009, 15:31:26 PM

หัวข้อ: ตัวอย่างการใช้ Unix_Timestamp,GetDateTimeRangeDialog,ChangeReportSQL
เริ่มหัวข้อโดย: naj ที่ มกราคม 03, 2009, 15:31:26 PM
เป็นตัวอย่างการใช้ Unix_Timestamp,GetDateTimeRangeDialog,ChangeReportSQL สำหรับท่านที่ต้องการสร้าง dialog ที่ให้ผู้ใช้เลือกวันที่และเวลา หลังจากนั้นนำค่าที่ได้จากการเลือกไปทำรายงานต่อ ครับ
(รายยงานแสดง รายการยาที่จ่ายนอกเวลา ตั้งแต่ 16:00 - 08:00  ของวันถัดไป)
หมายเหตุ ยังไม่รวมนอกเวลาที่เป็นวันหยุด เสาร์ อาทิตย์ วันหยุดทางราชการ เนื่องจากยังไม่รู้ว่าจะทำงัยดี :D :D :D :D

โค๊ด: Pascal
  1. var
  2.        date1,date2:tdatetime;
  3.        dt1,dt2,ds1,ds2:string;
  4. procedure GlobalOnCreate;
  5. begin
  6.   GetDateTimeRangeDialog(date1, date2);
  7. dt1:= FormatDateTime('yyyy-mm-dd 16:00:00',date1);//เนื่องจากงาน ER ขอให้ใส่เวลา กำกับไปด้วยครับ
  8. dt2:= FormatDateTime('yyyy-mm-dd 08:00:00',date2);//เนื่องจากงาน ER ขอให้ใส่เวลา กำกับไปด้วยครับ
  9. ds1:= getsqlstringdata('select unix_timestamp("'+dt1+'")');
  10. ds2:= getsqlstringdata('select unix_timestamp("'+dt2+'")');
  11. ChangeReportSQL('select  a.icode,concat(b.name,"  ",strength," (",b.units,")") as drugname , '+
  12. 'sum(a.qty) as total,dosageform '+
  13. 'from opitemrece a   '+
  14. 'left outer join drugitems b on a.icode=b.icode  '+
  15. 'where  unix_timestamp(concat(a.vstdate," ",a.vsttime)) between "'+ds1+'" and "'+ds2+'"  '+
  16. 'and a.icode like"1%"  '+
  17. 'and dep_code  in ("011","009")  '+
  18. 'group by   a.icode,b.name,strength,b.units,dosageform  '+
  19. 'order by dosageform,b.name ');
  20. end;
หัวข้อ: Re: ตัวอย่างการใช้ Unix_Timestamp,GetDateTimeRangeDialog,ChangeReportSQL
เริ่มหัวข้อโดย: wiphusit ที่ มกราคม 03, 2009, 15:51:59 PM
ขอบคุณครับ
หัวข้อ: Re: ตัวอย่างการใช้ Unix_Timestamp,GetDateTimeRangeDialog,ChangeReportSQL
เริ่มหัวข้อโดย: jdadmin1 ที่ มกราคม 03, 2009, 16:00:43 PM
 ;D ;D ;D ขอบคุณครับ อ.นาจ เห็นซุ่ม ๆ ออกมาแต่ละดอกเข้าตากรรมการจริง ๆ ครับ ;D ;D ;D
หัวข้อ: Re: ตัวอย่างการใช้ Unix_Timestamp,GetDateTimeRangeDialog,ChangeReportSQL
เริ่มหัวข้อโดย: thannawe ที่ มกราคม 03, 2009, 21:46:13 PM
ขอบคุณครับ  ;D :D ;D

แล้วตารางที่เก็บข้อมูลวันหยุดหน่ะครับ holiday เราใช้ตารางนั้นมาเทียบไม่ได้เหรอครับ
ถ้าเป็นวันที่มีในตาราง holiday ก็ถือเป็นวันหยุดราชการไป
รู้สึกจะมีคนให้ตาราง holiday มานะครับ เพื่อป้องกันการนัดล่วงหน้า
ผมคิดว่าน่าจะมีประโยชน์บ้างนะครับ
ปกติ เสาร์อาทิตย์ ถ้าไม่ได้มีการนัดคนไข้ ก็เหมารวมเสาร์อาทิตย์ลงใน ตาราง holiday ไปเลยครับ
ง่าย ด้วย เน้อ!!  ;D :D ;D :D 
หัวข้อ: Re: ตัวอย่างการใช้ Unix_Timestamp,GetDateTimeRangeDialog,ChangeReportSQL
เริ่มหัวข้อโดย: doramon ที่ มกราคม 04, 2009, 12:44:25 PM
ขอบคุณครับ เทพ นาจ

 ;D
หัวข้อ: Re: ตัวอย่างการใช้ Unix_Timestamp,GetDateTimeRangeDialog,ChangeReportSQL
เริ่มหัวข้อโดย: มนตรี บอยรักยุ้ยคนเดียว ที่ มกราคม 04, 2009, 16:13:42 PM
ขอบคุณครับ  ;D :D ;D

แล้วตารางที่เก็บข้อมูลวันหยุดหน่ะครับ holiday เราใช้ตารางนั้นมาเทียบไม่ได้เหรอครับ
ถ้าเป็นวันที่มีในตาราง holiday ก็ถือเป็นวันหยุดราชการไป
รู้สึกจะมีคนให้ตาราง holiday มานะครับ เพื่อป้องกันการนัดล่วงหน้า
ผมคิดว่าน่าจะมีประโยชน์บ้างนะครับ
ปกติ เสาร์อาทิตย์ ถ้าไม่ได้มีการนัดคนไข้ ก็เหมารวมเสาร์อาทิตย์ลงใน ตาราง holiday ไปเลยครับ
ง่าย ด้วย เน้อ!!  ;D :D ;D :D 
:o :o :o :o :o :o