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
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.
{
"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
Cho ERP tra ve thanh cong truoc khi cho phep huy sau xuat tram
Them co che khoa de ngan chan thao tac dong thoi
Dinh ky doi chieu trang thai phieu nhap kho phe pham giua MES va ERP
// 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"}