CRM(客户关系管理系统)集成Activiti框架

一:步骤

            1.导入activiti  jar包

                activiti-bpmn-converter-5.22.0.jar
                activiti-bpmn-layout-5.22.0.jar
                activiti-bpmn-model-5.22.0.jar
                activiti-common-rest-5.22.0.jar
                activiti-engine-5.22.0.jar
                activiti-image-generator-5.22.0.jar
                activiti-json-converter-5.22.0.jar
                activiti-process-validation-5.22.0.jar
               activiti-rest-5.22.0.jar
               activiti-simple-workflow-5.22.0.jar
               activiti-spring-5.22.0.jar
               joda-time-2.6.jar

               mybatis-3.2.5.jar (尽量使用高版本)

               joda-time-2.1.jar

      

  2. 添加Activiti配置文件-applicationContext-activiti.xml-配置核心对象

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
                           http://www.springframework.org/schema/tx      http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
  <!-- 数据库连接信息  -->
  <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
    <property name="driverClass" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/Activiti-CRM?createDatabaseIfNotExist=true" />
    <property name="username" value="root" />
    <property name="password" value="123456" />
  </bean>
 
   <!-- 核心服务对象工厂bean配置 -->
  <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
    <property name="dataSource" ref="dataSource" />
    <property name="transactionManager" ref="transactionManager" />
    <!-- 自动建表 -->
    <property name="databaseSchemaUpdate" value="true" />
  </bean>
 <!-- 核心服务对象工厂bean -->
  <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
    <property name="processEngineConfiguration" ref="processEngineConfiguration" />
  </bean>
  <!-- 服务对象  -->
  <bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
  <bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
  <bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
  <bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
  <bean id="formService" factory-bean="processEngine" factory-method="getFormService" />
		
 </beans> 

      3. 把Activiti配置文件-applicationContext-activiti.xml集成到Spring

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:jee="http://www.springframework.org/schema/jee"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
			http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
			http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
			http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
			http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
			http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

	<!-- 1、引入外部属性配置 -->
	<context:property-placeholder location="classpath:db.properties" />
	
	<!-- 2、数据源 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="${db.driver}" />
		<property name="url" value="${db.url}" />
		<property name="username" value="${db.username}" />
		<property name="password" value="${db.password}" />
	</bean>
	<!-- 3、Mybatis的核心配置 -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 
		<!-- 数据源 -->
		<property name="dataSource" ref="dataSource" /> 
		<!-- mybatis核心配置 
		<property name="configLocation" value="classpath:mybatis-config.xml" /> 
		-->
		<!-- 对象类型别名 -->
		<property name="typeAliasesPackage" value="cn.itsource.crm.domain,cn.itsource.crm.query"/>
		<!-- 设置映射文件地址 -->
		<property name="mapperLocations" value="classpath:cn/itsource/crm/mapper/*Mapper.xml">
		</property>
	</bean> 
	
	<!-- 4、引入外部配置文件 -->
	<import resource="classpath:applicationContext-*.xml"/>
	
	<!-- 
	 5、 事务配置
          1)事务管理器
          2)切面
          3)通知
	 -->
     <!--事务管理器 -->
	 <bean id="transactionManager"
            class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    <!-- 
    	切面
    	cn.itsource.crm.service..*.*(..)
    	..*    : 匹配在之前目录下的所有资源(包括子或子的子)
    	最后个.* :匹配类的方法,代表所有方法的意思    
    	(..)   : 方法上的任意参数     
     -->
    <aop:config>
        <aop:pointcut id="crmPointcut"
                expression="execution(* cn.itsource.crm.service..*.*(..))"/>
        <aop:advisor advice-ref="txAdvice" pointcut-ref="crmPointcut"/>
    </aop:config>
    <!-- 
    		通知
     -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
            <tx:method name="query*" propagation="SUPPORTS" read-only="true"/>
            <tx:method name="list*" propagation="SUPPORTS" read-only="true"/>
            <!-- 除了查询以外,都需要开启事务 -->
            <tx:method name="*" propagation="REQUIRED"/>
        </tx:attributes>
    </tx:advice>
    
    <!-- 日志相关 -->
    <bean id="logUtils" class="cn.itsource.crm.utils.SystemLogUtils">
    	<property name="logService" ref="systemLogServiceImpl"></property>
    </bean>
    <aop:config>
    	<!-- 怎么切 -->
    	<aop:pointcut expression="execution(* cn.itsource.crm.service..*.*(..))" id="logPointcut"/>
    	<!-- 该做什么 -->
    	<aop:aspect ref="logUtils">
    		<aop:after method="writeLog" pointcut-ref="logPointcut"/>
    	</aop:aspect>
    </aop:config>
    
</beans>

  4.测试

               通过Spring容器,注入Activiti核心服务,检测集成是否成功!!

               也可以从数据库也能看到是否集成成功,看表是否创建了

package test;

import static org.junit.Assert.*;

import org.activiti.engine.ProcessEngine;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class Activiti_Test {

	@Autowired
	ProcessEngine processEngine;
	
	@Test
	public void testAct() throws Exception {
		System.out.println(processEngine);
	}
}

       

以上便是crm对activiti的集成。

本系统集:OA,HR,CRM,于一身。 OA部分: 个人办公:内部邮件、Internet邮件、短信息、手机短信、公告通知、新闻、投票、个人考勤、日程安排、工作日志、工作汇报、通讯录、个人文件柜、控制面板 工作流:印章管理、表单定义 、工作流管理(支持复制,WEB印章等强化应用)、新建工作、待办工作、工作查询、工作监控、归档工作、委托设置 综合行政:公告通知管理、新闻管理、物品管理、固定资产管理、图书管理、会议管理、车辆管理、组织机构信息 信息交流:内部消息、内部邮件、外部邮件、内部讨论区、互动聊天、网络硬盘、投票管理、文件传阅 、手机短信管理 人力资源管理:人事档案、考勤批示、考勤统计、薪资管理、培训记录 、奖惩记录、基础设置 销售管理:客户管理、客户忠诚度管理、产品信息、销售管理、供应商管理、统计分析、基础数据设置 项目管理:项目创建、项目浏览、项目公告、项目进度、项目资源、项目预算、任务计划、项目外包、项目利润、费用报销、报销管理、数据字典 档案管理:卷库管理、案卷管理、文件管理 、案卷借阅(案卷借阅,借阅审批)、档案统计 (借阅统计,案卷统计) 、档案销毁 知识管理:知识大类、知识小类、我的知识、知识排行、知识地图、知识检索、知识互动、知识审批、知识管理员 附件管理:万年历 、世界时间 、常用网址浏览、邮编区号、日常查询 系统管理:印章管理、红头文件管理、用户管理 、角色管理 、部门管理、职位管理、附件类型、系统日志、手机短信管理组织机构设置:包含单位管理、部门管理、用户管理、角色与权限管理 其他:工作台设置,在线人员(组织结构模式),全部人员(组织结构模式) HR人力资源部分 机构管理:分级树形管理模式,部门编制数,岗位编制数等 招聘管理:需求征集(工作流),招聘计划(工作流),招聘初选(登记),招聘面试(登记),人员录用,人才储备, 基础数据设置 人事资料: 1.人事档案:人事管理(基本信息,个人简历,学习经历,工作经历,社会关系,职称评定,执业资格) 查看明细包括(基本信息,个人简历,学习经历,工作经历,社会关系,职称评定,执业资格,证照资料,合同信息,保险记录,调动情况,奖惩情况,培训课程,培训考勤,考核记录),导入数据,生日查询,人事统计分析,部门编制分析。 群发手机短信 2.合同管理:合同信息管理,合同变更,合同续签,员工转正,合同信息报表 3.人事调动:员工调动,员工离职,员工复职,人员流动分析,离职人员分析 4.员工奖惩:奖惩管理,奖惩分析,奖惩报表。 5.证照管理:证照管理,证照分析 6.职称评定:职称管理,职称分析 7.基础数据设置 培训管理:培训计划,培训考勤,培训机构,培训课件,培训费用,培训绩效,培训协议,基础数据设置 考勤管理:考勤记录采集(采集进考勤记录),考勤记录,出勤管理,休假管理,加班管理,统计查询报表 绩效考核:考核类型,考核期间,考核等级,考核信息,考核查询,考核报表,考核统计分析 薪资福利:个人所得税 ,社会保险,计件工资,计时工资.,提成工资,工资计算,工资帐套管理,工资统计分析 企业文化:单位企业介绍,单位信息发布,劳动法规及政策, 基础数据设置 系统管理:用户管理,角色管理,附件类型,系统日志,数据备份还原,备份还原设置 系统提醒:系统提醒:正式合同到期,试用合同到期,保险到期,员工生日,证照到期,职称申报,招聘计划开始,需求计划开始,培训计划开始。 系统管理 CRM客户关系管理部分 客户管理:检测客户、我的客户、共享客户、客户联系人、客户关怀、工作报告、我的客户、回收站 客户监控:允许监控的客户、客户联系人、客户关怀、工作报告浏览、 客户转移 客户跟踪:待办事宜、交往记录、销售机会、报价记录、竞争对手、销售费用 客户跟踪监控:待办事宜、交往记录、销售机会、报价记录、竞争对手、销售费用 合同定单:合同/订单、交付计划 、交付记录 、回款计划 、回款记录 、开票记录 、销售出库 合同/订单监控:合同/订单、交付计划 、交付记录 、回款计划 、回款记录 、开票记录 、销售出库 客户服务:客服控制台 、QA库管理 、投诉处理 、客服记录 、客服数据显示方案 采购管理:采购订单 、交付计划 、交付记录 、付款计划 、付款记录 、付款发票 、采购入库 采购监控:采购订单 、交付计划 、交付记录 、付款计划 、付款记录 、付款发票 、采购入库 库存管理:库存列表 入库单 :采购入库、直接入库 ; 出库单 :销售出库、直接出库库存盘点、库间调拨、报损单、报溢单、仓库设置、库存初始化/清空/清零、库存流水账 市场管理:市场活动 、广告发布 、印刷品管理 印刷品管理 :印刷品领用 礼品管理 :礼品管理 、礼品领用 供应商:供应商管理 、联系人管理 财务管理:应收款 、应付款 、已收款 、已付款 、收款发票 、付款发票 、费用报销 统计分析 客户管理:客户种类 、客户行业 、客户关系等级、客户人员规模 、客户来源 、客户阶段 、客户价值评估 、客户信用等级 、 客户拥有人 、客户创建数量人员/月度统计 、客户创建数量种类/月度统计 、大客户top20(合同额) 、大客户top20(回款额) 销售跟踪 :交往记录类型 、交往记录人员/月度统计 、客户交往记录top10 、报价记录人员/月度统计 、销售机会月份统计 、 销售机会负责人分布 、负责人/机会状态统计 、负责人/机会阶段统计 、 机会来源分布 、机会可能性分布 、机会状态分布 、机会阶段分布 、预计签单月份统计 合同/订单:合同订单状态分布 、合同订单状态/金额分布 、合同订单拥有者/状态分布 、合同订单签约时间统计 、合同订单签约金额月份统计 、合同订单签约金额人员分布 、合同订单签约金额人员/月度统计 、合同订单签约数量人员/月度统计 、合同订单未尽收款金额按签约月份统计 、合同订单类型分布 、合同订单签约金额类型分布 、 回款月度统计 、 回款人员/月度统计 、回款分类/月度统计 、回款人员分布 、回款付款方式统计 、回款分类统计、回款计划月度统计 、回款计划人员/月度统计 、开票类型/月度统计 售后服务:投诉月度统计 、投诉紧急程度/月度统计 、投诉处理结果/月度统计 、客户投诉次数top10 、投诉类型分布 、客服类型分布、客服方式分布 、客服状态分布 、客服月度统计 、 客服类型/月度统计 、 客服方式/月度统计 、 客服状态/月度统计 、客服次数top10 采购管理:采购单数量分类分布 、采购单金额分类统计 、月度采购单数量 、月度采购单金额 、人员采购单数量 、人员采购单金额 、采购单数量人员/月度统计 、采购单金额人员/月度统计 、采购发票月度统计 、 付款月度统计 、付款人员/月度统计 、付款分类/月度统计 、付款人员分布 、付款方式统计 、付款分类统计 、付款计划月度统计 、付款计划人员/月度统计 费用管理:月度费用申报统计 、月度通过审核费用统计 、月度费用人员统计(通过审核) 、费用类别分布(通过审核) 、费用类别统计(通过审核) 、人员/费用类型统计(通过审核) 、客户费用(通过审核)top20 市场管理 :市场活动类型分布 、市场活动类型/月度分析 、广告媒体类型分布 库存管理:库存流水产品数量分布 、库存流水月度统计 系统管理 用户管理、角色管理 、 组织机构 、职位管理 、 系统日志 、产品设置 、监控设置 数据备份还原:数据备份 、数据还原 备份还原设置:备份数据库 、备份存放路径 手机短信:已发送短信 、等待发送短信 、发送失败短信 、接收短信 数据字典:客户种类 、客户行业 、客户关系等级 、客户人员规模 、客户来源 、客户阶段 、 联系人分类 、客户关怀类型 、待办事宜类型 、交往记录类型 、销售机会来源 、 销售机会阶段 、竞争对手能力 、销售费用类、付款方式 、 合同订单分类 、 采购分类 、回款记录分类 、票据类型 、QA库分类 、 投诉处理分类 、 服务类型 、服务方式 、市场活动类型 、广告投放类型 、供应商所属分类 、供应商信用等级 、 直接入库类型 、直接出库类型 其他 工作台设置,在线人员(组织结构模式),全部人员(组织结构模式)
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值