POI批量导入及一键上传ocupload和pinyin4j组件的使用案例

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第1张图片

 

 

主要讲解四点:

  1. 快递员批量作废功能(重点,本质上是快递员的批量修改操作)

  2. 一键上传、POI解析Excel、pinyin4j(会用)

  3. 代码重构:优化模型驱动和优化分页代码(理解)

  4. 定区添加、带条件分页查询(重点)

一、快递员作废datagrid的formatter使用(重要)

1、作废:逻辑删除,就是给某条记录打上标记 Courier数据表deltag字段如果为空(null)表示有效的快递员,如果deltag为1,表示快递员已经作废

2、Datagrid的列属性formatter使用

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第2张图片

用来格式化表格数据显示,定制formatter,控制表格内容显示

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第3张图片

二、快递员批量作废功能实现(重要)

1、点击页面作废按钮时,获取所有勾选快递员id

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第4张图片

2、编写CourierAction的delBatch实现批量作废

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第5张图片

3、编写业务层实现

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第6张图片

4、自定义DAO的实现方法

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第7张图片

 

 

 

 

 

三、区域批量导入一键上传原理分析(理解)

1、区域数据的批量导入

    文件上传、数据文件格式Excel(解析操作)

上传批量数据表格注意事项:

  1. 必须同步提交form表单

  2. Form表单编码方式 multipart/form-data

  3. 提交方式必须为post

  4. 上传文件对象input type="file" 元素要提供name属性

2、一键上传原理分析

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第8张图片

四、区域批量导入ocupload一键上传效果实现(会用)

网址:http://code.google.com/p/ocupload/

1、导入jquery.ocupload-1.1.2.js到项目中

2、在页面引入ocupload.js

3、为导入按钮,添加一键上传效果

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第9张图片

五、区域批量导入ocupload一键上传文件类型验证(会用)

限制只能上传指定格式的文件

思路:在选择文件后,关闭自动提交,判定文件格式,再手动提交

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第10张图片

  1. 区域批量导入编写Action接收上传文件(会用)

1、使用struts2文件上传机制,接收上传文件

1)struts-default.xml配置

拦截器已经被配置defaultStack中

2)编写AreaAction接收上传文件,在Action中定义三个成员变量

private File file;

private String fileFileName;

private String fileContentType;

2、实现Excel解析

  1. 区域批量导入POI实现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包)

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第11张图片

2、解析Excel逻辑:工作簿---sheet---row---cell

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第12张图片

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第13张图片

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第14张图片

编写业务层

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第15张图片

编写DAO

八、使用pinyin4j生成区域简码和城市编码(会用)

1、什么是城市编码?什么是简码?

北京市---城市编码 Beijing

北京市海淀区---简码 BJHD

2、pom引入

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第16张图片

3、导入资料Pinyin4jUtils工具类

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第17张图片

九、区域条件分页列表查询功能实现(能实现)

1、在area.html页面中添加一个查询按钮,点击按钮,弹出查询窗口

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第18张图片

2、对查询窗口,查询按钮,添加点击事件,将查询表单数据转换为json,绑定datagrid

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第19张图片

3、修改datagrid的url地址

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第20张图片

4、在AreaAction中添加pageQuery查询方法

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第21张图片

 

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第22张图片

5、编写AreaService方法

6、编写DAO

7、在Area实体类上,对多属性getter方法上@JSON注解

十、代码重构优化模型驱动抽取(理解)

抽取模型驱动

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第23张图片

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第24张图片

 

 

 

 

 

十一、代码重构优化分页代码抽取 (理解)         

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第25张图片

BaseAction的抽取思路将每个action都会用到的属性和方法抽取出来

 

十二、第四章主要内容概述

1、定区管理功能实现

关联基础数据模块所有内容,通过定区关联客户,为后面自动分单功能提供数据支持

2、定区管理客户功能实现(WebService多系统之间通信技术Rest Service实现方式)

3、定区关联快递员实现

4、分区添加业务逻辑

管理定区是指定取派范围的单位。管理定区分别匹配小件员,管理分区和客户地址为自动下单和自动分单服务

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第26张图片

十三、定区添加功能实现(重要)

1、完善form表单信息

2、对保存按钮,添加点击事件

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第27张图片

3、编写FixedAreaAction代码,提供save方法

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第28张图片

4、编写业务层代码逻辑

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第29张图片

5、编写DAO

十四、定区条件分页查询实现(重要)

1、修改fixed_area.html页面,点击查询窗口中查询按钮,将查询表单数据转换为json,绑定在datagrid上

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第30张图片

  1. 为查询form指定id

  1. 为查询按钮,添加点击事件

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第31张图片    

2、在FixedAreaAction添加pageQuery查询方法

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第32张图片        

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第33张图片

3、编写Service代码

4、排除关联集合属性

 

 

 

 

 

十五、定区关联客户业务分析(理解)

定区就是物流覆盖配送区域,快递员将为这个定区中所有客户进行快递业务服务,关联快递员就是排班功能,关联客户就是将客户关联到定区,目的是在客户下单时,通过所在定区,找到匹配的快递员,实现自动分单

 

在整个物流平台系统中,客户信息不是保存在BOS系统中,而是保存在CRM系统中

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第34张图片

  1. 需要CRM系统,存放客户信息

2、学习WebService技术,完成BOS和CRM数据通信

十六、CRM系统初始搭建(重要)

1、crm_management引入crm_domain依赖

2.、CRM系统需要单独数据库空间

3、运行crm_management生成数据表customer

设置CRM系统运行端口9002

POI批量导入及一键上传ocupload和pinyin4j组件的使用案例_第35张图片

 

 

 

你可能感兴趣的:(POI批量导入及一键上传ocupload和pinyin4j组件的使用案例)