กลุ่มตารางสินทรัพย์ถาวร (as_*)
รวมตารางที่ขึ้นต้น as_ ที่ปรากฏในโค้ด backend/internal (SQL แบบ FROM / JOIN / INTO / UPDATE / DELETE FROM และตารางที่ถูกอ้างในสเปคหน้าจอ/ตัวกันลบ/allow-list ไม่รวมไฟล์ test) ตารางทั้งหมดเป็นตารางเดิมของระบบ SMLERP (C#) โค้ดชุดนี้ ไม่มี CREATE TABLE ของ as_* เลย มีเพียง ALTER TABLE ... ADD COLUMN ของ as_asset_maintenance สองคอลัมน์ (service.go:846-847, pool.go:64-65) ระบบสินทรัพย์มี 2 เอกสารที่โปรแกรมนี้เขียน คือ 1801 โอนค่าเสื่อมราคา และ 1802 ขายสินทรัพย์ (ดู รหัสชนิดเอกสาร trans_flag และทิศทางสต็อก (Trans Flag Map)) ตาราง as_trans* เป็น "ตารางเงิน" ตาม moneyTablePattern (write_policy.go:24) ห้ามเขียนผ่านหน้า master ทั่วไป ส่วน master (as_asset*) เขียนผ่านหน้า master ได้เพราะอยู่ใน legacy allow-list (write_policy_legacy.go:15-16) กระบวนการค่าเสื่อมดู ค่าเสื่อมราคาสินทรัพย์ถาวร (Fixed Asset Depreciation)
ตารางที่มีโน้ตแยก
| ตาราง | บทบาท | ผู้เขียนหลัก | โน้ต |
|---|---|---|---|
as_trans |
หัวเอกสารสินทรัพย์ 1801 / 1802 | insertDepDoc fa_depreciation.go:964, insertAssetSaleDoc fa_sale.go:513 |
หัวเอกสารสินทรัพย์ (as_trans) |
as_trans_detail |
บรรทัดเอกสาร (ค่าเสื่อมต่อสินทรัพย์ / รายการขาย) | ตัวเดียวกับหัว | รายการเอกสารสินทรัพย์ (as_trans_detail) |
as_asset |
ทะเบียนสินทรัพย์ (ชื่อ ประเภท สามบัญชี GL) | หน้า master menu_asset_lists master_detail_specs.go:202 |
ทะเบียนสินทรัพย์ (as_asset) |
as_asset_detail |
ข้อมูลซื้อ ประกัน พารามิเตอร์ค่าเสื่อม และฟิลด์ขาย (1 แถวต่อสินทรัพย์) | หน้า master (grid detail) และเอกสารขาย fa_sale.go:551 |
รายละเอียดสินทรัพย์ (as_asset_detail) |
as_asset_type |
master ประเภทสินทรัพย์ (รหัส+ชื่อ) | หน้า master มาตรฐาน | ประเภทสินทรัพย์ (as_asset_type) |
ตารางอื่นในกลุ่ม (ไม่มีโน้ตแยก)
| ตาราง | บทบาท | ที่ใช้ในโค้ด |
|---|---|---|
as_asset_location |
master สถานที่ตั้งสินทรัพย์ (code, name_1) |
สินทรัพย์อ้างผ่าน as_location master_detail_specs.go:210; รายงานแสดงชื่อ report_menu_gl_fa.go:1263, :1567; allow-list write_policy_legacy.go:15; lookup หน้าจอ SmlLookupModal.tsx:108 |
as_asset_maintain |
master รายการซ่อมบำรุง (code, name_1) |
บรรทัดซ่อมอ้าง maintain_code master_detail_specs.go:235; ดึงชื่อมาเติมตอนบันทึก master_detail_specs.go:696; รายงาน report_menu_gl_fa.go:1645; allow-list write_policy_legacy.go:15 |
as_asset_maintain_unit |
master หน่วยนับของรายการซ่อม | บรรทัดซ่อมอ้าง maintain_unit master_detail_specs.go:236; allow-list; lookup SmlLookupModal.tsx:108 |
as_asset_maintenance |
หัวเอกสารซ่อมบำรุงสินทรัพย์: doc_no (คีย์), doc_date, doc_time, doc_format_code, branch_code, side_code, department_code, remark, total_maintain_value (ผลรวมราคาซ่อมที่คำนวณตอนบันทึก) |
หน้า master menu_asset_maintenance master_detail_specs.go:227; prepMaintenance master_detail_specs.go:682; เพิ่มคอลัมน์ doc_time, doc_format_code ตอนเริ่มระบบ service.go:846-847, pool.go:64-65; allow-list |
as_asset_maintenance_detail |
บรรทัดซ่อม: as_code, maintain_code, maintain_name, maintain_unit, maintain_date, maintain_location, maintain_price, remark, line_number |
grid lines master_detail_specs.go:231-233; เป็นตัวกันลบสินทรัพย์ master_detail_specs.go:221; รายงานซ่อมบำรุง report_menu_gl_fa.go:1644 |
as_asset_result |
ผลคำนวณค่าเสื่อมต่อสินทรัพย์ (ที่ระบบเดิมเก็บ) | ถูกลบพร้อมสินทรัพย์เท่านั้น (delChildren master_detail_specs.go:219) ไม่มี SQL อื่น เอนจินค่าเสื่อมใหม่ไม่อ่าน/ไม่เขียนตารางนี้ (เนื้อหาไม่ชัดจากโค้ด) |
as_asset_sale_detail |
รายการขายสินทรัพย์ของระบบเดิม | ใช้เป็นตัวกันลบสินทรัพย์ "มีการบันทึกขายสินทรัพย์นี้แล้ว" (master_detail_specs.go:222) เท่านั้น การขายของโปรแกรมนี้ใช้ as_trans 1802 แทน |
as_asset_retire |
(ไม่ชัดจากโค้ด; ชื่อสื่อถึงการจำหน่าย/ปลดระวาง) | อยู่ใน allow-list อย่างเดียว (write_policy_legacy.go:16) ไม่มี SQL อื่น |
ตารางภายนอกกลุ่มที่เอกสารสินทรัพย์เขียนด้วย
เอกสาร 1802 ยังเขียน gl_journal/gl_journal_detail (หัวสมุดรายวันทั่วไป (gl_journal), รายการบัญชีแยกประเภท (gl_journal_detail)), gl_journal_vat_sale (ทะเบียนภาษีขาย (gl_journal_vat_sale)), gl_wht_list/gl_wht_list_detail (หัวเอกสารหัก ณ ที่จ่าย (gl_wht_list), รายการหัก ณ ที่จ่ายแยกประเภทเงินได้ (gl_wht_list_detail)) และถ้าขายสดจะเขียน cb_trans/cb_trans_detail (หัวสรุปการรับ/จ่ายเงิน (cb_trans), รายละเอียดรับ/จ่ายเงินแยกรายการ (cb_trans_detail)) ลำดับลบ 7-9 ตารางอยู่ที่ fa_sale.go:486-499 ส่วน 1801 เขียนเฉพาะ as_trans, as_trans_detail, gl_journal, gl_journal_detail (fa_depreciation.go:823) กลุ่มตาราง GL ดู กลุ่มตารางบัญชีแยกประเภท (gl_*)
ข้อสังเกตรวม
- เลขที่เอกสารของ
as_transออกผ่านตัวออกเลขกลาง (nextDocNoTablesมีas_transdoc_no_next.go:12) เหมือนic_trans,ap_ar_trans,cb_trans,gl_journal - ความสัมพันธ์สินทรัพย์ → เอกสารใช้
as_trans_detail.item_code=as_asset.codeไม่มี foreign key ในฐาน ตัวกันลบทำด้วยโค้ด (master_detail_specs.go:220-223) - ฟิลด์ที่เอนจินค่าเสื่อมอ่านจริงมีเฉพาะส่วนหนึ่งของ
as_asset_detail(ราคาซื้อ ราคาซาก อายุ วันเริ่ม/สิ้นสุด มูลค่าที่คิด ยอดคงเหลือ ยอดสะสมยกมา) ดู รายละเอียดสินทรัพย์ (as_asset_detail) - หน้าจอเลือกรายการ (lookup modal) อนุญาตตาราง
as_asset,as_asset_type,as_asset_location,as_asset_maintain,as_asset_maintain_unit(SmlLookupModal.tsx:107-108)
ที่มาในโค้ด
backend/internal/application/process/master_detail_specs.go:202specmenu_asset_listsbackend/internal/application/process/master_detail_specs.go:219delChildrenของสินทรัพย์ (as_asset_result)backend/internal/application/process/master_detail_specs.go:221ตัวกันลบสินทรัพย์backend/internal/application/process/master_detail_specs.go:227specmenu_asset_maintenancebackend/internal/application/process/master_detail_specs.go:682prepMaintenancebackend/internal/application/process/fa_depreciation.go:964insertDepDoc(1801)backend/internal/application/process/fa_sale.go:513insertAssetSaleDoc(1802)backend/internal/application/process/fa_sale.go:486deleteAssetSaleDocbackend/internal/application/process/service.go:846ALTERas_asset_maintenancebackend/internal/platform/db/pool.go:64ALTERas_asset_maintenance(ชุดที่สอง)backend/internal/application/process/report_menu_gl_fa.go:1644รายงานซ่อมบำรุงbackend/internal/application/process/doc_no_next.go:12ตารางออกเลขที่ถัดไปbackend/internal/domain/query/write_policy.go:24ตารางเงินbackend/internal/domain/query/write_policy_legacy.go:15allow-listfrontend/account/master/SmlLookupModal.tsx:107lookup ที่อนุญาต