33 lines
976 B
TypeScript
33 lines
976 B
TypeScript
/**
|
|
* Quy đổi condition gốc từ ERP về condition chuẩn dùng trong hệ thống.
|
|
*
|
|
* Quy tắc:
|
|
* NIB, NOB -> NEW
|
|
* USEB -> USED
|
|
*/
|
|
|
|
/** Các condition gốc từ ERP được phép đồng bộ / lưu trữ. */
|
|
export const SYNCABLE_CONDITIONS = ['NIB', 'NOB', 'USEB'] as const
|
|
|
|
/**
|
|
* Convert condition gốc -> condition chuẩn (NEW/USED).
|
|
* Trả về `null` nếu condition không nằm trong danh sách hỗ trợ (NIB/NOB/USEB).
|
|
*/
|
|
export function convertCondition(condition?: string | null): string | null {
|
|
const normalized = (condition ?? '').trim().toUpperCase()
|
|
switch (normalized) {
|
|
case 'NIB':
|
|
case 'NOB':
|
|
return 'NEW'
|
|
case 'USEB':
|
|
return 'USED'
|
|
default:
|
|
return null
|
|
}
|
|
}
|
|
|
|
/** Condition gốc có thuộc danh sách được phép đồng bộ (NIB/NOB/USEB) hay không. */
|
|
export function isSyncableCondition(condition?: string | null): boolean {
|
|
return convertCondition(condition) !== null
|
|
}
|