没有合适的资源?快使用搜索试试~ 我知道了~
首页考勤取卡最优算法--高级工师的杰作,算法上的创新
资源详情
资源评论
资源推荐

--考勤计算最完整的程序。
SET NOCOUNT ON
GO
DECLARE @WID int
DECLARE @BANCI int
DECLARE @RIQI CHAR(10)
DECLARE @EAA int
DECLARE @EBB int
DECLARE @ETTT AS INT
DECLARE @SAA int
DECLARE @SBB int
DECLARE @STTT AS INT
DECLARE @STDBAN AS INT
DECLARE @ENDBAN AS INT
UPDATE KQJISUAN SET WEIDA=0,CHIDAO=0,KGONG=0 --WHERE WID=5012
DECLARE CUR CURSOR FOR
SELECT WID,WDATE,ENDT-5 AS EAA,ENDT+ENDF AS EBB,LBAN,STDT-STDF AS
SAA,STDT+150 AS SBB,STDBAN,ENDBAN
FROM KQJISUAN WHERE (ENDBAN=100 OR STDBAN=100) --AND WID=5012
OPEN CUR
FETCH NEXT FROM CUR INTO
@WID,@RIQI,@EAA,@EBB,@BANCI,@SAA,@SBB,@STDBAN,@ENDBAN
WHILE @@FETCH_STATUS=0
BEGIN
SELECT @STTT=0,@ETTT=0
IF @STDBAN=100
SELECT @STTT=MIN(IDATE) FROM KQBASE WHERE WID=@WID AND IDATE
between @SAA and @SBB
IF @ENDBAN=100
SELECT @ETTT=MAX(IDATE) FROM KQBASE WHERE WID=@WID AND IDATE
between @EAA and @EBB
IF ISNULL(@STTT,0)=0
UPDATE KQJISUAN SET KGONG=AHOUR WHERE WID=@WID AND
WDATE=@RIQI AND LBAN=@BANCI AND STDBAN=100
ELSE
BEGIN
IF @STTT>(@SBB-150)
UPDATE KQJISUAN SET CHIDAO=@STTT-@SBB+150 WHERE WID=@WID
AND WDATE=@RIQI AND LBAN=@BANCI AND STDBAN=100


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0