门店销售POS机销售后自动扣减门店的库存,并且门店通过日盘,周盘和月盘实时监控门店的理论库存与实际库存,督导门店的管理,及时发现门店的经营漏洞。
扣减门店库存主要通过webapi实现,json送拣货单和盘点单到ODOO服务器。通过http的方式,一次性送单据内容到服务器,比通过rpc进行数据送单据的效率要快很多,更加直接,并且由于webapi的后台处理单据是一次性处理,ODOO自动提供了事务回滚,而rpc每次对不同的模型进行处理,实现不了事务的完整性和事务的一致性。
还有向webapi接口送单据的json时,需要的先得到单据的商品信息product_product,以及locaion_id等信息,这些信息可以通过SQL直接查询数据库来实现,由于这些信息是预先设置好,变动少,即使变动,也不会影响ODOO的实例的运行,只有SQL不直接更新数据库数据即可保证ODOO实例运行的数据是最新的数据,不会存在脏数据库的问题。能保障门店多的情况下,服务器更高效率的运行和处理众多的单据的接入。
日盘,周盘和月盘的盘点单通过手机微信H5进行输入,提交后注意判断提交的结果,注意每次提交时以单据名称或者某个唯一key的判断,避免同一张单据的多次提交导致问题。
门店的当前库存数,可以SQL直接查询数据库,查询stock_quant表,指定的商品,指定的location_id即可查询得到这个门店的这个商品的库存数量,一个商品在该门店可能有多行数据,需要sum一下。
门店的销售POS机进行售卖作业后,向ODOO的webapi发送该门店的出仓拣货单。成功返回后,通过SQL查询当前库存数量,反馈到门店的销售终端上,供服务员参考,服务员获知库存数据后,可进行针对性的操作,比如沽清作业,通知后厨或者烘培门店的后厂作业。
门店通过申购从加工厂获得半成品或者成品,通过门店销售终端扣减相应的库存,另外如果有前店后厂的门店的加工作业,就涉及到半成品制作的出仓与成品之间的进仓的话题,我将另外开一个技术文档专门叙述。