sql 三班倒 排班问题!!!

globalc 2012-07-11 11:57:44
各位大侠,有一个问题请教。

排班规则: 早 ,早,中,中,夜,夜,休,休
循环起点:2(表示第二个早)

如何按上面的规则把一个月出勤排出。多谢

...全文
386 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuam 2012-07-12
  • 打赏
  • 举报
回复
CREATE    procedure usp_paiban ( @bh char(20), --员工编号 
@dates datetime, --开始日期
@enddates datetime ,--结束日期
@times int ) --循环次数
as
begin
declare @i int
declare @Ndate datetime
set @i = @times
create table #temp
( bh char(20),
dates datetime,
bc char(10)
)

select 1 as id, '早'as d into #t
union select 2 ,'早'
union select 3 ,'中'
union select 4 ,'中'
union select 5 ,'夜'
union select 6 ,'夜'
union select 7 ,'休'
union select 8 ,'休'


while(@i > 0)
begin
if(@i = @times and @dates != '')
set @Ndate = dateadd(dd,-1,@dates )
else
select @Ndate = max(dates)
from #temp
where bh = @bh
set @i = @i - 1


insert into #temp(bh,dates,bc)
select @bh,dateadd(dd,#t.id,@Ndate), #t.d
from #t
where ltrim(rtrim(isnull(#t.d,''))) != '' and dateadd(dd,#t.id,@Ndate) <=@enddates

end
select * from #temp
end
GO

做了个按规则循环的,供参考.
tansx 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
举个例子,我想排本月的出勤

排班规则: 早 ,早,中,中,夜,夜,休,休
循环起点:2(表示第二个早)

那么本月的排班 (1号)早,(2)中,(3)中,(4)夜,(5)夜,(6)休,(7)休,(8号)早,(9号)早,(10)中,(11)中,(12)夜,(13)夜,(14)休,(15)休,(15)早-----一直到月底31号
也就是按照 早,中,中……
[/Quote]


描述不清楚。比如1号上了早班,那么1号的中和夜谁上?
--小F-- 2012-07-11
  • 打赏
  • 举报
回复
没看懂。
SQL77 2012-07-11
  • 打赏
  • 举报
回复
不懂。
zts107 2012-07-11
  • 打赏
  • 举报
回复
没看明白。。。
globalc 2012-07-11
  • 打赏
  • 举报
回复
从第一个开始,用sql如何实现?
xuam 2012-07-11
  • 打赏
  • 举报
回复
为什么不改规律,从第一个开始?
给自己增加难度?

[Quote=引用 4 楼 的回复:]
举个例子,我想排本月的出勤

排班规则: 早 ,早,中,中,夜,夜,休,休
循环起点:2(表示第二个早)

那么本月的排班 (1号)早,(2)中,(3)中,(4)夜,(5)夜,(6)休,(7)休,(8号)早,(9号)早,(10)中,(11)中,(12)夜,(13)夜,(14)休,(15)休,(15)早-----一直到月底31号
也就是按照 早,中,中,夜……
[/Quote]
globalc 2012-07-11
  • 打赏
  • 举报
回复

举个例子,我想排本月的出勤

排班规则: 早 ,早,中,中,夜,夜,休,休
循环起点:2(表示第二个早)

那么本月的排班 (1号)早,(2)中,(3)中,(4)夜,(5)夜,(6)休,(7)休,(8号)早,(9号)早,(10)中,(11)中,(12)夜,(13)夜,(14)休,(15)休,(15)早-----一直到月底31号
也就是按照 早,中,中,夜,夜,休,休,早,循环排完这个月的出勤


Burgess_Liu 2012-07-11
  • 打赏
  • 举报
回复
描述不够清楚
本系统可实现企业、集团、公司的人事、考勤、薪资、门禁、售饭等自动化综合管理。 系统特色: ○1.使用先进的信息组织技术使相关业务流程在一个操作界面内能迅速完成多种信息的记录操作与查阅,使用方便; ○2.智能排班新技术 系统针对中小型企业的班组多且乱的问题,设计了智能(模糊)排班功能; ○3..强大灵活的考勤规则 根据企业实际情况,设定不同的考勤制度,考勤规则可以最小设置到每一个班次; ○4.强大的报表与输出功能 用户可自定义个性化报表,提供报表设计器,可实现即想即所得的功能,并能 将数据导出至Microsoft Excel、Html、Xml、Txt等多种格式文档; ○5.强大组合查询功能,方便用户查询所需数据; ○6.系统采用SQL Server 2000大型数据库为平台,使用B/S三层结构开发,系统执行高效、稳定; 主要功能: ○1. 人事系统:可方便地设置和输入企业员工详尽人事档案资料,对企业员工人事档案进行分类查询、统计和打印。对企业员工增减变动、升迁、奖惩、工作业绩等情况进行电脑化管理。自定义各种人事报表,包含宿舍管理、物品领用、培训管理等模块; ○2. 考勤系统:可自由设置员工多班倒,上下班时间、法定假日、单位休假以及加班、倒班、临时加班、临时换班等,轻松处理各种直落、连班、调班、请假、待料、积假、休假、调休、欠假等复杂情况;可控制分析加班时间。自动生成个人、部门的日(月)考勤统计、差假、异动等各种统计表,数据准确、查询方便。全面实现考勤工作的自动化和无纸化; ○3. 工资系统:以企业的薪资制度和管理制度,同时结合人事档案管理和考勤的统计数据,自动核算各员工每月的薪资,操作方便,计算准确,灵活性大。自动生成个人、部门的工资条、工资表以及银行代发薪资文档; ○4. 计件系统:工序档案管理、产品信息管理、客户档案管理、客户订单管理、员工计件数据统计、订单生产状况查询 ○5. 售饭系统:软件能快速完成餐卡的开户、更改、发卡、挂失解挂、注销、补卡、充值、统计等操作。即时显示员工消费情况。通过数据采集、终端设置、传黑名单、上传交易记录、上传充值记录、上传新增名单等自动汇总交易数据,实现金额结算,生成相应报表; ○6. 门禁系统:自动记录员工进出厂房、车间等门的情况,并自动分析,生成员工出入情况的详细报表,记录并分析员工是否符合规定时间进出; ○7. 系统管理:系统数据库管理和系统用户权限管理; 最新版本请登录中国龙软件技术有限公司主页查询... http://zglong.com

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧