ผู้เขียน หัวข้อ: วันนัดครั้งต่อไป ในทะเบียนคลินิกพิเศษ  (อ่าน 3484 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ naj

  • Hero Member
  • *****
  • กระทู้: 2,449
  • Respect: +10
    • ดูรายละเอียด
    • http://www.luangphopern-hospital.com
คนไข้นัด ช่อง next_app_date  กลายเป็นปึ 1/1/2443  ทั้งๆที่คนไข้วันที่นัดล่วงหน้า เป็นของเดือนถัดไปครับ จำได้ว่า อ.mn เคยแก้ให้แก้ปัญหานี้ให้โดยการใช้ recheck แต่ไม่ทราบว่ามันกลับมาได้งัยครับเป็นกับบางคน
« แก้ไขครั้งสุดท้าย: ตุลาคม 11, 2007, 14:49:03 PM โดย naj »
Yindee And Tan

ออฟไลน์ naj

  • Hero Member
  • *****
  • กระทู้: 2,449
  • Respect: +10
    • ดูรายละเอียด
    • http://www.luangphopern-hospital.com
Re: วันนัดครั้งต่อไป ในทะเบียนคลินิกพิเศษ
« ตอบกลับ #1 เมื่อ: ตุลาคม 13, 2007, 01:25:15 AM »
0
ในที่สุดก็แก้ได้แล้วครับ (ดีใจเล็กๆ)เนื่องจากไม่อยากที่จะแก้ที่ละแถวครับ เลยลองเขียน pascal script  มาแก้เฉพาะคนไข้คลินิกที่มีวันนัดถัดไปเป็น 1/1/2443 มาเป็นวันนัดตามจริงตามข้อมูลในตาราง oapp
หมายเหตุ ไม่แนะนำให้ไปใช้จริงนะครับ ขอใช้ที่โรงพยาบาลผมที่เดียวดีกว่า เนื่องจากเขียนแบบลองผิดลองถูกครับ ไม่มั่นใจว่าจะใช้กับที่อื่นได้ผลหรือเปล่า แต่ที่ผมทดสอบแล้ว ใช้จริงกับ databases ของโรงพยาบาลแล้ว ใช้ได้ครับ แต่คงต้องให้พี่พยาบาล opd ตรวจสอบอีกครั้งหนึ่ง
เลยฝาก อ.mn ช่วยตรวจสอบว่าผมเขียน pascal script ฉบับลูกทุ่งๆพอไหวไหมครับ 8) 8) 8) 8) 8)
โค๊ด: Pascal
  1. PROGRAM YINDEE;
  2. var
  3. tc,tc1:tclientdataset;
  4.  begin
  5.  tc:=tclientdataset.create(nil);
  6.  tc1:=tclientdataset.create(nil);
  7.  tc.data:=hosxp_getdataset('select * from clinicmember where next_app_date="1900-01-01"  order by hn');
  8.  
  9.  while not tc.eof    do
  10.  begin
  11.  tc1.data:=hosxp_getdataset('select nextdate from oapp where hn="'+tc.fieldbyname('hn').asstring+'"  order by oapp_id  desc limit 1');
  12.    tc.edit;
  13.  tc.fieldbyname('next_app_date').asstring:=tc1.fieldbyname('nextdate').asstring;
  14.  tc.post;
  15.  showdebugtext('HN = '+tc.fieldbyname('hn').asstring+'   CLINIC  = '+tc.fieldbyname('clinic').asstring+' >>>>>> '+'  nextdate = '+
  16.  tc1.fieldbyname('nextdate').asstring);
  17.  tc.next;
  18.  
  19.  end;
  20.  if tc.changecount>0 then
  21.  hosxp_updatedelta(tc.delta,'select * from clinicmember where next_app_date="1900-01-01"  order by hn');
  22.  tc1.free;
  23.  tc.free;
  24.  
  25.  showmessage('Process Done');
  26.  
  27.  
  28.  
  29.  end.

แบบที่ 2 ระบุคลินิกเพิ่มเข้าไปใน TC1
โค๊ด: Pascal
  1. PROGRAM YINDEE;
  2. var
  3. tc,tc1:tclientdataset;
  4.  begin
  5.  tc:=tclientdataset.create(nil);
  6.  tc1:=tclientdataset.create(nil);
  7.  tc.data:=hosxp_getdataset('select * from clinicmember where next_app_date="1900-01-01"  order by hn');
  8.  
  9.  while not tc.eof    do
  10.  begin
  11.  tc1.data:=hosxp_getdataset('select nextdate from oapp where hn="'+tc.fieldbyname('hn').asstring+'" and '+
  12.  'clinic="'+tc.fieldbyname('clinic').asstring+'" order by oapp_id  desc limit 1');
  13.    tc.edit;
  14.  tc.fieldbyname('next_app_date').asstring:=tc1.fieldbyname('nextdate').asstring;
  15.  tc.post;
  16.  showdebugtext('HN = '+tc.fieldbyname('hn').asstring+'   CLINIC  = '+tc.fieldbyname('clinic').asstring+' >>>>>> '+'  nextdate = '+
  17.  tc1.fieldbyname('nextdate').asstring);
  18.  tc.next;
  19.  
  20.  end;
  21.  if tc.changecount>0 then
  22.  hosxp_updatedelta(tc.delta,'select * from clinicmember where next_app_date="1900-01-01"  order by hn');
  23.  tc1.free;
  24.  tc.free;
  25.  
  26.  showmessage('Process Done');
  27.  
  28.  
  29.  
  30.  end.
« แก้ไขครั้งสุดท้าย: ตุลาคม 13, 2007, 01:48:25 AM โดย naj »
Yindee And Tan

ออฟไลน์ Khuad

  • Hero Member
  • *****
  • กระทู้: 3,778
  • .. นางฟ้า ตัวไม่น้อยแล้ว ..
  • Respect: +10
    • ดูรายละเอียด
Re: วันนัดครั้งต่อไป ในทะเบียนคลินิกพิเศษ
« ตอบกลับ #2 เมื่อ: ตุลาคม 13, 2007, 08:51:39 AM »
0
 :o :o..อ.นาจ เก่งจัง.. :o :o
โรงพยาบาลวังน้อย   พระนครศรีอยุธยา ( รพช.30 เตียง )
Server : ProLiant DL120G6  Xeon X3450  RDIMM 12 Gb  2x256GB SSD Raid 1
OS : CentOS 6.3  DB : Percona 5.5.21

Slave : ProLiant ML110G6  Xeon X3430  UDIMM 8 Gb  2x300GB SAS Raid 1
OS : CentOS 6.3  DB : Percona 5.5.32

HOSxP version  3.57.xx.xx    เริ่มระบบ  เมษายน 2549

doramon

  • บุคคลทั่วไป
Re: วันนัดครั้งต่อไป ในทะเบียนคลินิกพิเศษ
« ตอบกลับ #3 เมื่อ: ตุลาคม 13, 2007, 09:07:48 AM »
0
สุดยอด  :o :o :o :o

ออฟไลน์ SrWooD

  • Hero Member
  • *****
  • กระทู้: 1,024
  • Respect: +1
    • ดูรายละเอียด
Re: วันนัดครั้งต่อไป ในทะเบียนคลินิกพิเศษ
« ตอบกลับ #4 เมื่อ: ตุลาคม 13, 2007, 10:26:55 AM »
0
สุดยอด ลูกทุ่งครับ
โรงพยาบาลโพธิ์ทอง จังหวัดอ่างทอง

doramon

  • บุคคลทั่วไป
Re: วันนัดครั้งต่อไป ในทะเบียนคลินิกพิเศษ
« ตอบกลับ #5 เมื่อ: ตุลาคม 13, 2007, 10:32:46 AM »
0
แต่แปลงครับผมดูข้อมูลผมแล้วปกติดีครับระบบนัด
แสดงว่าเกิดจากการใช้ version ต่างๆๆ ในแต่ละห้องแน่นอนครับ