AEAI CRM V1.6.0 升级说明,开源客户关系管理系统
1 升级说明
AEAI CRM v1.6.0版是AEAI CRM v1.5.2版客户关系管理系统的升级版本,本次版本是基于AEAI DP v3.8.0_20170228进行打包部署的,升级内容主要是针对数通畅联销售对客户拜访任务管理进行的一次全面的升级,整体的业务流程发生了重大变化,加强了每个销售人员对自己客户关系管理,每周的客户拜访任务模式。
另外,AEAI CRM根据实际应用过程中客户反馈,对相关功能进行修正,同时完善部分功能、优化用户体验。产品现已开源,下载地址:http://pan.baidu.com/s/1mgIdzGc。
2 升级内容
1. 新特性
1) 潜在客户,添加分配功能,销售人员可以分配给其他销售
2) 添加潜在客户拜访记录(填写人、填写时间、拜访时间、沟通效果、拜访类型拜访备注可选择),并显示关联我的客户的拜访记录。
3) 添加周期定义功能模块。
4) 添加我的任务功能模块。
5) 添加任务审查功能模块。
2. 功能完善
1) 潜在客户,个体资源标签删除掉、保留组织资源标签、独立显示。
2) 潜在客户,把客户进行数据隔离,只能看见自己创建的客户和分配给自己的客户(唯一查看,分配给别人后,自己就不能查看到)
3) 提供潜在客户导入功能,提供导入excel模板下载
4) 我的客户,要能看到潜在客户变成客户的潜在客户拜访记录。
5) 我的客户,删除excel导出功能。
6) 客户信息,在左侧树添加以销售人员纬度的树。
7) 客户信息,树列表项后显示分类下的客户总数。
3. 数据表调整:
4. 角色添加
INSERT INTO `aeaicrm`.`security_role` (`ROLE_ID`, `ROLE_CODE`, `ROLE_NAME`, `ROLE_PID`, `ROLE_DESC`, `ROLE_STATE`, `ROLE_SORT`) VALUES ('05FC4E42-2BCF-4651-BDFF-86444D055695', 'SALES_MANAGER', '销售经理', '00000000-0000-0000-00000000000000000', '', '1', '7'); INSERT INTO `aeaicrm`.`security_role` (`ROLE_ID`, `ROLE_CODE`, `ROLE_NAME`, `ROLE_PID`, `ROLE_DESC`, `ROLE_STATE`, `ROLE_SORT`) VALUES ('9C7CFCED-8479-43B6-B2FE-5CAA663C2D51', 'SALES_ASSISTANT', '销售助理', '00000000-0000-0000-00000000000000000', '', '1', '9'); |
5. 删除潜在客户个人资源,重新创建潜在客户页面
INSERT INTO `aeaicrm`.`sys_function` (`FUNC_ID`, `FUNC_NAME`, `FUNC_TYPE`, `MAIN_HANDLER`, `FUNC_PID`, `FUNC_STATE`, `FUNC_SORT`, `FUNC_DESC`) VALUES ('3F23DD59-DB0D-4A25-851F-39E63E3944ED', '潜在客户', 'funcnode', '2287114B-17C2-4E88-8A2F-505709ADB719', '029FB2F2-370F-46D5-A283-A22C8E49341C', '1', '2', ''); INSERT INTO `aeaicrm`.`sys_handler` (`HANLER_ID`, `HANLER_CODE`, `HANLER_TYPE`, `HANLER_URL`, `FUNC_ID`) VALUES ('2287114B-17C2-4E88-8A2F-505709ADB719', 'OrgInfoManageList', 'MAIN', NULL, '3F23DD59-DB0D-4A25-851F-39E63E3944ED'); INSERT INTO `aeaicrm`.`sys_handler` (`HANLER_ID`, `HANLER_CODE`, `HANLER_TYPE`, `HANLER_URL`, `FUNC_ID`) VALUES ('F63CF10B-C61B-448B-BA04-1D07BD6927ED', 'OrgInfoManageEdit', 'OTHER', '', '3F23DD59-DB0D-4A25-851F-39E63E3944ED'); INSERT INTO `aeaicrm`.`sys_handler` (`HANLER_ID`, `HANLER_CODE`, `HANLER_TYPE`, `HANLER_URL`, `FUNC_ID`) VALUES ('FE46C2D2-9BD5-4DEA-8A04-AAC5CA4AB1C9', 'LabelsTreeSelect', 'OTHER', '', '3F23DD59-DB0D-4A25-851F-39E63E3944ED'); INSERT INTO `aeaicrm`.`sys_operation` (`OPER_ID`, `HANLER_ID`, `OPER_CODE`, `OPER_NAME`, `OPER_ACTIONTPYE`, `OPER_SORT`) VALUES ('EDCAA320-B057-11E6-B2F9-3B17C38C739D', '2287114B-17C2-4E88-8A2F-505709ADB719', 'edit', '编辑', 'edit', '2'); INSERT INTO `aeaicrm`.`sys_operation` (`OPER_ID`, `HANLER_ID`, `OPER_CODE`, `OPER_NAME`, `OPER_ACTIONTPYE`, `OPER_SORT`) VALUES ('EDDEBE8A-B057-11E6-B2F9-3B17C38C739D', '2287114B-17C2-4E88-8A2F-505709ADB719', 'phoneCall', '电话拜访', 'phoneCall', '3'); INSERT INTO `aeaicrm`.`sys_operation` (`OPER_ID`, `HANLER_ID`, `OPER_CODE`, `OPER_NAME`, `OPER_ACTIONTPYE`, `OPER_SORT`) VALUES ('EDEA88F5-B057-11E6-B2F9-3B17C38C739D', '2287114B-17C2-4E88-8A2F-505709ADB719', 'delete', '删除', 'delete', '5'); INSERT INTO `aeaicrm`.`sys_operation` (`OPER_ID`, `HANLER_ID`, `OPER_CODE`, `OPER_NAME`, `OPER_ACTIONTPYE`, `OPER_SORT`) VALUES ('EDF62B72-B057-11E6-B2F9-3B17C38C739D', '2287114B-17C2-4E88-8A2F-505709ADB719', 'detail', '查看', 'detail', '4'); INSERT INTO `aeaicrm`.`sys_operation` (`OPER_ID`, `HANLER_ID`, `OPER_CODE`, `OPER_NAME`, `OPER_ACTIONTPYE`, `OPER_SORT`) VALUES ('EE00387B-B057-11E6-B2F9-3B17C38C739D', '2287114B-17C2-4E88-8A2F-505709ADB719', 'create', '新增', 'create', '1');
INSERT INTO `aeaicrm`.`sys_operation` (`OPER_ID`, `HANLER_ID`, `OPER_CODE`, `OPER_NAME`, `OPER_ACTIONTPYE`, `OPER_SORT`) VALUES ('74CEE600-B058-11E6-B2F9-3B17C38C739D', 'F63CF10B-C61B-448B-BA04-1D07BD6927ED', 'phoneCall', '电话拜访', 'phoneCall', '3'); INSERT INTO `aeaicrm`.`sys_operation` (`OPER_ID`, `HANLER_ID`, `OPER_CODE`, `OPER_NAME`, `OPER_ACTIONTPYE`, `OPER_SORT`) VALUES ('74E27603-B058-11E6-B2F9-3B17C38C739D', 'F63CF10B-C61B-448B-BA04-1D07BD6927ED', 'save', '保存', 'save', '2'); INSERT INTO `aeaicrm`.`sys_operation` (`OPER_ID`, `HANLER_ID`, `OPER_CODE`, `OPER_NAME`, `OPER_ACTIONTPYE`, `OPER_SORT`) VALUES ('74E97FC3-B058-11E6-B2F9-3B17C38C739D', 'F63CF10B-C61B-448B-BA04-1D07BD6927ED', 'edit', '编辑', 'edit', '1'); INSERT INTO `aeaicrm`.`sys_operation` (`OPER_ID`, `HANLER_ID`, `OPER_CODE`, `OPER_NAME`, `OPER_ACTIONTPYE`, `OPER_SORT`) VALUES ('74F0FB97-B058-11E6-B2F9-3B17C38C739D', 'F63CF10B-C61B-448B-BA04-1D07BD6927ED', 'back', '返回', 'back', '4'); |
6. 潜在客户标签编码内容整体完善修改,删除原有的潜在客户标签编码
INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('ORG_LABELS', '1', '无人接听', '', '1', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('ORG_LABELS', '2', '号码信息不符', '', '2', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('ORG_LABELS', '3', '空号', '', '3', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('ORG_LABELS', '4', '暂停服务', '', '4', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('ORG_LABELS', '5', '暂无需求', '', '5', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('ORG_LABELS', '6', '后续联系', '', '6', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('ORG_LABELS', '7', '态度恶劣', '', '7', '1'); |
7. 添加潜在客户来源渠道
INSERT INTO `aeaicrm`.`sys_codetype` (`TYPE_ID`, `TYPE_NAME`, `TYPE_GROUP`, `TYPE_DESC`, `IS_CACHED`, `IS_UNITEADMIN`, `IS_EDITABLE`, `LEGNTT_LIMIT`, `CHARACTER_LIMIT`, `EXTEND_SQL`, `SQL_BODY`, `SQL_COND`) VALUES ('ORG_SOURCES', '潜在客户来源渠道', 'app_code_define', '', 'Y', 'Y', 'Y', '', '', 'N', '', '');
INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('ORG_SOURCES', 'INFO_ACQUIRE', '信息采集', '', '2', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('ORG_SOURCES', 'RECRUIT_ACQUIRE', '招聘采集', '', '3', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('ORG_SOURCES', 'WEB_SEARCH', '网络搜索', '', '1', '1'); |
8. 我的任务-状态编码
INSERT INTO `aeaicrm`.`sys_codetype` (`TYPE_ID`, `TYPE_NAME`, `TYPE_GROUP`, `TYPE_DESC`, `IS_CACHED`, `IS_UNITEADMIN`, `IS_EDITABLE`, `LEGNTT_LIMIT`, `CHARACTER_LIMIT`, `EXTEND_SQL`, `SQL_BODY`, `SQL_COND`) VALUES ('TASK_REVIEW_STATE', '我的任务状态', 'app_code_define', '', 'Y', 'Y', 'Y', '', '', 'N', '', '');
INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('TASK_REVIEW_STATE', 'ConfirmPlan', '确认计划', '', '3', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('TASK_REVIEW_STATE', 'ConfirmSummary', '确认总结', '', '5', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('TASK_REVIEW_STATE', 'Init', '初始化', '', '1', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('TASK_REVIEW_STATE', 'SubmitPlan', '提交计划', '', '2', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('TASK_REVIEW_STATE', 'SubmitSummary', '提交总结', '', '4', '1'); |
9. 任务跟进状态 – 编码
INSERT INTO `aeaicrm`.`sys_codetype` (`TYPE_ID`, `TYPE_NAME`, `TYPE_GROUP`, `TYPE_DESC`, `IS_CACHED`, `IS_UNITEADMIN`, `IS_EDITABLE`, `LEGNTT_LIMIT`, `CHARACTER_LIMIT`, `EXTEND_SQL`, `SQL_BODY`, `SQL_COND`) VALUES ('TASK_FOLLOW_STATUS', '任务跟进状态', 'app_code_define', '', 'Y', 'Y', 'Y', '', '', 'N', '', ''); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('TASK_FOLLOW_STATUS', 'HaveFollowUp', '已跟进', '', '2', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('TASK_FOLLOW_STATUS', 'NoFollowUp', '未跟进', '', '1', '1'); |
10. 拜访类别 – 编码
INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('TASK_CLASS', 'ColdCalls', '陌生拜访', '', '1', '1'); INSERT INTO `aeaicrm`.`sys_codelist` (`TYPE_ID`, `CODE_ID`, `CODE_NAME`, `CODE_DESC`, `CODE_SORT`, `CODE_FLAG`) VALUES ('TASK_CLASS', 'FollowUp', '意向跟进', '', '2', '1'); |
11. 添加周期定义表
create table CRM_TASK_CYCLE ( TC_ID char(36) not null, TC_BEGIN varchar(32), TC_END varchar(32), TC_FID char(36), primary key (TC_ID) ); |
12. 添加任务计划&总结表
create table CRM_TASK_REVIEW ( TASK_REVIEW_ID char(36) not null, TC_ID char(36), SALE_ID char(36), TASK_REVIEW_STATE varchar(32), TASK_REVIEW_DESC text, TASK_REVIEW_VISITS_TOTAL int(11), TASK_REVIEW_STRANGE int(11), TASK_REVIEW_RETURNVISIT int(11), TASK_REVIEW_NEW_INTENCUST int(11), TASK_REVIEW_RETURNVISIT_HIST int(11), TASK_REVIEW_LOSS int(11), primary key (TASK_REVIEW_ID) ); |
13. 添加我的任务表
create table CRM_MY_TASKS ( TASK_ID char(36) not null, ORG_ID char(36), CUST_ID char(36), TASK_REVIEW_ID char(36), SALE_ID char(36), TASK_FOLLOW_STATE varchar(32), TASK_CLASS varchar(32), TASK_CREATE_TIME varchar(32), TASK_FINISH_TIME varchar(32), TASK_CUST_STATE varchar(32), primary key (TASK_ID) ); |
14. 添加潜在客户拜访记录表
create table CRM_PROCUST_VISIT ( PROCUST_VISIT_ID char(36) not null, ORG_ID char(36), PROCUST_VISIT_DATE date, PROCUST_VISIT_TYPE varchar(32), PROCUST_VISIT_REMARK varchar(1024), PROCUST_VISIT_FILL_ID char(36), PROCUST_VISIT_FILL_TIME datetime, PROCUST_VISIT_EFFECT varchar(32), PROCUST_VISIT_CUST_FOCUS varchar(32), primary key (PROCUST_VISIT_ID) ); |
3 升级步骤
- 由于本次升级内容较多,建议重新部署新版AEAI CRM系统;
- 数据表对应调整参见升级内容对应调整。