排班所需表结构--排班(二)

主表:tbCustomerScheduled,排班内容

CREATE TABLE [dbo].[tbCustomerScheduled](

[id] [int] IDENTITY(1,1) NOT NULL,
[customer] [varchar](20) NULL,
[worktype] [int] NULL,
[workday] [date] NULL,
[memo] [varchar](500) NULL,
[yearmonth] [int] NULL,
[handinsert] [int] NULL,
[adddate] [datetime] NULL,
CONSTRAINT [PK_tbCustomerScheduled] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

 

配置表:tbCustomerScheduledDutyDay,每天上班人数配置表,0表示不限制

CREATE TABLE [dbo].[tbCustomerScheduledDutyDay](

[id] [int] IDENTITY(1,1) NOT NULL,
[morningcount] [int] NULL,
[morningWwcount] [int] NULL,
[nooncount] [int] NULL,
[noonWwcount] [int] NULL,
[nightcount] [int] NULL,
[isredcount] [int] NULL,
[workdate] [date] NULL,
[yearmonth] [int] NULL,
[adddate] [datetime] NULL,
CONSTRAINT [PK_tbCustomerScheduledDutyDay] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

 

排班所需客服表:tbCustomerScheduledWorkDay,设置每个客服该上的班次的数量(只有晚班)

CREATE TABLE [dbo].[tbCustomerScheduledWorkDay](

[id] [int] IDENTITY(1,1) NOT NULL,
[customer] [varchar](20) NULL,
[workday] [int] NULL,
[leaveday] [int] NULL,
[nightday] [int] NULL,
[isred] [int] NULL,
[yearmonth] [int] NULL,
[adddate] [datetime] NULL,
[nightdaytemp] [int] NULL,
[leavedaytemp] [int] NULL,
[isredtemp] [int] NULL,
[customertype] [int] NULL,
CONSTRAINT [PK_tbCustomerScheduledWorkDay] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

排班时间配置表:tbCustomerScheduledRecord,设置排班的阶段,每个时间

CREATE TABLE [dbo].[tbCustomerScheduledRecord](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](20) NULL,
[des] [varchar](200) NULL,
[fromdate] [date] NULL,
[enddate] [date] NULL,
[state] [int] NULL,
[adddate] [datetime] NULL,
CONSTRAINT [PK_tbCustomerScheduledRecord] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

 

 


支持原创:如有问题或者不同见解请联系 cheerfulhuang@yeah.net

转载于:https://www.cnblogs.com/cheerfulhuang/p/merger_scheduled_table.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以的,我可以帮你设计一个班次排班。首先,让我们定义一些基本概念: 1. 班次:班次是一个包含不同班次的时间,确定了每个班次的开始和结束时间以及其他相关信息。每个班次可以有不同的名称和属性,例如早班、中班、晚班等。 2. 排班排班是根据班次生成的具体排班信息,它确定了每个员工在每个日期和时间段内应该履行的班次。 现在我们来讨论如何自动生成排班信息。以下是一种可能的方法: 1. 确定班次:首先,定义一个包含所有班次信息的班次。这可以是一个数据库或者是一个数据结构,包含每个班次的名称、开始时间、结束时间、所需人数等信息。 2. 定义排班周期:确定排班的周期,例如一周、两周或一个月。 3. 员工信息:维护一个员工列,包含每个员工的姓名、技能等信息。 4. 自动生成排班:根据排班周期和员工信息,使用算法自动生成排班。以下是一个简单的算法示例: - 首先,随机选择一个日期作为排班的起始日期。 - 遍历排班周期内的每个日期,对于每个日期,随机选择一个班次,并检查该班次的所需人数是否已满足。 - 如果所需人数已满足,则将该班次分配给一个员工,并更新所需人数。 - 如果所需人数未满足,则继续选择班次并分配给其他员工,直到所需人数满足为止。 - 如果所有班次都已分配完毕,但仍有员工未被分配,则可以选择将其安排在其他非班次的工作中,或者安排休息。 5. 保存排班:将生成的排班保存在数据库或者文件中,以便后续使用。 这只是一个简单的示例算法,实际情况可能更加复杂。你可以根据具体需求进行修改和完善。希望这个设计能帮到你!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值