执行中的运输计划不再随意改单;库存流水记到装卸产品明细;手工派车日历区分酸碱并记录数量。同时收紧合同附件与子表的差量保存,并清理已废弃的 bak 备份目录。 Co-authored-by: Cursor <cursoragent@cursor.com>
43 lines
1.3 KiB
TypeScript
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: [] }]), '')
|
|
})
|