27 lines
926 B
TypeScript
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
|
|
}
|