OFBIZ为我们提供了POS模块,它已经可以满足我们日常收银的大部分要求了。但是美中不足的是它没有提供库存查询功能。我也没看出来OFBIZ有近期实现此功能的计划,所以打算自己做一个。
首先研究一下POS模块的代码结构:
1、POS模块同其它模块的实现方式有所区别,它用了XUL技术来定制展示的界面。所有屏幕文件使用XUL格式定义于screens目录之下
2、按钮事件与java代码映射关系,记录在config\buttonevents.xml下
3、资源文件存放在XuiLabels_[locale].properties与config\PosUiLabels.xml中
了解结构后,加上库存查询功能就很简单了,我是这样做的:
1、在screens/default/menu/mgrmain.xml中增加一个mgrInquiryInventory库存查询按钮,它会出现在POS的“经理”界面中的
2、在buttonevents.xml中加上以下行,映射事件代码
<event button-name="mgrInquiryInventory" class-name="org.ofbiz.pos.event.ManagerEvents" method-name="inquiryInventory" disable-lock="false"/>
3、在ManagerEvents.java中加入inquiryInventory方法代码(我是使用了一个ShowInventory的XPage来展现当前选中项的库存分布)
4、完工。
算了算,包括阅读代码和编写这些东东总共也就花了七八个小时的effort,不知道为什么ofbiz就不肯加上这个功能呢?或者pos模块不再发展了?