快递员批量作废功能(重点,本质上是快递员的批量修改操作)
一键上传、POI解析Excel、pinyin4j(会用)
代码重构:优化模型驱动和优化分页代码(理解)
定区添加、带条件分页查询(重点)
1、作废:逻辑删除,就是给某条记录打上标记 Courier数据表deltag字段如果为空(null)表示有效的快递员,如果deltag为1,表示快递员已经作废
2、Datagrid的列属性formatter使用
用来格式化表格数据显示,定制formatter,控制表格内容显示
1、点击页面作废按钮时,获取所有勾选快递员id
2、编写CourierAction的delBatch实现批量作废
3、编写业务层实现
4、自定义DAO的实现方法
1、区域数据的批量导入
文件上传、数据文件格式Excel(解析操作)
上传批量数据表格注意事项:
必须同步提交form表单
Form表单编码方式 multipart/form-data
提交方式必须为post
上传文件对象input type="file" 元素要提供name属性
2、一键上传原理分析
网址:http://code.google.com/p/ocupload/
1、导入jquery.ocupload-1.1.2.js到项目中
2、在页面引入ocupload.js
3、为导入按钮,添加一键上传效果
限制只能上传指定格式的文件
思路:在选择文件后,关闭自动提交,判定文件格式,再手动提交
1、使用struts2文件上传机制,接收上传文件
1)struts-default.xml配置
拦截器已经被配置defaultStack中
2)编写AreaAction接收上传文件,在Action中定义三个成员变量
private File file;
private String fileFileName;
private String fileContentType;
2、实现Excel解析
网址:http://poi.apache.org/ 另一种解析excel技术(jxl)
HSSF解析Excel 97-2007格式(.xls)
XSSF解析Excel 2007格式(.xlsx)
1、基于maven坐标导入POI支持
poi…jar解析HSSF
poi ooxml…jar 解析XSSF(来POI包)
2、解析Excel逻辑:工作簿---sheet---row---cell
编写业务层
编写DAO
1、什么是城市编码?什么是简码?
北京市---城市编码 Beijing
北京市海淀区---简码 BJHD
2、pom引入
3、导入资料Pinyin4jUtils工具类
1、在area.html页面中添加一个查询按钮,点击按钮,弹出查询窗口
2、对查询窗口,查询按钮,添加点击事件,将查询表单数据转换为json,绑定datagrid
3、修改datagrid的url地址
4、在AreaAction中添加pageQuery查询方法
5、编写AreaService方法
6、编写DAO
7、在Area实体类上,对多属性getter方法上@JSON注解
抽取模型驱动
BaseAction的抽取思路将每个action都会用到的属性和方法抽取出来
1、定区管理功能实现
关联基础数据模块所有内容,通过定区关联客户,为后面自动分单功能提供数据支持
2、定区管理客户功能实现(WebService多系统之间通信技术Rest Service实现方式)
3、定区关联快递员实现
4、分区添加业务逻辑
管理定区是指定取派范围的单位。管理定区分别匹配小件员,管理分区和客户地址为自动下单和自动分单服务
1、完善form表单信息
2、对保存按钮,添加点击事件
3、编写FixedAreaAction代码,提供save方法
4、编写业务层代码逻辑
5、编写DAO
1、修改fixed_area.html页面,点击查询窗口中查询按钮,将查询表单数据转换为json,绑定在datagrid上
为查询form指定id
为查询按钮,添加点击事件
2、在FixedAreaAction添加pageQuery查询方法
3、编写Service代码
4、排除关联集合属性
定区就是物流覆盖配送区域,快递员将为这个定区中所有客户进行快递业务服务,关联快递员就是排班功能,关联客户就是将客户关联到定区,目的是在客户下单时,通过所在定区,找到匹配的快递员,实现自动分单
在整个物流平台系统中,客户信息不是保存在BOS系统中,而是保存在CRM系统中
需要CRM系统,存放客户信息
2、学习WebService技术,完成BOS和CRM数据通信
1、crm_management引入crm_domain依赖
2.、CRM系统需要单独数据库空间
3、运行crm_management生成数据表customer
设置CRM系统运行端口9002