如何更好的实现采购入库逻辑

问答  收藏
1 / 586

目前在搭建进销存系统,有这么一个需求:

采购单可以下推生成多张入库单,入库数量不可以超过采购数量。

涉及的工作表有:采购单表、采购明细表、入库单表、入库明细表。

采购单表和采购明细表中都有一个入库状态,状态值有未入库、部分入库、已入库。当采购单下推生成入库单后,采购单和采购明细会更新为已入库的状态。

如果修改了入库单中的入库数量(比如改小入库数量),那采购单和采购明细自动更新为部分入库的状态。

我目前是使用工作流监听入库明细的修改和删除事件,一旦发生了,会有两个操作:

  1. 查询到当前入库明细所关联的采购明细(一对一),再去查询采购明细下所有的入库明细,统计入库数量,再与采购明细中的数量比较,然后更新采购明细的入库状态;
  2. 查询当前入库明细所关联采购订单,再去查询采购订单下面所有的采购明细,统计出三种状态(未入库、部分入库、已入库)的采购明细的条数,根据不同状态的采购明细条数与采购明细总条数做比较,更新采购订单的入库状态。

关联关系如下:采购订单包含多条采购明细;入库单包含多条入库明细;采购明细对应多条入库单,对应多条入库明细。

有没有更方便一点的方法可以实现以上的需求呢?