ERP系统之结存功能
思路/步骤:
(1)、结存功能是指入库单和结存单、出库单和结存单,三张单据之间的关系处理,得出结存数据。
(2)、创建视图:找出所有入库单(主子表做一个视图)和出库单(主子表做一个视图)对应存在的单据,放入视图(总视图表);
注意点:这里有三张视图,且A,B视图拼接成C视图,AB字段别名、字段数量、数据类型要一致。
入库表视图:(出库表视图同理)
C视图:嵌套视图
(3)、遍历视图和结存表来做计算;分为两种情况,单据在结存表有记录,和没有记录:
有记录:说明这个单据之前存入过结存表,只用做修改。首先遍历结存表,去和总视图的每个对比,如果存在,再根据标识符判断是进货单还是出货单,进则加库存,重算结存单价,出则减少库存,单价不变。
无记录:通过上面的排查,剩下的全是无结存信息的单据。用视图的集合遍历和结存的每条单据对比,新数据存入结存表,再更新结存表的集合,在第二次循环时,上一条新增的单据就在结存表里,如果再遇到就再调用修改的方法。