| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 222 人关注过本帖
标题:请教高手一个算法
收藏  订阅  推荐  打印
leo01029
Rank: 1
等级:新手上路
帖子:1
积分:110
注册:2008-2-17
请教高手一个算法

我在做一个考勤系统,目的是为了统计每日的员工出勤状况,比如员工A:正常上班多少小时,请假多少小时,加班多少小时。

我们公司有个特殊的考勤项目,借调

意思是在注册在A部门的员工,因为工作需要,要借到B部门去
这个时候该员工的出勤时间要算到B部门去

如果A部门有5个人,B部门有4个人,在5/20这一天,没有加班没有请假,那这天B部门的出勤时间应该是4*8=32小时,A部门的出勤时间应该是5*8=40小时
假如5/21, 从A部门借了一个人去B部门,该员工上班8小时,没有加班没有请假
则B部门的出勤时间应该是32+8=40小时(正常上班:32小时,借入时间:8小时)
而A部门的出勤时间应该是40-8=32小时(正常上班:32小时,借出时间:8小时)

需要注意的是,借调可以是几个小时,也可以是几天,甚至几个月,开始时间是知道的,结束时间是未知的,等到实际发生才能知道

以上是借调情况下,各部门的员工出勤时间统计,下面说下我的问题。

我在数据库里建了一个表,当发生借调事件时,记录开始时间,员工信息,从哪个部门借到哪个部门
等到借调结束后,再在这个表中记录结束时间等。

问题是,我该怎么统计某一天这个部门的借调时间呢?

通常情况下,我是在当日要算出上一个工作日的出勤时间,比如今天5/21,我需要算出5/20的时间。

写出以下几种情况,给大家帮忙分析
假设今天是5/21,需要统计5/20的出勤时间
1、员工甲,在5/20从A部门借调到B部门4个小时
2、员工甲,在5/19从A部门借调到B部门,5/21还未回原部门
3、员工甲,5/20在原部门A正常上班了8个小时后,加班借调到B部门2个小时

不好意思,写的比较长,望高手能给我点思路,不胜感激!
搜索更多相关主题的帖子: 算法  员工  出勤  
2008-5-21 09:25
hebingbing
Rank: 12Rank: 12Rank: 12
来自:泰山学院
等级:版主
威望:10
帖子:3065
积分:32368
注册:2007-10-22

只建立员工表,部门信息用试图表示……
建立一个这样的表
员工  开始时间 结束时间  工作的部门

【www.bcsnjd.cn】编程少年基地:提供在线视频教程、电子图书、程序源码等众多资源,欢迎访问
本人免费做asp.net,c#,asp,vb等毕业设计。要求想法极具创新QQ:491131231
2008-5-21 09:47
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.044924 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved