写点什么

低代码平台搭建 CRM 系统实现公海客户自动分配

作者:低代码小观
  • 2024-09-14
    瑞典
  • 本文字数:1478 字

    阅读完需:约 5 分钟

低代码平台搭建CRM系统实现公海客户自动分配

实现目标

1、市场部添加的公海客户,自动轮巡分配给销售员

2、可设置销售人员自动分配公海客户的客户数上限

准备工作

1、在白码低代码开发平台准备销售员数据表,并准备几个销售员数据。

白码平台官网:https://www.bnocode.com/

必须字段说明:

自动分配客户上限:数字类型,用于限制自动分配公海客户的客户数。

已分配客户数:数字类型,记录已被自动分配的客户数。

轮序序号:数字类型,连续自增数字,轮巡分配顺序,公海客户将按照此顺序从小到大进行轮巡分配。


2、客户数据表

必须字段说明:

销售归属人:关联类型,关联销售员表,标记客户分配销售。


3、轮巡配置数据表,创建并维持一条数据。

字段说明:

下一轮巡序号:数字类型,标记下次应该分配的销售员,对应销售员表的“轮序序号”字段。

末端序号:数字类型,标记销售员表最大的“轮巡序号”,当轮巡到该序号时,下一次从头开始轮巡。


功能实现

1、新增客户公海数据。



2、获取轮巡配置,因为只有 1 条配置数据,无需筛选即可获取到配置数据。



3、根据轮巡序号获取销售员




4、实现轮巡



代码:

async function runProcess($model = model, $plugin = plugin, $params) {
let customer = $params.customer;//创建的客户
let config = $params.config;//配置表
let config_next = parseInt($params.config_next);//配置表-下一轮巡序号
let config_last = parseInt($params.config_last);//配置表-末端序号
let endIndex = parseInt($params.config_next);//终止轮巡的序号,标记是否轮巡完所有销售员

//查询所有销售员
let salerList = await $plugin.data.queryData("6013af3b2f9dc17c88f09ab9");
//map {index:saler} 可根据轮巡序号获取相应的销售员
let salerByIndex = {};
salerList.forEach(s => {
salerByIndex[s["6013afd92f9dc17c88f09ac8"]] = s;
});
//销售员
let saler = salerByIndex[config_next];
//开始轮巡
do {
max = parseInt(saler["6013af76fe80417c83c0da6b"]);//销售员分配客户上限
count = parseInt(saler["6013afbecdfeee7c7b37d9bf"]);//销售员已分配的客户数
//下一轮巡序号,如果当前轮巡序号为末端序号,则重新从序号1开始,否则自增到下一序号
if (config_next == config_last) {
config_next = 1;
} else {
config_next += 1;
}
//该销售员未达到上限
if (count < max) {
//将客户分配给销售员
$plugin.data.updateData("6013b2902f9dc17c88f09aef", customer._id, {
"6013b2de53eddf7c7c0a4bb7": saler._id,
});
//销售员已分配客户数+1
$plugin.data.updateData("6013af3b2f9dc17c88f09ab9", saler._id, {
"6013afbecdfeee7c7b37d9bf": parseInt(saler["6013afbecdfeee7c7b37d9bf"]) + 1,
});
//更新配置表的下一轮巡序号
$plugin.data.updateData("6013b493cdfeee7c7b37d9fd", config._id, {
"6013b4a82f9dc17c88f09b19": config_next
});
break;//轮巡结束
}
//巡完所有销售员,未找到可分配的销售员,轮巡结束
if (config_next == endIndex) {
break;
}
//轮巡下一销售员
saler = salerByIndex[config_next];
} while (true);
}
复制代码

效果:



用户头像

还未添加个人签名 2021-08-17 加入

跟大家聊聊低代码!

评论

发布
暂无评论
低代码平台搭建CRM系统实现公海客户自动分配_低代码开发_低代码小观_InfoQ写作社区