如何从两个时间段里统计出员工平时工作时间,周末加班时间,法定假日加班时间?

nimeide1234567890 2019-01-22 09:52:33
如何从两个时间段里统计出员工平时工作时间,周末加班时间,法定假日加班时间?

节假日我有建立一个表,哪天是周末,哪天是国家法定假日,

员工上班时间是8点到12点,1点半到5点半,晚上7点到9点,一周上班5天半,

然后员工从下午14点工作到了第二天上午10点10分下班,也就是员工打了2次卡,一次时间是下午14点,一次时间是第二天上午10点10分,
下班时间不算,
SQL SERVER 2000,
怎么计算出这个员工平时工作了多少小时?
周末工作了多少小时(员工也可能周末加班)?
国家法定假日工作了多少小时(员工也可能法定假日加班)?
...全文
287 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
maradona1984 2019-01-22
  • 打赏
  • 举报
回复
写sql做这事挺吃力的,还是用代码做吧
还有一些边界问题要解决,比如一个人加班到凌晨4点,刚好这一天是节假日,这个怎么算~
如果这些问题搞定,直接遍历上班日期即可,分开统计

写sql搞这个实在是太痛苦,如果实在不行,就写存储过程吧
nayi_224 2019-01-22
  • 打赏
  • 举报
回复
数据记录有问题。如果员工连续两天从14点工作到10点,可能会识别为员工从10点工作到14点。除非你是上班和下班分为两个字段存储。 建议你把表结构发出来,再加点测试数据吧,不然有歧义。
丿夜曲 2019-01-22
  • 打赏
  • 举报
回复
有打卡记录表就好算了,比如这个
【员工从下午14点工作到了第二天上午10点10分下班,也就是员工打了2次卡,一次时间是下午14点,一次时间是第二天上午10点10分】
14点打卡一次,迟到半小时,计数4小时,10点10分再打卡,迟到2小时10分,计数1小时50分钟,总共工作5小时50分钟
nayi_224 2019-01-22
  • 打赏
  • 举报
回复
。。。好像是我想简单了,竟然写了一小时才搞定。 加了点东西,0~7,21~24点也算作加班时间,并考虑到了工作时间超过24小时的情况。 没sqlserver,用oracle写的,但是没用什么复杂的语法。
create table t_register(id varchar2(50), person_id varchar2(50), start_time date, end_time date);
create table t_holiday(holiday varchar2(8));

insert into t_register(id, person_id, start_time, end_time) 
select 1, '1', to_date('201901010712', 'yyyymmddhh24mi'), to_date('201901012101', 'yyyymmddhh24mi') from dual union all
select 2, '1', to_date('201901021412', 'yyyymmddhh24mi'), to_date('201901032101', 'yyyymmddhh24mi') from dual union all
select 3, '1', to_date('201901040812', 'yyyymmddhh24mi'), to_date('201901062101', 'yyyymmddhh24mi') from dual union all
select 4, '2', to_date('201901010812', 'yyyymmddhh24mi'), to_date('201901012101', 'yyyymmddhh24mi') from dual union all
select 5, '2', to_date('201901020812', 'yyyymmddhh24mi'), to_date('201901021601', 'yyyymmddhh24mi') from dual 
;

insert into t_holiday(holiday) values('20190104');
insert into t_holiday(holiday) values('20190105');

create or replace function f_test_0122(start_time in date, end_time date, st number, ed number) return number is
  Result number;
begin

  return 
  (
  case 
       when to_char(start_time, 'sssss') <= st * 60 * 60 and to_char(end_time, 'sssss') >= st * 60 * 60
         then least(to_char(end_time, 'sssss') - st * 60 * 60, (ed - st) * 60 * 60)
       when to_char(start_time, 'sssss') >= st * 60 * 60 and to_char(start_time, 'sssss') <= ed * 60 * 60
         then least(to_char(end_time, 'sssss'), ed * 60 * 60) - to_char(start_time, 'sssss')
       else 0 end
  )
  ;
end f_test_0122;

select*from t_register;
select*from t_holiday;

with tab1 as (
select t1.*, 
       to_char(trunc(t1.start_time) + level - 1, 'yyyymmdd') date_flag, 
       max(level) over(partition by t1.id) max_level,
       level lv
  from t_register t1
connect by level <= trunc(t1.end_time) - trunc(t1.start_time) + 1
       and prior t1.rowid = t1.rowid
       and prior t1.person_id = t1.person_id
       and prior sys_guid() is not null
)
,tab2 as (
select t1.*, 
decode(lv, 1, t1.start_time, trunc(t1.start_time)) + (lv - 1) true_start_time,
decode(lv, max_level, t1.end_time, trunc(t1.end_time) + 1 - 1 / 24 / 60 / 60) - (max_level - lv) true_end_time 
  from tab1 t1
)
, tab3 as (
select t1.*,
       t2.*,
       f_test_0122(t1.true_start_time, t1.true_end_time, 8, 12) +
       f_test_0122(t1.true_start_time, t1.true_end_time, 13.5, 17.5) +
       f_test_0122(t1.true_start_time, t1.true_end_time, 19, 21) time_work,
       f_test_0122(t1.true_start_time, t1.true_end_time, 0, 7) +
       f_test_0122(t1.true_start_time, t1.true_end_time, 21, 24) time_overtime
  from tab2 t1, t_holiday t2
 where 1 = 1
   and t1.date_flag = t2.holiday(+)
 order by t1.id, t1.lv
)

select t1.person_id,
       round(sum(
       case when t1.holiday is null and to_char(trunc(t1.true_start_time), 'd') not in ('1', '6')
         then t1.time_work
       else 0 end
       ) / ((4 + 4 + 2) * 60 * 60), 2) 工作日非加班工作时间,
       
       round(sum(
       case when t1.holiday is null and to_char(trunc(t1.true_start_time), 'd') not in ('1', '6')
         then t1.time_work + t1.time_overtime
       else 0 end
       ) / ((4 + 4 + 2) * 60 * 60), 2) 工作日总工作时间,
       
       round(sum(
       case when t1.holiday is not null
         then t1.time_work + t1.time_overtime
       else 0 end
       ) / ((4 + 4 + 2) * 60 * 60), 2) 节假日工作时间,
       
       round(sum(
       case when t1.holiday is null and to_char(trunc(t1.true_start_time), 'd') in ('1', '6')
         then t1.time_work + t1.time_overtime
       else 0 end
       ) / ((4 + 4 + 2) * 60 * 60), 2) 非节假日周末工作时间,
       
       round(sum(
         t1.time_work + t1.time_overtime
       ) / ((4 + 4 + 2) * 60 * 60), 2) 总工作时间
  from tab3 t1
 group by t1.person_id
;
nayi_224 2019-01-22
  • 打赏
  • 举报
回复
别!如果这种sql都写不出来,还是别搞存储过程了,用js都比那强。如果你说的是函数,那倒是可以考虑一下。
十八道胡同 2019-01-22
  • 打赏
  • 举报
回复
如果用脚本来写,用存储过程 是一个比较好的办法
【官方支持】 有问题,请先上http://www.plrsoft.cn/spcenter找补丁!实在不能解决,请Q我:2643148,请附加信息:asoft签到管理系统。 【如何安装】 1)、全新安装: 将所有文件放到IIS虚拟目录,在浏览器运行asoft_install_v x.x build xxxx.asp,选择“全新安装”即可。(asoft_tykq x.x build xxxx_all.xml是封装好的X.X完整版安装程序,适合懒人使用) 2)、升级安装 将所有文件放到IIS虚拟目录,在浏览器运行asoft_install_v x.x build xxxx.asp,选择“升级安装”即可。注意数据备份!(asoft_tykq x.x build xxxx _update.xml是封装好的升级版安装程序[未带数据库],适合老用户升级使用) 3)、绿色使用 解压“asoft_v x.x build xxxx _绿色安装包.rar”到虚拟目录,直接解压到浏览器访问虚拟目录即可。如果需要升级数据库,在浏览器运行asoft_install_v x.x build xxxx.asp,选择“仅升级数据库”即可。注意数据备份! 【一般会遇到哪些安装的问题】 如果安装不上,或者安装了不能用,请先检测以下三个原因,不要动不动就Q我,搜索引擎是个好东西,可以多加利用,谢谢! 1、本程序只能在IIS5.1 (winxp win2003 win7) 以上版本运行。(win2000、NETBOX或者简易IIS服务器下不能运行)!此错误的报错信息为 :未结束的字符串 2、NTFS硬盘写权限未打开,此错误的报错信息为 Microsoft JET Database Engine ‘80040e09’ 3、IIS父路径未启用,具体表现为登陆后大部分数据处于LOADING状态。 4、IE8下,未勾选“自定义级别安全设置”中-“将文件上载到服务器时包含本地目录路径”选项 5、遇到不明的500错误,你点浏览器 工具->internet选项->高级 ,找到“显示友好http错误信息” 去掉这个选项前面的勾然后刷新页面,看看详细的错误信息,复制给我 更多解决方案请进入:http://www.plrsoft.cn/?p=52 (ASP+ACCESS数据架构策略报错解决办法) 6、无法使用视频签到,看不到图像 : 进入 C:\windows\system32\macromed\flash\mms.cfg 这个进程,不要搜索,要手动,因为C盘把这些设为自动隐藏文件,然后删除mms.cfg,重启。 【第一次登录使用】 全新安装和绿色使用的用户的请用 asoft / 123456 登陆管理,设定好管理员和其他设置即可。系统已经内置操作引导,登陆后可以在左右上方找到。 升级安装的用原密码登入即可。 【数据库安全】 建议将data/目录下的mdb数据库改成 .asp扩展名,同时修改根目录和ajaxinc目录的conn.asp中的数据库路径即可,这样可以防止数据库被恶意下载。 【功能概览】 1、用户:签到(普通签到和视频签到) 请假 便签 文件共享 2、管理员:人员管理 签到设定 部门设定 请假数据管理、自定义流程 系统设置 系统日志 在线更新 公告管理 各种用户行为记录导 数据库管理 【给DIY用户】 根目录下文件为所有的程序文件,文件头部版权部分已经附带该文件的功能说明。 [其他目录] attachments:用户的附件箱,以用户的用户名命名子文件夹("_annouce_"默认文件夹请不要删除,否则将无法上传公告附件!“_qdphoto_”放置用户签到图片,也请不要删除!) ajaxinc: AJAX应用类(以ajax_命名的四个文件)、附件上传(upload_5xsoft.inc|asoft_upload.asp)和EXCEL导文件(toexcel.asp)、顶部banner(top.asp)、验证码生成文件(CodeGen.asp、VerifyCode.asp),数据库连接文件(conn.asp) MD5加密函数(MD5.asp) 全局自定义函数包(function.asp) data : 数据库文件夹 databackup:数据库和通过ASOFT SPCENTER在线更新后的程序文件备份文件夹 images:系统使用的图片文件夹 jsinc:jquery应用类、自己编写的JS函数,ajax应用入口函数 【一些定义】 签到签退缓冲:为了人性化的进行签到、签退操作,在签到、签退时间点前后设定的缓冲时间,在缓冲时间内进行签到签退都是合法的,不会被记录为迟到或者早退。例如,系统设定8:50签到,同时设定签到点前缓冲为10分钟,签到点后后缓冲为5分钟,那么在8:40~8:55签到都是正常的。早于该时间无法签到、晚于该时间视为迟到。 迟到:超过了预定义的签到时间而进行的签到操作 早退:当系统未开放自动签退功能时,如果发生过签到但未按时签退的行为 。例如,系统设定8:00~12:00未签到时间,8:00按时签到,但是未在12:00签退的行为 旷工:未按时进行预定义的签到动作的行为,例如,每天设定了上午下午两次签到点,上午未签到将为上午记录一次旷工;下午同理。 轮班:在用户绑定到某一签到组后(例如签到时间为早8:00~12:00,下午14:00~18:00,晚班19:00~23:00),管理员可以单独调整该用户签到频次,例如,只签早班,或者晚班。 跨天签到:可以允许用户进行任意多天的签到时长,适合晚班用户,例如从当天22:00~次日8:00. 【历史版本(不含补丁版本)】 [2010-01-10] V3.5 正式版 build 20110110 1、增加离座快捷设置,并可以锁定屏幕。 2、增加加班功能 修改: 1、自由签到可以在后台的签到设定进行是否脱离每日签到模块自动统计的开关 [2010-12-15] V3.5 内测版 build 20101215 增加: 1、可在后台授权的批量签到(签到内挂)诞生了,适合某些单位外派人员的负责人一键群签到需求 (在后台系统设置->权限管理对可操作的组别授权,授权后即可在左边操作栏的“数据管理”看到该选项) 2、现在系统允许在预设的假期内对某些人单独开放系统签到模块而不必更改全局设定了。 (在后台系统设置->常规设置可以添加想要开放签到的日期,比较适合于在一些额外的假日的时候进行便捷的调休) 3、万众期待的请假流程无限级自定义诞生了,并且,请假流程会根据申请人权限自动省略不必要的步骤(比如说部长的申请单无需组长进行第一审批了,即使该部门的请假流程存在组长这一级审批) 4、调整休假设定、批量签到、批量更改用户状态的界面,减少了单位时间现的按钮数量,使得操作更明晰 (通过左侧功能导航进入“休假设定”、“批量签到”、“用户状态设定”后可体验。需要后台在“权限管理”开放这三个权限) 5、允许任何用户可以根据实际情况中存在的项目团队进行自定义的项目负责人,项目负责人的作用体现为请假流程中的预审批。 (允许用户自发性的组成一些项目组,项目负责人可以由任何一个用户指定,被指定为项目负责人的用户会现在进行指定操作的用户的请假流程预审批列表中,仅具有请假审批权限。) 6、首页增加“实时签到查看”选项卡 ,该选项卡可以在后台设定允许查看的权限组。 在后台系统设置->勾选后,可以在 start页面 [main.asp]看到。) 7、管理员可以在后台自定义用户状态(未审核、已审核、差状态)、并可以将修改用户状态授权给组长以上职务,被设定为差状态的用户会被系统自动忽略而不计入旷工,适合快速请假调休。 8、现在可以在部门管理界面调整部门先后顺序了 修改: 系统使用大小写混合密码无法登陆的情况 (用户名不区分大小写。自V2.2版后,密码重新开放大小写混合的复杂型密码) 修正: 优化请假模块在进行剔除工作时间的请假时间计算逻辑并修复一个因跨天签到设置导致计算不准确的BUG。 [2010-09-13] V3.4 正式版 build 20100913 1、增加开关左侧导航的功能,现在你可以有更大的视觉空间来查看数据了 2、修正自由签到用户无法计算请假时间、导致无法请假的BUG 3、修正设置得无公共审批人无法在审批人列表中被看到的BUG 4、修正销假后,在请假时间内依然被记录为旷工,其中: 4.1 更改请假逻辑 请假状态从请假开始时间系统自动计算,而非在终审生效的时候算起 4.2 在考勤查询增加一个“请假”快速查询类别 5、增加防签到状态卡死代码,修复某人因迟到造成连续自动签退后卡死的情况 [2010-09-07] V3.3 正式版 build 20100907 修复中文登录名用户无法正确保存视频签到的图片的BUG [2010-08-28] V3.3 正式版 build 20100831 特别重大更新-> 加入了视频签到功能,杜绝代签现象。你可以在“系统设置”->“签到设置”中决定是否开启它,以适应那些没有安装摄像头的单位继续以原有方式签到。(依赖服务器端的Persits.Jpeg组件。如果没有该组件将无法启用视频签到拍照功能,系统会提示您安装!) 1、重新编写签到统计模块,不会周末双休时被记录到旷工的情况了 2、签到查询界面增加了“申辩”快捷筛选选项 3、为用户管理界面和用户数据导功能增加了一个时间筛选的功能,现在可以直观的统计各个用户在选定时间的考勤数据总揽了。 4、增加一个控制公告和便签刷新的时间字段 现在管理员可以根据自己的服务器压力情况修改这个时间了 5、将迟到跟签到合并,现在迟到人员不会同时产生一条“迟到”和一条“正常签到”记录了。 6、增加了一个请假界面的在数据受损后的兼容性 7、修复未创建附件箱时上传附件的BUG 8、修复FF下无法在公告和便签附件箱上传附件的BUG 9、修改当签到组管理无子选项的样式 10、为附件箱图片增加预览功能 11、修复登录验证码开关的小BUG 12、CSS调整,增加style文件夹,统一放置CSS 13、修改签到组弹框样式 14、修改在线更新版本对比代码段,修正了一个无外网连接时AJAX机制报错的BUG 15、修改了calendar.js,优化了日历选择控件样式和速度 16、修正了几处界面显示效果 17、在“私人定制界面”页面增加了“是否开启系统tips” (tips有时候很烦人……哥也深受其害 >_<)的功能。 [2009-11-27] v3.2正式版 build20091127 1、增强了“自由签到”功能,现在您可以为各部门设定每天可自由不限时签到次数和每次签到签退最小间隔了。 2、新增“签到状态申辩”和处理申辩的功能,现在您可以向管理员提有异议的签到记录并且要求管理员修正你的签到记录了。 3、增强了请假审批功能,现在您可以为各部门分别自定义请假审批流程了 4、新加入节假日功能,现在您可以全局设定如何放假(休周末、休单周、休双周、单双轮休)以及当年法定假日,甚至为任何一个单独用户设定个性化的休假方案了。休假期间,用户不能签到,也无法被签到记录统计程序记录。 5、现在您可以在发送便签或者发布公告的时候从自己的附件箱点选文件作为附件了。超级管理员增加了一个查看指定用户的便签附件箱的功能。 [2009-10-01] v3.1正式版 1、增加自定义用户组名称功能,现在您可以自由的为所有权限的用户取一个您喜欢的名字了(更改后用户下一次登录系统将会显示新的权限名称。例如,将“数据员”改为“秘书”等) 2、调整登陆页面设计。暂时屏蔽日程功能(插件暂时无法兼容,会在后续补丁开放该功能。) 3、编写公告和便签附件上传代码,植入uploadify控件,现在您可以为自己的附件箱增加附件了 4、如果管理员设置了自动签退,现在系统不再记录用户的早退行为了。 [2009-9-15] v3.1 beta3(内测,未发布) 1、增加滑动门机制,现在系统功能列表显得更加有序了。 2、引入jquery,改动行交叉变色机制和时间控件 3、修改工作人员状态模块增加发言类别,现在您可以发言、告知所有人您的离岗情况和请假情况了! 4、增加管理员对各部门私人附件箱大小的控制,现在用户可以为自己创建一个管理员规定大小的附件箱了。 5、v3.1正式版UI替换结束,正式版将启用全新界面。 6、新增“在办箱” 功能,您能方便的看到自己的工作情况,并能方便的查询联系薄、最近的操作记录 7、新增 user_zw字段 用于储存用户职务 [2009-7-22] v3.1 beta2 1、请假流程四级化,并通过为各部门设定不同的主管级、部门级请假时长审批来自动减少审批流程长度。例如,请假4小时以内,只需要主管基本审批即可,8小时以内,需要部门审批院审批。 3、签到、请假查询、导代码更替,现在可以不用开启JAVASCRIPT功能来进行页面导了。 4、原绑定用户功能写数据库时增加对轮班字段的写入,增加轮班设定页面,现在您可以为任何一个用户设定单独的签到方式了,例如,某团队在绑定同一个签到组的情况下,有些人可以只上午签到,有些人则可以下午签到,类似轮班。 5、增加新便签弹、新公告弹用户私人定制功能,任何用户可以根据自己的需要打开或者关闭该功能。 6、增加登陆开关验证码功能,现在您可以关闭“烦人”的验证码了。 7、嵌入Service Pack中心,现在您可以进行在线升级了! 8、系统浏览器兼容性调整完毕,现在您可以在IE、firefox和遨游、腾讯TT等浏览器上正常使用本程序了 [2009-5-10] v3.1 beta1 1、部分功能ajax化 2、验证机制cookies化 3、界面UI更换 [2009-1-7] v 3.0 PACK3 [本次Pack3的发布主要是bug修正、少许的功能升级,并为下一个版本做铺垫。主要升级如下:] 1、 修改后台系统设置的“每日进行当日签到统计时间”,使得当前该功能关闭时,时间输入框为不可用状态。 2、 后台增加新的开关功能,现在可以控制新注册用户是否需要后台审核了。 3、 会员注册模块有更新,现在可以在注册时看到对注册要求填写项目的用途的注册引导信息了。 [改动fun.asp zizhusing.asp] 4、 修改单机模式和局域网模式的跳转,现在当你单机测试的时候程序不再向网关发送请求来获取返回的IP地址了,而是直接使用127.0.0.1。 5、 美化了分页样式 6、 在后台左边操作栏增加了ajax实时更新便签信息的功能。在版权处增加了我的QQ实时聊天联系方式 7、 升级系统的周末模式。现在员工周末进入开放了周末模式的系统将直接跳转到个人信息查看页面而不是跳转到签到页面。 8、 便签模块ajax化,每5秒读取一次新信息。 9、 修复后台为员工分配签到组时分页跳转错误的BUG。 [2008-10-10] v 3.0 PACK2 1 、修改所有页面的分页跳转功能,有一个统一的子过程:FenPage() 统一控制,现在可以选择任意跳转到第几页了 2 、细化了签到缓冲设置,现在可以有四个参数指定签到点前后的不同缓冲了,让缓冲时间更加精确。 数据库qdsetall表增加字段 hctime_pre用来储存签到前缓冲时间,qthctime_pre用来储存签退后缓冲 数据库type表增加字段 hctime_pre用来储存签到前缓冲时间,qthctime_pre用来储存签退后缓冲 [2008-10-5] v 3.0 PACK1 1 、使得系统日志查询和签到签退功能的每页显示条数可在后台系统参数设置控制 (修改webset.asp,systemevent.asp,menberqdqt.asp,menberztkg.asp) 2 、增加签退缓冲时间设定,现在签到缓冲时间和签退缓冲时间可以单独设定了,改变了签到签退公用一个缓冲时间的模式 数据库升级: 在qdsetall表增加qthctime字段Integer default 0,贮存有签到组的人员的签退缓冲时间;在type表增加 qthctime字段Integer default 0,贮存自由签到组签退缓冲时间 修改功能添加修改删除页面:manager/ qdset2.asp,qdset_do.asp,type.asp,type_do.asp,showtime.asp 修改该功能显示页面:根目录/ payinfo.asp,qd_main.asp,fun.asp,zhinf.asp,cdinf.asp,qdinf.asp,qdinfo.asp 3、 修正了签到功能在准点签到的时候一个致命的错误;增强了本系统在单机环境测试时的IP获取稳健性(本系统采取从局域网网关返回本机IP的方式获取IP,因此在单机测试的时候会提示找不到IP。为配合该功能,在后台系统设置了一个名为“系统使用模式”的功能开关:唯一性选择“局域网模式”和“单机模式”)。 修改qd_main.asp,webset.asp,webset_do.asp,webinfo.asp 增加数据库webset表字段LanOrLocal,数据类型为Integer default 0 4 、其余发现的提示性说明文字bug小修改 userpass.asp,allqdcheck.asp,cdinf.asp,zhinf.asp,qdinf.asp [2008-3-10] v2.2 正式版 1 前台新增IP锁定功能,防止代签,后台可开关该功能。 2 前台增加“签到查询功能”,后台可开关该功能。 3 修正 自由签到功能 4 增强图形验证码生成功能 [2007-10-5] v2.1 正式版 1 修正 取回密码功能 2 加入可控制的自动注销功能 3 加入迟到过久可以切换到下一个签到点的功能 4 修正按时间察看签到纪录的 th宽度问题 5 增加“按时间查询”员工签到纪录和EXCEL导功能 [2007-3-29] v2.0 正式版 1 签到功能彻底更新,增加多点签到功能,每天可以设置无限多个签到点! 2 增加“签到缓冲时间”功能,时令的签到设定更加人性化! 3 人员管理的增加、修改功能中增加 “签到设定"! 4 css全面定义,增加了可选择的多个项目操作功能[例如全删除,全审核通过]! 5 员工的签到操作界面大改变,系统会按照设定依次提示员工该何时签到何时注销 6 增加所有签到纪录查询功能! 7 员工管理者[小组长]更名为“组管理者” 8 后台系统设置功能中增加两项:更改首页横幅[banner]和logo,您用不着再去修改源文件来使系统的外观个性化了 9 根据反馈,去掉了“考勤管理”模块,去除了“人员奖罚”功能, [2006-11-24] v1.2 正式版 1、前台javascript过滤空串,减少服务器负担。[修改 login.asp,login2.asp.login3.asp]。 2、修改自主注册功能面“职务细分”与后台显示不一致的问题。[修改zizhusign.asp]。 3、去掉员工管理者发布公告和文章的功能[修改后台公告和文章相关的文件,请直接覆盖]。 4、员工管理者(相当于小组长)现在只能察看本组员工的信息和迟到情况。 5、修正了“修改我的资料”功能的一处显示不当的错误。 6、管理员的后台人员资料管理现在可以选择组别来察看、也可以输入该员工的登陆账号或真实姓名来察看了,这样可以 减少管理员寻找某个特定员工时间,也可以实现按组别管理某个特定类别的员工。 7、系统升级到1.2版本,前台top.gif和后台左上角图片更新。 [2006-10-13] V1.1 正式版 本次升级解决的问题是: 在fun.asp文件中,修正了第271行“管理者”和“员工”与后台增加人员不一致的情况。 ·修正了登陆功能,现在管理员登陆后直接进入后台,而不是像1.0版进入的是index.asp ·修正了修改公告的功能,不会再发生语句错误导致无法执行该叶面的情况。 ·修正了审核功能,现在可以正常的单个审核了。 ·增加了了审核页面中信息量,可以显示该人员工作组,真实姓名,职务,以便管理员判断。 ·增加签到积累考勤分,迟到或者不签到减少原有考勤分功能。 ·完善后台“人员资料”功能,增加两项功能: 1、管理员可察看单个员工的该月迟到签到纪录。 2、签到、考勤分、迟到三个栏目现在按系统配置的开关选项显示或关闭了。 ·人员详细资料中增加了“排名信息”,可以显示排名和排名时间。 [2006-10-5] V1.0 正式版 功能介绍 1、概念 管理:特指人员管理,考勤管理、签到管理、排名管理、工资结算管理。 通用:开放的配置系统,可以按本单位需要设置工作组、为人员分配工作组并设定工作时间等等。前后台的一些功能可以按需要决定开关, 具有很大的开放性,功能多样、选择性。 2、特色功能: (1)、签到功能:可以自由设定员工签到方式为 自由签到或者 定时签到,可以统一设定所有人签到模式和时间。如果是设定的自由签到,还可 以设定当天最多签到次数,如果是定时签到模式,当天只能签到注销一次,还可以单独修改特定人员签到方式签到时间,功能强大而灵活。员工还可以查看本月自己的签到纪录(该功能后台可以选择开放或者关闭)。关于自由签到和定时签到的具体说明以及疑问请参看本文最后的备注部分。 (2)、考勤功能:可以设定签到积累考勤积分(每天的第一次签到增加积分),迟到人员减分,[此功能1.1版更新]。管理员和员工管理者可以直接修改员工的当月考勤分和记录在案的总考勤分。员工可以在自己的控制面板察看考勤明细。(该功能后台可以选择开放或者关闭)。 (3)、排名功能:管理员可以对员工的 月签到次数、总签到次数;月考勤分,总考勤分;月迟到次数、总迟到次数进行排名并记录到数据库以供员工通过前台的查询接口查询排名。在排名的时候,系统会有两个功能予以选择,一是先排名到页面预览,一是要求选择是否员工管理者也参加排名。因为在您的公司中,员工管理者可能是属于权力部门的,他们没有被分配和员工一样的工作,比如学校的校长,公司的会计等等。在查询接口,会显示当前所查看的排名纪录的排名时间,以免造成理解上的错误,因为这不是实时排名。前台的查询接口可以在后台关闭。 (4)、工资结算功能:该功能以工作时间为结算依据。计算公式为:[((月工资/本月天数)/日规定工作间)*今日有效工作时间],这有个有效工作时间的概念,可以理解为“不超过系统设定的工作时间工作时间”。因为会发生员工忘记注销或者超时注销的情况。因此后台可以为个个工作组设定“忘记注销默认工作时间”,这是忘记注销有效工作时间的上限。而超时注销是以改人员所在组的规定工作时间为上限的。因此超时注销不会增加你的有效工作时间。如果是自由签到,那么在系统规定的签到次数内,系统会累计今日工作时间,以规定的工作时间为上限。如果是定时签到,那么只能签到和注销一次,以后的升级版本会加入日多点定时签到的功能,请关注。
课程内容:本课程是《Java工程师必学系列课程》的第6部分,主要讲解Java语言中中新旧两代日期时间相关的类、日期时间相关的处理方法、历法和时间计算的常识,在课程的最后还安排了万年历实战项目本课程涉及的主要内容可以分为四部分:一、Java语言旧日期时间系统二、Java8新日期时间系统三、日期、时间、历法基础知识四、万年历项目课程说明:在开发Java程序的过程中,无论做什么类型的项目,基本上都会处理与日期和时间相关的问题。既然日期时间问题的处理已经成了程序必须要掌握的技能,那我们就必须认真深入的学习日期时间的计算和处理方法。本课程将深入讲解Java语言新旧两代日期时间系统的相关知识。在讲解的过程中,不仅仅讲解如何调用各种类所提供的方法去处理相关问题,更是从原理上深入分析了这些类的设计原理,以及要如何避免在实战中踩到那些非常隐蔽的大坑。此外,除了讲解日期时间相关工具类的使用,本课程还向广大学员普及了一些必要的日期、时间和历法的相关知识。让学员能够从根本上理解日期时间算法的设计思路。同时,本课程在最后一部分,安排了非常精彩的、完整的万年历项目,通过实战的形式切实帮助学员提高解决具体问题的能力!预期效果:认真学习完本课程,学员可以掌握日期时间计算和处理的相关知识,并能提高实际的编码水平。配套福利:万年历软件的完整源码环境配置要求:学习本课程需安装JDK13或更高版本的JDK,以便程序能正确运行,建议使用IntelliJ IDEA 2019.1.2或更高版本的开发工具。因有合作协议约束,《穆哥学堂》只提供PDF版本的课件!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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