繁體中文 English Tiếng Việt ภาษาไทย
← Quay lai danh sach API

Huy nhap kho phe pham

CANCEL MES → ERP
wo.scrap.data.process

Khi MES huy xuat tram, neu phieu chuyen kho la loai nhap kho phe pham (TRANSORDERTYPE=58), goi API nay de thong bao ERP huy phieu nhap kho phe pham tuong ung.

Thong tin co ban

Ten API
wo.scrap.data.process
Ten tac vu noi bo
woScrapDataProcess
Dinh dang truyen
JSON (Content-Type: application/json)
So an
0189144
Ma API
api-2192
TRANSORDERTYPE
58 (Nhap kho phe pham)

Thoi diem kich hoat

Huy xuat tram CancelCheckOut Thao tac nguoi dung Truy van loai phieu TRANSORDERTYPE SFT_TRANSORDER_LINE TYPE = 58? Co woScrapDataProcess Huy nhap kho phe pham doc_no = TL011-TL012 =59 → outsourcingProcess Khac → cancelStockIn

Logic phan loai API huy

Khi huy xuat tram, he thong phan loai API huy can goi dua tren SFT_TRANSORDER_LINE.TRANSORDERTYPE:

TRANSORDERTYPE Loai chung tu API goi Ten tac vu
58 Nhap kho phe pham wo.scrap.data.process woScrapDataProcess
59 Nhap kho gia cong ngoai outsourcing.process outsourcingProcess
Khac Nhap kho chung stockin.data.process cancelStockIn
Vi tri ma nguon
Logic phan loai nam tai phuong thuc GeneralUpdater.excuteDeleteErpTransOrders(), dong 1577-1592.

Tham so yeu cau

Truong Ten truong ERP Kieu Bat buoc Mo ta
Ma cong ty enterprise_no String Bat buoc Ma doanh nghiep
Ma nha may site_no String Bat buoc Ma nha may
So phieu nhap kho phe pham doc_no String Bat buoc So phieu nhap kho can huy (dinh dang: TL011-TL012)
Dinh dang so phieu nhap kho
Dinh dang so phieu nhap kho la TL011-TL012, vi du: 58-20260319001. Gia tri nay duoc lay tu doc_no ma ERP tra ve khi tao phieu nhap kho phe pham, luu trong SFT_TRANSORDER_LINE.

Vi du yeu cau

Dinh dang JSON

{
  "enterprise_no": "COMP01",
  "site_no": "SITE01",
  "doc_no": "58-20260319001"
}

Dinh dang XML ERP (WFERP)

<parameters>
  <parameter key="enterprise_no" type="string">COMP01</parameter>
  <parameter key="site_no" type="string">SITE01</parameter>
  <parameter key="doc_no" type="string">58-20260319001</parameter>
</parameters>

Dinh dang phan hoi

Phan hoi thanh cong (code=200)

{
  "code": 200,
  "msg": "Huy phieu nhap kho phe pham thanh cong",
  "ERPMessage": {
    "description": "Xu ly thanh cong",
    "doc_no": "58-20260319001"
  }
}

Phan hoi that bai (code=500)

{
  "code": 500,
  "msg": "Huy phieu nhap kho phe pham that bai",
  "ERPMessage": {
    "description": "Phieu nhap kho da xac nhan, khong the huy"
  }
}

Mo ta truong phan hoi

Truong Kieu Mo ta
code Integer 200=Thanh cong, 500=That bai
msg String Thong bao xu ly
ERPMessage.description String Thong bao chi tiet tu ERP

Logic xoa MES

Sau khi huy nhap kho phe pham thanh cong, MES se xoa cac ban ghi phieu chuyen kho lien quan:

SQL xoa

-- Xoa so phieu ERP trong SFT_TRANSORDER_LINE
UPDATE SFT_TRANSORDER_LINE
SET TL011 = '',
    TL012 = ''
WHERE TRANSORDERTYPE = '58'
  AND TL011 = :TL011
  AND TL012 = :TL012

-- Hoac xoa toan bo ban ghi phieu chuyen kho (tuy cau hinh he thong)
DELETE FROM SFT_TRANSORDER_LINE
WHERE TRANSORDERTYPE = '58'
  AND TRANSNO = :TRANSNO

Rui ro Race Condition

Luu y quan trong
Tuong tu cac API huy khac, huy nhap kho phe pham cung co rui ro Race Condition:

Tinh huong: Huy ngay sau khi xuat tram, nhung ERP chua tra ve so phieu nhap kho phe pham
Ket qua: TL011/TL012 trong, khong the goi ERP huy
Hau qua: MES da huy xuat tram, nhung phieu nhap kho phe pham ERP van ton tai

Logic phan loai

// GeneralUpdater.java:1571-1575
if(!SftTransorderLine.getTl011().equals("") && !SftTransorderLine.getTl012().equals("")){
    // TL011/TL012 co gia tri, moi goi ERP huy
    String stock_in_no = SftTransorderLine.getTl011() + "-" + SftTransorderLine.getTl012();
    // Phan loai API can goi dua tren TRANSORDERTYPE
    ...
} else {
    // TL011/TL012 trong, bo qua goi ERP
}
De xuat xu ly
  1. Cho ERP tra ve thanh cong truoc khi cho phep huy sau xuat tram
  2. Them co che khoa de ngan chan thao tac dong thoi
  3. Dinh ky doi chieu trang thai phieu nhap kho phe pham giua MES va ERP
  4. Cung cap chuc nang huy bo sung thu cong

Bang du lieu lien quan

Bang du lieu Mo ta Truong bi anh huong
SFT_TRANSORDER_LINE Chi tiet phieu chuyen kho TL011, TL012 (xoa hoac xoa toan bo ban ghi)
SftTransorder Tieu de phieu chuyen kho TO007, TO008 (co the can xoa)

Vi tri ma nguon

Chuc nang Duong dan tap tin Dong
Diem vao huy xuat tram SFT_core/src/com/dci/sft/update/GeneralUpdater.java 1550-1612
Phan loai TRANSORDERTYPE SFT_core/src/com/dci/sft/update/GeneralUpdater.java 1577-1592
Dinh tuyen API SFT_ERPIntegrate/src/com/dci/sft/erp/XmlToERP_handler.java 96-98
To hop tham so XML SFT_ERPIntegrate/src/com/dci/sft/erp/webservice/SendFormS.java 1811-1815

Xu ly loi

Tinh huong loi Phan hoi ERP Cach xu ly MES
Phieu nhap kho da xac nhan code=500, Phieu nhap kho da xac nhan Hien thi thong bao loi, can xu ly thu cong
Phieu nhap kho khong ton tai code=500, Phieu nhap kho khong ton tai Xoa ban ghi MES, tiep tuc quy trinh huy
Het thoi gian ket noi SocketTimeoutException Ghi LOG, can huy bo sung thu cong

Ban ghi LOG

// Tap tin nhat ky: logs/ERPReturnErrorRec.log

[ERP_SEND_ERROR] taskName=woScrapDataProcess, errorType=SocketTimeoutException, errorMsg=Read timed out
[ERP_SEND_ERROR] Noi dung gui={"doc_no":"58-20260319001"}