教学计划

1、业务受理需求分析

a. 业务通知单

b.工单

c.工作单

2、创建业务受理环节的数据表

a.业务通知单

b.工单

c.工作单

3、实现业务受理自动分单

a.在CRM服务端扩展方法根据手机号查询客户信息

b.在CRM服务端扩展方法根据取件地址查询定区id

c.调整业务受理页面回显客户信息

d.实现自动分单

4、数据表格编辑功能使用方法

5、工作单快速录入

业务受理需求分析

整个BOS项目分为基础设置、取派、中转、路由、报表等几大部分。

受理环节,是物流公司业务的开始,作为服务前端,客户通过电话、网络等多种方式进行委托,业务受理员通过与客户交流,获取客户的服务需求和具体委托信息,将服务指令输入我司服务系统。

客户通过打电话方式进行物流委托,物流公司的客服人员需要将委托信息录入到BOS系统中,这个录入的信息称为业务通知单。

当客服人员将业务通知单信息录入到系统后,系统会根据客户的住址自动匹配到一个取派员,并为这个取派员产生一个任务,这个任务就称为工单。

取派员收到取货任务后,会到客户住址取货,取派员会让客户填写纸质的单子(寄件人信息、收件人信息等),取派员将货物取回物流公司网点后,需要将纸质单子上的信息录入到BOS系统中,录入的信息称为工作单。

创建业务受理环节的数据表

通过提供的业务受理.pdm,在PowerDesigner 16里面生成sql文件,导入我们的数据库,再利用myeclipse反转工具生成我们的实体类和相应的xml文件,然后导入到为我们的项目中。

业务受理自动分单

页面:WEB-INF/pages/qupai/noticebill_add.jsp

4.1 在crm服务中扩展方法

根据客户的手机号查询客户信息

根据客户的取件地址查询定区id

接口:

实现类:

//根据手机号查询客户信息
public Customer findCustomerByTelephone(String telephone) {
String sql = "select * from t_customer where telephone = ?";
List<Customer> list = jdbcTemplate.query(sql, new RowMapper<Customer>(){
public Customer mapRow(ResultSet rs, int arg1) throws SQLException {
int id = rs.getInt("id");//根据字段名称从结果集中获取对应的值
String name = rs.getString("name");
String station = rs.getString("station");
String telephone = rs.getString("telephone");
String address = rs.getString("address");
String decidedzone_id = rs.getString("decidedzone_id");
return new Customer(id, name, station, telephone, address, decidedzone_id);
}
},telephone); if(list != null && list.size() > 0){
return list.get(0);
}
return null;
} public String findDecidedzoneIdByAddress(String address) {
String sql = "select decidedzone_id from t_customer where address = ?";
String decidedzoneId = jdbcTemplate.queryForObject(sql, String.class, address);
return decidedzoneId;
}

使用wsimport命令解析wsdl文件生成本地代码,把其中的ICustomerService.java导入到我们的工具类中。

4.2 页面调整

第一步:为手机号输入框绑定离焦事件

<script type="text/javascript">
$(function(){
//页面加载完成后,为手机号输入框绑定离焦事件
$("input[name=telephone]").blur(function(){
//获取页面输入的手机号
var telephone = this.value;
//发送ajax请求,请求Action,在Action中远程掉调用crm服务,获取客户信息,用于页面回显
$.post('noticebillAction_findCustomerByTelephone.action',{"telephone":telephone},function(data){
if(data != null){
//查询到了客户信息,可以进行页面回显
var customerId = data.id;
var customerName = data.name;
var address = data.address;
$("input[name=customerId]").val(customerId);
$("input[name=customerName]").val(customerName);
$("input[name=delegater]").val(customerName);
$("input[name=pickaddress]").val(address);
}else{
//没有查询到客户信息,不能进行页面回显
$("input[name=customerId]").val("");
$("input[name=customerName]").val("");
$("input[name=delegater]").val("");
$("input[name=pickaddress]").val("");
}
});
});
});
</script>

第二步:创建NoticebillAction,注入crm代理对象,提供方法根据手机号查询客户信息,返回json

注意:配置struts.xml

第三步:为页面中“新单”按钮绑定事件

4.3 在NoticebillAction中提供方法实现业务受理自动分单

service层和dao层自己实现

datagrid编辑功能使用方式

理解了,看懂了,会用就行了

数据表格编辑功能是以列为单位。

通过数据表格中的列属性定区具体那一列具有编辑功能:

开始编辑:

结束编辑:

插入一行数据:

删除一行:

获得指定行对象的索引

数据表格提供的用于监听结束编辑事件

基于数据表格编辑功能实现工作单快速录入

在提供的jsp页面上添加我们的表单要提交到哪个action文件上,action也只是需要实现一个简单的保存功能,简单的判断即可。

总结:

今天比较顺利,没遇到什么大问题

 

 

 

学习BOS物流项目第九天的更多相关文章

  1. 学习BOS物流项目第十天

    1 教学计划 1.演示权限demo 2.权限概述 a. 认证 b. 授权 3.常见的权限控制方式 a.  url拦截权限控制 b.  方法注解权限控制 4.创建权限数据模型 a.  权限表 b.  角 ...

  2. JAVAEE——BOS物流项目01:学习计划、搭建环境、主页设计(jQuery EasyUI)

    1 学习计划 1.项目概述 项目背景介绍 2.搭建项目开发环境 数据库环境 maven项目搭建 svn环境搭建 3.主页设计(jQuery EasyUI) layout页面布局 accordion折叠 ...

  3. JAVAEE——BOS物流项目03:学习计划、messager、menubutton、登陆拦截器、信息校验和取派员添加功能

    1 学习计划 1.jQuery easyUI messager使用方式 n alert方法 n confirm方法 n show方法 2.jQuery easyUI menubutton使用方式 3. ...

  4. JAVAEE——BOS物流项目02:学习计划、动态添加选项卡、ztree、项目底层代码构建

    1 学习计划 1.jQuery easyUI中动态添加选项卡 2.jquery ztree插件使用 n 下载ztree n 基于标准json数据构造ztree n 基于简单json数据构造ztree( ...

  5. JAVAEE——BOS物流项目04:学习计划、datagrid、分页查询、批量删除、修改功能

    1 学习计划 1.datagrid使用方法(重要) n 将静态HTML渲染为datagrid样式 n 发送ajax请求获取json数据创建datagrid n 使用easyUI提供的API创建data ...

  6. JAVAEE——BOS物流项目09:业务受理需求分析、创建表、实现自动分单、数据表格编辑功能使用方法和工作单快速录入

    1 学习计划 1.业务受理需求分析 n 业务通知单 n 工单 n 工作单 2.创建业务受理环节的数据表 n 业务通知单 n 工单 n 工作单 3.实现业务受理自动分单 n 在CRM服务端扩展方法根据手 ...

  7. JAVAEE——BOS物流项目05:OCUpload、POI、pinyin4J、重构分页代码、分区添加、combobox

    1 学习计划 1.实现区域导入功能 n OCUpload一键上传插件使用 n 将文件上传到Action n POI简介 n 使用POI解析Excel文件 n 完成数据库操作 n 使用pinyin4J生 ...

  8. JAVAEE——BOS物流项目08:配置代理对象远程调用crm服务、查看定区中包含的分区、查看定区关联的客户

    1 学习计划 1.定区关联客户 n 完善CRM服务中的客户查询方法 n 在BOS项目中配置代理对象远程调用crm服务 n 调整定区关联客户页面 n 实现定区关联客户 2.查看定区中包含的分区 n 页面 ...

  9. JAVAEE——BOS物流项目10:权限概述、常见的权限控制方式、apache shiro框架简介、基于shiro框架进行认证操作

    1 学习计划 1.演示权限demo 2.权限概述 n 认证 n 授权 3.常见的权限控制方式 n url拦截权限控制 n 方法注解权限控制 4.创建权限数据模型 n 权限表 n 角色表 n 用户表 n ...

随机推荐

  1. Web of Science API

    Web of Science API是通过Web Service获取Web of Science在线数据的应用程序接口,供各种编程语言调用.简单说,就是你能根据API实时.动态得到网页版Web of ...

  2. 「2017 山东一轮集训 Day5」距离

    /* 写完开店再写这个题目顿时神清气爽, 腰也不疼了, 眼也不花了 首先考虑将询问拆开, 就是查询一些到根的链和点k的关系 根据我们开店的结论, 一个点集到一个定点的距离和可以分三部分算 那么就很简单 ...

  3. flask 基本操作 模板语言 session

    Django web:优点:大而全,ORM models ,model Form ,admin ,csrf ,session缺点:资源浪费 Flask web:优点:小而精,ORM:x , Form: ...

  4. openStack queens 功能验证调试

    linux已经加载 的内核模块查看

  5. 25.安装配置phantomjs

    1.官网下载windows版本:http://phantomjs.org/download.html2.下载完解压,将PhantomJS可执行文件配置到环境变量里.比如: 将 E:\Soft\soft ...

  6. 调试django项目的土方法

    pyscripter是自己编写python程序的ide.有时想深入了解一些程序的工作机制,直接看源码可能不能一下子看懂,通过看程序运行的结果来看程序的作用更方便理解程序. 调试django项目时,使用 ...

  7. PHP 文件操作类(转载)

    <?php class File { /** * 创建多级目录 * @param string $dir * @param int $mode * @return boolean */ publ ...

  8. Xshell 用鼠标选中一段文字后自动换行

    现象: 使用Xshell连接远程服务器,一般选中都是鼠标选中,然后按快捷键 Ctrl+Insert复制,Shift+Insert粘贴. 可是当选中后松开鼠标,这时候仿佛在xshell里自动输了一个回车 ...

  9. js页面百分比缩放

    <script> var docEl = document.documentElement, resizeEvt = 'orientationchange' in window ? 'or ...

  10. day01-Python输出

    输出 用print加上字符串,就可以向屏幕上输出指定的文字.比如输出'hello, world'>>>print 'hello, world' print语句也可以跟上多个字符串,用 ...