写开源项目的想法由来已久,先前也做过尝试,通过插件模式开发的WPF权限控制框架。然而一直没有坚持下来,主要有两方面的原因:一是时间有限,对基础开发框架也不感冒,毕竟社区里面已经有不少了;二是走产品路线的话,除了需要了解业务,编码需要更多的时间投入。

但当了解到Odoo这样的低代码平台后,我想情况就会有改变了。Odoo采用python开发语言,有近20年的发展历史,每年10月份都会有新产品发布;社区活跃,在全球范围内,有50000+ 公司使用Odoo发展其业务。

把使用Odoo做开源产品的想法跟几个小伙伴沟通后,大家也都觉得好。于是先从第一款产品“物流管理系统”开始,因为我们几个人中有参与过物流项目的经验,以下是手机端的项目截图。

 

微信小程序截图

手机蓝牙打印截图

 

开篇先参考通用的物流项目,整理出常用的菜单,后期会根据具体业务需要对菜单进行调整,代码如下:

  1 <?xml version="1.0" encoding="utf-8"?>
  2 <odoo>
  3     <menuitem name="物流" id="logistics_root" />
  4 
  5     <menuitem name="档案管理" id="archives_firstmenu" parent="logistics_root" sequence="1"/>
  6     <menuitem name="货运" id="freight_secondmenu" parent="archives_firstmenu"/>
  7     <menuitem name="客户分类管理" id="khflgl_thirdmenu" parent="freight_secondmenu" action="waybill_action"/>
  8     <menuitem name="包装方式" id="bzfs_thirdmenu" parent="freight_secondmenu" action="waybill_action"/>
  9     <menuitem name="货物档案" id="hwda_thirdmenu" parent="freight_secondmenu" action="waybill_action"/>
 10     <menuitem name="保价费率" id="bjfl_thirdmenu" parent="freight_secondmenu" action="waybill_action"/>
 11     <menuitem name="往来" id="dealings_secondmenu" parent="archives_firstmenu"/>
 12     <menuitem name="运力分类管理" id="ylflgl_thirdmenu" parent="dealings_secondmenu" action="waybill_action"/>
 13     <menuitem name="承运合同管理" id="cyhtgl_thirdmenu" parent="dealings_secondmenu" action="waybill_action"/>
 14     <menuitem name="合作单位管理" id="hzdwgl_thirdmenu" parent="dealings_secondmenu" action="waybill_action"/>
 15     <menuitem name="目的地名管理" id="mddmgl_thirdmenu" parent="dealings_secondmenu" action="waybill_action"/>
 16     <menuitem name="内部" id="internal_secondmenu" parent="archives_firstmenu"/>
 17     <menuitem name="内部公告管理" id="nbgggl_thirdmenu" parent="internal_secondmenu" action="waybill_action"/>
 18     <menuitem name="部门职员设置" id="bmzysz_thirdmenu" parent="internal_secondmenu" action="waybill_action"/>
 19     <menuitem name="异地网点配置" id="ydwdpz_thirdmenu" parent="internal_secondmenu" action="waybill_action"/>
 20     <menuitem name="会计科目设置" id="kjkmsz_thirdmenu" parent="internal_secondmenu" action="waybill_action"/>
 21 
 22     <menuitem name="物流管理" id="logistics_firstmenu" parent="logistics_root" sequence="2"/>
 23     <menuitem name="始发站" id="start_secondmenu" parent="logistics_firstmenu" sequence="1"/>
 24     <menuitem name="导入外部运单" id="drwbyd_thirdmenu" parent="start_secondmenu" action="waybill_action"/>
 25     <menuitem name="货物托运凭证" id="hwtypz_thirdmenu" parent="start_secondmenu" action="waybill_action"/>
 26     <menuitem name="简单接货受理" id="jdjhsl_thirdmenu" parent="start_secondmenu" action="waybill_action"/>
 27     <menuitem name="标准接货受理" id="bzjhsl_thirdmenu" parent="start_secondmenu" action="waybill_action"/>
 28     <menuitem name="承运装车发运" id="cyzcfy_thirdmenu" parent="start_secondmenu" action="waybill_action"/>
 29     <menuitem name="派工到门接货" id="pgdmjh_thirdmenu" parent="start_secondmenu" action="waybill_action"/>
 30     <menuitem name="目的站" id="destination_secondmenu" parent="logistics_firstmenu" sequence="2"/>
 31     <menuitem name="承运车辆到达" id="cycldd_thirdmenu" parent="destination_secondmenu" action="waybill_action"/>
 32     <menuitem name="自提通知登记" id="zttzdj_thirdmenu" parent="destination_secondmenu" action="waybill_action"/>
 33     <menuitem name="派工到门送货" id="pgdmsh_thirdmenu" parent="destination_secondmenu" action="waybill_action"/>
 34     <menuitem name="中转物流登记" id="zzwldj_thirdmenu" parent="destination_secondmenu" action="waybill_action"/>
 35     <menuitem name="第三方" id="third_secondmenu" parent="logistics_firstmenu" sequence="3"/>
 36     <menuitem name="本地中介登记" id="bdzjdj_thirdmenu" parent="third_secondmenu" action="waybill_action"/>
 37     <menuitem name="本地中介结算" id="bdzjjs_thirdmenu" parent="third_secondmenu" action="waybill_action"/>
 38     <menuitem name="本地外包登记" id="bdwbdj_thirdmenu" parent="third_secondmenu" action="waybill_action"/>
 39     <menuitem name="本地外包结算" id="bdwbjs_thirdmenu" parent="third_secondmenu" action="waybill_action"/>
 40     <menuitem name="货品控制" id="goods_control_secondmenu" parent="logistics_firstmenu" sequence="4"/>
 41     <menuitem name="条码扫描平台" id="tmsmpt_thirdmenu" parent="goods_control_secondmenu" action="waybill_action"/>
 42     <menuitem name="货差控制明细" id="hckzmx_thirdmenu" parent="goods_control_secondmenu" action="waybill_action"/>
 43     <menuitem name="自定条码打印" id="zdytmdy_thirdmenu" parent="goods_control_secondmenu" action="waybill_action"/>
 44 
 45     <menuitem name="财务结算" id="financial_firstmenu" parent="logistics_root" sequence="3"/>
 46     <menuitem name="应收" id="receivable_secondmenu" parent="financial_firstmenu"/>
 47     <menuitem name="客户运费结算" id="khyfjs_thirdmenu" parent="receivable_secondmenu" action="waybill_action"/>
 48     <menuitem name="其他收入结算" id="qtsrjs_thirdmenu" parent="receivable_secondmenu" action="waybill_action"/>
 49     <menuitem name="客户运费变动" id="khyfbd_thirdmenu" parent="receivable_secondmenu" action="waybill_action"/>
 50     <menuitem name="应收余额清零" id="ysyeql_thirdmenu" parent="receivable_secondmenu" action="waybill_action"/>
 51     <menuitem name="应付" id="payable_secondmenu" parent="financial_firstmenu"/>
 52     <menuitem name="司机运费结算" id="sjyfjs_thirdmenu" parent="payable_secondmenu" action="waybill_action"/>
 53     <menuitem name="车辆报销结算" id="clbxjs_thirdmenu" parent="payable_secondmenu" action="waybill_action"/>
 54     <menuitem name="垫付运费结算" id="dfyfjs_thirdmenu" parent="payable_secondmenu" action="waybill_action"/>
 55     <menuitem name="中转费用结算" id="zzfyjs_thirdmenu" parent="payable_secondmenu" action="waybill_action"/>
 56     <menuitem name="接货费用结算" id="jhfyjs_thirdmenu" parent="payable_secondmenu" action="waybill_action"/>
 57     <menuitem name="送货费用结算" id="shfyjs_thirdmenu" parent="payable_secondmenu" action="waybill_action"/>
 58     <menuitem name="其他费用结算" id="qtfyjs_thirdmenu" parent="payable_secondmenu" action="waybill_action"/>
 59     <menuitem name="货损赔款结算" id="hspkjs_thirdmenu" parent="payable_secondmenu" action="waybill_action"/>
 60     <menuitem name="业务返款结算" id="ywfkjs_thirdmenu" parent="payable_secondmenu" action="waybill_action"/>
 61     <menuitem name="司机运费变动" id="sjyfbd_thirdmenu" parent="payable_secondmenu" action="waybill_action"/>
 62     <menuitem name="货款" id="payment_secondmenu" parent="financial_firstmenu"/>
 63     <menuitem name="代收收取结算" id="dssqjs_thirdmenu" parent="payment_secondmenu" action="waybill_action"/>
 64     <menuitem name="代收网点过账" id="dswdgz_thirdmenu" parent="payment_secondmenu" action="waybill_action"/>
 65     <menuitem name="代收网点对账" id="dswddz_thirdmenu" parent="payment_secondmenu" action="waybill_action"/>
 66     <menuitem name="代收发放结算" id="dsffjs_thirdmenu" parent="payment_secondmenu" action="waybill_action"/>
 67     <menuitem name="代收垫付结算" id="dsdfjs_thirdmenu" parent="payment_secondmenu" action="waybill_action"/>
 68     <menuitem name="代收货款变动" id="dshkbd_thirdmenu" parent="payment_secondmenu" action="waybill_action"/>
 69 
 70     <menuitem name="登记对账" id="reconciliation_firstmenu" parent="logistics_root" sequence="4"/>
 71     <menuitem name="记账" id="accounting_secondmenu" parent="reconciliation_firstmenu"/>
 72     <menuitem name="车辆报销登记" id="clbxdj_thirdmenu" parent="accounting_secondmenu" action="waybill_action"/>
 73     <menuitem name="其他费用登记" id="qtfydj_thirdmenu" parent="accounting_secondmenu" action="waybill_action"/>
 74     <menuitem name="其他收入登记" id="qtsrdj_thirdmenu" parent="accounting_secondmenu" action="waybill_action"/>
 75     <menuitem name="资金流向管理" id="zjlxgl_thirdmenu" parent="accounting_secondmenu" action="waybill_action"/>
 76     <menuitem name="对账" id="check_secondmenu" parent="reconciliation_firstmenu"/>
 77     <menuitem name="应收款催收账" id="yskcsz_thirdmenu" parent="check_secondmenu" action="waybill_action"/>
 78     <menuitem name="网点过账" id="wdgz_thirdmenu" parent="check_secondmenu" action="waybill_action"/>
 79     <menuitem name="出纳对账" id="cndz_thirdmenu" parent="check_secondmenu" action="waybill_action"/>
 80     <menuitem name="财务对账" id="cwdz_thirdmenu" parent="check_secondmenu" action="waybill_action"/>
 81 
 82     <menuitem name="业务统计" id="statistics_firstmenu" parent="logistics_root" sequence="5"/>    
 83     <menuitem name="发站存货查询" id="fzchcx_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 84     <menuitem name="到站存货查询" id="dzchcx_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 85     <menuitem name="在途货物查询" id="zthwcx_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 86     <menuitem name="线路统计" id="xltj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 87     <menuitem name="发站统计" id="fztj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 88     <menuitem name="到站统计" id="dztj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 89     <menuitem name="职员统计" id="zytj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 90     <menuitem name="客户统计" id="khtj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 91     <menuitem name="司机统计" id="sjtj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 92     <menuitem name="接货统计" id="jhtj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 93     <menuitem name="送货统计" id="shtj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 94     <menuitem name="中转统计" id="zztj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 95     <menuitem name="车辆报销统计" id="clbxtj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 96     <menuitem name="其他费用统计" id="qtfytj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 97     <menuitem name="其他收入统计" id="qtsrtj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 98     <menuitem name="货物统计" id="hwtj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
 99     <menuitem name="中介统计" id="zjtj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
100     <menuitem name="外包统计" id="wbtj_secondmenu" parent="statistics_firstmenu" action="waybill_action"/>
101     
102     <menuitem name="财务报表" id="report_firstmenu" parent="logistics_root" sequence="6"/>    
103     <menuitem name="总账财务报表" id="zzcwbb_secondmenu" parent="report_firstmenu" action="waybill_action"/>
104     <menuitem name="资产负债树形表" id="zcfzsxt_secondmenu" parent="report_firstmenu" action="waybill_action"/>
105     <menuitem name="资产负债平衡表" id="zcfzphb_secondmenu" parent="report_firstmenu" action="waybill_action"/>
106     <menuitem name="现金银行统计" id="xjyhtj_secondmenu" parent="report_firstmenu" action="waybill_action"/>
107     <menuitem name="收入统计" id="srtj_secondmenu" parent="report_firstmenu" action="waybill_action"/>
108     <menuitem name="费用统计" id="fytj_secondmenu" parent="report_firstmenu" action="waybill_action"/>
109     <menuitem name="利润表" id="lrb_secondmenu" parent="report_firstmenu" action="waybill_action"/>
110     <menuitem name="日记账" id="rjz_secondmenu" parent="report_firstmenu" action="waybill_action"/>
111     <menuitem name="明细账" id="mxb_secondmenu" parent="report_firstmenu" action="waybill_action"/>
112     <menuitem name="日统计" id="rtj_secondmenu" parent="report_firstmenu" action="waybill_action"/>
113     <menuitem name="客户往来账" id="khwlz_secondmenu" parent="report_firstmenu" action="waybill_action"/>
114     <menuitem name="司机往来账" id="sjwlz_secondmenu" parent="report_firstmenu" action="waybill_action"/>
115     <menuitem name="单位往来账" id="dwwlz_secondmenu" parent="report_firstmenu" action="waybill_action"/>
116     <menuitem name="代收往来账" id="dswlz_secondmenu" parent="report_firstmenu" action="waybill_action"/>
117     <menuitem name="收支流水账" id="szlsz_secondmenu" parent="report_firstmenu" action="waybill_action"/>
118     <menuitem name="收支日报表" id="szrbb_secondmenu" parent="report_firstmenu" action="waybill_action"/>
119 </odoo>
View Code

项目运行截图:

源码源码地址:github

感兴趣的朋友可以加入qq群组:567961463

阅读原文:菜园工程师

posted on 2023-10-25 15:39  HeavenSpring  阅读(482)  评论(0编辑  收藏  举报