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

Thay doi trang thai lenh san xuat

wo.status.process
POST JSON Dong bo ERP → MES

1. Thong tin co ban

MucMo ta
Ten API tieng VietThay doi trang thai lenh san xuat (Xoa/Ket thuc/Huy ket thuc)
Ten API tieng AnhWork Order Status Process
Ma APIwo.status.process
So an0189142
REST EndpointPOST /ESB/API/upModetailStatus
Huong goiERP → MES
Thoi diem goiKhi ERP xoa, ket thuc hoac huy ket thuc lenh san xuat
Tinh huong nghiep vu chinhERP thay doi trang thai lenh, dong bo cap nhat trang thai hoac xoa du lieu lenh trong MES
Dinh dang RequestJSON (Content-Type: application/json)
Dong bo/Bat dong boGoi dong bo
Giai thich huong goi
API nay la ERP → MES day mot chieu.
Thuc hien cac thao tac khac nhau dua tren tham so status: Xoa(1), Ket thuc(2), Huy ket thuc(3).

2. Bang doi chieu trang thai

statusThao tacMo taHanh vi MES
1Xoa lenh san xuatXoa lenh va lo lien quanDELETE MODETAIL / LOT
2Ket thucHoan thanh/Ket thuc lenh chi dinhKiem tra quy trinh chua hoan thanh, thay doi trang thai
3Huy ket thucKhoi phuc lenh da ket thucKhoi phuc STATUS (99/100 → trang thai ban dau)

Dinh nghia MODETAIL.STATUS

STATUSMo ta
1Chua san xuat
2Dang san xuat
3Cho ket thuc
99Ket thuc
100Huy

3. Quy cach Request

Dinh dang truyen: JSON
Content-Type: application/json
TruongKieuBat buocMo taVi du
CompanyIdstringYMa cong ty"COMP01"
langstringNNgon ngu"vi_VN"
wo_nostringYSo lenh san xuat (Loai-So)"5101-20260319001"
statusstringYLoai thao tac (1/2/3)"1"

4. Quy cach Response

TruongKieuMo ta
codestring200=Thanh cong, 500=That bai
msgstringThong bao ket qua xu ly hoac ma loi

5. Logic xu ly

5.1 status=1 Xoa lenh san xuat

Han che xoa
Neu lenh san xuat da phat hanh (SFT_WS_RUN co ban ghi EXECUTETYPE='release'), khong the xoa, se tra ve loi JS_0126_00062.

5.2 status=2 Ket thuc

Kiem tra ket thuc
  • Kiem tra SFT_HOLD_REC: Lenh co dang tam dung khong
  • Kiem tra SFT_OP_REALRUN: Co quy trinh chua hoan thanh khong

5.3 status=3 Huy ket thuc

Dieu kien huy ket thuc
Chi co lenh STATUS=99 (Ket thuc) hoac STATUS=100 (Huy) moi co the thuc hien thao tac huy ket thuc.

6. Ma loi

MaThong baoDieu kien kich hoatTuong ung status
JS_0126_00062Lenh da phat hanh, khong the xoaSFT_WS_RUN co ban ghi phat hanhstatus=1
JS_0115_00014Lenh dang tam dung, vui long giai phong tam dung truoc khi hoan thanh chi dinhSFT_HOLD_REC co ban ghi tam dungstatus=2
JS_0115_00017Chung tu nay co quy trinh chua hoan thanh, vui long hoan thanh quy trinh truoc khi hoan thanh lenhSFT_OP_REALRUN co quy trinh chua hoan thanhstatus=2
JS_0126_00059Lenh eMES chua ket thuc, khong the huyMODETAIL.STATUS khong trong (99,100)status=3
remind_002Du lieu khong ton taiSo lenh khong ton taitat ca

7. Vi du JSON

Request - Xoa lenh san xuat (status=1)

{
  "CompanyId": "COMP01",
  "lang": "vi_VN",
  "wo_no": "5101-20260319001",
  "status": "1"  // Xoa
}

Request - Ket thuc (status=2)

{
  "CompanyId": "COMP01",
  "lang": "vi_VN",
  "wo_no": "5101-20260319001",
  "status": "2"  // Ket thuc
}

Request - Huy ket thuc (status=3)

{
  "CompanyId": "COMP01",
  "lang": "vi_VN",
  "wo_no": "5101-20260319001",
  "status": "3"  // Huy ket thuc
}

Response (Thanh cong)

{
  "code": "200",
  "msg": "success"
}

Response (That bai - Da phat hanh khong the xoa)

{
  "code": "500",
  "msg": "JS_0126_00062"
}

Response (That bai - Dang tam dung khong the ket thuc)

{
  "code": "500",
  "msg": "JS_0115_00014"
}

Response (That bai - Chua ket thuc khong the huy)

{
  "code": "500",
  "msg": "JS_0126_00059"
}

8. SQL cap nhat co so du lieu

8.1 status=1 Xoa lenh san xuat

-- Kiem tra da phat hanh chua (da phat hanh thi khong the xoa)
SELECT COUNT(*) FROM SFT_WS_RUN WITH (NOLOCK)
WHERE ID = N'{wo_no}'
  AND EXECUTETYPE = 'release'
  AND PLUSINDEX = '0'
-- Neu COUNT > 0, tra ve JS_0126_00062

-- Kiem tra co ban ghi tach lo khong
SELECT COUNT(*) FROM SFT_BATCH_REC WHERE BR001 = N'{wo_no}'
-- Neu COUNT > 0, tra ve remind_004

-- Xoa du lieu lien quan (thuc thi tuan tu)
DELETE FROM SFT_OP_REALRUN WHERE ID = :CMOID
DELETE FROM LOT WHERE MOID = :CMOID
DELETE FROM MODETAIL WHERE CMOID = :CMOID
DELETE FROM SFT_SPEC_MODIREC WHERE MD001 = :CMOID
DELETE FROM SFT_BATCH_REC WHERE BR002 = :CMOID
DELETE FROM EQUIPMENT_RUN WHERE LOTID = :CMOID
DELETE FROM SFT_WS_RUN WHERE ID = :CMOID
DELETE FROM SFT_SPLITOUT_REC WHERE SSR001 = :CMOID
DELETE FROM SFT_ASSEMBLY_REC WHERE SAR001 = :CMOID
DELETE FROM SFT_HOLD_REC WHERE HR001 = :CMOID
DELETE FROM SFT_MO_MODI WHERE MODI002 = :CMOID

8.2 status=2 Ket thuc

-- Kiem tra lenh co dang tam dung khong
jsonQueryFactory.sqlQuery_checkMoidIsHold(dataObject)
-- Neu dang tam dung, tra ve JS_0115_00014

-- Kiem tra co quy trinh chua hoan thanh khong
jsonQueryFactory.checkHaveUndoneOp(dataObject)
-- Neu co quy trinh chua hoan thanh, tra ve JS_0115_00017

-- Thuc hien quy trinh ket thuc (xu ly boi JsonQueryFactory)
-- Cap nhat MODETAIL.STATUS = 99
UPDATE MODETAIL SET
    STATUS = 99,
    LASTMAINTAINUSER = :userid,
    LASTMAINTAINDATETIME = N'{thoi gian hien tai}'
WHERE CMOID = :CMOID

8.3 status=3 Huy ket thuc

-- Kiem tra lenh da ket thuc chua
SELECT COUNT(*) FROM MODETAIL WITH (NOLOCK)
WHERE CMOID = N'{wo_no}'
  AND STATUS NOT IN ('99', '100')
-- Neu COUNT > 0, bieu thi chua ket thuc, tra ve JS_0126_00059

-- Khoi phuc trang thai ket thuc (thuc hien nguoc lai quy trinh ket thuc)
-- Xac dinh trang thai khoi phuc dua tren ban ghi nhap tram SFT_WS_RUN
UPDATE MODETAIL SET
    STATUS = CASE
        WHEN (SELECT COUNT(1) FROM SFT_WS_RUN WITH (NOLOCK)
              WHERE ID = N'{wo_no}' AND EXECUTETYPE = 'checkIn') > 0
        THEN 2  -- Co ban ghi nhap tram → Dang san xuat
        ELSE 1  -- Khong co ban ghi nhap tram → Chua san xuat
    END,
    LASTMAINTAINUSER = :userid,
    LASTMAINTAINDATETIME = N'{thoi gian hien tai}'
WHERE CMOID = :CMOID
Mo ta bang du lieu lien quan bi xoa
Bang du lieuMo ta
SFT_OP_REALRUNBan ghi thuc te quy trinh
LOTBan ghi lo
MODETAILBang chinh lenh san xuat
SFT_SPEC_MODIRECBan ghi sua doi dac biet
SFT_BATCH_RECBan ghi tach lo
EQUIPMENT_RUNBan ghi van hanh thiet bi
SFT_WS_RUNBan ghi van hanh tram lam viec
SFT_SPLITOUT_RECBan ghi tach ra
SFT_ASSEMBLY_RECBan ghi lap rap
SFT_HOLD_RECBan ghi tam dung
SFT_MO_MODIBan ghi so luong phat hanh bo sung
Vi tri chuong trinh
Diem vao API: ESBapi.java:1400-1493
Kiem tra trang thai: WoStatusProcess.java:66-108