ข้อมูลพื้นฐาน

ชื่อ API
document.type.get
ชื่อเมธอด
upDocumentTypeCROSS
ตารางเป้าหมาย
ERP_ORDERTYPEDEF
โหนด JSON
document_data
Primary Key
doc_type + doc_type_no (รวม)
ตำแหน่งโปรแกรม
RegularESB.java:2949

พารามิเตอร์คำขอ

ฟิลด์ประเภทจำเป็นคำอธิบาย
doc_typeStringจำเป็นประเภทเอกสาร (เช่น MO, WO, SO)

ฟิลด์การตอบกลับ

ฟิลด์ ERPฟิลด์ MESคำอธิบาย
doc_type_nodoc_type_noรหัสประเภทเอกสาร (Primary Key รวม)
doc_type_namedoc_type_nameชื่อประเภทเอกสาร
statusstatusรหัสสถานะ
auto_numberingauto_numberingเลขอัตโนมัติหรือไม่
op_controlop_controlใช้การจัดการกระบวนการ (Y/N)

ตัวอย่างการตอบกลับ

{
  "document_data": [
    {
      "doc_type_no": "5101",
      "doc_type_name": "ใบสั่งผลิตทั่วไป",
      "status": "Y",
      "auto_numbering": "Y",
      "op_control": "Y"
    },
    {
      "doc_type_no": "5102",
      "doc_type_name": "ใบสั่งผลิตจ้างภายนอก",
      "status": "Y",
      "auto_numbering": "Y",
      "op_control": "N"
    }
  ]
}

ตรรกะการประมวลผล

การออกแบบ Primary Key รวม
ใช้ doc_type (ประเภทเอกสาร จากพารามิเตอร์คำขอ) + doc_type_no (รหัสประเภทเอกสาร) เป็น Primary Key รวม

ตัวอย่าง: doc_type='MO' + doc_type_no='5101' = ประเภทใบสั่งผลิต "ใบสั่งผลิตทั่วไป"
การป้องกันไม่มีข้อมูล
เมื่อ ERP ไม่มีข้อมูลตรงตามเงื่อนไข โครงสร้างที่ส่งกลับจะไม่มีโหนด document_data โปรแกรมจะตรวจสอบและส่งคืนสำเร็จ (no data from ERP) เพื่อหลีกเลี่ยงข้อผิดพลาด

SQL อัปเดตฐานข้อมูล

ตรวจสอบเพิ่มหรือแก้ไข

SELECT COUNT(1) FROM ERP_ORDERTYPEDEF WITH (NOLOCK)
WHERE doc_type = N'{doc_type}' AND doc_type_no = N'{doc_type_no}'
-- count > 0 → UPDATE, count = 0 → INSERT

INSERT (เพิ่มประเภทเอกสาร)

INSERT INTO ERP_ORDERTYPEDEF (
    doc_type, doc_type_no, status,
    doc_type_name, auto_numbering, op_control
) VALUES (
    :doc_type,          -- ประเภทเอกสาร (พารามิเตอร์คำขอ)
    :doc_type_no,       -- รหัสประเภทเอกสาร
    :status,            -- รหัสสถานะ
    :doc_type_name,     -- ชื่อประเภทเอกสาร
    :auto_numbering,    -- เลขอัตโนมัติหรือไม่
    :op_control         -- ใช้การจัดการกระบวนการ (ค่าเริ่มต้น 'N')
)

UPDATE (แก้ไขประเภทเอกสาร)

UPDATE ERP_ORDERTYPEDEF SET
    status = :status,
    doc_type_name = :doc_type_name,
    auto_numbering = :auto_numbering,
    op_control = :op_control
WHERE doc_type = :doc_type AND doc_type_no = :doc_type_no
ค่าเริ่มต้นของฟิลด์
ถ้า ERP ไม่ส่งคืนฟิลด์ต่อไปนี้ จะใช้ค่าเริ่มต้นอัตโนมัติ:
• status = '' (สตริงว่าง)
• doc_type_name = '' (สตริงว่าง)
• auto_numbering = '' (สตริงว่าง)
• op_control = 'N'