考勤消费管理系统定制

考勤消费管理系统定制

一、定制需求简述:

1、设置消费系统就餐3个时间段。

2、分考勤机与消费机,记录保存到不同表中。

3、自动同步人员信息。

4、进行定制表格统计

二、实现方法:

1、在考勤消费系统设置中设置相应参数。

2、新建表格 CheckInOut1 存放消费记录

3、默认机器号 小于 200的是考勤机,其余就是消费机

4、新建一查询窗口,提供定制查询。

三、代码Changelog:

主要代码如下:

select U.BADGENUMBER,U.NAME,U.TITLE,U.F_Company,U.F_Department,FCount1,FCount2,FCount3,FCount

from

(

select USERID, sum(FTime1) as FCount1, sum(FTime2) as FCount2, sum(FTime3) as FCount3, sum(FTime1+FTime2+FTime3) as FCount

from

(

Select USERID, COUNT(*) as FTime1, 0 as FTime2, 0 as FTime3

from CHECKINOUT

where (CONVERT(varchar(12), CHECKTIME, 108) >= '@TimeZone1Begin' and CONVERT(varchar(12), CHECKTIME, 108) <= '@TimeZone1End')

and (CHECKTIME between '@SearchBeginTime' and '@SearchEndTime')

group by USERID

union

Select USERID, 0 as FTime1, COUNT(*) as FTime2, 0 as FTime3

from CHECKINOUT

where (CONVERT(varchar(12), CHECKTIME, 108) >= '@TimeZone2Begin' and CONVERT(varchar(12), CHECKTIME, 108) <= '@TimeZone2End')

and (CHECKTIME between '@SearchBeginTime' and '@SearchEndTime')

group by USERID

union

Select USERID, 0 as FTime1, 0 as FTime2, COUNT(*) as FTime3

from CHECKINOUT

where (CONVERT(varchar(12), CHECKTIME, 108) >= '@TimeZone3Begin'  @TimeZone3Condition  CONVERT(varchar(12), CHECKTIME, 108) <=

'@TimeZone3End')

and (CHECKTIME between '@SearchBeginTime' and '@SearchEndTime')

group by USERID

union

Select USERID, 0 as FTime1, 0 as FTime2, 0 as FTime3

from userinfo

)  T

group by USERID

) TT

right join UserInfo U

on TT.USERID=U.USERID

(0)

相关推荐