/********************************************************/ -- Charge : KIM JU YOUNG -- tabled : SP -- Update : 2008.07.15 -- Command : ÀÏ¿ë±Þ¿©ÀçÁý°è -- [SPH_TWORKER_SUMFILE] ALTER TABLE HDAYSUM ADD EX_NPAY_AM numeric(17, 4) NULL ALTER TABLE HPOTLPM_D ADD EX_NPAY_AM numeric(17, 4) NULL /********************************************************/ IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[DZGOLD].[SPH_TWORKER_SUMFILE]') AND type in (N'P', N'PC')) DROP PROCEDURE [DZGOLD].[SPH_TWORKER_SUMFILE] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [DZGOLD].[SPH_TWORKER_SUMFILE] ( @LANGKIND NVARCHAR(3), --¾ð¾îÁ¾·ù( Çʼö, KOR, CHS, ENG, JPN µî) @CO_CD NVARCHAR(4), --ȸ»çÄÚµå @RVRS_YM NVARCHAR(6), --±Í¼Ó³â¿ù @EMP_CD NVARCHAR(10), --»ç¹ø @DIV_CD NVARCHAR(10), --º»Á¡»ç¾÷Àå @CHK NVARCHAR(1), --±¸ºÐ(1, Àüü, 0-ÇØ´ç¿ù) @CLSE_FG NVARCHAR(1), --¼öÁ¤±¸ºÐ(0-¸¶°¨,1-ÀçÁý°è) @CLCT_YM NVARCHAR(6) --Áö±Þ¿¬¿ù ) WITH ENCRYPTION AS BEGIN /************************************************************************/ /*³» ¿ë : ÀÏ¿ëÁ÷±Þ¿©ÀÔ·Â- ¿ùÁý°è */ /*ÀÛ ¼º ÀÚ : ÀÌÁÖÇö <- ±è°æÀÎ */ /*ÀÛ¼ºÀÏÀÚ : 2007/0426<-2005 */ /*¼öÁ¤³»¿ª : 2007/04/26 ¿ùÁý°èÁö±ÞÃÑ¾× ºÎ´ã±Ý ÇÕ»ê */ /* 2007/07/19 : HDAYSUM¿¡ SAUP_AM, CLCT_YM Çʵå Ãß°¡ °ú¼¼,ºñ°ú¼¼ ÀúÀå ºÐ¸®*/ -- 2008/04/29 : ºñ°ú¼¼(½Å°íºÐ),ºñ°ú¼¼(½Å°íÁ¦¿ÜºÐ) Ãß°¡ -- 2008/07/14 : ¼öÁ¤±¸ºÐ ÆÄ¶ó¹ÌÅÍ Ãß°¡, ÀçÁý°èÀΰæ¿ì HPOTLPM_DÁö±Þ¿¬¿ù ¾÷µ¥ÀÌÆ® /************************************************************************/ SET ANSI_WARNINGS OFF DECLARE @P_ERR_MSG NVARCHAR(255) BEGIN TRANSACTION IF(@CHK='1') BEGIN IF EXISTS( SELECT EMP_CD FROM HDAYSUM WHERE CO_CD=@CO_CD AND SUBSTRING(RVRS_YM,1,4)=SUBSTRING(@RVRS_YM,1,4) ) DELETE FROM HDAYSUM WHERE CO_CD = @CO_CD AND SUBSTRING(RVRS_YM,1,4)=SUBSTRING(@RVRS_YM,1,4) END ELSE BEGIN IF EXISTS( SELECT EMP_CD FROM HDAYSUM WHERE CO_CD=@CO_CD AND RVRS_YM=@RVRS_YM AND EMP_CD= @EMP_CD ) DELETE FROM HDAYSUM WHERE CO_CD = @CO_CD AND RVRS_YM = @RVRS_YM AND EMP_CD= @EMP_CD END IF( @@ERROR <> 0 ) BEGIN SET @P_ERR_MSG = DZGOLD.UFN_GET_STRING_BY_LANGKIND( @LANGKIND, '¿ùÁý°èÆÄÀÏÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù.') GOTO ERROR END --ÀçÁý°èÀΰæ¿ì IF(@CLSE_FG = '1') BEGIN UPDATE HPOTLPM_D SET CLCT_YM = @CLCT_YM WHERE CO_CD = @CO_CD AND RVRS_YM = @RVRS_YM AND EMP_CD = @EMP_CD AND CLSE_YN ='001' END --¿ùÁý°èÆÄÀÏ»ý¼º IF(@CHK='1') BEGIN INSERT INTO HDAYSUM ( CO_CD, DIV_CD, EMP_CD, RVRS_YM, TPAY_AM, HIFE_AM, NAPE_AM, DDCT_AM, INTX_AM, RSTX_AM, EXCL_YN,SAUP_AM, CLCT_YM ,NPAY_AM, EX_NPAY_AM) SELECT @CO_CD, CASE WHEN ISNULL(MAX(V.DIV_CD), '')='' THEN @DIV_CD ELSE MAX(V.DIV_CD) END, @EMP_CD, H.RVRS_YM, ISNULL(SUM(H.PAY_AM),0), SUM(H.HIFE_AM), SUM(H.NAPE_AM), SUM(H.EMIF_AM), SUM(H.INTX_AM) INTX_AM, SUM(H.RSTX_AM) RSTX_AM, '000', ISNULL(SUM(H.SAUP_AM),0), H.CLCT_YM, SUM(ISNULL(H.NPAY_AM,0)),SUM(ISNULL(H.EX_NPAY_AM,0)) FROM HPOTLPM_D H LEFT OUTER JOIN SDIV V ON H.CO_CD=V.CO_CD AND H.DIV_CD=V.DIV_CD WHERE H.CO_CD = @CO_CD AND SUBSTRING(RVRS_YM,1,4)=SUBSTRING(@RVRS_YM,1,4)AND H.EMP_CD = @EMP_CD AND H.CLSE_YN='001' GROUP BY H.RVRS_YM ,H.CLCT_YM END ELSE BEGIN INSERT INTO HDAYSUM ( CO_CD, DIV_CD, EMP_CD, RVRS_YM, TPAY_AM, HIFE_AM, NAPE_AM, DDCT_AM, INTX_AM, RSTX_AM, EXCL_YN ,SAUP_AM, CLCT_YM,NPAY_AM,EX_NPAY_AM) SELECT @CO_CD, CASE WHEN ISNULL(MAX(V.DIV_CD), '')='' THEN @DIV_CD ELSE MAX(V.DIV_CD) END, @EMP_CD, H.RVRS_YM, ISNULL(SUM(H.PAY_AM),0) , SUM(H.HIFE_AM), SUM(H.NAPE_AM), SUM(H.EMIF_AM), SUM(H.INTX_AM) INTX_AM, SUM(H.RSTX_AM) RSTX_AM, '000', ISNULL(SUM(H.SAUP_AM),0), H.CLCT_YM, SUM(ISNULL(H.NPAY_AM,0)),SUM(ISNULL(H.EX_NPAY_AM,0)) FROM HPOTLPM_D H LEFT OUTER JOIN SDIV V ON H.CO_CD=V.CO_CD AND H.DIV_CD=V.DIV_CD WHERE H.CO_CD = @CO_CD AND H.RVRS_YM = @RVRS_YM AND H.EMP_CD = @EMP_CD AND H.CLSE_YN='001' GROUP BY H.RVRS_YM ,H.CLCT_YM END IF( @@ERROR <> 0 ) BEGIN SET @P_ERR_MSG = DZGOLD.UFN_GET_STRING_BY_LANGKIND( @LANGKIND, '¿ùÁý°èÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù.') GOTO ERROR END COMMIT TRANSACTION RETURN 1 END ERROR: RAISERROR( @P_ERR_MSG, 16, 1 ) ROLLBACK TRANSACTION SET ANSI_WARNINGS ON SET ANSI_WARNINGS ON RETURN GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO declare @module_cd as varchar(3), @ver_info as varchar(8) set @module_cd = 'XHP' set @ver_info = '20080714' delete from smadiary where module_cd = @module_cd and ver_info = @ver_info insert into smadiary (module_cd, upgrade_dt, ver_info, solution_cd) values (@module_cd, getdate(), @ver_info, 'X') GO