当前位置: 代码迷 >> C# >> C# winform 平均分配数据(急),该怎么处理
  详细解决方案

C# winform 平均分配数据(急),该怎么处理

热度:111   发布时间:2016-05-05 03:20:10.0
C# winform 平均分配数据(急急。。)






![图片说明](http://img.ask.csdn.net/upload/201506/22/1434953625_499527.png)

![图片说明](http://img.ask.csdn.net/upload/201506/22/1434953693_599620.png)

![图片说明](http://img.ask.csdn.net/upload/201506/22/1434953653_207989.png)

如图,我取到数据之后,要平均分配给指定的客服,插入到另外一张表,当然,多余的数据,也不用随机分配。
比如说我有10条数据,3个客服,那么平均分配,就是没人3条数据,还有一条随便分,只要分配完了就好。

我的想法是循环,一个客服加一条数据,也可以取模来分配。

思路卡在了这里,不知道要怎么写代码去实现,菜鸟有点笨拙,见笑了
 
 
表结构,我也给大家一下,请帮我一个忙谢谢:

create table Employee
(
Emp_Id int primary key identity(1601,1),
Emp_Name nvarchar(30)

);
go

insert Employee values('客服8001'),('客服8002'),('客服8003'),('客服8004'),('客服8005'),('客服8006');
go

create table Customer
(
Id int primary key identity(10001,1),
Name nvarchar(20),
State int,
CallType nvarchar(20),
CreateDate datetime
);
go

insert Customer values('张慧慧',0,'成功接通',GETDATE()),('新会员',0,'成功接通',GETDATE()),
('刘晓',0,'成功接通',GETDATE()),('丽丽会员',0,'成功接通',GETDATE()),('芳香',0,'成功接通',GETDATE()),
('张红',0,'成功接通',GETDATE()),('会员',0,'成功接通',GETDATE()),('新会员',0,'成功接通',GETDATE()),
('莉莉',0,'成功接通',GETDATE()),('思思',0,'成功接通',GETDATE()),('梨子',0,'成功接通',GETDATE()),
('海绵',0,'成功接通',GETDATE()),('花花',0,'成功接通',GETDATE()),('哈敏',0,'成功接通',GETDATE()),
('hangz',0,'成功接通',GETDATE()),('帽子',0,'成功接通',GETDATE()),('geduoe',0,'成功接通',GETDATE()),
('如将',0,'成功接通',GETDATE()),('小红帽',0,'成功接通',GETDATE()),('liuxians',0,'成功接通',GETDATE()),
('阿娇',0,'成功接通',GETDATE()),('小妹纸',0,'成功接通',GETDATE()),('huanggao',0,'成功接通',GETDATE());
go


create Table Records
(
ID int primary key identity,
Emp_Id int,
Customer_ID int
);
go

------解决思路----------------------
有10条数据,3个客服,那么平均分配,就是没人3条数据,还有一条随便分,只要分配完了就好。

-> 10 除 3 取整, 根据整数3    设定取值区间,将emp_id  存入数组,进行截取。 最后一项 可截取到末尾。
------解决思路----------------------
为啥都是数据库建表语句
把这放出来有啥意义吗

实际上就是做个除法,算出每人分配几个,然后就循环一下呗
------解决思路----------------------
给个建议

首先获取要分配的人数,
之后获取数据数量,
之后比较数据数量和分配的人数,大于,均分,小于等于,依次分配。

  相关解决方案