项目一:第七天 CRM 和bos系统实现定区关联客户,关联快递员. 通过CXF框架实现

定区关联客户

需求:为了快递方便客户下订单(发快递),派快递员上门取件。  所以说需要让定区关联客户(知道客户属于哪个定区),定区跟快递员关系:多对多。知道让哪个快递员上门取件。

将CRM系统中,客户表中逻辑外键c_fixed_area_id 设置为定区ID

实现步骤:

第一步:在服务端CRM系统扩展方法(CXF服务端)

***注意服务端扩展新增方法后需要自测

第二步:在客户端BOS中调用CRM中查询客户方法-展示客户记录

***判断选中定区记录数

***发送ajax请求获取客户记录

***将返回客户记录(json数组)遍历展示在下拉框中

第三步:实现数据左右移动

***通过js代码实现

第四步:在CRM中扩展客户关联定区方法

第五步:在BOS中调用CRM完成客户关联定区

(1),在CXF的服务端的CRM编写 未关联到定区客户数据, 和关联到某个定区的客户数据,通过cmd黑窗口生成 刚才写的两个代码. 将生成的接口代码复制到Bos系统的service层. 

(2) 修改前台页面.   

通过datagrid判断只能选中一条,  使用$.post(

${pageContext.request.contextPath}/fixedAreaAction_findNotAssociation.action",null,function(data){)

for(var i= 0;i<data.length;i++){

var id = data[i].id;

var name = data[i].username+"("+data[i].address +")";

//给左侧下拉框中追加option

$("#noassociationSelect").append(‘<option value="‘+id+‘">‘+name+‘</option>‘)

}

//发送请求获取关联到当前定区的客户记录--提交定区id

$.post("${pageContext.request.contextPath}/fixedAreaAction_findHasAssociationByFixedAreaId.action",{"id":rows[0].id},function(data){

//data返回客户数据;返回json数组;遍历数组中内容

for(var i= 0;i<data.length;i++){

var id = data[i].id;

var name = data[i].username+"("+data[i].mobilePhone+")";

//给左侧下拉框中追加option

$("#associationSelect").append(‘<option value="‘+id+‘">‘+name+‘</option>‘)

}

})

$(‘#customerWindow‘).window(‘open‘);

在Action中注入CRM的CustomerService  执行两个方法

1.1 下拉框数据左右移动效果

<script type="text/javascript">

$(function(){

$("#toRight").click(function(){

//目的:给右侧下拉框追加选型option,来源于左侧选中option选型

$("#associationSelect").append($("#noassociationSelect option:selected"));

})

$("#toLeft").click(function(){

//目的:给右侧下拉框追加选型option,来源于左侧选中option选型

$("#noassociationSelect").append($("#associationSelect option:selected"));

})

//给左侧select元素增加双击事件

$("#noassociationSelect").dblclick(function(){

//目的:给右侧下拉框追加选型option,来源于左侧选中option选型

$("#associationSelect").append($("#noassociationSelect option:selected"));

})

$("#associationSelect").dblclick(function(){

$("#noassociationSelect").append($("#associationSelect option:selected"));

})

})

</script>

1.1 提交表单完成定区关联客户

1、 给关联客户绑定事件

a) 给隐藏域赋值:定区id

b) 给下拉框设置选中效果

1.1 完成定区关联客户

1.1.1 在CRM中扩展方法定区关联客户

定区关联客户:关联逻辑CRM中实现;

Service:注意service开启事务管理

注意:服务端如果方法名称,参数,返回类型如果没变,不需要重新生成本地代码。

新增方法/修改方法参数/方法名称/返回类型,必须重新发布服务,重新生成本地代码

1.1.1 定区action远程调用CRM完成定区关联客户

后台管理系统中定区action中添加定区关联客户方法

定区关联快递员

定区-快递员:多对多关联;向中间表添加数据;

 

需求:给定区分配负责快递员。 将来某个客户发送快递;现在已经完成定区关联客户(客户属于哪个定区),接着完成定区关联快递员。

 

 

 

定区-快递员:多对多关联向中间表添加记录。向定区快递员关系表新增记录

收派时间-快递员:一对多关联更新子表(多方)外键。更新快递员表中收派时间外键字段。

 

1、未删除,未关联到当前定区快递员记录

2、收派时间-简化处理

第一步:页面展示数据

**以下拉框展示在职并且未关联到当前定区快递员记录

**展示收派时间记录简化处理

第二步:提交表单 提交定区id,快递员id,收派时间id

第三步:服务器端接收参数 1、快递员关联定区(新增)  2、快递员关联收派时间(更新)

1.1 使用combobox展示快递员数据

定区是物流公司进行物流分配基本单位,快递员负责定区。定区关联快递员,谁来管理某个定区。

 

下拉框中数据:未删除快递员数据:查询deltag标识等于 null

1、 页面fixed_area.jsp

2、 设置combobox的url发出请求-改为js方式创建下拉列表

{

id : ‘button-association-courier‘,

text : ‘关联快递员‘,

iconCls : ‘icon-sum‘,

handler : function(){

// 判断是否已经选中了一个定区,弹出关联快递员窗口

var rows = $("#grid").datagrid(‘getSelections‘);

if(rows.length==1){

// 只选择了一个定区

//通过js方式创建下拉列表

/* <input data-options="ditable:false, url:‘${pageContext.request.contextPath}/courierAction_listajax.action?fixedAreaId=‘,valueField:‘id‘,textField:‘name‘"

type="text" name="courierId" class="easyui-combobox" required="true" /> */

$("#courierId").combobox({

url:‘${pageContext.request.contextPath}/courierAction_listajax.action?fixedAreaId=‘+rows[0].id,

valueField:‘id‘,

textField:‘name‘,

editable:false

});

// 弹出定区关联快递员 窗口

$("#courierWindow").window(‘open‘);

}else{

// 没有选中定区,或者选择 了多个定区

$.messager.alert("警告","关联快递员,只能(必须)选择一个定区","warning");

}

}

}

3、 在courierAction中添加查询未删除快递员,返回json的数组数据

Dao:

//第一步子查询:根据定区id 查询该定区下现在已经负责快递员id

@Query(nativeQuery=true, value="select * from t_courier c where c.c_deltag = ‘0‘ "

+ "and c.c_id not in(select  fc.c_courier_id from t_fixedarea_courier fc where fc.c_fixed_area_id = ?)")

List<Courier> listajax(String fixedAreaId);

1、 数据展示

 

让定区关联快递员,让快递员关联收派时间!

1.1 展示收派时间

收派时间简化处理:上班时间id在页面中定死

1.1 提交快递员表单

1、 给按钮绑定单击事件

1.1 服务端执行定区关联快递员

1、 在定区Action中添加定区关联快递员的方法

原文地址:https://www.cnblogs.com/shan1393/p/9211266.html

时间: 2024-09-30 05:28:06

项目一:第七天 CRM 和bos系统实现定区关联客户,关联快递员. 通过CXF框架实现的相关文章

框架 day51 BOS项目练习(定区添加及查询,Hessian入门,基于hessian实现定区关联客户功能)

BOS项目笔记第5天 1.    定区添加功能 什么是定区?定区将客户信息.取派员.分区信息关联到一起,为自动分单提供数据. 1.1   在下拉框中展示取派员数据 第一步:修改combobox的url地址,访问StaffAction的listajax方法,查询取派员数据 第二步:在StaffAction中提供方法 /** * ajax查询未作废的员工 * @return */ public String findByWorking(){ List<Staff> list=staffServic

bos 第5天(定区的添加、定区的分页查询、hessian远程调用实现获取客户信息)

BOS项目笔记 第5天 今天内容安排: 1.添加定区功能 2.定区分页查询 3.hessian入门----远程调用技术 4.基于hessian实现定区关联客户 1. 添加定区 定区可以将取派员.分区.客户信息关联到一起. 页面:WEB-INF/pages/base/decidedzone.jsp 第一步:使用下拉框展示取派员数据,修改combobox的URL地址,发送请求 第二步:在StaffAction中提供listajax方法,查询没有作废的取派员,返回json数据 第三步:在StaffSe

BOS中定区关联客户

1. 首先发布crm服务 第一步:创建动态的web项目crm,导入hessian的jar 第二步:创建一个crm数据库和t_customer表 第三步:在crm项目的web.xml中配置spring的DispatcherServlet <servlet> <servlet-name>remoting</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet&

029 定区关联客户功能 - bos

一.在BOS项目中配置远程代理对象,远程调用CRM 1.使用命令wsimport命令解析wsdl文件生成本地源代码 wsimport -s . -p com.hao.crm.service http://localhost:8080/CRM/service/customer?wsdl 2.复制CustomerService和Customer类对象啊到bos项目中 3.引入cxf的依赖(已经在porm.xml中引过) 4.在Spring配置文件中注册crm客户端的代理对象 <!-- 注册CRM客户

Django之路 - 项目实战之&lt;教育行业CRM开发&gt;

本节内容 业务痛点分析 项目需求讨论 使用场景分析 表结构设计 业务痛点分析 我2013年刚加入老男孩教育的时候,学校就一间教室,2个招生老师,招了学生后,招生老师就在自己的excel表里记录一下,每月算工资时,就按这个表来统计招生提成, 后来学校大了点,教室变成了3间,招生老师变成了4个人,招的学生也开始多了起来,不过大家依然是招了学生就纪录在自己的excel里,但问题开始出现了,我们的招生多是通过网络qq聊天在线咨询,好多客户需要聊很久才能转化成学员,经常会出现一个客户跟一个招生老师聊过后,

团队项目冲刺第七天

团队项目冲刺第七天个人工作总结如下: 1.昨天干了什么? 昨天对团队成员做完的部分界面进行了整合,同时对一些界面进行了优化. 2.今天准备干什么? 今天继续整合界面,将各个界面的主题或者布局进行统一,另外,今天准备做一个欢迎的界面,即一打开app有一个标志性的界面. 3.遇到什么困难? 不知道如何设置全屏界面,改变了theme,课时仍然得不到想要的界面效果,目前还没有解决:另外,对于安卓的MVC模式有点模糊,对于活动的使用不熟悉,浪费了很多的时间.

Android项目实战(七):Dialog主题Activity实现自定义对话框效果

原文:Android项目实战(七):Dialog主题Activity实现自定义对话框效果 想必大家都用过Dialog主题的Activity吧,用它来显示自定义对话框效果绝对是一个非常不错的选择. 即把activity交互界面以Dialog的形式展现出来,Dialog主题的Activity大小将以内容的宽高来决定 <activity android:name=”MainActivity” android:theme=”@android:style/Theme.Dialog”> </acti

项目一:第六天 WebService写接口 和CXF框架

1 课程计划 1. webService入门(了解) 2. 基于jdk1.7开发webservice服务(了解) 3. Apache CXF框架入门(掌握) 4. 基于CXF框架搭建CRM系统(掌握) 1.1 wsdl  webservice描述/定义语言 俗称"web服务使用说明书"     网络服务描述/定义语言:每一个webservice服务都有自己wsdl wsdl是标准xml文件,wsdl(xml文件)包含服务名称,服务中包含方法名,方法参数(参数类型),方法返回类型.  

【项目文档】网页钓鱼URL过滤系统总结报告

本博客系作者原创,欢迎转载,转载请注明出处http://www.cnblogs.com/windcarp/ 课题内容和要求 "钓鱼"是一种网络欺诈行为,指不法分子利用各种手段,仿冒真实网站的URL地址以及页面内容,或利用真实网站服务器程序上的漏洞在站点的某些网页中插入危险的HTML代码,以此来骗取用户银行或信用卡账号.密码等私人资料.网络钓鱼不仅给网民带来经济损失,更阻碍着互联网更深的发展.防御网络钓鱼是当前形势的需要.本题是实现一个简单的钓鱼URL过滤系统,基本功能主要有: 1.黑名