瑞旗国际物流货代公司内部系统:项目背景: RichSys是专为瑞旗国际货运公司打造的ERP、OA、OMS、CRM、CMS 综合系统,旨在提升各部门工作效率,整合业务流程,并作为资料存储和备份管理平台。系统通过权限管理和算法计算报价,实现了部门间的协同工作和精准报价。整个系统由个人从0到1开发,内部系统已上线
项目技术:SpringBoot、SpringSecurity、MyBatis、Redis、Vue
贡献描述:
权限系统:有统一分配,也可以单独分配,统一分配就是建立一个分配策略,根据部门列表,菜单权限列表,分配的权限列表还有菜单新建立一个策略,策略只是一个单独的储存,确认分配后就会根据部门检索到的上下级,弄成一个set集合去检索role权限有分配的到的部门和该职级以下的人员给予到一个roleIds的集合,然后获取分配列表里有分配的菜单,给roleIds里的角色统一绑定到菜单的中间表里,每个角色就相当于分配好了菜单。
然后在切面里根据每个用户分配到权限查看全部数据,自定义的数据,本部门的数据,部门以下的数据,根据这个字段去注入数据库进行筛选,在此操作前要对注入字段进行清空。如果一个人有多个角色就会同时注入多个数据库判断
业务系统:询价也是客户,业务员储存自己的客户
log统计是否热点 如果搜索超过15次则把那个区间的数据缓存到redis
建立对询价公司的查询,主要根据服务类型,货物类型,装运区域,启运港,目的港,承运人,货物单位去对海运费的检索,里面都是多选的。因为这些都是树形表,所以检索时候需求是要把子类也要检索到。首先是对海运费的检索,根据区域,货物单位,去检索海运费也同样有绑定同样区域、单位、承运人ID的数据,最后通过一个统计出现率的算法去返回到几个集合都存在的ID返回到上级,最终搜索出符合条件的海运费。
后面搜索本地费用也是利用同样的方法,只是本地费用是利用海运费作为条件,但因为本地费用会非常多,而且不一样的承运人也会有不一样的费用,所以会有另一个算法来计算出哪个本地费用会更便宜地给到询价方,我设计的是利用流去获取到属于不同费用类型的本地费用去两两对比,因为在海运费中选择的精确度是不一样的,会根据精确度去给到一个更高的分数,最后淘汰低分的一个,直到每个费用类型里只有一个费用再去利用流去获取回来胜者组的数据
商务系统:
对供应商的录入,通过Excel注解能对excel表的解析,匹配数据库里的字段去储存信息
有一个需求是需要生成有数据选项的excel表,就会需要在运行时获取到fields里是Excel.class里的信息作为匹配,然后注入数据库信息作为选项,最后生成封装到workbookFactory里生成Excel模板表
OA系统:有日报,周报,考勤,日程,会议管理,请假申请,出差申请,公告发布,通讯录等功能,通过io流去对文件进行上传和下载,file.write方法把文件储存到目标目录中
操作系统,实时跟进货运流程,包括货运装车、仓库储存、实时航班运输状况等。
财务系统:总账、应收、应付、固定资产、成本核算、现金管理、财务预算、财务报表、发票管理等,根据本地费用、操作费用和不同的利率去计算部分订单或日期的利润或亏损