| รายการ | คำอธิบาย |
|---|---|
| ชื่อ API ภาษาไทย | สร้างข้อมูลใบรับสินค้าจ้างผลิต (ใบรับสินค้าจากภายนอก) |
| รหัส CROSS API | outsourcing.purchase.stockin.create |
| ชื่องาน MES | outsourcingPurchaseStockinCreate |
| เส้นทาง ESB | /outsourcingPurchaseStockinCreate |
| อ้างอิง DSMS | api-2062 / vid-4462 |
| ทิศทางการเรียก | MES → ERP |
| เงื่อนไขทริกเกอร์ | TRANSTYPE = "59" |
| รูปแบบ Request | JSON (Content-Type: application/json) |
| วิธีการส่ง | HTTP POST ผ่าน ESB |
| ซิงโครนัส/อะซิงโครนัส | เรียกแบบซิงโครนัส |
TransOrderDataToJson.java:648SendFormSbyJson.transferFormToJson()SendFormElementbyJson.getTransferFormHead/Body()XmlToERP_handler.sendToErpByESB()Content-Type: application/json (HttpClient.java:25)
| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย | แหล่ง MES |
|---|---|---|---|---|
| companyID | string | Y | รหัสบริษัท | COMPANYID |
| userId | string | Y | พนักงานผู้ดำเนินการ | CONFIRMER |
| doAction | string | Y | 2=ใบโอน | DOACTION |
| docase | string | Y | 1=เพิ่ม | DOCASE |
| head | object | Y | ข้อมูลส่วนหัว | - |
| line | array | Y | รายละเอียดรายการ | - |
| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย | แหล่ง MES |
|---|---|---|---|---|
| transferType | string | Y | ประเภทใบโอน (59=จ้างผลิต) → ERP: doc_type_no | TRANSTYPE |
| date | string | Y | วันที่เอกสาร YYYY-MM-DD → ERP: receipt_date | TRANSDATE |
| moveOutType | string | Y | ประเภทการย้ายออก | OUTTYPE |
| moveOutCode | string | Y | รหัสย้ายออก → ERP: supplier_no | OUTDEPID |
| moveInType | string | Y | ประเภทการย้ายเข้า | INTYPE |
| moveInCode | string | Y | รหัสย้ายเข้า (คลังสินค้า) | INDEPID |
| factoryCode | string | Y | รหัสโรงงาน | FACTORYID |
| remark | string | N | หมายเหตุ → ERP: remark | COMMENT |
| create | string | N | พนักงานผู้ดำเนินการ → ERP: operator_no | CONFIRMER |
| eMESTransferType | string | Y | ประเภทใบ MES | TRANSTYPE |
| eMESTransferCode | string | Y | หมายเลขใบ MES | TRANSNO |
| source_no | string | Y | หมายเลขต้นทาง (ประเภท MES-หมายเลข) | eMESTransferType + "-" + eMESTransferCode |
| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย | แหล่ง MES |
|---|---|---|---|---|
| moType | string | Y | ประเภทใบสั่งผลิต (รวมเป็น ERP: wo_no) | MOTYPE |
| moCode | string | Y | หมายเลขใบสั่งผลิต (รวมเป็น ERP: wo_no) | MONO |
| moveOutOpSeq | string | Y | ลำดับขั้นตอนย้ายออก | OUTOPSEQ |
| moveOutOpId | string | Y | ขั้นตอนย้ายออก → ERP: op_no (Head) | OUTOP |
| qty | decimal | Y | จำนวน → ERP: qty | TRANSQTY |
| unit | string | Y | หน่วย → ERP: unit_no | UNIT |
| batchCode | string | Y | หมายเลขล็อต → ERP: lot_no | LOTNO |
| prodCode | string | Y | รหัสสินค้า → ERP: item_no | ITEMID |
| acceptanceQty | decimal | N | จำนวนที่รับ → ERP: receipt_qty | TL002 |
| inspectionReturnQty | decimal | N | จำนวนคืนตรวจสอบ → ERP: return_qty | TL003 |
| scrapQty | decimal | N | จำนวนเสีย → ERP: scrap_qty | SCRAPQTY |
| valuationQty | decimal | N | จำนวนคำนวณราคา → ERP: valuation_qty | VALUATIONQTY |
| moveInLocation | string | N | ตำแหน่งย้ายเข้า → ERP: storage_spaces_no | INSTORAGESPACE |
| remark | string | N | หมายเหตุ → ERP: body_remark | NOTE |
| outSourceType | string | N | ประเภทใบจ้างผลิต | OUTORDERTYPE |
| outSourceCode | string | N | หมายเลขใบจ้างผลิต | OUTORDERNO |
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| code | int | 200=สำเร็จ, อื่นๆ=ล้มเหลว |
| msg | string | ข้อความผลลัพธ์ |
| TB001 | string | ประเภทใบ ERP → บันทึกลง TL011 |
| TB002 | string | หมายเลขใบ ERP → บันทึกลง TL012 |
| # | รายการตรวจสอบ | กฎ | ตำแหน่งโปรแกรม |
|---|---|---|---|
| 1 | ตรวจสอบ TRANSTYPE | = "59" ถึงจะใช้ API จ้างผลิต | TransOrderDataToJson.java:648 |
| 2 | ตรวจสอบ TO013 | = 1 ถึงจะส่ง ERP | TransOrderDataToJson.java:612 |
| 3 | มีข้อมูลรายละเอียด | SFT_TRANSORDER_LINE_GRID ต้องไม่ว่าง | TransOrderDataToJson.java:609 |
| 4 | การเชื่อมต่อ ERP | SFTConfig.isHasERP() = true | TransOrderDataToJson.java:646 |
| รหัส | ข้อความ | คำอธิบาย |
|---|---|---|
| E001 | ขาดฟิลด์ที่จำเป็น | Request ขาดฟิลด์ที่จำเป็น |
| E002 | ไม่พบใบสั่งผลิตจ้างผลิต | MOTYPE-MONO ไม่ถูกต้อง |
| E003 | สถานะใบสั่งผลิตจ้างผลิตไม่อนุญาต | ใบสั่งผลิตถูกปิดหรือยกเลิกแล้ว |
| E004 | จำนวนต้องมากกว่าศูนย์ | qty ≤ 0 |
| E005 | จำนวนเกินยอดคงเหลือ | เกินจำนวนที่สามารถรับเข้าได้ |
| E999 | ข้อผิดพลาดระบบ | Timeout, ข้อผิดพลาดการเชื่อมต่อ |
{
"companyID": "COMP01",
"userId": "EMP001",
"doAction": "2",
"docase": "1",
"head": {
"transferType": "59", // → ERP: doc_type_no
"date": "2026-03-19", // → ERP: receipt_date
"moveOutType": "1",
"moveOutCode": "OS001", // → ERP: supplier_no
"moveInType": "2",
"moveInCode": "FG01",
"factoryCode": "P001",
"remark": "รับสินค้าจ้างผลิต", // → ERP: remark
"create": "EMP001", // → ERP: operator_no
"eMESTransferType": "59",
"eMESTransferCode": "T20260319001"
},
"line": [{
"moType": "5101",
"moCode": "20260319001",
"moveOutOpSeq": "0020",
"moveOutOpId": "OS-OP", // → ERP Head: op_no
"qty": 100, // → ERP: qty
"unit": "PCS", // → ERP: unit_no
"batchCode": "LOT20260319001", // → ERP: lot_no
"prodCode": "FG-A001-001", // → ERP: item_no
"acceptanceQty": 98, // → ERP: receipt_qty (จำนวนที่รับ)
"inspectionReturnQty": 1, // → ERP: return_qty (จำนวนคืนตรวจสอบ)
"scrapQty": 1, // → ERP: scrap_qty (จำนวนเสีย)
"valuationQty": 98, // → ERP: valuation_qty (จำนวนคำนวณราคา)
"moveInLocation": "A-01-01", // → ERP: storage_spaces_no
"remark": "คุณภาพดี", // → ERP: body_remark
"outSourceType": "5902",
"outSourceCode": "20260319001"
}]
}
{
"code": 200,
"msg": "สร้างใบรับสินค้าจ้างผลิตสำเร็จ",
"TB001": "5902",
"TB002": "20260319001"
}
{
"code": 500,
"msg": "ไม่พบใบสั่งผลิตจ้างผลิต 5101-20260319999"
}