学习BOS物流项目第九天

教学计划

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也只是需要实现一个简单的保存功能,简单的判断即可。

总结:

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

 

 

 

原文地址:https://www.cnblogs.com/huozhonghun/p/9397635.html

时间: 2024-07-29 04:22:08

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

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

1 学习计划 1.jQuery easyUI messager使用方式 n alert方法 n confirm方法 n show方法 2.jQuery easyUI menubutton使用方式 3.自定义拦截器实现用户未登录自动跳转到登录页面 n 创建拦截器 n 注册拦截器 4.基于ajax实现用户修改密码功能 n easyUI中validatebox校验功能 n 发送ajax请求 n 服务端修改数据库 5.基础设置部分需求分析 6.创建基础设置部分数据表 n 取派员表 n 区域表 n 分区表

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

1 学习计划 1.jQuery easyUI中动态添加选项卡 2.jquery ztree插件使用 n 下载ztree n 基于标准json数据构造ztree n 基于简单json数据构造ztree(重点) 3.数据库建模工具PowerDesigner使用方式 4.myeclipse翻转引擎插件使用(了解) 5.项目底层代码构建(重点) n 持久层代码抽取 n 表现层代码抽取 6.实现BOS项目登录和注销功能 2 jQuery easyUI中动态添加选项卡 l 用于动态添加一个选项卡 l 选中指

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

1 学习计划 1.datagrid使用方法(重要) n 将静态HTML渲染为datagrid样式 n 发送ajax请求获取json数据创建datagrid n 使用easyUI提供的API创建datagrid(掌握) 2.实现取派员分页查询 n 调整页面基于datagrid发送ajax请求 n 创建PageBean封装分页参数 n 定义通用分页查询方法 n 将分页查询结果转为json返回 3.取派员批量删除 n 页面调整 n 服务端实现 4.取派员修改 n 页面调整 n 服务端实现 2 data

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

1 学习计划 1.实现区域导入功能 n OCUpload一键上传插件使用 n 将文件上传到Action n POI简介 n 使用POI解析Excel文件 n 完成数据库操作 n 使用pinyin4J生成简码和城市编码 2.区域分页查询 n 页面调整 n 服务端实现 3.重构分页代码 n BaseAction n 子类Action 4.分区添加功能 n 什么是分区 n 页面调整(combobox使用) n 服务端实现 2 实现区域导入功能 2.1 jquery OCUpload一键上传插件使用 O

BOS物流项目第十三天

教学计划 1.Quartz概述 a. Quartz介绍和下载 b. 入门案例 c. Quartz执行流程 d. cron表达式 2.在BOS项目中使用Quartz创建定时任务 3.在BOS项目中使用JavaMail发送邮件 4.HighCharts概述 a. HighCharts介绍 b. 在线演示 5.基于HighCharts实现区域分区分布图 1 Quartz概述 1.1 quartz介绍和下载 官网:http://www.quartz-scheduler.org/ Quartz是OpenS

JAVAEE——BOS物流项目12:角色、用户管理,使用ehcache缓存,系统菜单根据登录人展示

1 学习计划 1.角色管理 n 添加角色功能 n 角色分页查询 2.用户管理 n 添加用户功能 n 用户分页查询 3.修改Realm中授权方法(查询数据库) 4.使用ehcache缓存权限数据 n 添加ehcache依赖 n 配置缓存管理器 5.系统菜单根据登录人展示 n 调整页面ajax请求地址 n 服务端查询菜单数据 2 角色管理 2.1 添加角色功能 2.1.1 页面调整 首先先完善pages/admin/function_add.jsp添加权限的页面,把下拉框改为combotree 他的

BOS物流项目第十一天

教学计划 1.在realm中进行授权 2.使用shiro的方法注解方式权限控制 a.  在spring文件中配置开启shiro注解支持 b.  在Action方法上使用注解 3.使用shiro的标签进行权限控制 a.  在页面引入shiro的标签库 b.  在页面中使用标签 4.总结shiro提供的权限控制方式 a.  URL拦截权限控制 b.  方法注解权限控制 c.  页面标签权限控制 d.  代码级别权限控制(了解) 5.权限管理 a.  初始化权限数据 b.  添加权限功能 c.  权限

BOS物流管理系统-第一天

BOS物流管理系统-第一天-系统分析.环境搭建.前端框架 BoBo老师 整体项目内容目标: 对项目概述的一些理解 亮点技术的学习 注意学习方式:优先完成当天代码. 其他内容. 最终: 学到新的技术,会应用新的技术:对项目有个整体感觉: 课程安排:12天左右 主要内容: 项目整体概述和一般流程(项目概念.一般项目流程等) BOS项目的概述(项目背景.需求.技术架构.学习目标) 开发环境搭建 项目导入和运行(传统项目结构)(Struts2的通配符映射) 项目导入和运行(Maven项目结构)(STS开

BOS物流管理系统-第五天

BOS物流管理系统-第五天-定区管理-WebServcie远程调用 主要内容: 分区设置-导出(分区条件查询后的结果导出为Excel-POI生成Excel和文件下载) 定区管理---定区添加(定区关联分区和取派员,easyUi相关的注意的地方) 定区管理-分页条件查询(复习-form表单json转换,Spring Data Specification ) 定区管理-定区关联客户(模拟系统间:bos和crm(Customer Relational Managerment)的远程调用-WebServ