Vi du phan hoi
{
"document_data": [
{
"doc_type_no": "5101",
"doc_type_name": "Lenh san xuat chung",
"status": "Y",
"auto_numbering": "Y",
"op_control": "Y"
},
{
"doc_type_no": "5102",
"doc_type_name": "Lenh gia cong ngoai",
"status": "Y",
"auto_numbering": "Y",
"op_control": "N"
}
]
}
Logic xu ly
Thiet ke khoa chinh phuc hop
Su dung doc_type (loai chung tu, truyen tu tham so yeu cau) +
doc_type_no (ma loai chung tu) lam khoa chinh phuc hop.
Vi du: doc_type='MO' + doc_type_no='5101' = Loai lenh san xuat "Lenh san xuat chung"
Xu ly chong loi khi khong co du lieu
Khi ERP khong co du lieu phu hop, cau truc tra ve khong chua node document_data,
chuong trinh se kiem tra va tra ve thanh cong (no data from ERP), tranh loi.
SQL cap nhat co so du lieu
Xac dinh them moi hoac cap nhat
SELECT COUNT(1) FROM ERP_ORDERTYPEDEF WITH (NOLOCK)
WHERE doc_type = N'{doc_type}' AND doc_type_no = N'{doc_type_no}'
-- count > 0 → UPDATE, count = 0 → INSERT
INSERT (Them moi loai chung tu)
INSERT INTO ERP_ORDERTYPEDEF (
doc_type, doc_type_no, status,
doc_type_name, auto_numbering, op_control
) VALUES (
:doc_type, -- Loai chung tu (tham so yeu cau)
:doc_type_no, -- Ma loai chung tu
:status, -- Ma trang thai
:doc_type_name, -- Ten loai chung tu
:auto_numbering, -- Tu dong danh so
:op_control -- Su dung quan ly quy trinh (mac dinh 'N')
)
UPDATE (Cap nhat loai chung tu)
UPDATE ERP_ORDERTYPEDEF SET
status = :status,
doc_type_name = :doc_type_name,
auto_numbering = :auto_numbering,
op_control = :op_control
WHERE doc_type = :doc_type AND doc_type_no = :doc_type_no
Gia tri mac dinh cua truong
Neu ERP khong tra ve cac truong sau, tu dong dien gia tri mac dinh:
• status = '' (chuoi rong)
• doc_type_name = '' (chuoi rong)
• auto_numbering = '' (chuoi rong)
• op_control = 'N'