/* 功能: 绩效考核汇总 时间:2003/11/10 作者:潘朝艺 */ CREATE procedure usp_GRADELIST @CHKYEAR nvarchar(4)='', @CHKMONTH nvarchar(2)='' as begin if @CHKMONTH='0' begin select * into #tmp_admin from T_GRADELIST where CHKYEAR=@CHKYEAR and CHKMONTH =@CHKMONTH and SPRJNAME in(select cno from T_EMPLOYEE where POSITION='院长' or PO SITION='副院长') select * into #tmp_suo from T_GRADELIST where CHKYEAR=@CHKYEAR and CHKMONTH=@ CHKMONTH and SPRJNAME in(select cno from T_EMPLOYEE where POSITION='所长') select * into #tmp_yuan from T_GRADELIST where CHKYEAR=@CHKYEAR and CHKMONTH =@CHKMONTH and SPRJNAME in(select cno from T_EMPLOYEE where POSITION<>'院长' and POSITION<>'副院长' and POSITION<>'所长') select A.BYCHKNAME,A.PRJNAME,A.APPRAISE,A.CHKYEAR,(A.GETNUM*0.3+B.GETNUM*0.3+ C.GETNUM*0.4) as GETNUM,getdate() as BUILDDATE from #tmp_admin A,#tmp_suo B,#tmp_ yuan C where A.BYCHKNAME=B.BYCHKNAME and A.BYCHKNAME=C.BYCHKNAME end if @CHKMONTH<>'0' and @CHKMONTH<>'' begin select * into #tmp_admin1 from T_GRADELIST where CHKYEAR=@CHKYEAR and CHKMONTH<>'0' and SPRJNAME in(select cno from T_EMPLOYEE where POSITION='院长 ' or POSITION='副院长') select * into #tmp_suo1 from T_GRADELIST where CHKYEAR=@CHKYEAR and CHKMONTH< >'0' and SPRJNAME in(select cno from T_EMPLOYEE where POSITION='所长') select * into #tmp_yuan1 from T_GRADELIST where CHKYEAR=@CHKYEAR and CHKMONT H<>'0' and SPRJNAME in(select cno from T_EMPLOYEE where POSITION<>'院长' and POSI TION<>'副院长' and POSITION<>'所长') select A.BYCHKNAME,A.PRJNAME,A.APPRAISE,A.CHKYEAR,((A.GETNUM*0.3+B.GETNUM*0.3 +C.GETNUM*0.4)/12) as GETNUM,getdate() as BUILDDATE from #tmp_admin1 A,#tmp_suo1 B,#tmp_yuan1 C where A.BYCHKNAME=B.BYCHKNAME and A.BYCHKNAME=C.BYCHKNAME end end IF @@ERROR<> 0 BEGIN ROLLBACK TRAN END ELSE BEGIN COMMIT TRANSACTION END GO