Files
shanxia2.0/web-admin/scripts/pl-plan-product-balance.test.ts
T
wuzilongandCursor bde19c0644 feat: 锁定执行中计划并按装卸明细差量归档库存,补齐派车日历数量与酸碱类型。
执行中的运输计划不再随意改单;库存流水记到装卸产品明细;手工派车日历区分酸碱并记录数量。同时收紧合同附件与子表的差量保存,并清理已废弃的 bak 备份目录。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-29 07:59:53 +08:00

43 lines
1.3 KiB
TypeScript

import assert from 'node:assert/strict'
import test from 'node:test'
import { describeLoadDeliveryProductGap } from '../src/utils/pl-plan-stop-form'
test('load and delivery product sets must name every product that exists on only one side', () => {
const gap = describeLoadDeliveryProductGap(
[
{ productId: 'a', productName: 'A' },
{ productId: 'd', productName: 'D' }
],
[
{ products: [{ productId: 'a', productName: 'A' }] },
{
products: [
{ productId: 'b', productName: 'B' },
{ productId: 'c', productName: 'C' }
]
}
]
)
assert.equal(
gap,
'装货段有产品 D,送货段没有;送货段有产品 B、C,装货段没有。两边产品必须一致,不能保存'
)
})
test('same product in different packages is one product', () => {
assert.equal(
describeLoadDeliveryProductGap(
[
{ productId: 'a', productName: '尿素', packageSpec: '桶' },
{ productId: 'a', productName: '尿素', packageSpec: '散装' }
],
[{ products: [{ productId: 'a', productName: '尿素', packageSpec: '袋' }] }]
),
''
)
})
test('empty product lists match', () => {
assert.equal(describeLoadDeliveryProductGap([], [{ products: [] }]), '')
})