执行中的运输计划不再随意改单;库存流水记到装卸产品明细;手工派车日历区分酸碱并记录数量。同时收紧合同附件与子表的差量保存,并清理已废弃的 bak 备份目录。 Co-authored-by: Cursor <cursoragent@cursor.com>
32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import assert from 'node:assert/strict'
|
|
import { describe, it } from 'node:test'
|
|
import {
|
|
arrangeBlockedMessage,
|
|
canArrangeTransport,
|
|
canVoidPlan,
|
|
showArrangeTransport,
|
|
voidBlockedMessage
|
|
} from './pl-plan-action-guards'
|
|
|
|
const arranged = {
|
|
transportStatus: 'arranged',
|
|
archiveStatus: 'unarchived',
|
|
followStatus: 'arranged'
|
|
}
|
|
|
|
describe('运输计划已开始后的操作', () => {
|
|
it('未开始的已安排计划可以调整和作废', () => {
|
|
assert.equal(canArrangeTransport(arranged), true)
|
|
assert.equal(canVoidPlan(arranged), true)
|
|
})
|
|
|
|
it('已开始的计划不再允许调整和普通作废,并说明原因', () => {
|
|
const started = { ...arranged, executionStarted: true, executionLockReason: '已过磅' }
|
|
assert.equal(showArrangeTransport(started), true)
|
|
assert.equal(canArrangeTransport(started), false)
|
|
assert.equal(canVoidPlan(started), false)
|
|
assert.equal(arrangeBlockedMessage(started), '该计划已过磅,不能再调整,请联系管理员处理')
|
|
assert.equal(voidBlockedMessage(started), '该计划已过磅,不能作废,请联系管理员处理')
|
|
})
|
|
})
|