Files
admin-web/src/modules/container-loading/smartLoadingPlanGroups.ts
T

27 lines
926 B
TypeScript

import type { SmartLoadingPlan } from './types'
export interface SmartLoadingPlanCoLoadGroup {
groupId: string
groupNo: string
lockedPlanId: string
memberOrderCount: number
inboundFragmentCount: number
fullPackageCount: number
}
export function loadSmartLoadingPlanCoLoadGroups(plan: SmartLoadingPlan) {
const groupsByInboundId = new Map<string, SmartLoadingPlanCoLoadGroup>()
for (const source of plan.coLoadGroups || []) {
const group = {
groupId: source.groupId,
groupNo: source.groupNo || '同柜不可拆组',
lockedPlanId: source.lockedPlanId || plan.id,
memberOrderCount: source.memberOrderCount,
inboundFragmentCount: source.inboundFragmentCount,
fullPackageCount: source.fullPackageCount,
} satisfies SmartLoadingPlanCoLoadGroup
for (const inboundId of source.memberInboundIds) groupsByInboundId.set(inboundId, group)
}
return groupsByInboundId
}