| | |
| | | return typeof value === 'string' ? value.trim() : value |
| | | } |
| | | |
| | | function hasValue(value) { |
| | | return value !== '' && value !== null && value !== undefined |
| | | } |
| | | |
| | | function normalizeIds(ids) { |
| | | if (Array.isArray(ids)) { |
| | | return ids |
| | |
| | | } |
| | | |
| | | function normalizeNumber(value, fallback = void 0) { |
| | | if (value === '' || value === null || value === undefined) { |
| | | if (!hasValue(value)) { |
| | | return fallback |
| | | } |
| | | const parsed = Number(value) |
| | | return Number.isNaN(parsed) ? fallback : parsed |
| | | } |
| | | |
| | | function toOptionalNumber(value) { |
| | | return hasValue(value) ? Number(value) : void 0 |
| | | } |
| | | |
| | | function toNumberOr(value, fallback) { |
| | | return hasValue(value) ? Number(value) : fallback |
| | | } |
| | | |
| | | function buildNumberField(key, value) { |
| | | return hasValue(value) ? { [key]: Number(value) } : {} |
| | | } |
| | | |
| | | function normalizeTypeIds(typeIds = []) { |
| | |
| | | export function buildLocSearchParams(params = {}) { |
| | | const searchParams = { |
| | | condition: normalizeText(params.condition), |
| | | warehouseId: |
| | | params.warehouseId !== undefined && params.warehouseId !== null && params.warehouseId !== '' |
| | | ? Number(params.warehouseId) |
| | | : void 0, |
| | | areaId: |
| | | params.areaId !== undefined && params.areaId !== null && params.areaId !== '' |
| | | ? Number(params.areaId) |
| | | : void 0, |
| | | warehouseId: toOptionalNumber(params.warehouseId), |
| | | areaId: toOptionalNumber(params.areaId), |
| | | code: normalizeText(params.code), |
| | | useStatus: normalizeText(params.useStatus), |
| | | row: |
| | | params.row !== undefined && params.row !== null && params.row !== '' |
| | | ? Number(params.row) |
| | | : void 0, |
| | | col: |
| | | params.col !== undefined && params.col !== null && params.col !== '' |
| | | ? Number(params.col) |
| | | : void 0, |
| | | lev: |
| | | params.lev !== undefined && params.lev !== null && params.lev !== '' |
| | | ? Number(params.lev) |
| | | : void 0, |
| | | channel: |
| | | params.channel !== undefined && params.channel !== null && params.channel !== '' |
| | | ? Number(params.channel) |
| | | : void 0, |
| | | status: |
| | | params.status !== undefined && params.status !== null && params.status !== '' |
| | | ? Number(params.status) |
| | | : void 0, |
| | | row: toOptionalNumber(params.row), |
| | | col: toOptionalNumber(params.col), |
| | | lev: toOptionalNumber(params.lev), |
| | | channel: toOptionalNumber(params.channel), |
| | | status: toOptionalNumber(params.status), |
| | | barcode: normalizeText(params.barcode), |
| | | memo: normalizeText(params.memo) |
| | | } |
| | | |
| | | return Object.fromEntries( |
| | | Object.entries(searchParams).filter(([, value]) => value !== '' && value !== void 0 && value !== null) |
| | | ) |
| | | return Object.fromEntries(Object.entries(searchParams).filter(([, value]) => hasValue(value))) |
| | | } |
| | | |
| | | export function buildLocSavePayload(formData = {}) { |
| | | return { |
| | | ...(formData.id !== undefined && formData.id !== null && formData.id !== '' |
| | | ? { id: Number(formData.id) } |
| | | : {}), |
| | | ...(formData.version !== undefined && formData.version !== null && formData.version !== '' |
| | | ? { version: Number(formData.version) } |
| | | : {}), |
| | | ...(formData.warehouseId !== undefined && formData.warehouseId !== null && formData.warehouseId !== '' |
| | | ? { warehouseId: Number(formData.warehouseId) } |
| | | : {}), |
| | | ...(formData.areaId !== undefined && formData.areaId !== null && formData.areaId !== '' |
| | | ? { areaId: Number(formData.areaId) } |
| | | : {}), |
| | | ...buildNumberField('id', formData.id), |
| | | ...buildNumberField('version', formData.version), |
| | | ...buildNumberField('warehouseId', formData.warehouseId), |
| | | ...buildNumberField('areaId', formData.areaId), |
| | | code: normalizeText(formData.code) || '', |
| | | typeIds: normalizeTypeIds(formData.typeIds), |
| | | ...(formData.flagLogic !== undefined && formData.flagLogic !== null && formData.flagLogic !== '' |
| | | ? { flagLogic: Number(formData.flagLogic) } |
| | | : {}), |
| | | ...buildNumberField('flagLogic', formData.flagLogic), |
| | | fucAtrrs: normalizeText(formData.fucAtrrs) || '', |
| | | barcode: normalizeText(formData.barcode) || '', |
| | | unit: normalizeText(formData.unit) || '', |
| | | ...(formData.length !== undefined && formData.length !== null && formData.length !== '' |
| | | ? { length: Number(formData.length) } |
| | | : {}), |
| | | ...(formData.height !== undefined && formData.height !== null && formData.height !== '' |
| | | ? { height: Number(formData.height) } |
| | | : {}), |
| | | ...(formData.width !== undefined && formData.width !== null && formData.width !== '' |
| | | ? { width: Number(formData.width) } |
| | | : {}), |
| | | ...(formData.row !== undefined && formData.row !== null && formData.row !== '' |
| | | ? { row: Number(formData.row) } |
| | | : {}), |
| | | ...(formData.col !== undefined && formData.col !== null && formData.col !== '' |
| | | ? { col: Number(formData.col) } |
| | | : {}), |
| | | ...(formData.lev !== undefined && formData.lev !== null && formData.lev !== '' |
| | | ? { lev: Number(formData.lev) } |
| | | : {}), |
| | | ...(formData.channel !== undefined && formData.channel !== null && formData.channel !== '' |
| | | ? { channel: Number(formData.channel) } |
| | | : {}), |
| | | ...(formData.maxParts !== undefined && formData.maxParts !== null && formData.maxParts !== '' |
| | | ? { maxParts: Number(formData.maxParts) } |
| | | : {}), |
| | | ...(formData.maxPack !== undefined && formData.maxPack !== null && formData.maxPack !== '' |
| | | ? { maxPack: Number(formData.maxPack) } |
| | | : {}), |
| | | ...buildNumberField('length', formData.length), |
| | | ...buildNumberField('height', formData.height), |
| | | ...buildNumberField('width', formData.width), |
| | | ...buildNumberField('row', formData.row), |
| | | ...buildNumberField('col', formData.col), |
| | | ...buildNumberField('lev', formData.lev), |
| | | ...buildNumberField('channel', formData.channel), |
| | | ...buildNumberField('maxParts', formData.maxParts), |
| | | ...buildNumberField('maxPack', formData.maxPack), |
| | | useStatus: normalizeText(formData.useStatus) || 'O', |
| | | ...(formData.flagLabelMange !== undefined && formData.flagLabelMange !== null && formData.flagLabelMange !== '' |
| | | ? { flagLabelMange: Number(formData.flagLabelMange) } |
| | | : {}), |
| | | ...buildNumberField('flagLabelMange', formData.flagLabelMange), |
| | | locAttrs: normalizeText(formData.locAttrs) || '', |
| | | status: |
| | | formData.status !== undefined && formData.status !== null && formData.status !== '' |
| | | ? Number(formData.status) |
| | | : 1, |
| | | status: toNumberOr(formData.status, 1), |
| | | memo: normalizeText(formData.memo) || '' |
| | | } |
| | | } |