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

Huy phieu bao cong (Khoi phuc bao cong)

CANCEL MES → ERP
wo.work.report.data.process

Khi MES huy xuat tram, goi API nay de thong bao ERP huy phieu bao cong tuong ung, khoi phuc du lieu bao cong. ERP se huy hoac khoi phuc ban ghi bao cong do sau khi nhan duoc.

Thong tin co ban

Ten API
wo.work.report.data.process
Ten tac vu noi bo
cancelProductionForm
Dinh dang truyen
JSON (Content-Type: application/json)
So an
0190760
Ma API
api-2196
Huong du lieu
MES → ERP

Thoi diem kich hoat

Huy xuat tram CancelCheckOut Thao tac nguoi dung Truy van so phieu PRODUCTION_REPORTID SFT_OP_REALRUN So phieu ton tai? Co Gui ERP huy cancelProductionForm wo.work.report.data.process Khong → Bo qua
Nhac nho quan trong
Huy phieu bao cong chi goi ERP khi PRODUCTION_REPORTID co gia tri. Neu khi xuat tram ERP chua tra ve so phieu bao cong (TIMEOUT hoac that bai), khi huy se khong the thong bao ERP khoi phuc.

Cac tinh huong kich hoat

Tinh huong 1: Huy xuat tram binh thuong

Nguoi dung nhan "Huy xuat tram" trong MES, he thong truy van so phieu bao cong sau do goi ERP huy phieu bao cong do.

Tinh huong 2: Huy xuat tram theo lo

Huy nhieu ban ghi xuat tram theo lo, he thong se goi ERP huy tung phieu bao cong tuong ung.

Tinh huong 3: Huy lam lai

Huy xuat tram tai tram lam lai cung se kich hoat quy trinh huy phieu bao cong.

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 bao cong report_no String Bat buoc So phieu bao cong can huy (Loai-So)
Dinh dang so phieu bao cong
Dinh dang so phieu bao cong la PDTYPE-PDNO, vi du: 10-20260319001. Gia tri nay lay tu SFT_OP_REALRUN.PRODUCTION_REPORTID hoac SFT_WS_RUN.WR024.

Vi du yeu cau

Dinh dang JSON

{
  "enterprise_no": "COMP01",
  "site_no": "SITE01",
  "report_no": "10-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="report_no" type="string">10-20260319001</parameter>
</parameters>

Dinh dang phan hoi

Phan hoi thanh cong (code=200)

{
  "code": 200,
  "msg": "Huy phieu bao cong thanh cong",
  "ERPMessage": {
    "description": "Xu ly thanh cong",
    "report_no": "10-20260319001"
  }
}

Phan hoi that bai (code=500)

{
  "code": 500,
  "msg": "Huy phieu bao cong that bai",
  "ERPMessage": {
    "description": "Phieu bao cong 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 phieu bao cong thanh cong, MES se xoa so phieu bao cong trong cac ban ghi lien quan:

Logic xoa SQL

-- Xoa so phieu bao cong trong SFT_OP_REALRUN
UPDATE SFT_OP_REALRUN
SET PRODUCTION_REPORTID = '',
    PRODUCTION_REPORTSN = ''
WHERE ID = :KEYID
  AND ERP_OPSEQ = :ERP_OPSEQ
  AND SEQUENCE = :SEQUENCE

-- Xoa so phieu bao cong trong SFT_WS_RUN
UPDATE SFT_WS_RUN
SET WR024 = '',
    WR025 = ''
WHERE (dieu kien ban ghi nhap xuat tram tuong ung)

-- Xoa tieu de va chi tiet phieu bao cong (tuy cau hinh he thong)
DELETE FROM SFT_SFCTE WHERE TE001 = :PDTYPE AND TE002 = :PDNO
DELETE FROM SFT_SFCTD WHERE TD001 = :PDTYPE AND TD002 = :PDNO

Su khac biet voi cac API huy khac

Ten API Ten tac vu Tinh huong ap dung Loai chung tu huy
wo.work.report.data.process cancelProductionForm Huy bao cong chung Phieu bao cong
outsourcing.process outsourcingProcess Huy nhap kho gia cong ngoai (TRANSORDERTYPE=59) Phieu nhap hang gia cong ngoai
stockin.data.process cancelStockIn Huy phieu nhap kho Phieu nhap kho
wo.scrap.data.process woScrapDataProcess Huy nhap kho phe pham (TRANSORDERTYPE=58) Phieu phe pham
Logic phan loai
Khi huy xuat tram, he thong phan loai API huy can goi dua tren SFT_TRANSORDER_LINE.TRANSORDERTYPE:

• TRANSORDERTYPE = 59 → outsourcingProcess (Gia cong ngoai)
• TRANSORDERTYPE = 58 → woScrapDataProcess (Phe pham)
• Khac → cancelStockIn hoac cancelProductionForm

Bang du lieu lien quan

Bang du lieu Mo ta Truong bi anh huong
SFT_OP_REALRUN Ban ghi thuc thi quy trinh PRODUCTION_REPORTID, PRODUCTION_REPORTSN (xoa)
SFT_WS_RUN Ban ghi thuc thi tram lam viec WR024, WR025 (xoa)
SFT_SFCTD Tieu de phieu bao cong Xoa toan bo ban ghi hoac danh dau huy
SFT_SFCTE Chi tiet phieu bao cong Xoa toan bo ban ghi hoac danh dau huy

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 1571-1605
Goi API huy SFT_ERPIntegrate/src/com/dci/sft/erp/XmlToERP_handler.java 159-237
Xoa so phieu bao cong SFT_core/src/com/dci/sft/jsonMappingHibernate/TransOrderDataToJson.java 1530-1580

Xu ly loi

Tinh huong loi Phan hoi ERP Cach xu ly MES
Phieu bao cong da xac nhan code=500, Phieu bao cong da xac nhan Hien thi thong bao loi, can xu ly thu cong
Phieu bao cong khong ton tai code=500, Phieu bao cong khong ton tai Xoa so phieu bao cong 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=cancelProductionForm, errorType=SocketTimeoutException, errorMsg=Read timed out
[ERP_SEND_ERROR] Noi dung gui={"report_no":"10-20260319001"}

Rui ro Race Condition

Luu y quan trong
Tuong tu API tao phieu bao cong, huy phieu bao cong cung co rui ro Race Condition:

Tinh huong: Huy ngay sau khi xuat tram, nhung ERP chua tra ve so phieu bao cong
Ket qua: PRODUCTION_REPORTID trong, khong the goi ERP huy
Hau qua: MES da huy xuat tram, nhung phieu bao cong ERP van ton tai

De xuat xu ly:
  1. Cho ERP tra ve thanh cong truoc khi cho phep huy sau xuat tram
  2. Dinh ky doi chieu trang thai phieu bao cong giua MES va ERP
  3. Cung cap chuc nang huy bo sung thu cong