本销售系统主要包括三个主模块:系统模块,业务模块,支持模块.
系统模块包括的子模块: 组织机构模块,权限模块,基础数据模块.
业务模块包括:采购模块,库存模块,销售模块.
支持模块(暂缺): 包括财务分析支持,物流模块
项目主要使用框架: spring, springDataJPA, springMVC,shiro(权限框架),easyPoi(excel数据导入导出),
前端框架使用是easyUI,highChart插件写的图表,easyUI的dataGridGroup插件写的分组数据网格.
代码生成器使用的是easyCode.
项目构建使用的是maven,这是链接地址 pom文件
**本条:待补充完善更新**
- 系统表设计和表结构分析,domain层的建立以及和数据库建立映射;
- 系统模块的组织机构子模块建立,完成基础增删改查操作(主要涉及到employee和department类及相应的表),前端页面集成;
- 抽取出常用代码,domain,repository(DAO),service,controller的base类;
- 使用easyCode,写模版,生成权限管理模块的相应类
- 使用shiro进行权限管理,登录验证,权限管理
- 完成系统模块中的数据字典模块,产品管理模块
- 采购模块:采购模块包括采购申请,采购审批(暂无),采购数据报表和视图;
bugs:本次遇到了相当数量的bug
- 注入的bean使用具体实现类来接受导致的bug!由于springDataJPA和spring的一大特性,面向切面编程,使用了很多代理类,如果使用的是实现类,就出现问题了,注意 : 尽量使用接口来定义变量,不然会导致代理类无法使用报错
- 在配置web.xml的时候写dispathcherServlet写了name,和初始化位置,参数就是没有指定class,导致空指针;
- 在解决数据丢失问题的时候,@ModelAttribute里面的employee参命名为employee,update和save的也是employee,导致重名,调用save方法是就出现前台传过来的值有,后台就是没拿到,因为先执行了@ModelAttribute返回为null,添加一直是失败的,以后命名一定要规范.
本次此类粗心导致的bug还有很多,比如后台的数据封装成的json数据,前台取值拿不到,employee中使用的是username,而dept使用的是name,前后台字段对应不上导致的bug; - 在使用try没有使用提示
e.printStackTrace();
,一直看不到报错信息,导致n2n没有及时解决,以为是其他地方出错了,以后,在try catch的时候一定需要也在后台打印看出错信息; - domain是使用的代码生成器生成的,配置表关系的时候修改了字段,没有修改set,get方法,导致前台传值过来一直接收不到
- 前端是使用easyUI写的,写的时候经常查询使用手册,复制用法的时候忘了改标签元素名,导致控件创建创建不成功;
- 产品模块中添加产品是需要使用到下拉列表,下拉列表需要提供自连接查询,类别需要在下拉列表中显示,但是不可选择,刚开始选择二级联动,后来选择另外一种解决方案,思路错误浪费了一些时间;