精华内容
下载资源
问答
  • 智能考勤生成器

    2015-11-01 12:01:21
    一款多功能考勤生成器,可以生成单格、双格考勤表,可以添加清除斑马线
  • 考勤生成器

    2015-10-08 09:09:32
    应用使用,生成速度快 方便,简单易上手
  • 运行此软件需要您的系统的安装了OFFICE软件. 注意: 1. 请正确设置"源数据库文件". 2. 数据表中员工的SecureID(识别ID)必须填写, 员工的LeaveDate(离职时间)必须足够晚才行, 不然没有数据. 记录生成规则如下: 1....
  • 根据现有数据库中的员工信息,生成指定的打卡记录.可指定产生随机时间的范围,可指定开始,结束日期.可设定节假日.可选择是否生成加班记录. mail : fireinsky@163.com qq: 47720110
  • 根据用户现有ACCESS数据库中的员工信息,模拟真实情况,生成指定的打卡记录.可以指定产生随机时间的范围,可指定开始,结束日期.可设定节假日.要以选择加班时间,从周一到周五可以设定是否加晚班,周六日可以从上午,中午,...
  • 为此我对中控考勤系统的数据库进行了仔细研究部,用ASP程序设计出一个查询员工原始考勤记录的程序,本程序自动生成上个月的每天的每个员工的每一次考勤(一分钟内的重复考勤记录只统计一次)。还可以导出为excel表格...
  • 为了方便公司的普通员工,简化每个人每个月的个人考勤记录数据核对工作,特地抽出空余时间制作本考勤生成工具,以方便本公司广大草根阶层,节省琐碎和无辜的时间浪费! 一、工具界面 考勤生成工具的设计界面与...

           为了方便公司的普通员工,简化每个人每个月的个人考勤记录数据核对工作,特地抽出空余时间制作本考勤表生成工具,以方便本公司广大草根阶层,节省琐碎和无辜的时间浪费!

    一、工具界面

    考勤表生成工具的设计界面与使用说明如下图所示:

    二、生成结果

    生成的 Excel 考勤表结果如下图所示:

    三、工具特性

    优点:

    1、本工具只需要添加个人信息、异常考勤记录即可,无需填写正常考勤的数据,简化了录入操作;

    2、本工具根据使用者本人操作系统的日期,自动计算和显示当月的日期数据,简化了日期的选择;

    3、本工具根据用户的数据,自动生成Excel 考勤记录表,省去了表格制作和手动填充数据的事宜;

    4、本工具为绿色版本,无需安装,没有多余的附加文件,便于传播和使用,简化了相关使用流程;

    不足:

    1、本工具仅为个人使用版本,没有考虑部门助理、人事考勤和会计等人员在工作和使用上的方便性;

    2、本工具为独立使用工具,没有与公司的指纹考勤数据、人事考勤记录相关联,无法与之相匹配和计算;

    3、本工具是基于微软的.NET平台开发,使用者的操作系统必须具备.NET平台补丁,否则无法显示和使用;

    四、异常处理

    如果最终用户在使用时,操作系统上没有默认升级安装微软 Microsoft .NET Framework v3.5 补丁包,将显示如下错误:

    错误的解决办法:

    方式1:在公司的OA系统中,我的文档 —> 公共文档 —> 查看文档 —> IT系统文档 —> 常用软件 —> 微软系统平台补丁_DotNet_fx35 —> 进入下载即可!

    方式2:在公司的OA系统中,主界面上方选择“公共文档”,输入“net”关键字,点击搜索按钮即可看到“微软系统平台补丁_DotNet_fx35”,进入下载即可,如下图所示(推荐):

    方式3:Microsoft .NET Framework v3.5 简体中文版下载:[地址1]微软官方下载地址 [地址2]非官网下载地址

    正确安装 . NET Framework 3.5 后,接下来即可使用!

    五、下载地址

    考勤表生成工具” 链接地址:点击下载




    本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2013/03/19/2968864.html,如需转载请自行联系原作者

    展开全文
  • 公司的老考勤机坏了,换成

    公司的老考勤机坏了,换成中控的S30考勤机了,考勤数据需要合并在一起,特写此存储过程,加入到每天的作业中让其自动执行。考勤统计仍然使用C6的,所以将考勤数据同步到C6的考勤里面。

    ------------------------------------------------------------------------------------分割线--------------------------------------------------------------------------------------------

    create procedure    You_pro_Name
    ---- PengPeng at 2014
    ----考勤同步数据操作>>>> C6到考勤数据人员信息同步,主要就是讲C6系统表 RS_Emp的人员信息 同步到中控 USERINFO 表里面
    --传入参数
    AS  
    ----变量
    declare @card_no varchar(10) --ID卡号-10位
    declare @isUpdate_BuMen bit --是否更新部门控制变量
    declare @isUpdate_deleteUSERInfo bit ---删除离职的人员
    declare @isUpdate_USERInfo bit --是否更新部门控制变量
    declare @isUpdate_CardNo bit --更新员工卡号
    declare @isUpdate_KQ_Result bit --是否同步考勤记录
    ----设置 默认值
    set @card_no='0000000001'
    set @isUpdate_BuMen=0 ---默认关闭部门更新
    set @isUpdate_USERInfo=1 --更新员工 ,必须 默认打开
    set @isUpdate_deleteUSERInfo=1 --默认开启
    set @isUpdate_CardNo=1 ---更新员工卡号
    set @isUpdate_KQ_Result=1 ---是否同步考勤记录 开启
    
    -------///同步人员信息\\\--------
    ----第一 更新部门信息【此步可以不需要,这里只是起显示作用,只要人员信息能对上就可以了,部门可以再C6系统里面找】
    
    ----第二 更新员工信息【这里是必须的,将员工的编号信息要导入进来,这里员工信息有,有两个表,将USERINFO表里的离职员工放到USERINFO_OLD里面,将C6的新员工添加进来】
        ---- 2.1,将离职的员工移到USERINFO_OLD表里面,然后删除USerINFO里的员工数据,好跟考勤机同步,
    if @isUpdate_deleteUSERInfo<>0  ---是否更新控制
        begin
        insert into USERINFO_OLD select * from USERINFO  where SSN is not null and ltrim(rtrim(SSN)) not in (select ltrim(rtrim(EmpNo)) from CenterSix2012.dbo.RS_Emp)    ---移动
        delete USERINFO where SSN is not null and  USERID  in (select USERID from USERINFO_OLD) --删除已经离职的员工    
        end
    else ----如果不删除旧员工也要将卡号清除
        begin
        update USERINFO set CardNo=NUll where  ltrim(SSN) not in (select ltrim(EmpNo) from CenterSix2012.dbo.RS_Emp)            ----將離職員工卡號清空
        end
    ----go
        ---- 2.2,更新新进的员工
    if @isUpdate_USERInfo<>0  --控制开关
    begin
    insert into USERINFO
    (
    BADGENUMBER  ,     --考勤号码    
    SSN   ,                 --身份证/证件号
    NAME   ,                --姓名
    GENDER   ,               --性别
    PAGER   ,               --移动电话/传呼机
    BIRTHDAY  ,                --生日
    HIREDDAY  ,                --参加工作日期
    STREET   ,              --家庭地址
    VERIFICATIONMETHOD   ,      --验证方式
    DEFAULTDEPTID   , --所属部门ID号
    ATT  ,        --考勤有效
    INLATE  ,     --计迟到               
    OUTEARLY  ,   --计早退                
    OVERTIME  ,   --计加班                 
    SEP  ,        --             
    HOLIDAY  ,    --假日休息             
    MINZU   ,                --民族
    LUNCHDURATION --有午休
    )
    select
    replace(ltrim(EmpNo),'QX',''),---考勤号码
    ltrim(EmpNo) AS EMPNO, --编号
    EmpName,-- 姓名
    case when EmpSexID=1 then 'M' else 'F' end,--性别 M男F女
    EmpMobile,--移动电话
    EmpBirthday,--生日
    EmpGrpDate,--入职日期
    EmpHomeAddr,--家庭地址
    1,--验证方式
    1,--部门ID
    1,--考勤有效
    0,
    0,
    1,
    1,
    1,
    EmpNation,--民族
    1 --午休
    from CenterSix2012.dbo.RS_EMp   
    where ltrim(EmpNo)  not in (select ltrim(SSN) from USERINFO where SSN is not NULL ) and EMPNO not in ('QX0001','QX0002','QX0007') ---这3个编号不加进去
    order by EMPNO
    end
    ----go
        ---- 2.3,更新员工所在部门和职位等无关紧要的信息,不是必须的
        begin
            update USERINFO  set DEFAULTDEPTID=1 where DEFAULTDEPTID is NULL ----没有部门归到总公司
        end
        
        
        
    ----第三 更新员工ID卡号码 【这里是全部更新,因为有补卡的情况和卡片改变的情况,每次全部更新比较简单】
    if @isUpdate_CardNo<>0
    begin
    update USERINFO set CardNo=(
    select replace('0000000001',RIGHT('0000000001',len(CenterSix2012.dbo.TX_EmpCard.CardFixNo)),CenterSix2012.dbo.TX_EmpCard.CardFixNo)
    from CenterSix2012.dbo.RS_EMp,CenterSix2012.dbo.TX_EmpCard
    where CenterSix2012.dbo.RS_EMp.EmpSYSID=CenterSix2012.dbo.TX_EmpCard.EmpSYSID
    and CenterSix2012.dbo.TX_EmpCard.GUID=(
    select top 1 AA.GUID from CenterSix2012.dbo.TX_EmpCard AA where CenterSix2012.dbo.RS_EMp.EmpSySID=AA.EmpSySID and  AA.CardStatusID=20 order by AA.EmpSySID,AA.CardNewDay desc
    ) and ltrim(CenterSix2012.dbo.RS_EMp.EmpNo)=USERINFO.SSN
    )
    end
    ----go
    ----第四 删除设备上的离职员工。不会再打卡的员工[现在还是 需要在考勤机软件上操作]
    select top 1 * from USERINFO where 1=2
    ----第五 上传人员信息 [现在还是 需要在考勤机软件上操作,尽量选在无人打开的时候进行,此时考勤机是打不了卡的,显示正在传输]
    ----go
    ------/考勤人员信息同步完成\\\\\------
    ------/下面是考勤记录同步\\\\\------
    if @isUpdate_KQ_Result<>0
    begin  -----
    ---第A。下载考勤数据,这个考勤软件自动定时更新,也可随时人工更新【在考勤软件上下载考勤记录就可,可重复操纵,因为每次只下载新的记录】
    ---第B。将中控考勤数据更新到C6系统
       ---B-1,中控考勤记录表中没有人的编号,先更新编号,【可带来方便】
       begin
           update CHECKINOUT set Memoinfo=(select SSN from USERINFO where  USERINFO.USERID=CHECKINOUT.USERID) where Memoinfo is null
           if exists(select top 1 1 from CHECKINOUT where Memoinfo is null)  ---如果在人员表里面没有找到,在旧的人员数据里找编号
           begin
            update CHECKINOUT set Memoinfo=(select SSN from USERINFO_OLD where  USERINFO_OLD.USERID=CHECKINOUT.USERID) where Memoinfo is null
           end
       end
     ----  go
       ---B-2,将考勤数据导入C6 就是讲CHECKINOUT里的记录打卡数据插入到C6里的 KQ_KqData 表和 Mj_MjData 表里面 Mj_MjData表示打卡原始记录表,
       ------ KQ_KqData是根据Mj_MjData里的数据转来的,C6考勤系统依据它来分析考勤
       ---*--B-2-1 :先将没有导入的数据进行标记 先标记为1 表示那些数据要导入,在导入门禁表Mj_MjData后标记为2,再导入考勤表KQ_KqData ,最后标记为3表示完成。
       ----***----将要导入的记录进行标记 先标记为1
       update checkinout set UserExtFmt=1 where Memoinfo is not NULL and  UserExtFmt=0 ---一开始是0 变成1 进行标记
       begin
           ----***----将第一标记的数据导入Mj_MjData-----------
            insert into CenterSix2012.dbo.MJ_MjData(EmpSysID,DevID,CardID,CardDate,CardDay,DoorID,DoorName)
            select
            (select top 1 av.EmpSysID from CenterSix2012.dbo.TX_EmpCard av where ltrim(av.CardDispNo)=CHECKINOUT.Memoinfo order by av.CardNewDay desc),
            10004,----设备编号设置为10004 便于区分
            (select top 1 ax.CardID from CenterSix2012.dbo.TX_EmpCard ax where 1=1 and ltrim(ax.CardDispNo)=CHECKINOUT.Memoinfo  order by ax.CardNewDay DESC),
            dateadd(day,0,CONVERT(varchar(100), CHECKTIME, 23)) ,
            CHECKTIME,
            1,
            '门区1'
            from CHECKINOUT where Memoinfo is not NULL and  UserExtFmt=1
           ----***----将要导入的记录进行第二次标记 标记为2表示第一步导入完成
           update checkinout set UserExtFmt=2 where Memoinfo is not NULL and  UserExtFmt=1 ---一开始是1 变成2 进行标记
       end
      ---- go
       begin
           ----***----导入数据到C6的考勤表
            insert into CenterSix2012.dbo.KQ_KqData(EmpSysID,KqDate,KqTime,IsKeyin,IsKouKuan,IsModified,DevID,KeyinDay,CardID,SynchFlagID)
            select
            (select top 1 av.EmpSysID from CenterSix2012.dbo.TX_EmpCard av where ltrim(av.CardDispNo)=CHECKINOUT.Memoinfo order by av.CardNewDay desc),
            dateadd(day,0,CONVERT(varchar(100), CHECKTIME, 23)) as TTT ,
            DATEDIFF (ss,dateadd(day,0,CONVERT(varchar(100), CHECKTIME, 23)),CHECKTIME), --考勤时间
            'N',
            'N',
            'N',
            10004,---设备号10004区分
            CHECKTIME,
            (select top 1 ax.CardID from CenterSix2012.dbo.TX_EmpCard ax where 1=1 and ltrim(ax.CardDispNo)=CHECKINOUT.Memoinfo  order by ax.CardNewDay DESC),
            0
            from CHECKINOUT where Memoinfo is not NULL and  UserExtFmt=2
          ----***----将要导入的记录进行第三次标记 标记为3表示导入完成  
          update checkinout set UserExtFmt=3 where Memoinfo is not NULL and  UserExtFmt=2 ---一开始是2 变成3 进行标记  
      end
    end ---考勤记录同步结束
    
    go
    ------------------------------------------------------------------------------------分割线--------------------------------------------------------------------------------------------

    ---------
    吐槽:我也不想这样做,只是一刷卡考勤机2k多是不是太坑爹了点啊

    展开全文
  • 专用于欧美客户验厂检验工厂考勤,可以自动模拟生成指定考勤刷卡数据,使其符合验厂标准.经过数据转化,应该可以跟其它考勤机通用,主要应用于工厂考勤不符合劳动法规而应付相关部门验厂所需,能自动生成合符标准的考勤...
  • 考勤工具如何一键生成

    千次阅读 2019-08-12 13:16:08
    企业在传统的管理下,由于企业员工多,导致考勤数据无法准确地、及时地导出处理,这时候就需要考勤管理系统,它是人力资源管理的辅助帮手,让管理者获取实时的考勤信息来进行分析以支持决策,并且传统的管理方式存在...

    企业在传统的管理下,由于企业员工多,导致考勤数据无法准确地、及时地导出处理,这时候就需要考勤管理系统,它是人力资源管理的辅助帮手,让管理者获取实时的考勤信息来进行分析以支持决策,并且传统的管理方式存在众多弊端、人为因素众多,可能有时候会引起员工的不满。

    智能考勤模块涉及到的功能比较多,高效的考勤管理是人力资源管理中比较重要的环节,帮助企业要是想灵活管理员工的考勤问题,灵活合理的排班计划,劳动力成本的有效控制,实时的考勤数据审核和分析。

    喔趣hr人事软件主要包括:考勤参数设置、默认班次设置、智能班设置、员工排班管理、打卡类型设置、外出类型设置、出差登记、手工补卡、调休登记、停工登记、假别类型设置、员工请假管理、考勤资料管理、考勤数据查询、员工加班管理、加班统计管理、考勤日报、考勤异常查询、考勤汇总报表、考勤汇总分析等。

    喔趣hr人事软件,轻松智能管理,考勤统计一键生成,管理层可以实时清晰了解企业员工的工时数据,从而实现快速决策任务安排、调配人员,缩短了沟通时间,大大减少人工核对时间和误差,数据清晰明了,让数据动起来,为企业人力资源部门结算薪酬提供考勤数据依据。

    展开全文
  • 考勤数据处理工具

    2019-11-15 12:06:49
     wx.Frame.__init__(self,parent,id,title="考勤数据处理小助手",size=(300,300))    panel = wx.Panel(self)    self.bt_addinfo = wx.Button(panel,label="导入基础数据",pos=(90,50))  self.bt_addinfo....

    以前是用易语言写过,后来用python改写了,但是是脚本运行模式没有界面,再用wxPython改写一遍。

    #coding:utf-8
    import os
    import os.path
    import random
    
    import datetime
    import pymysql
    import wx
    import os
    
    class MyFrame(wx.Frame):
        def __init__(self,parent,id):
            wx.Frame.__init__(self,parent,id,title="考勤数据处理小助手",size=(300,300))
            
            panel = wx.Panel(self)
            
            self.bt_addinfo = wx.Button(panel,label="导入基础数据",pos=(90,50))
            self.bt_addinfo.Bind(wx.EVT_BUTTON,self.OnclickAddInfo)
            
            self.bt_addpara = wx.Button(panel,label="导入人员参数",pos=(90,100))
            self.bt_addpara.Bind(wx.EVT_BUTTON,self.OnclickAddPara)
            
            self.bt_export = wx.Button(panel,label="导出结果数据",pos=(90,150))
            self.bt_export.Bind(wx.EVT_BUTTON,self.OnclickExport)
            
        def OnclickAddInfo(self,event):
            file_wildcard = "All files(*.*)|*.*" 
            dlg = wx.FileDialog(self,  "Save paint as ...",os.getcwd(),style = wx.FD_OPEN,wildcard = file_wildcard)
            if dlg.ShowModal() == wx.ID_OK:
                filename = dlg.GetPath()
                #wx.MessageBox(filename)
                
                conn = pymysql.connect(host='127.0.0.1',user='root', passwd='123456',db='mysql')
    
                cur =conn.cursor()
    
                h_orig = open(filename,"r")
    
                sql = "insert into kaoqin_in_real_info values(%s,%s,%s,%s,%s)"
                updatesql = "update kaoqin_in_real_info set do_time=%s,do_alltime=%s where clr_date=%s and id=%s and status=%s" 
    
                for line in h_orig:
                    line=line.strip('\n')
                    #计算分割数
                    i_num = line.count("    ")
                    #print(i_num)
    
                    id = line.split("    ")[0].strip()
                    do_alltime = line.split("    ")[1]
                    clr_date = do_alltime.split(" ")[0].replace('-','')
                    do_alltime = do_alltime.replace('-','/')
                    do_time = do_alltime.split(" ")[1]
                    if ( int(do_time.split(":")[0]) > 15 ):
                        status = 2
                    else:
                        status = 1
    
                    find_sql = "select do_time from kaoqin_in_real_info where clr_date='" + clr_date +"' and id ='" +id  + "' and status='" + str(status) + "'"
    
                    i_num = cur.execute(find_sql)
                    #print(i_num)
                    if (i_num == 0):
                        #新数据入库
                        params=(clr_date,id,status,do_time,do_alltime)
                        reCount = cur.execute(sql,params)
                    else:
                        #旧数据判断是否更新
                        result = cur.fetchone()
                        if ( (status == 2 and result[0] > do_time)  or (status == 1 and result[0] < do_time) ):
                            params=(do_time,do_alltime,clr_date,id,status)
                            reCount = cur.execute(updatesql,params)
        
        
                h_orig.close()
                conn.commit()
                cur.close()
                conn.close()
                wx.MessageBox("基础数据导入成功")
            dlg.Destroy()
            
        def OnclickAddPara(self,event):
            file_wildcard = "All files(*.*)|*.*" 
            dlg = wx.FileDialog(self,  "Save paint as ...",os.getcwd(),style = wx.FD_OPEN,wildcard = file_wildcard)
            if dlg.ShowModal() == wx.ID_OK:
                filename = dlg.GetPath()
                
                conn = pymysql.connect(host='127.0.0.1',user='root', passwd='123456',db='mysql')
    
                cur =conn.cursor()
    
                h_orig = open(filename,"r")
    
                sql = "insert into kaoqin_person_para values(%s,%s,%s,%s,%s,%s,%s)"
                deletesql = "delete from kaoqin_person_para"
    
                cur.execute(deletesql)
    
                for line in h_orig:
                    line=line.strip('\n')
                    #计算分割数
                    i_num = line.count("    ")
                    #print(i_num)
    
                    in_id = line.split("    ")[0].strip()
                    out_id = line.split("    ")[1].strip()
                    name = line.split("    ")[2].strip().encode('gb2312')
                    begin_date = line.split("    ")[3].strip()
                    end_date = line.split("    ")[4].strip()
                    xiabanka_begin = line.split("    ")[5].strip()
                    xiabanka_end = line.split("    ")[6].strip()
                    
                    params=(in_id,out_id,name,begin_date,end_date,xiabanka_begin,xiabanka_end)
                    cur.execute(sql,params)
        
                h_orig.close()
                conn.commit()
                cur.close()
                conn.close()
                
                wx.MessageBox("参数数据导入成功")
            dlg.Destroy()
            
        def OnclickExport(self,event):
            file_wildcard = "All files(*.*)|*.*" 
            dlg = wx.FileDialog(self,  "Save paint as ...",os.getcwd(),style = wx.FD_SAVE,wildcard = file_wildcard)
            if dlg.ShowModal() == wx.ID_OK:
                filename = dlg.GetPath()
                
                conn = pymysql.connect(host='127.0.0.1',user='root', passwd='123456',db='mysql')
                cur =conn.cursor()
                h_result = open(filename,"w")
    
                fetch_sql = "select * from kaoqin_person_para";
    
                cur.execute(fetch_sql)
                results = cur.fetchall()
    
                for row in results:
                    id = row[0]
                    name = row[2]
                    begin_time = row[3]
                    end_time = row[4]
    
                    xiabanka_begin = int(row[5])
                    xiabanka_end = int(row[6])
                    if (xiabanka_begin < 18):
                        xiabanka_begin = 21
                    if (xiabanka_begin < 18):
                        xiabanka_begin = 22
       
                    datestart = datetime.datetime.strptime(begin_time,'%Y%m%d')
                    dateend = datetime.datetime.strptime(end_time,'%Y%m%d')
                    while datestart <= dateend:
                        clr_date = datestart.strftime("%Y%m%d")
                        #print("now is do ",id,clr_date)
                        for status in range(1,3):
                            find_sql = "select * from kaoqin_in_real_info where clr_date='" + clr_date+"' and id='"+ id +"' and status='"+ str(status) +"'"
                            #print(find_sql)
                            i_num = cur.execute(find_sql)
                            if (i_num == 0):
                                #print("not find ",clr_date,id,status)
                                if (status == 1):
                                    dakatime_h = str(random.randint(8,9))
                                    if (dakatime_h == '9'):
                                        dakatime_h = '8'
                                        dakatime_f = random.randint(20,50)
                                    else:
                                        dakatime_f = random.randint(40,59)
                                else:
                                    dakatime_h = str(random.randint(xiabanka_begin,xiabanka_end))
                                    dakatime_f = random.randint(1,59)
    
                                dakatime_m = random.randint(1,59)
                                all_time = clr_date[0:4]  + "/" + clr_date[4:6]  + "/" + clr_date[6:8] + " " +  dakatime_h +":" + '%02d' % dakatime_f + ":" + '%02d' % dakatime_m
    
                                writeline = id + "," + all_time + "," + clr_date[0:4]  + "/" + clr_date[4:6]  + "/" + clr_date[6:8] + ",foolall\n"
                                h_result.write(writeline)
                            else:
                                data = cur.fetchone()
                                #print("have find ",clr_date,id,status)
                                real_all_time = data[4].split(" ")[1]
                                #shangwu daka jilu
                                if (status == 1):
                                    if (real_all_time[0:2] != '08'):
                                        dakatime_f = random.randint(50,59)
                                        change_all_time = '08' + ":" + str(dakatime_f) + ":" +real_all_time[6:8]
                                        real_all_time = data[4].split(" ")[0] + " " + change_all_time
                                        writeline = id + "," + real_all_time + "," + clr_date[0:4]  + "/" + clr_date[4:6]  + "/" + clr_date[6:8] +  ",foolmoring\n"
                                    else:
                                        writeline = id + "," + data[4] + "," + clr_date[0:4]  + "/" + clr_date[4:6]  + "/" + clr_date[6:8] +  ",real\n"
                                else:       
                                    writeline = id + "," + data[4] + "," + clr_date[0:4]  + "/" + clr_date[4:6]  + "/" + clr_date[6:8] +  ",real\n"
                                h_result.write(writeline)
    
                        datestart+=datetime.timedelta(days=1)
    
                h_result.close()
                conn.commit()
                cur.close()
                conn.close()
                wx.MessageBox("结果数据导出成功")
            dlg.Destroy()
          
    
      
    if __name__ == '__main__':
        app = wx.App()
        frame = MyFrame(parent=None,id=-1)
        frame.Show()
        app.MainLoop()


        

    ######################################################

    #生成exe不带cmd窗口需要带上-w参数  

    pyinstaller -w xxxxxx.py


     

    展开全文
  • HR高颜值实用Excel图表模板(考勤、工资条、数据分析、排班自动生成).zip
  • 目前很多工厂、企业、机关单位、公司、酒店、餐厅、学校、医院、超市等行业都已经安装使用了指纹考勤机、指纹打卡机、以及人脸识别考勤机。指纹考勤机和人脸识别考勤机的使用,规范了公司考勤管理制度,提升了公司...
  • 全易通员工考勤管理系统软件简介: 全易通公司研制开发的QET系列员工考勤管理系统软件是一套功能强大,运行稳定,操作简单方便,用户界面美观,统计数据正确的感应卡及指纹考勤软件....考勤数据可以自由转入转出
  • 企业选择考勤管理软件要重视是否基于云服务器处理数据,同时要确保考勤系统兼容计算机手机等设备,这样才能给用户更好的使用体验,同时确保各部门考勤数据的智能聚合。很多工程企业和服务企业都离不开考勤管理系统,...
  • 在互联网时代,考勤系统软件的应用还是比较广泛的,有不少公司专业开发考勤系统软件,那么,考勤系统软件有哪些你知道吗?...考勤软件是记录员工考勤数据,并生成相关报表的软件。现在的考勤软件已经...
  • 中控考勤机demo中提供有C#的示例代码,尝试使用python来实现实时考勤数据的现实,由于刚接触python,很多问题还不明白是为什么,先记录下来。编程工具使用的是vs2017。 在连接考勤机时,比较耗时,界面会有卡顿现象...
  • 考勤数据可以自由转入转出到EXCEL表格中 6、支持多帐套功能,例如,A帐为真实数据,B帐是验厂数据,不同客户可设置不同帐套; 7、操作简单、参数设置灵活、应用面广,可扩充功能强大; 8、一般情况下,2000人左右的...
  • 从设备中导入或导出考勤数据,备份数据库管理闪存盘,从设备上下载记录数据,从设备下载人员信息,上传人员信息到设备,维护考勤照片,管理部门信息,人员排班管理时间段,管理班次及人员排班,设置考勤规则。...
  • 考勤系统,在包含薪资计算模块的情况下,可以灵活定义各个工资项目的计算公式,自动调用员工的出勤数据、人员资料、就餐等与工资相关的数据,计算出员工的工资情况,可提供银行代发工资所需的相关文件。同时提供丰富...
  • 14. 验厂数据自动处理:通过软件后台,点击处理按钮,可以生成验厂用的合理的考勤数据,以用于验厂。 15. 数据独立核算:各部门的考勤数据、考勤异常处理、请假、加班等都可以独立核算统计; 16. 强大权限控制:权限...
  • 能很方便地下载考勤数据生成日报表、月报表数据处理,统计整年月报数据、备份或恢复数据。电脑软件可以通过w_kqrec.dll 动态库来设置考勤机和下载考勤数据。在此动态库中提供了很多与考勤机通讯的函数, 如你...
  • 考勤软件之:考勤排班规则

    千次阅读 2013-10-10 10:43:18
    班次在考勤,班次定义,就是员工上下班的标准,就是考勤的标准,其重要性不言而喻。企业中存在着各色各样的班次,而且不同的企业对班次的定义及习惯说法也不一样,理清班次的定义及其相关联的术语含义就非常有意义。...
  • 考勤是高校管理和企业管理工作中必不可少的一件事情...1、准确的打卡数据手机考勤软件最重要的就是定位要准确,每一次打卡数据的准确记录是手机考勤软件必须保证的,这是考勤软件最基本的要求,如果原始的打卡数据都...
  • 一、简介 这个人脸识别考勤签到系统是基于大佬的人脸识别...该系统实现了从学生信息输入、人脸数据录入、人脸数据训练,学生信息多条件搜索、修改,多选删除,人脸数据训练,人脸识别、追踪、签到等完整流程的各项功能
  • 智能公交考勤系统管理软件设计

    千次阅读 2012-04-26 10:43:25
    智能公交考勤系统管理软件设计-VB(论文+系统+开题报告+答辩PPT) 摘要:随着现代科学技术的发展,越来越多的企业对职工的考勤管理都实行了信息化管理,使用计算机系统代替繁琐冗余的手工方式来管理考勤事务。...
  • 用excel统计考勤记录

    2013-12-16 12:42:54
    用excel统计考勤数据,其中用到excel的数组功能实现,加上多条件判断,最终能无误的统计出考勤数据
  • 考勤系统需求分析(软件工程)

    千次阅读 2019-11-24 18:25:49
    前言:随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂,有一个比较完善的考勤管理系统显得是如此的重要。 考勤管理系统是使用计算机管理方式代替以前手工处理的工作,应用计算机技术和...
  • 一、考勤机盛图-T500 ◀点开我了解更多 人脸+指纹+密码三合一,指纹容量3000枚,人脸容量...高清TFT彩屏,免安装软件,U盘数据上传下载,操作简易三、考勤机盛图-S300 ◀点开我了解更多 指纹容量1000枚,记录容量100...
  • 它具有限时的出勤监视器,加密的会话生成器,与会人员QR码生成器,日程表生成器,配置AMC系统值的能力,反馈机制,记录导出器以及直接邮寄功能,并具有可靠的连接丢失恢复功能。 快速背景 我的大学拥有这种特殊的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,590
精华内容 1,036
关键字:

考勤数据生成软件