เคยได้ทำการเขียนโปรแกรมที่ทำการซื้อขาย จัดการ หรือ ERP แล้วไม่เคย สะดุดใจเลยว่าราคาเป็นส่วนหนึ่งของ product
รูปร่างหน้าตาการ design เลยออกมาแบบนี้
---------------------------------
PRODUCT
---------------------------------
id
name
detail
color << optional
size << optional
width << optional
height << optional
barcode
type << type_id
buy_price
sale_price
create_datetime
create_by
update_datetime
update_by
---------------------------------
แต่พอคิดอีกที ราคามันแปรผันได้ตลอด ใครจะมานั่งเปลี่ยนให้เนี่ย
แล้วเกิดว่า ถ้าเปลี่ยนขึ้นมาจริง รายการเก่าจะเกิดปัญหาอะไรบ้างเนี่ย อีกมากมาย
ดั้งนั้นเราก็ต้องปล่อยไป เดี๋ยวมีใครโวยวายแล้วก็บอกว่า มีคนแก้ราคา จบข่าว
ไม่ใช่แระ -_-'
ดังนั้น เอาออกไปดีกว่า
---------------------------------
PRODUCT
---------------------------------
id
name
detail
color << optional
size << optional
width << optional
height << optional
barcode
type << type_id
create_datetime
create_by
update_datetime
update_by
---------------------------------
แล้วตอนขาย จะเอาราคาที่ใหนมาแปะ ในใบเสร็จหละ
เอ่อ น่านสิ ก็จำเอาแล้วกัน ^0^ นายนี่ความจำเป็นเลิศจริง ๆ
ก็ทำ table รองรับราคาสิ
---------------------------------
PRODUCT_PRICE
---------------------------------
id
product << product_id
price
currency << currency_id
create_datetime
create_by
expire_datetime
expire_by
---------------------------------
แค่นี้น่าจะพอ แล้วถ้าราคาเปลี่ยนก็เป็นการ insert record เพิ่ม ไม่ใช่ update
ตอนเรียกใช้ก็เรียกลำดับ ล่าสุดมาใช้งาน
- currency คือค่าสนุลเงิน
เพื่อใช้คำนวณเปรียบเทียบเมื่อมีการเปลี่ยนแปลงสกุลเงิน
- expire จะถูกเก็บข้อมูล กรณีมีข้อมูลใหม่เข้ามา หรือ ราคาใหม่เข้ามานั่งเอง
เพียงเท่านี้ก็สามารถเพิ่มเติม item เดิม ในใบรายการเดียวกัน
กรณีราคาเพิ่มในวันถัดไป และสามารถอ้างอิงย้อนหลังได้
ว่าราคาในแต่ละช่วงเป็นเท่าไร
ไม่มีความคิดเห็น:
แสดงความคิดเห็น