目前在搭建进销存系统,有这么一个需求:
采购单可以下推生成多张入库单,入库数量不可以超过采购数量。
涉及的工作表有:采购单表、采购明细表、入库单表、入库明细表。
采购单表和采购明细表中都有一个入库状态,状态值有未入库、部分入库、已入库。当采购单下推生成入库单后,采购单和采购明细会更新为已入库的状态。
如果修改了入库单中的入库数量(比如改小入库数量),那采购单和采购明细自动更新为部分入库的状态。
我目前是使用工作流监听入库明细的修改和删除事件,一旦发生了,会有两个操作:
- 查询到当前入库明细所关联的采购明细(一对一),再去查询采购明细下所有的入库明细,统计入库数量,再与采购明细中的数量比较,然后更新采购明细的入库状态;
- 查询当前入库明细所关联采购订单,再去查询采购订单下面所有的采购明细,统计出三种状态(未入库、部分入库、已入库)的采购明细的条数,根据不同状态的采购明细条数与采购明细总条数做比较,更新采购订单的入库状态。
关联关系如下:采购订单包含多条采购明细;入库单包含多条入库明细;采购明细对应多条入库单,对应多条入库明细。
有没有更方便一点的方法可以实现以上的需求呢?
想先明确一下表与表之间对应关系的含义,假设有这样一个场景:
如果同时有 2 个未入库的订单,第一个订单的明细为“A×2,B×1”,第二个订单明细为“B×1,C×2”,此时仓库收到一批货,内容为“A×1,B×1,C×1”。
问 1:此时应该如何建立入库数据和订单数据之间的关系?
问 2:是想通过人工建立关系,还是想通过工作流自动建立关系?