分享_系统部分统计项目重算脚本_人力资产
学习.交流
专业源于专注
www. onlyit. cn   
学习交流 文件下载 手册资料 交流QQ群

    

 6  1/1   1  
作者
内容
awfixtdm  [个人空间]


注册  2011-08-18
发贴数  445
精华贴  2
原创贴  5
来自  
状态  正常

级别  版主
#1»发布于2013-08-09 17:02

系统部分统计项目重算脚本,能用上就拿去。也许大家会疑惑一些统计项目系统月帐生成已经计算好了,为什么还要重算呢? 
 
因为部分工厂行政跟工人的计算日期是不同的,行政是1-月底,像有些工人是20几号到下月20几号。这样我们不得不设两次日期,生成两份,还要过滤一下才能导出,很是麻烦。 
 
于是加了些脚本,月帐只生成一份就好,行政人员日期按系统默认1号至月底,工人的开始结束日期都按我们设定的计算,操作一次就得出来 
 
以下仅统参考,大家举一反三 
 
sql="select count(*) from timer_class_emp where (emp_id='"+emp_id+"' and class_date>=''"+开始日期+"'' and class_date<=''"+结束日期+"'')" 
db_run(sql) 
排班天数=db_res(0) 
应出勤天数= 排班天数 
应出勤时数=应出勤天数*8 
sql="select sum(overtime_minute) from timer_list where (emp_id ='"+emp_id+"' and tq_date >= '"+开始日期+"' and tq_date <= '"+结束日期+"')" 
db_run(sql) 
日帐加班累计=db_res(0)     //这里用日帐的加班时间字段放餐费补贴 
 
sql="select sum(tq_money) from tuiquan where (emp_id ='"+emp_id+"' and tq_date >= '"+开始日期+"' and tq_date <= '"+结束日期+"')" 
db_run(sql) 
退餐券=db_res(0) 
用餐补贴=日帐加班累计-退餐券 
 
sql="select sum(on_late_minute)*1.0/60 from timer_list where (emp_id ='"+emp_id+"' and class_date >= '"+开始日期+"' and class_date <= '"+结束日期+"')" 
db_run(sql) 
迟到累计=db_res(0) 
 
sql="select count(*) from timer_list where (emp_id ='"+emp_id+"' and class_date >= '"+开始日期+"' and class_date <= '"+结束日期+"' and on_late_minute>0)" 
db_run(sql) 
迟到次数=db_res(0) 
 
sql="select sum(off_early_minute)*1.0/60 from timer_list where (emp_id ='"+emp_id+"' and class_date >= '"+开始日期+"' and class_date <= '"+结束日期+"')" 
db_run(sql) 
早退累计=db_res(0) 
 
sql="select count(*) from timer_list where (emp_id ='"+emp_id+"' and class_date >= '"+开始日期+"' and class_date <= '"+结束日期+"' and off_early_minute>0)" 
db_run(sql) 
早退次数=db_res(0) 
 
 
sql="select sum(absent_minute)*1.0/60 from timer_list where (emp_id ='"+emp_id+"' and class_date >= '"+开始日期+"' and class_date <= '"+结束日期+"')" 
db_run(sql) 
缺勤累计=db_res(0) 
sql="select count(*) fromtimer_list where (emp_id ='"+emp_id+"' and class_date >= '"+开始日期+"' and class_date <= '"+结束日期+"' and absent_minute>0)" 
db_run(sql) 
缺勤次数=db_res(0) 
 
 
sql="select sum(hours*60+minutes) from timer_overtime where (emp_id ='"+emp_id+"' and overtime_date >= '"+开始日期+"' and overtime_date <= '"+结束日期+"' and overtime_type_id='B')" 
db_run(sql) 
平时加班累计=db_res(0) 
 
sql="select sum(hours*60+minutes)*1.0/60 from timer_overtime where (emp_id ='"+emp_id+"' and overtime_date >= '"+开始日期+"' and overtime_date <= '"+结束日期+"' and overtime_type_id='C')" 
db_run(sql) 
周日加班累计=db_res(0) 
 
 
sql="select sum(hours*60+minutes)*1.0/60 from timer_leave where (emp_id ='"+emp_id+"' and beg_time >= '"+开始日期+"' and end_time <= '"+结束日期+"' and leave_type_id='C')" 
db_run(sql) 
病假累计=db_res(0) 
 
sql="select sum(hours*60+minutes)*1.0/60 from timer_leave where (emp_id ='"+emp_id+"' and beg_time >= '"+开始日期+"' and end_time <= '"+结束日期+"' and leave_type_id='A')" 
db_run(sql) 
事假累计=db_res(0) 
 
sql="select sum(hours*60+minutes)*1.0/60 from timer_leave where (emp_id ='"+emp_id+"' and beg_time >= '"+开始日期+"' and end_time <= '"+结束日期+"' and leave_type_id='G')" 
db_run(sql) 
节假日累计=db_res(0) 
 
sql="select sum(total_minute)*1.0/60 from timer_list where (emp_id ='"+emp_id+"' and class_date >= '"+开始日期+"' and class_date <= '"+结束日期+"')" 
db_run(sql) 
日帐总计小时=db_res(0)


        于 2013-08-09 17:02 被 awfixtdm 修改




QQ:80240800

三生石  [个人空间]
QQ名  Meng


注册  2005-09-20
发贴数  7383
精华贴  14
原创贴  6
来自  杭州
状态  正常

级别  版主
#2»发布于2013-08-09 07:42

 
感谢 awfixtdm  分享心得, 很强。






 三生石上旧精魂 赏月吟风莫要论 惭愧情人远相访 此身虽异性长存 

寒莉hhhh  [个人空间]


注册  2013-11-02
发贴数  6
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#3»发布于2013-11-05 20:10

这些脚本得写在哪里呀




awfixtdm  [个人空间]


注册  2011-08-18
发贴数  445
精华贴  2
原创贴  5
来自  
状态  正常

级别  版主
#4»发布于2013-11-06 13:17

月帐计算规则






QQ:80240800

网络风靡  [个人空间]


注册  2013-11-09
发贴数  2
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#5»发布于2013-11-10 12:39

谢谢分享,辛苦了。




webshow  [个人空间]


注册  2009-02-09
发贴数  133
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#6»发布于2014-03-11 14:09

感谢分享。收藏。





 6  1/1   1  

登录后方可发贴


[ 电话: 0571-85462761 王先生 QQ: 124520435 加入软件QQ群 - 杭州 - 浙ICP备19051128号-1 网安 33010402003225 ]