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

ชื่อ API
item.supplier.get
ชื่อเมธอด
upItemSupplierCROSS
ตารางเป้าหมาย
material_catalog
โหนด JSON
item_supplier_data
Primary Key
material_id (item_no)
ตำแหน่งโปรแกรม
RegularESB.java:4225

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

ฟิลด์ ERPฟิลด์ MESคำอธิบาย
item_nomaterial_idรหัสสินค้า (Primary Key)
modify_no-ผู้แก้ไข
tran_statusTRAN_STATUSสถานะธุรกรรม

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

{
  "item_supplier_data": [
    {
      "item_no": "MAT001",
      "modify_no": "USER001",
      "tran_status": "AU"
    }
  ]
}

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

ขึ้นอยู่กับตาราง ITEM
API นี้จะค้นหาตาราง ITEM ก่อนเพื่อรับข้อมูลชื่อสินค้า (NAME), ข้อมูลจำเพาะ (DESCRIPTION), หน่วย (UNIT) หากไม่มีรหัสสินค้านั้นในตาราง ITEM จะข้ามข้อมูลนั้น (continue)

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

ค้นหาเบื้องต้นจากตาราง ITEM

-- รับข้อมูลพื้นฐานของรหัสสินค้าก่อน
SELECT NAME, DESCRIPTION, UNIT FROM ITEM WHERE ID = :item_no

-- ถ้า ITEM ไม่มีอยู่ จะข้าม (continue)

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

SELECT COUNT(1) FROM material_catalog WHERE material_id = N'{item_no}'
-- count > 0 → UPDATE, count = 0 → INSERT

INSERT (เพิ่มผู้จัดหาวัสดุ)

INSERT INTO material_catalog (
    material_id, material_name, norm, unit_no,
    operation_id, operation_name, oper_date, oper_id,
    mc01, mc02, mc03, mc04
) VALUES (
    :material_id,
    :material_name,        -- รับจาก ITEM.NAME
    :norm,                 -- รับจาก ITEM.DESCRIPTION
    :unit_no,              -- รับจาก ITEM.UNIT
    :operation_id,
    :operation_name,
    N'{เวลาปัจจุบัน}',
    :oper_id,
    :mc01, :mc02, :mc03, :mc04
)

UPDATE (แก้ไขผู้จัดหาวัสดุ)

UPDATE material_catalog SET
    material_name = :material_name,
    norm = :norm,
    unit_no = :unit_no,
    operation_id = :operation_id,
    operation_name = :operation_name,
    mc01 = :mc01,
    mc02 = :mc02,
    mc03 = :mc03,
    mc04 = :mc04
WHERE material_id = :material_id