BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: prapan ที่ มิถุนายน 19, 2009, 15:25:40 PM

หัวข้อ: key violation บันทึกยามีปัญหา
เริ่มหัวข้อโดย: prapan ที่ มิถุนายน 19, 2009, 15:25:40 PM
1. เวลาทำการบันทึกจะมี error  key violation
2. บันทึกยาแล้ว วิธีการใช้ไม่แสดง
3. ไม่สามารถแก้ไขข้อมูลยาได้เลย ข้อมูลจะกลับมาเหมือนเดิมหมด
หัวข้อ: Re: key violation บันทึกยามีปัญหา
เริ่มหัวข้อโดย: ไม่เสียสละ ชัยชนะไม่เกิด ที่ มิถุนายน 19, 2009, 15:32:59 PM
ลอง เอาหน้าจอที่ Eror ส่งให้ดูด้วยครับ
หัวข้อ: Re: key violation บันทึกยามีปัญหา
เริ่มหัวข้อโดย: วีระวัฒน์ (เอก) ที่ มิถุนายน 21, 2009, 11:35:07 AM
เป็น bug ของ Version 3.51.12.26 ครับ ต้องทำการ upgrade เป็น Version ใหม่กว่า อย่างน้อย 3.52.1.16 ครับ  และมีบางรายการยา ที่ใส่คำ สงวนใว้ครับ ได้แก้  '  "    (เครื่องหมายฟันหนู 1 อัน 2 อัน)  เข้าวันจันทร์ 10.00 น. จะ remote มาช่วยดูให้
หัวข้อ: Re: key violation บันทึกยามีปัญหา
เริ่มหัวข้อโดย: udomchok ที่ พฤศจิกายน 03, 2011, 23:33:02 PM
วันนี้เจอคำถามเกี่ยวกับปัญหานี้เหมือนกันครับ
ว่าจะ post ใหม่ เลยลองค้นดูก่อนเผื่อมาใครเจอ แต่กระทู้เก่าไปหน่อยครับ คงจะคนละปัญหา หรือปัญหาคนละแบบ

เริ่มจากเพื่อนผมอยู่ที่บ้านลาดเพชรบุรี โทร.มาหาแต่เช้า ถามว่าบันทึกยาแล้วเกิด error key violation ขึ้นจะแก้ยังไง ผมก็เลยขอ remote ไปดูปัญหาที่เกิดขึ้น แล้วก็ copy เอาข้อมูลเขา (drugitems, s_drugitems, drughint) มาลองทำที่เครื่องของผม ก็ยังเจอปัญหาเดียวกัน

สุดท้ายก็แก้ปัญหาได้ครับ
อ้างถึง
ผมแก้ปัญหาเรื่อง key violation ตอน save ข้อมูลยาให้แล้ว
ผมได้ลง HOSxP 3.54.11.2 เพื่อให้แน่ใจว่าไม่ไดเป็นปัญหาที่ version แต่ยังไม่ได้ทำการ upgrade structure ใด ๆ นะครับ
ซึ่งพบว่า เมื่อลง 3.54.11.2 ก็ยังเจอปัญหาเดิมอีก
ผมเลยไปดูที่ error อีกครั้ง โดยปักใจเชื่อในเรื่องข้อมูล drughint ครับ ว่ามีปัญหา โดยดูจาก error ที่เกิดขึ้น
select * from drughint where hc=100
ซึ่งสมมุติฐานของผมเป็นจริง
ผมพบว่า drughint มีข้อมูลที่คาดว่าจะซ้ำกันคือ

0100 เก็บให้พ้นแสง VS 100 เคี้ยวยาให้ละเอียดก่อนกลืน
0101 ยาละลายลิ่มเลือด VS 101 ทาบางๆ เฉพาะบริเวณที่เป็น

พอผมลองแก้ไข 0100 เป็น 0111 และ 0101 เป็น 0112 ก็สามารถ save ข้อมูลได้ โดยไม่เกิด error ใด ๆ
ตอนนี้คงต้องตามไปแก้ไขข้อมูลในตาราง drugitems ที่มี hintcode เดิม 0100 แก้ไขเป็น 0111 และเดิมเป็น 0101 แก้ไขเป็น 0112
และควรแก้ไขให้เป็น 4 หลักทั้งหมด ป้องกันการสับสนครับ

คืนนี้ลอง upgrade structure นะครับ จะใช้ 3.54.10.6 หรือ 3.54.11.2 ก็แล้วแต่
ผมเห็นว่าควรใช้ 3.54.11.2 เลย เพราะแก้ปัญหาไปหลายเรื่อง รวมทั้งเรื่องส่ง 18/21 แฟ้ม ปี 55 ด้วย

แต่ทุกเครื่องควร up ตามทั้งหมดนะครับ

เอามาเล่าให้ฟังเผื่อใครเจอปัญหาแบบนี้

ขยายความต่ออีกนี้นึง version หลัง ๆ ข้อมูลใน column hc ของตาราง drughint จะใช้เป็น 4 หลักนะครับ

update drughint set hc=right(concat("0000",hc),4)
update drugitems set hintcode=right(concat("0000",hintcode),4) where hintcode is not null or hintcode <> ""
หัวข้อ: Re: key violation บันทึกยามีปัญหา
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ พฤศจิกายน 03, 2011, 23:36:05 PM
hc  อะไรครับ..High Cost หรือว่าอย่างอื่น...ยังไม่เข้าใจระบบยาครับพี่.. ??? ???
หัวข้อ: Re: key violation บันทึกยามีปัญหา
เริ่มหัวข้อโดย: เข้ม ที่ พฤศจิกายน 04, 2011, 00:57:49 AM
hc  อะไรครับ..High Cost หรือว่าอย่างอื่น...ยังไม่เข้าใจระบบยาครับพี่.. ??? ???

hc = hintcode ครับพี่เกื้อ ง่าย ๆ ก็คือ รหัสคำไบ้ ดูจากพี่กู  ;D ;D
ถ้าดูจากของ อ.โก้ ก็น่าจะประมาณว่า เป็นพวกคำเตือนอะไรทำนองเนี้ยะ ... หรือป่าว  ;D
หัวข้อ: Re: key violation บันทึกยามีปัญหา
เริ่มหัวข้อโดย: udomchok ที่ พฤศจิกายน 04, 2011, 02:18:17 AM
hc  อะไรครับ..High Cost หรือว่าอย่างอื่น...ยังไม่เข้าใจระบบยาครับพี่.. ??? ???
อย่ามาเนียน....ไม่เชื่อ  ;D ;D ;D ;D
hc อยู่ในตาราง drughint
ใช้ในช่อง "ฉลากช่วย" ของข้อมูลยาครับ
หัวข้อ: Re: key violation บันทึกยามีปัญหา
เริ่มหัวข้อโดย: udomchok ที่ พฤศจิกายน 07, 2011, 16:02:57 PM
update drughint set hc=right(concat("0000",hc),4)
update drugitems set hintcode=right(concat("0000",hintcode),4) where hintcode is not null or hintcode <> ""

สามารถใช้ function lpad [LPAD] ตามที่ อ.อ๊อด สอนไว้ก็ได้ครับ
update drughint set hc=lpad(hc,4,"0000")
update drugitems set hintcode=lpad(hintcode,4,"0000") where hintcode is not null or hintcode <> ""