วันศุกร์ที่ 31 สิงหาคม พ.ศ. 2555

หลังจากกลับจากโรงพยาบาล 1 เดือนแรก

น้องมิ้ว ลูกเลี้ยงง่ายมากเลยจ้า หนูไม่ร้องโยเย แม่มักจะรูู้สึกตัวตื่นก่อนหนูตลอด เหมือนรู้ว่ามิ้วอยากกินนมแล้ว เดือนแรกนี้ หนูจะตื่นกินนมทุกๆ 2 ชั่วโมงเลย แต่หนูปรับตัวเก่งมากจ้า 






วันอาทิตย์ที่ 17 กรกฎาคม พ.ศ. 2554

บันทึกคุณแม่ 13/12/2510

13/12/2010

ประมาณตีห้าพยาบาลก็มาปลุก ให้เปลี่ยนเสื้อผ้า แล้วก็อะไรอีกจำไม่ได้ละ แต่จำได้ว่าไปนอนรออยู่หน้าห้องผ่า ประมาณ 10 นาที แล้วก็เกิดนึกขึ้นมาว่า เอ... นี่เราจะผ่าท้องคลอดแล้ว จะกลัวดี หรือไม่กลัวดีหว่า ^^ เนื่องมาจาก แม่เราเล่าไว้ว่าตอนแม่จะคลอดกลัวจนช๊อก

พยาบาลเข็นเข้าห้องผ่าตัดตอน 7 โมงเช้า พอเข้าไปในห้อง ก็จะมีผู้ช่วยพยาบาลเค้ามาย้ายเราไปนอนที่เตียงผ่า แล้วก็จะมีคนมาวัดความดัน ได้ 170 คุณหมอที่เค้าจะบล๊อกหลังเราก็ชวนเราคุย ว่าตื่นเต้นเหรอ เราก็ว่าค่ะ (แหม! คนไม่เคยผ่าตัดนี่นา อีกอย่างกลัวฉีดยาด้วย) ว่าแล้วหมอเค้าก็ให้เรานอนงอตัวให้มากๆ เพราะจะบล๊อกหลัง ต้องฉีดยา

Happy Birth Day ลูกรัก หนูเกิดเวลา 7.15 น.


แม่เห็นหนูครั้งแรกจ้า



บันทึกคุณแม่ 12/12/2510

จะว่าไปมันก็เป็นเรื่องที่ผ่านมาประมาณ 7 เดือนกว่าๆ ได้แล้ว แต่ขอรำลึกความหลังหน่อย เดี๋ยวแก่ไปจะจำไม่ได้ เรื่องที่จะเล่ามันก็เป็นประสบการณ์ของการเป็นแม่นั่นเอง

หลังจากที่อุ้มท้องมา 35 สัปดาห์ ทางคุณหมอก็เห็นว่าเรานี่ความดันสูงขึ้นทุกทีๆ มันอันตรายนะ หมอบอกว่าให้พักผ่อนมากๆ ไม่งั้นจะเป็นอันตรายทั้งแม่ทั้งลูก ไอ้เราก็รู้สึกปกติดี แต่ทำไมหมอว่างั้นหว่า?

แต่ก็ช่างเถอะ เชื่อหมอ อุตส่าห์ถ่อไปฝากท้องถึง 'นวบุตร' ได้ฝากท้องกับคุณหมอคนดังอย่างคุณหมอบุญชัย เอื้อไพโรจน์กิจ ก็ต้องเชื่อหมอ คุณหมอเค้าว่าให้พักผ่อนก็พัก งานการไม่ต้องทำกัน เราก็พักไปเลย 1 อาทิตย์ แต่ก็ทำงานอยู่ที่บ้าน ไม่ลงจากชั้น 3 เนื่องจากกลัวความดันขึ้น คุณสามีก็เป็นห่วงไปซื้อที่วัดความดันมาวัด ตื่นเช้าก็วัด สายๆ หน่อยก็วัด เที่ยงก็วัด เพื่อจะลองดูว่าความดันมันสวิงมั๊ย ก็ได้ประมาณ 135-140

ผ่านไป 1 อาทิตย์ (36 สัปดาห์) หมอก็นัดติดตามอาการ พอไปวันที่คลีนิก หมอก็ว่าเราความดันสูงอยากให้รีบผ่าเลย ไม่อยากให้ไว้นาน เนื่องจากความดันสูง เดี๋ยวครรภ์เป็นพิษจะเป็นอันตรายทั้งแม่ทั้งลูก เราก็กลัวว่าลูกจะยังไม่แข็งแรง ก็อยากจะยื้อ ต่อ ก็ถามหมอว่า แล้วลูกสมบูรณ์ดี แข็งแรงพอแล้วเหรอคะ เราบอกหมอว่าเป็นห่วงลูก หมอก็บอกว่า 'ผมน่ะ เป็นห่วงทั้งแม่ทั้งลูก เมื่อวานผมเจอเคส แบบนี้แหละ แม่เข้า ICU นะรู้มั๊ย มันไม่คุ้มกันหรอก คุณไม่รู้ว่ามันอันตรายขนาดไหน' (เออ! ค่ะ หมอ เรามันก็ไม่รู้จริงๆ เพราะเราก็รู้สึกปกติสุดๆ อยากรอให้ถึงกำหนดคลอดด้วยซ้ำ กำหนดคลอด 1/1/2011) แล้วหมอก็บอกว่า เมียผมน่ะ คลอดลูกออกมาหนักแค่ 2.6 KG (ประมาณนี้แหละมั๊ง เราก็จำไม่ถนัด แต่ไม่ถึง 3 KG) นี่ลูกคุณหนักตั้ง 3 KG ตั้งแต่ 35 สัปดาห์ นัดผ่าได้แล้ว

เอาวะ ผ่าก็ผ่า เราก็ชวนสามีไปดูฤกษ์ ที่น่ำเอี๊ยง ซินแส ก็ให้ฤกษ์ มา 4 วัน เราก็เลือกเอาวันจันทร์ที่ 13 ธันวาคม 2510 ฤกษ์ตั้งแต่ 6.59 - 9.59 ก็บอกหมอไป เราก็เลือกคลอดที่ BNH เพราะเพื่อนคลอดที่นี่แล้วว่าดี และสนันสนุนให้เลี้ยงลูกด้วยนมแม่ด้วย

ก่อนไปโรงพยาบาล สังเกต ท้องใหญ่มาก

ถึงโรงพยาบาลแล้วก่อนนอน ต้องเก็บปัสสาวะไปตรวจ นัดผ่าพรุ่งนี้ 7 โมงเช้า

บรรยากาศในห้องพัก

โต๊ะทานข้าว

ซิงค์ล้างจาน ตู้เย็น ตู้เสื้อผ้า ฝั่งตรงข้ามเป็นห้องน้ำ

นี่เป็นห้องในแพ็คเก็จเลย เราเลือกแพ็คเก็จผ่าคลอดก็ 55,000.- นอน 3 คืน 4 วัน ไม่นับวันที่รอผ่าอีก 1 คืนก็คือคืนนี้ เพราะเราผ่าเช้า ก็ได้นอนฟรี 1 คืน เช้าก็เข้าห้องผ่าเลย








วันศุกร์ที่ 28 สิงหาคม พ.ศ. 2552

เพิ่ม Void กับ Reverse ให้กับ Invoice Batch ของ BAN-PAN ERP

แก้ไขที่ไฟล์ DocumentEngine.java ที่ base\src\org\compiere\process\
บรรทัดที่ 963

/******************** * Invoice */
else if (AD_Table_ID == MInvoice.Table_ID AD_Table_ID == MInvBatch.Table_ID) {
if (docStatus.equals(DocumentEngine.STATUS_Completed)) {
options[index++] = DocumentEngine.ACTION_Void;
options[index++] = DocumentEngine.ACTION_Reverse_Correct;
}
}


ทำให้ข้อความที่แสดงข้างล่างของหน้า Order และ Invoice มีการแสดงค่าภาษี

To คุณเหมย เรื่อง : แก้ไข Source Code วันที่ 26/8/52
ปัญหาที่แก้ไข : ทำให้ข้อความที่แสดงข้างล่างของหน้า Order และ Invoice มีการแสดงค่าภาษี

วิธีการแก้:

1. แก้ไขไฟล์ Gridtab.java ใน org.compiere.model

2. ต้องแก้ Message ในระบบ Adempiere ด้วย เพื่อให้รับค่าไปแสดงได้ถูกต้อง โดยค้นหา Key ชื่อ "OrderSummary" แล้วแก้ MessageText เป็น{0} Line(s) - {1,number,#,##0.00} - Tax: {5,number,#,##0.00} - Total: {2,number,#,##0.00} {3} = {4,number,#,##0.00}

3. แก้ส่วนของ Tab "Translation" ภาษาไทยให้เหมือนกันด้วย{0} รายการ - {1,number,#,##0.00} - ภาษี: {5,number,#,##0.00} - ทั้งหมด: {2,number,#,##0.00} {3} = {4,number,#,##0.00}

เวท

ผู้ Contribute คือ คุณเวทค่ะ ขอขอบคุณค่ะ

วันอาทิตย์ที่ 9 สิงหาคม พ.ศ. 2552

Update isDelivered in C_Oder

ขณะนี้ Adempiere 3.5.3a ไม่สนับสนุนเรื่อง isDelivered เนื่องจาก เมื่อมีการนำสินค้ามาส่งแล้ว ยังไม่มีการมาอัพเดทสถานะของ isDelivered ใน C_Order เลย เราจึงทำการแก้ไขดังนี้ โดยเพิ่มฟังกซ์ ชั่นเข้าไปเช็คค่าใน C_OrderLine ว่าถ้า QtyDelivered == QtyOdered แล้ว ให้อัพเดทสถานะ isDelivered เป็น Y

/** * Update isDelivered
* @return true if header updated
*/
private boolean updateIsDelivered() {

String sql = "SELECT COALESCE(SUM(QtyDelivered),0) as QtyDelivered, COALESCE(SUM(QtyOrdered),0) as QtyOrdered " +
" FROM C_OrderLine il WHERE i.C_Order_ID=" + getC_Order_ID();

Boolean isDelivered = false;

try {
PreparedStatement pstmt = DB.prepareStatement(sql, null);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) { //
BigDecimal QtyDelivered = rs.getBigDecimal("QtyDelivered");
BigDecimal QtyOrdered = rs.getBigDecimal("QtyOrdered");
if (QtyDelivered.subtract(QtyOrdered) == Env.ZERO) {
isDelivered = true;
}
}
rs.close();
pstmt.close();
}
catch (SQLException e) {
log.log(Level.SEVERE, sql, e);
return false;
}

if (isDelivered) {
sql = "UPDATE C_Order SET isDelivered = 'Y' WHERE C_Order_ID = " +
getC_Order_ID();
int no = DB.executeUpdate(sql, get_TrxName());
}
return true;


}

วันอังคารที่ 7 กรกฎาคม พ.ศ. 2552

java.lang.NullPointerException at org.compiere.model.MOrderLine.(MOrderLine.java:134)

===========> MTable.getPO: (id) - Table=C_OrderLine,Class=class org.compiere.model.MOrderLine [11]java.lang.NullPointerException at org.compiere.model.MOrderLine.(MOrderLine.java:134) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at org.compiere.model.MTable.getPO(MTable.java:517) at org.compiere.model.GridTable.dataSavePO(GridTable.java:1735) at org.compiere.model.GridTable.dataSave(GridTable.java:1166) at org.compiere.model.GridTab.dataSave(GridTab.java:864) at org.compiere.apps.APanel.cmd_save(APanel.java:1927) at org.compiere.apps.APanel.actionPerformed(APanel.java:1583) at org.compiere.apps.AppsAction.actionPerformed(AppsAction.java:281) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231) at java.awt.Component.processMouseEvent(Component.java:5517) at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)


แก้ไข: ที่ source code ไปดูที่ MOrderLine.java บรรทัดที่ 134 ว่า NullPointerException เพราะเหตุใด
เมื่อไปดูจะพบ
setDateOrdered (m_parent.getDateOrdered());

สาเหตุน่าจะมาจาก m_parent มีค่าเป็น null ณ ขณะที่ถูกเรียกใช้

ให้ทำการแก้ไข code โดย comment code เดิมไว้ และแก้ไขเป็นดังนี้
// Fixed: NullPointerException 090702 Sureeraya.
// setDateOrdered (m_parent.getDateOrdered());
setDateOrdered (getParent().getDateOrdered());