优化
This commit is contained in:
@@ -13,27 +13,33 @@ export async function run(context) {
|
||||
const orderPath = `/api/platform/v1/orders/first-leg/tenant-statistics?tenantId=${encodeURIComponent(customerId)}`
|
||||
const orderResponse = await context.request('GET', orderPath)
|
||||
const orders = context.apiSuccess(MODULE, '查询累计与本月已提交主运单统计', orderResponse, `customerId=${customerId}`, OPTIONS)
|
||||
context.assert(MODULE, '运单统计返回上海时区半开月份边界与客户隔离键', orderResponse,
|
||||
id(orders?.tenantId) === customerId && nonNegative(orders?.totalSubmittedOrders)
|
||||
&& nonNegative(orders?.currentMonthSubmittedOrders) && orders?.zoneId === 'Asia/Shanghai'
|
||||
&& Boolean(orders?.monthStart) && Boolean(orders?.nextMonthStart) && Boolean(orders?.asOf),
|
||||
`tenantId=${id(orders?.tenantId) || 'missing'}, zoneId=${orders?.zoneId || 'missing'}`, OPTIONS)
|
||||
if (orders !== null) {
|
||||
context.assert(MODULE, '运单统计返回上海时区半开月份边界与客户隔离键', orderResponse,
|
||||
id(orders?.tenantId) === customerId && nonNegative(orders?.totalSubmittedOrders)
|
||||
&& nonNegative(orders?.currentMonthSubmittedOrders) && orders?.zoneId === 'Asia/Shanghai'
|
||||
&& Boolean(orders?.monthStart) && Boolean(orders?.nextMonthStart) && Boolean(orders?.asOf),
|
||||
`tenantId=${id(orders?.tenantId) || 'missing'}, zoneId=${orders?.zoneId || 'missing'}`, OPTIONS)
|
||||
}
|
||||
|
||||
const financePath = `/api/platform/finance/v1/customer-accounts/${encodeURIComponent(customerId)}/summary`
|
||||
const financeResponse = await context.request('GET', financePath)
|
||||
const finance = context.apiSuccess(MODULE, '查询非VOIDED正式结算应收汇总', financeResponse, `customerId=${customerId}`, OPTIONS)
|
||||
context.assert(MODULE, '应收汇总保持CNY十进制金额与客户隔离键', financeResponse,
|
||||
id(finance?.customerId) === customerId && finance?.currency === 'CNY'
|
||||
&& ['totalReceivable', 'receivedAmount', 'outstandingReceivable'].every((field) => nonNegative(finance?.[field]))
|
||||
&& Number(finance?.outstandingReceivable) <= Number(finance?.totalReceivable),
|
||||
`customerId=${id(finance?.customerId) || 'missing'}, currency=${finance?.currency || 'missing'}`, OPTIONS)
|
||||
if (finance !== null) {
|
||||
context.assert(MODULE, '应收汇总保持CNY十进制金额与客户隔离键', financeResponse,
|
||||
id(finance?.customerId) === customerId && finance?.currency === 'CNY'
|
||||
&& ['totalReceivable', 'receivedAmount', 'outstandingReceivable'].every((field) => nonNegative(finance?.[field]))
|
||||
&& Number(finance?.outstandingReceivable) <= Number(finance?.totalReceivable),
|
||||
`customerId=${id(finance?.customerId) || 'missing'}, currency=${finance?.currency || 'missing'}`, OPTIONS)
|
||||
}
|
||||
|
||||
const transitPath = `/api/platform/v1/customers/${encodeURIComponent(customerId)}/container-transit-summary`
|
||||
const transitResponse = await context.request('GET', transitPath)
|
||||
const transit = context.apiSuccess(MODULE, '查询已开船未到仓在途柜量', transitResponse, `customerId=${customerId}`, OPTIONS)
|
||||
context.assert(MODULE, '在途柜量保持TEU小数、未知柜型与客户隔离键', transitResponse,
|
||||
id(transit?.customerId) === customerId && nonNegative(transit?.containerCount)
|
||||
&& nonNegative(transit?.totalTeu) && nonNegative(transit?.unknownContainerCount)
|
||||
&& Number(transit?.unknownContainerCount) <= Number(transit?.containerCount) && Boolean(transit?.definition),
|
||||
`customerId=${id(transit?.customerId) || 'missing'}, totalTeu=${transit?.totalTeu ?? 'missing'}, unknown=${transit?.unknownContainerCount ?? 'missing'}`, OPTIONS)
|
||||
if (transit !== null) {
|
||||
context.assert(MODULE, '在途柜量保持TEU小数、未知柜型与客户隔离键', transitResponse,
|
||||
id(transit?.customerId) === customerId && nonNegative(transit?.containerCount)
|
||||
&& nonNegative(transit?.totalTeu) && nonNegative(transit?.unknownContainerCount)
|
||||
&& Number(transit?.unknownContainerCount) <= Number(transit?.containerCount) && Boolean(transit?.definition),
|
||||
`customerId=${id(transit?.customerId) || 'missing'}, totalTeu=${transit?.totalTeu ?? 'missing'}, unknown=${transit?.unknownContainerCount ?? 'missing'}`, OPTIONS)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user