繁體中文 English Tiếng Việt ภาษาไทย

Tạo dữ liệu phiếu nhận hàng gia công

outsourcing.purchase.stockin.create
POST JSON Đồng bộ

1. Thông tin cơ bản

MụcMô tả
Tên API tiếng TrungTạo dữ liệu phiếu nhận hàng gia công (Phiếu nhập hàng ủy thác)
CROSS API Codeoutsourcing.purchase.stockin.create
MES taskNameoutsourcingPurchaseStockinCreate
Đường dẫn ESB/outsourcingPurchaseStockinCreate
Tham khảo DSMSapi-2062 / vid-4462
Hướng gọiMES → ERP
Điều kiện kích hoạtTRANSTYPE = "59"
Định dạng RequestJSON (Content-Type: application/json)
Phương thức truyềnHTTP POST qua ESB
Đồng bộ/Bất đồng bộGọi đồng bộ

2. Quy trình nghiệp vụ

Xuất trạm gia công Phán đoán TRANSTYPE = "59" Tổ hợp JSON Gọi ERP qua ESB Ghi lại TL011/TL012 Vị trí chương trình: TransOrderDataToJson.java:648
Tương ứng mã nguồn
  • Định tuyến: TransOrderDataToJson.java:648
  • Tổ hợp JSON: SendFormSbyJson.transferFormToJson()
  • Ánh xạ trường: SendFormElementbyJson.getTransferFormHead/Body()
  • Truyền HTTP: XmlToERP_handler.sendToErpByESB()

3. Quy cách Request

Định dạng truyền tải: JSON
Content-Type: application/json (HttpClient.java:25)

3.1 Cấu trúc ngoài

TrườngLoạiBắt buộcMô tảNguồn MES
companyIDstringYMã công tyCOMPANYID
userIdstringYNhân viên thao tácCONFIRMER
doActionstringY2=Phiếu điều chuyểnDOACTION
docasestringY1=Thêm mớiDOCASE
headobjectYDữ liệu header-
linearrayYChi tiết-

3.2 Header (head)

TrườngLoạiBắt buộcMô tảNguồn MES
transferTypestringYLoại phiếu điều chuyển (59=Gia công) → ERP: doc_type_noTRANSTYPE
datestringYNgày chứng từ YYYY-MM-DD → ERP: receipt_dateTRANSDATE
moveOutTypestringYLoại xuấtOUTTYPE
moveOutCodestringYMã xuất → ERP: supplier_noOUTDEPID
moveInTypestringYLoại nhậpINTYPE
moveInCodestringYMã nhập (Kho)INDEPID
factoryCodestringYMã nhà máyFACTORYID
remarkstringNGhi chú → ERP: remarkCOMMENT
createstringNNhân viên thao tác → ERP: operator_noCONFIRMER
eMESTransferTypestringYLoại MESTRANSTYPE
eMESTransferCodestringYSố MESTRANSNO
source_nostringYSố nguồn (Loại MES-Số)eMESTransferType + "-" + eMESTransferCode

3.3 Chi tiết (line) - Mảng

TrườngLoạiBắt buộcMô tảNguồn MES
moTypestringYLoại lệnh SX (kết hợp thành ERP: wo_no)MOTYPE
moCodestringYSố lệnh SX (kết hợp thành ERP: wo_no)MONO
moveOutOpSeqstringYSố thứ tự công đoạn xuấtOUTOPSEQ
moveOutOpIdstringYCông đoạn xuất → ERP: op_no (Head)OUTOP
qtydecimalYSố lượng → ERP: qtyTRANSQTY
unitstringYĐơn vị → ERP: unit_noUNIT
batchCodestringYSố lô → ERP: lot_noLOTNO
prodCodestringYMã sản phẩm → ERP: item_noITEMID
acceptanceQtydecimalNSố lượng nghiệm thu → ERP: receipt_qtyTL002
inspectionReturnQtydecimalNSố lượng trả kiểm → ERP: return_qtyTL003
scrapQtydecimalNSố lượng phế phẩm → ERP: scrap_qtySCRAPQTY
valuationQtydecimalNSố lượng tính giá → ERP: valuation_qtyVALUATIONQTY
moveInLocationstringNVị trí nhập → ERP: storage_spaces_noINSTORAGESPACE
remarkstringNGhi chú → ERP: body_remarkNOTE
outSourceTypestringNLoại đơn ủy thácOUTORDERTYPE
outSourceCodestringNSố đơn ủy thácOUTORDERNO

4. Quy cách Response

TrườngLoạiMô tả
codeint200=Thành công, khác=Thất bại
msgstringThông báo kết quả xử lý
TB001stringLoại ERP → Ghi vào TL011
TB002stringSố ERP → Ghi vào TL012

5. Quy tắc kiểm tra

#Mục kiểm traQuy tắcVị trí chương trình
1Phán đoán TRANSTYPE= "59" mới dùng API gia côngTransOrderDataToJson.java:648
2Kiểm tra TO013= 1 mới gửi ERPTransOrderDataToJson.java:612
3Tồn tại dữ liệu chi tiếtSFT_TRANSORDER_LINE_GRID không được rỗngTransOrderDataToJson.java:609
4Kết nối ERPSFTConfig.isHasERP() = trueTransOrderDataToJson.java:646

6. Mã lỗi

Thông báoMô tả
E001Thiếu trường bắt buộcRequest thiếu trường cần thiết
E002Lệnh SX gia công không tồn tạiMOTYPE-MONO sai
E003Trạng thái lệnh SX gia công không cho phépLệnh SX đã đóng hoặc hủy
E004Số lượng phải lớn hơn 0qty ≤ 0
E005Số lượng vượt quá số dưVượt quá số lượng có thể nhập kho của lệnh SX gia công
E999Lỗi hệ thốngTimeout, lỗi kết nối

7. Ví dụ JSON

Request (MES JSON)

{
  "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": "Nhập hàng gia công",        // → 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 (Số lượng nghiệm thu)
    "inspectionReturnQty": 1,   // → ERP: return_qty (Số lượng trả kiểm)
    "scrapQty": 1,               // → ERP: scrap_qty (Số lượng phế phẩm)
    "valuationQty": 98,          // → ERP: valuation_qty (Số lượng tính giá)
    "moveInLocation": "A-01-01", // → ERP: storage_spaces_no
    "remark": "Chất lượng tốt",         // → ERP: body_remark
    "outSourceType": "5902",
    "outSourceCode": "20260319001"
  }]
}

Response (Thành công)

{
  "code": 200,
  "msg": "Tạo phiếu nhập hàng gia công thành công",
  "TB001": "5902",
  "TB002": "20260319001"
}

Response (Thất bại)

{
  "code": 500,
  "msg": "Lệnh SX gia công không tồn tại 5101-20260319999"
}