BENQEHR未刷卡原因维护相关SQL

1、创建触发器

if ((object_id('tgr_binding_reason', 'tr') is not null))

    drop trigger tgr_binding_reason

go

create trigger tgr_binding_reason

on  atdnotimecard

after insert

as

    declare @personid varchar(200),

            @shouldtime varchar(20),

                     @attenddate varchar(20),

                     @procstate  varchar(20);

    select @personid = s.personid,

                 @shouldtime = s.shouldtime,

                 @attenddate =s.attenddate,

                 @procstate = s.procstate

       from inserted s;

        -- 插入未刷卡原因,如果想不显示在为刷卡报表(未审),可修改 procstate =4

       update atdnotimecard

              set reasonid = 'f0e9626d-b12f-446a-b40d-995c08d1b099',

                     procstate =3

       where personid = @personid

           and attenddate =@attenddate

              and  shouldtime =@shouldtime;

go 

2、插入已审的请假数据:

INSERT INTO dbo.ATDATTENDANCEDATA

(WORKDATE, ATTENDANCETYPE, STARTTIME, PERSONID, ENDTIME, RESULTTIME, DEPARTMENTID, OPTIME, BUSINESSUNITID)

VALUES

('2010-11-02'(@ATTENDDATE), '{未刷卡原因ID:@REASONID}', '09:00'(@SHOULDTIME), '7318ae16-1c50-4203-8716-6a63c84084bc'(@PERSONID), '',1, 'de5906e7-1bb8-40a9-b45e-88c733c3d43a'(@DeptID), GETDATE(), '0')

3、插入原因SQL(请假类型)

 INSERT  INTO  ATDNOCARDREASON

([REASONVALUE],[REASONDESC],[REASONID],[BUSINESSUNITID],[REASONCODE],[ISDELETED])

VALUES

(N'OA导入',N'有请假单', NEWID(),',N'0',N'5',0)

4、员工ID,部门ID

select personid,branchid from psnaccount where employeeid ='GZ0906';

原文地址:https://www.cnblogs.com/kenwong/p/2862189.html