WMS系统开发总结-PDA入出库单据开发

      一般使用PDA,熟称RF枪来做入出库,目前做的项目中,RF枪的功能有收货、入库、出库拣货、出库复核,门店退货入库、供应商退货申请,对这些功能做些总结:

 收货: 类型是无单收货,RF枪选择供应商,然后扫描药品,录入批号、生产日期、有效日期、数量信息;最后全部提交保存。此客户类型是PDA做无单收货,在电脑上根据订单再核对随货同行单,生成收货单。 

入库:选择收货单(支持多选),扫描商品,选择入库上架的批号、有效期、数量;入库上架的数量必须等于收货单的数量,如有差异,需要修改收货单。根据收货单进行入库,入库与收货单相比,多了选择库位的过程

出库拣货:选择拣货单,扫描库位,扫描商品,选择批号,录入数量,最后保存。将出库单按门店合并后生成拣货单,RF枪选择拣货单,根据枪上显示的库位信息与顺序,依次到指定的库位,扫描库位码、商品条码、选择批号,录入拣货数量。

出库复核,录入门店,选择拣货出库单,扫描商品,核对批号、数量是否正确,要求与拣货出库单完全一致,根据拣货单的结果,复核商品、批号、数量是否有差异。


按有无订单其实分为两种类型,按订单操作与无单操作,所谓按订单操作,其实是根据ERP系统的订单进行入出库,通常有收货、出库、退货入库;无单操作有退货申请、上架或者下架功能;对此总结接触的这几种单据

此项目的收货与退货申请都是无单操作,流程几乎类型, 先录入送货的供应商或者退货的门店编码,显示相应的供应商与门店信息,选择一个,进入下一步;扫描商品条码,对于收货此时后台也核对了是否有订单,退货申请需要检查此商品是否从此供应商做过收货单;然后都是录入批号、生产日期、有效期,收货完全手工录入,退货申请可以考虑列出从此供应商做过收货的药品批号、生产日期等信息,让客户方便选择;不用录入。 录入完成保存,可以从明细中查看详情,最后全部提交到服务器,生成收货单与退货申请的草稿。

 从设计模式上分析,可以将此流程参考模板模式,对于第一步选择供应商或者门店,完全可以认为是录入一个对象,据此对象检索相应的信息进行显示,然后选择行信息进行下一步。 显示的供应商信息与门店信息当然不一样,显示的列数也不会一样,这些属于细节差异,在基类中,可以将选择的行信息的对象传给子类的多态方法,由子类方法处理后,再下一步,这样一套模板,实现了两个功能。


入库上架、出库拣货、拣货复核、供应商退货入库,一般都是按订单操作。入库上架直接显示收货单列表,进行选择;出库拣货选择根据门店检索波次拣货单,进行选择;拣货复核根据门店选择出库单,供应商退货据供应商编码选择ERP退货单。第一步的界面,抽象为录入一个对象,据此对象检索结果列表,进行选择,然后进入下一步;扫描药品阶段,入库上架涉及到多个指定批号,更改货位,检查货位是否有其它的药品存放,控制不大于订单数量等;出库拣货,显示拣货的货位信息列表,可能涉及多个指定的批号,更改货位,检查此货位此批号不能小于拣货数量;拣货复核涉及多个指定的批号,有效期数量,控制复核数量等于订单数量。供应商退货入库涉及多个指定的批号,生产日期,有效期,数量,控制数量小于等于订单数量。从模板模式上讲,是否显示列表,可以做为一个基类的控制项;必须等于订单数量、小于等于订单数量等做为基类的属性,子类直接继承使用。基类只负责显示,具体操作由子类控制,比如涉及多批号情况,对于入库上架,切换了不同批号后,子类要控制如何显示此批号的订单数量,更换货位后如何提醒;而出库拣货更换货位后,考虑此货位是否多药品,是否提醒等,有此药品的其它货位显示。

RF枪的单据类操作,差异主要在扫描商品后,录入信息界面环节差异比较大,可以考虑模板模式,通过子类的多态控制界面行为,具体的功能由基类提供,子类进行调用,增加复用性

你可能感兴趣的:(WMS,库房管理,固定资产开发总结)