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模塊不再發展了?