USE [master] GO /****** Object: Database [logins_test] Script Date: 2026-03-30 오후 1:12:18 ******/ CREATE DATABASE [logins_test] CONTAINMENT = NONE ON PRIMARY ( NAME = N'gw', FILENAME = N'D:\LOGINS\Database\Groupware\logins_test.mdf' , SIZE = 94720KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = N'gw_log', FILENAME = N'D:\LOGINS\Database\Groupware\logins_test_log.ldf' , SIZE = 3136KB , MAXSIZE = 2048GB , FILEGROWTH = 10%) GO ALTER DATABASE [logins_test] SET COMPATIBILITY_LEVEL = 110 GO IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) begin EXEC [logins_test].[dbo].[sp_fulltext_database] @action = 'enable' end GO ALTER DATABASE [logins_test] SET ANSI_NULL_DEFAULT OFF GO ALTER DATABASE [logins_test] SET ANSI_NULLS OFF GO ALTER DATABASE [logins_test] SET ANSI_PADDING OFF GO ALTER DATABASE [logins_test] SET ANSI_WARNINGS OFF GO ALTER DATABASE [logins_test] SET ARITHABORT OFF GO ALTER DATABASE [logins_test] SET AUTO_CLOSE OFF GO ALTER DATABASE [logins_test] SET AUTO_SHRINK OFF GO ALTER DATABASE [logins_test] SET AUTO_UPDATE_STATISTICS ON GO ALTER DATABASE [logins_test] SET CURSOR_CLOSE_ON_COMMIT OFF GO ALTER DATABASE [logins_test] SET CURSOR_DEFAULT GLOBAL GO ALTER DATABASE [logins_test] SET CONCAT_NULL_YIELDS_NULL OFF GO ALTER DATABASE [logins_test] SET NUMERIC_ROUNDABORT OFF GO ALTER DATABASE [logins_test] SET QUOTED_IDENTIFIER OFF GO ALTER DATABASE [logins_test] SET RECURSIVE_TRIGGERS OFF GO ALTER DATABASE [logins_test] SET DISABLE_BROKER GO ALTER DATABASE [logins_test] SET AUTO_UPDATE_STATISTICS_ASYNC OFF GO ALTER DATABASE [logins_test] SET DATE_CORRELATION_OPTIMIZATION OFF GO ALTER DATABASE [logins_test] SET TRUSTWORTHY OFF GO ALTER DATABASE [logins_test] SET ALLOW_SNAPSHOT_ISOLATION OFF GO ALTER DATABASE [logins_test] SET PARAMETERIZATION SIMPLE GO ALTER DATABASE [logins_test] SET READ_COMMITTED_SNAPSHOT OFF GO ALTER DATABASE [logins_test] SET HONOR_BROKER_PRIORITY OFF GO ALTER DATABASE [logins_test] SET RECOVERY FULL GO ALTER DATABASE [logins_test] SET MULTI_USER GO ALTER DATABASE [logins_test] SET PAGE_VERIFY CHECKSUM GO ALTER DATABASE [logins_test] SET DB_CHAINING OFF GO ALTER DATABASE [logins_test] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF ) GO ALTER DATABASE [logins_test] SET TARGET_RECOVERY_TIME = 0 SECONDS GO ALTER DATABASE [logins_test] SET DELAYED_DURABILITY = DISABLED GO EXEC sys.sp_db_vardecimal_storage_format N'logins_test', N'ON' GO USE [logins_test] GO /****** Object: User [logins] Script Date: 2026-03-30 오후 1:12:19 ******/ CREATE USER [logins] FOR LOGIN [logins] WITH DEFAULT_SCHEMA=[dbo] GO ALTER ROLE [db_owner] ADD MEMBER [logins] GO /****** Object: UserDefinedTableType [dbo].[ApprovalParamTableType] Script Date: 2026-03-30 오후 1:12:19 ******/ CREATE TYPE [dbo].[ApprovalParamTableType] AS TABLE( [CORP_NO] [varchar](15) NULL, [APRVL_DOC_ID] [int] NULL, [USR_ID] [varchar](10) NULL ) GO /****** Object: UserDefinedTableType [dbo].[TableType] Script Date: 2026-03-30 오후 1:12:19 ******/ CREATE TYPE [dbo].[TableType] AS TABLE( [CORP_NO] [varchar](15) NULL, [APRVL_DOC_ID] [int] NULL, [USR_ID] [varchar](10) NULL ) GO /****** Object: Table [dbo].[bfile] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[bfile]( [ID] [int] NOT NULL, [b_id] [int] NULL, [filename] [nvarchar](50) NULL, [filesize] [int] NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[bment] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[bment]( [ID] [int] NOT NULL, [b_id] [int] NULL, [m_name] [nvarchar](50) NULL, [m_ment] [ntext] NULL, [m_date] [nvarchar](50) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[board] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[board]( [ID] [int] NOT NULL, [title] [nvarchar](250) NULL, [content] [ntext] NULL, [date] [nvarchar](50) NULL, [name] [nvarchar](50) NULL, [count] [int] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[bphoto] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[bphoto]( [ID] [int] NOT NULL, [b_id] [int] NULL, [filename] [nvarchar](50) NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[confile] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[confile]( [ID] [int] NOT NULL, [n_id] [int] NULL, [filename] [nvarchar](50) NULL, [filesize] [int] NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[conotice] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[conotice]( [ID] [int] NOT NULL, [title] [nvarchar](250) NULL, [content] [ntext] NULL, [date] [nvarchar](50) NULL, [name] [nvarchar](50) NULL, [count] [int] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[dummy] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[dummy]( [idx] [int] IDENTITY(1,1) NOT NULL, [NM] [varchar](50) NULL, [VAL] [varchar](50) NULL, [CD] [varchar](50) NULL, CONSTRAINT [PK_dummy] PRIMARY KEY CLUSTERED ( [idx] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[errorMng] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[errorMng]( [sq] [bigint] IDENTITY(1,1) NOT NULL, [ie_gbn] [varchar](1) NULL, [s_code] [varchar](5) NULL, [s_year] [varchar](2) NULL, [s_jechl] [varchar](7) NULL, [com_nm] [varchar](28) NULL, [j_singo_dt] [varchar](8) NULL, [s_singo_dt] [varchar](8) NULL, [j_cd_cd] [int] NULL, [j_title_cd] [int] NULL, [j_contents] [varchar](200) NULL, [j_gwi_cd] [int] NULL, [j_gwi_user_id1] [varchar](50) NULL, [j_gwi_user_id2] [varchar](50) NULL, [reg_user_id] [varchar](50) NULL, [f_st_cd] [int] NULL, [f_jj_cd] [int] NULL, [f_jj_contents] [text] NULL, [f_jj_nm] [varchar](10) NULL, [f_jj_reg_dt] [varchar](8) NULL, [f_jj_reg_gbn] [varchar](1) NULL, [u_title] [varchar](50) NULL, [u_res] [varchar](400) NULL, [u_reg_dt] [varchar](8) NULL, [ATTACH_NO] [varchar](50) NULL, [work_dt] [datetime] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[exco] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[exco]( [ID] [int] NOT NULL, [singono] [nvarchar](20) NULL, [importer] [nvarchar](50) NULL, [singodate] [nvarchar](10) NULL, [sclass] [nvarchar](50) NULL, [content] [ntext] NULL, [name] [nvarchar](50) NULL, [date] [nvarchar](50) NULL, [stats] [nvarchar](50) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[f_jj_gbn] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[f_jj_gbn]( [f_jj_cd] [bigint] IDENTITY(1,1) NOT NULL, [f_jj_des1] [varchar](2) NULL, [f_jj_des2] [varchar](50) NULL, [f_jj_des3] [varchar](100) NULL, CONSTRAINT [PK_f_jj_gbn] PRIMARY KEY CLUSTERED ( [f_jj_cd] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[f_jj_st] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[f_jj_st]( [f_st_cd] [int] IDENTITY(1,1) NOT NULL, [f_st_des] [varchar](10) NULL, CONSTRAINT [PK_f_jj_st] PRIMARY KEY CLUSTERED ( [f_st_cd] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[gwi_gbn] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[gwi_gbn]( [j_gwi_cd] [int] IDENTITY(1,1) NOT NULL, [j_gwi_des] [varchar](10) NULL, CONSTRAINT [PK_f_gwi_gbn] PRIMARY KEY CLUSTERED ( [j_gwi_cd] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[holiday] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[holiday]( [ID] [int] NOT NULL, [날짜] [nvarchar](50) NULL, [설명] [nvarchar](50) NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[inco] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[inco]( [ID] [int] NOT NULL, [singono] [nvarchar](20) NULL, [importer] [nvarchar](50) NULL, [singodate] [nvarchar](10) NULL, [sclass] [nvarchar](50) NULL, [scause] [nvarchar](50) NULL, [content] [ntext] NULL, [name] [nvarchar](50) NULL, [date] [nvarchar](50) NULL, [stats] [nvarchar](50) NULL, [statsdate] [nvarchar](50) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[incolog] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[incolog]( [ID] [int] NOT NULL, [i_id] [int] NULL, [ltitle] [nvarchar](50) NULL, [ltime] [nvarchar](50) NULL, [lment] [nvarchar](200) NULL, [lwriter] [nvarchar](50) NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[incoment] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[incoment]( [ID] [int] NOT NULL, [i_id] [int] NULL, [m_name] [nvarchar](50) NULL, [m_ment] [ntext] NULL, [m_date] [nvarchar](50) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[jj_cd] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[jj_cd]( [j_cd_cd] [int] IDENTITY(1,1) NOT NULL, [j_cd_des] [varchar](10) NULL, CONSTRAINT [PK_f_jj_cd] PRIMARY KEY CLUSTERED ( [j_cd_cd] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[jj_contents] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[jj_contents]( [j_title_cd] [int] IDENTITY(1,1) NOT NULL, [j_title_des] [varchar](20) NULL, CONSTRAINT [PK_f_jj_contents] PRIMARY KEY CLUSTERED ( [j_title_cd] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[kfile] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[kfile]( [ID] [int] NOT NULL, [b_id] [int] NULL, [filename] [nvarchar](50) NULL, [filesize] [int] NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[kment] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[kment]( [ID] [int] NOT NULL, [b_id] [int] NULL, [m_name] [nvarchar](50) NULL, [m_ment] [ntext] NULL, [m_date] [nvarchar](50) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[know] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[know]( [ID] [int] NOT NULL, [title] [nvarchar](250) NULL, [content] [ntext] NULL, [date] [nvarchar](50) NULL, [name] [nvarchar](50) NULL, [count] [int] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[kphoto] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[kphoto]( [ID] [int] NOT NULL, [b_id] [int] NULL, [filename] [nvarchar](50) NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[latereport] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[latereport]( [ID] [int] NOT NULL, [name] [nvarchar](255) NULL, [reason] [ntext] NULL, [timein] [nvarchar](255) NULL, [latetime] [int] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[lawfile] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[lawfile]( [ID] [int] NOT NULL, [법] [nvarchar](50) NULL, [이름] [nvarchar](50) NULL, [파일명] [nvarchar](50) NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[nfile] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[nfile]( [ID] [int] NOT NULL, [n_id] [int] NULL, [filename] [nvarchar](50) NULL, [filesize] [int] NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[nment] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[nment]( [ID] [int] NOT NULL, [n_id] [int] NULL, [m_name] [nvarchar](50) NULL, [m_ment] [ntext] NULL, [m_date] [nvarchar](50) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[notice] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[notice]( [ID] [int] NOT NULL, [title] [nvarchar](250) NULL, [content] [ntext] NULL, [date] [nvarchar](50) NULL, [name] [nvarchar](50) NULL, [count] [int] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[notwork] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[notwork]( [ID] [int] NOT NULL, [name] [nvarchar](50) NULL, [date] [nvarchar](10) NULL, [reason] [ntext] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[overtime] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[overtime]( [ID] [int] NOT NULL, [이름] [nvarchar](50) NULL, [신청일] [nchar](10) NULL, [구분] [nvarchar](10) NULL, [전후] [nvarchar](10) NULL, [내용] [ntext] NULL, [팀장] [nvarchar](10) NULL, [팀장승인] [nvarchar](50) NULL, [본부장] [nvarchar](10) NULL, [본부장승인] [nvarchar](50) NULL, [작성일] [nvarchar](50) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[shortwork] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[shortwork]( [ID] [int] NOT NULL, [name] [nvarchar](255) NULL, [reason] [ntext] NULL, [timeout] [nvarchar](255) NULL, [shorttime] [int] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[start] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[start]( [ID] [int] NOT NULL, [구분] [nvarchar](50) NULL, [참조] [nvarchar](200) NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[startsat] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[startsat]( [ID] [int] NOT NULL, [구분] [nvarchar](50) NULL, [참조] [nvarchar](200) NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[suri_count] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[suri_count]( [ss_year] [varchar](4) NOT NULL, [ss_month] [varchar](2) NOT NULL, [ss_i_cnt] [int] NULL, [ss_e_cnt] [int] NULL, CONSTRAINT [PK_f_suri_count] PRIMARY KEY CLUSTERED ( [ss_year] ASC, [ss_month] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_CO0010] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_CO0010]( [CORP_NO] [varchar](15) NOT NULL, [CORP_NM] [varchar](100) NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, CONSTRAINT [SX_CO0010_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_CO0030] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_CO0030]( [CORP_NO] [varchar](15) NOT NULL, [COMM_CL_CD] [varchar](5) NOT NULL, [COMM_CL_CD_NM] [varchar](100) NULL, [COMM_CL_CD_USE_YN] [varchar](1) NOT NULL, [COMM_CL_CD_DSCRPT] [varchar](500) NULL, [DSPLY_ORDR] [int] NULL, [PROP_YN] [varchar](1) NOT NULL, [PROP_CL1_CD] [varchar](5) NULL, [PROP_CL2_CD] [varchar](5) NULL, [PROP_CL3_CD] [varchar](5) NULL, [PROP_CL4_CD] [varchar](5) NULL, [PROP_CL5_CD] [varchar](5) NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, CONSTRAINT [SX_CO0030_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [COMM_CL_CD] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_CO0040] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_CO0040]( [CORP_NO] [varchar](15) NOT NULL, [COMM_CL_CD] [varchar](5) NOT NULL, [COMM_CD] [varchar](4) NOT NULL, [COMM_CD_NM] [varchar](100) NULL, [COMM_CD_USE_YN] [varchar](1) NOT NULL, [COMM_CD_DSCRPT] [varchar](500) NULL, [COMM_CD_DSPLY_ORDR] [int] NULL, [COMM_CD_TYPE_VAL] [varchar](10) NULL, [PROP2_CD] [varchar](4) NULL, [PROP1_CD] [varchar](4) NULL, [PROP3_CD] [varchar](4) NULL, [PROP4_CD] [varchar](4) NULL, [PROP5_CD] [varchar](4) NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, CONSTRAINT [SX_CO0040_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [COMM_CL_CD] ASC, [COMM_CD] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_CO0050] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_CO0050]( [ATCHFILE_NO] [varchar](50) NOT NULL, [ATCH_NO] [varchar](50) NULL, [ATCH_FILE_PATH_NM] [varchar](200) NULL, [ATCH_FILE_NM] [varchar](200) NULL, [ATCH_TYPE_NM] [varchar](100) NULL, [ORGNL_FILE_NM] [varchar](200) NULL, [ATCH_FILE_MG] [int] NULL, [TBL_COL_NM] [varchar](100) NULL, [DEL_DT] [datetime] NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, CONSTRAINT [SX_CO0050_PK] PRIMARY KEY CLUSTERED ( [ATCHFILE_NO] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_CO0060] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_CO0060]( [SEQUENCE_NM] [varchar](100) NOT NULL, [SEQUENCE_VAL] [int] NULL, CONSTRAINT [SX_CO0060_PK] PRIMARY KEY CLUSTERED ( [SEQUENCE_NM] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_CO0070] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_CO0070]( [CORP_NO] [varchar](15) NOT NULL, [WORK_CD] [varchar](10) NOT NULL, [WORK_CD_TITLE_NM] [varchar](200) NULL, [GOTOWORK_TM_NM] [varchar](10) NULL, [GETOFFWORK_TM_NM] [varchar](10) NULL, [PAY_DIV_NM] [varchar](100) NULL, [REGULAR_WORK_TM] [decimal](5, 2) NULL, [REST_TM] [decimal](5, 2) NULL, [INCLU_WORK_NM] [varchar](100) NULL, [INCLU_WORK_START_TM] [varchar](100) NULL, [INCLU_WORK_END_TM] [varchar](100) NULL, [INCLU_WORK_TM] [decimal](5, 2) NULL, [CALC_LOCA_NM] [varchar](10) NULL, [OT_START_TM] [varchar](100) NULL, [NGT_ALLW_NM] [varchar](100) NULL, [NGT_START_TM] [varchar](10) NULL, [NGT_END_TM] [varchar](10) NULL, [WORK_ALLW_NM] [varchar](200) NULL, [WORK_CD_USE_YN] [varchar](1) NOT NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, [WORK_CN] [varchar](4000) NULL, [OT_BSCRT] [decimal](5, 2) NULL, [NGT_BSCRT] [decimal](5, 2) NULL, [APLY_WORK_DAY] [decimal](5, 2) NULL, [YYCT_DEDU_DAY] [decimal](5, 2) NULL, [MEAL_START_TM] [varchar](10) NULL, [MEAL_END_TM] [varchar](10) NULL, [HOLIDAY_YN] [varchar](10) NULL, CONSTRAINT [SX_CO0070_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [WORK_CD] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_CO0080] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_CO0080]( [CORP_NO] [varchar](15) NOT NULL, [MENU_NO] [int] NOT NULL, [UPPER_MENU_NO] [int] NULL, [MENU_NM] [varchar](200) NULL, [URL] [varchar](300) NULL, [RM] [varchar](1000) NULL, [MENU_PROP] [varchar](1000) NULL, [MENU_ORDR] [int] NULL, [MENU_USE_YN] [varchar](1) NOT NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, [CONTROLLER] [varchar](100) NULL, [MENU_LVL] [int] NULL, CONSTRAINT [SX_CO0080_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [MENU_NO] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_CO0090] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_CO0090]( [CORP_NO] [varchar](15) NOT NULL, [MENU_NO] [int] NOT NULL, [MENU_AUTH_CD] [varchar](4) NOT NULL, [AUTH_MENU_PROP] [varchar](1000) NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, [FUNC_AUTH_CN] [varchar](100) NULL, CONSTRAINT [SX_CO0090_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [MENU_NO] ASC, [MENU_AUTH_CD] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_CO0100] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_CO0100]( [SEQ] [numeric](38, 0) IDENTITY(1,1) NOT NULL, [WORK_DT] [varchar](8) NOT NULL, [WORK_ID] [nvarchar](200) NULL, [WORK_NM] [nvarchar](100) NULL, [WORK_TYPE] [int] NULL, CONSTRAINT [PK_SX_CO0100] PRIMARY KEY CLUSTERED ( [SEQ] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_CO0110] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_CO0110]( [SEQ] [bigint] IDENTITY(1,1) NOT NULL, [WORK_NM] [nvarchar](100) NULL, CONSTRAINT [PK_SX_CO0110] PRIMARY KEY CLUSTERED ( [SEQ] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_CO0120] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_CO0120]( [SEQ] [int] IDENTITY(1,1) NOT NULL, [B_NM] [nvarchar](30) NULL, [B_TERM] [int] NULL, [B_CUT] [datetime] NULL, [B_NEXT] [datetime] NULL, CONSTRAINT [PK_SX_CO0120] PRIMARY KEY CLUSTERED ( [SEQ] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_CO0130] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_CO0130]( [SEQ] [int] IDENTITY(1,1) NOT NULL, [B_NM] [nvarchar](30) NULL, [B_DAY] [int] NULL, [B_DAY_VIEW] [nvarchar](10) NULL, [B_TIME] [nvarchar](5) NULL, CONSTRAINT [PK_SX_CO0130] PRIMARY KEY CLUSTERED ( [SEQ] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_GW0010] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_GW0010]( [CORP_NO] [varchar](15) NOT NULL, [USR_ID] [varchar](10) NOT NULL, [USR_SORT_ORDR] [int] NULL, [USR_NM] [varchar](100) NOT NULL, [PW] [varchar](100) NOT NULL, [DUTY_CD] [varchar](4) NULL, [BRTHDY_DATE] [varchar](8) NULL, [USR_TELNO] [varchar](15) NULL, [MTEL_NO] [varchar](15) NULL, [EMAIL] [varchar](100) NULL, [BASE_ADRS] [varchar](100) NULL, [GUSO_ADRS] [varchar](100) NULL, [GUSO_TELNO] [varchar](15) NULL, [JOINCP_DATE] [varchar](8) NULL, [SALARY] [int] NULL, [BZ_CD] [varchar](4) NULL, [WKDAY_WORK_CD] [varchar](4) NULL, [WKEND_WORK_CD] [varchar](4) NULL, [OT_AMT] [int] NULL, [OT_CD] [varchar](4) NULL, [FD_EXPENSES_CD] [varchar](4) NULL, [SPOUSE_YN] [varchar](1) NOT NULL, [SPT_FAMILY_CNT] [int] NULL, [TEAM_CD] [varchar](4) NULL, [MDCHIT_NM] [varchar](100) NULL, [FINAL_SCHSP_NM] [varchar](100) NULL, [DISML_DATE] [varchar](8) NULL, [RETIREMENT_DATE] [varchar](8) NULL, [RETIREMENT_RSN_CN] [varchar](500) NULL, [MNYVALUA_ADJ_CN] [varchar](500) NULL, [CRR_CN] [varchar](max) NULL, [QUAL_CN] [varchar](max) NULL, [CNTRCT_CNDT_CN] [varchar](max) NULL, [SPCLT_ARTC_CN] [varchar](max) NULL, [PHOTO_ATCHFILE_NO] [varchar](50) NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, [SPMT_EMAIL] [varchar](100) NULL, [SPMT_MTEL_NO] [varchar](15) NULL, [RRNO] [varchar](7) NULL, [LOGIN_ID] [varchar](100) NULL, [APPR_YN] [varchar](1) NULL, CONSTRAINT [SX_GW0010_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [USR_ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY], CONSTRAINT [LOGIN_ID_UNIQE] UNIQUE NONCLUSTERED ( [LOGIN_ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[SX_GW0020] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_GW0020]( [CORP_NO] [varchar](15) NOT NULL, [UNTY_BBS_CD] [varchar](4) NOT NULL, [UNTY_BBS_SNO] [int] NOT NULL, [BBS_TITLE_NM] [varchar](200) NULL, [BBS_CN] [text] NULL, [INQR_CNT] [int] NULL, [CTUSR_ID] [varchar](10) NULL, [ETC_ATCH_NO] [varchar](50) NULL, [PHOTO_ATCH_NO] [varchar](50) NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, [CMMT_CNT] [int] NULL, CONSTRAINT [SX_GW0020_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [UNTY_BBS_CD] ASC, [UNTY_BBS_SNO] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[SX_GW0030] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_GW0030]( [CORP_NO] [varchar](15) NOT NULL, [UNTY_BBS_CD] [varchar](4) NOT NULL, [UNTY_BBS_SNO] [int] NOT NULL, [CMMT_SNO] [int] NOT NULL, [CMMT_CN] [varchar](max) NULL, [CMMT_CTUSR_ID] [varchar](10) NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, CONSTRAINT [SX_GW0030_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [UNTY_BBS_CD] ASC, [UNTY_BBS_SNO] ASC, [CMMT_SNO] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[SX_GW0050] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_GW0050]( [CORP_NO] [varchar](15) NOT NULL, [USR_ID] [varchar](10) NOT NULL, [WORK_PLAN_YYMMDD] [varchar](8) NOT NULL, [PLAN_WORK_CD] [varchar](10) NULL, [WORK_CD] [varchar](10) NULL, [WORK_START_DT] [datetime] NULL, [WORK_END_DT] [datetime] NULL, [TOT_WORK_MIN] [int] NULL, [LATE_MIN] [int] NULL, [ABTI_YN] [varchar](1) NOT NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, [INCLU_WORK_OT_MIN] [int] NULL, [OT_WORK_MIN] [int] NULL, [NGT_OT_MIN] [int] NULL, [SKIPOFF_REMN_BZ_MIN] [int] NULL, [OT_RCTN_YN] [varchar](1) NULL, [SORT_ODR] [int] NULL, [OUTING_MIN] [int] NULL, [OUTING_CNT] [int] NULL, [REAL_START_DT] [datetime] NULL, [REAL_END_DT] [datetime] NULL, [EL_RCTN_YN] [varchar](1) NULL, [HOLIDAY_LATE_MIN] [int] NULL, CONSTRAINT [SX_GW0050_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [USR_ID] ASC, [WORK_PLAN_YYMMDD] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_GW0060] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_GW0060]( [CORP_NO] [varchar](15) NOT NULL, [USR_ID] [varchar](10) NOT NULL, [YYVCT_YY] [varchar](4) NOT NULL, [YYVCT_CNT] [float] NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, [SORT_ODR] [int] NULL, [REFCN] [varchar](2000) NULL, CONSTRAINT [SX_GW0060_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [USR_ID] ASC, [YYVCT_YY] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_GW0080] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_GW0080]( [CORP_NO] [varchar](15) NOT NULL, [APRVL_DOC_ID] [int] NOT NULL, [LATE_SKIPOFF_ABTI_OT_CD] [varchar](4) NULL, [LATE_SKIPOFF_ABTI_OT_DATE] [varchar](8) NULL, [LATE_SKIPOFF_OT_DT] [datetime] NULL, [LATE_SKIPOFF_OT_DT2] [datetime] NULL, [LATE_SKIPOFF_OT_MIN] [int] NULL, [NML_WORK_RCNTN_YN] [varchar](1) NOT NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, [REQUEST_DT] [datetime] NULL, [REQUEST_DT2] [datetime] NULL, CONSTRAINT [SX_GW0080_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [APRVL_DOC_ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_GW0090] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_GW0090]( [CORP_NO] [varchar](15) NOT NULL, [APRVL_DOC_ID] [int] NOT NULL, [APRVL_STUS_CD] [varchar](4) NULL, [APRVL_KIND_CD] [varchar](4) NULL, [APLNT_ID] [varchar](10) NULL, [OFFER_DT] [datetime] NULL, [CMPL_DT] [datetime] NULL, [APLNT_CN] [varchar](1000) NULL, [BZ_CN] [varchar](1000) NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, [ATCH_NO] [varchar](50) NULL, [OFFER_CN] [varchar](4000) NULL, [APRVL_CMPL_SNO] [int] NULL, [FINAL_APRVL_SNO] [int] NULL, [BZ_DEPUTY_ID] [varchar](10) NULL, [DOC_FLAG] [varchar](2) NULL, CONSTRAINT [SX_GW0090_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [APRVL_DOC_ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_GW0100] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_GW0100]( [CORP_NO] [varchar](15) NOT NULL, [APRVL_DOC_ID] [int] NOT NULL, [APRVL_SNO] [int] NOT NULL, [APPR_ID] [varchar](10) NULL, [APPR_STUS_CD] [varchar](4) NULL, [APRVL_DT] [datetime] NULL, [APPR_CN] [varchar](1000) NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, [DOC_FLAG] [varchar](2) NULL, CONSTRAINT [SX_GW0100_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [APRVL_DOC_ID] ASC, [APRVL_SNO] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_GW0110] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_GW0110]( [CORP_NO] [varchar](15) NOT NULL, [APRVL_DOC_ID] [int] NOT NULL, [UPD_DATE] [varchar](8) NOT NULL, [UPD_BF_WORK_CD] [varchar](4) NULL, [UPD_WORK_CD] [varchar](4) NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, CONSTRAINT [SX_GW0110_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [APRVL_DOC_ID] ASC, [UPD_DATE] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_GW0120] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_GW0120]( [CORP_NO] [varchar](15) NOT NULL, [APRVL_DOC_ID] [int] NOT NULL, [YYVCT_DATE] [varchar](8) NULL, [BZ_DEPUTY_ID] [varchar](10) NOT NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, CONSTRAINT [SX_GW0120_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [APRVL_DOC_ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_GW0130] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_GW0130]( [CORP_NO] [varchar](15) NOT NULL, [USR_ID] [varchar](10) NOT NULL, [MENU_AUTH_CD] [varchar](4) NOT NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, CONSTRAINT [SX_GW0130_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [USR_ID] ASC, [MENU_AUTH_CD] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[SX_GW0140] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SX_GW0140]( [CORP_NO] [varchar](15) NOT NULL, [USR_ID] [varchar](10) NOT NULL, [LV_1_APPR_YN] [varchar](1) NOT NULL, [LV_2_APPR_YN] [varchar](1) NOT NULL, [LV_3_APPR_YN] [varchar](1) NOT NULL, [LV_4_APPR_YN] [varchar](1) NOT NULL, [LV_5_APPR_YN] [varchar](1) NOT NULL, [RGSTR_ID] [varchar](10) NOT NULL, [RGST_DT] [datetime] NOT NULL, [MODID] [varchar](10) NULL, [UPD_DT] [datetime] NOT NULL, CONSTRAINT [SX_GW0140_PK] PRIMARY KEY CLUSTERED ( [CORP_NO] ASC, [USR_ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[team] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[team]( [ID] [int] NOT NULL, [구분] [nvarchar](50) NULL, [참조] [nvarchar](200) NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[timecode] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[timecode]( [ID] [int] NOT NULL, [구분] [nvarchar](255) NULL, [출근] [nvarchar](255) NULL, [퇴근] [nvarchar](255) NULL, [휴일] [int] NULL, [제목] [nvarchar](50) NULL, [참조] [ntext] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[users] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[users]( [ID] [int] NOT NULL, [순서] [int] NULL, [u_name] [nvarchar](50) NULL, [u_pass] [nvarchar](50) NULL, [직책] [nvarchar](50) NULL, [u_power] [int] NULL, [생일] [nvarchar](50) NULL, [집전화] [nvarchar](50) NULL, [휴대폰] [nvarchar](50) NULL, [이메일] [nvarchar](50) NULL, [주소] [nvarchar](100) NULL, [거소] [nvarchar](100) NULL, [거소전화] [nvarchar](50) NULL, [입사일] [nvarchar](50) NULL, [연봉] [int] NULL, [연가] [int] NULL, [업무] [nvarchar](50) NULL, [출근] [nvarchar](50) NULL, [주말] [nvarchar](50) NULL, [OT] [int] NULL, [OT구분] [nvarchar](50) NULL, [식비] [nvarchar](50) NULL, [배우자] [nvarchar](50) NULL, [부양가족] [int] NULL, [팀] [nvarchar](50) NULL, [병력] [nvarchar](50) NULL, [학력] [nvarchar](50) NULL, [해고일] [nvarchar](50) NULL, [퇴직일] [nvarchar](50) NULL, [퇴직사유] [nvarchar](250) NULL, [금품청산] [nvarchar](250) NULL, [경력] [ntext] NULL, [자격] [ntext] NULL, [계약조건] [ntext] NULL, [참조] [ntext] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[vacation] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[vacation]( [ID] [int] NOT NULL, [구분] [nvarchar](20) NULL, [예정일] [ntext] NULL, [일수] [real] NULL, [내용] [ntext] NULL, [이름] [nvarchar](10) NULL, [업무] [ntext] NULL, [작성일] [nvarchar](50) NULL, [대행자] [nvarchar](10) NULL, [대행승인] [nvarchar](50) NULL, [결재자] [nvarchar](50) NULL, [결재] [nvarchar](50) NULL, [결재일] [nvarchar](50) NULL, [차감] [int] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[vacationt] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[vacationt]( [ID] [int] NOT NULL, [년도] [nvarchar](50) NULL, [이름] [nvarchar](50) NULL, [연가] [int] NULL, [참조] [ntext] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[workchange] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[workchange]( [ID] [int] NOT NULL, [name] [nvarchar](50) NULL, [date1] [nvarchar](50) NULL, [date2] [nvarchar](50) NULL, [workplan] [nvarchar](50) NULL, [workchange] [nvarchar](50) NULL, [사유] [ntext] NULL, [업무] [ntext] NULL, [작성일] [nvarchar](50) NULL, [대행자] [nvarchar](50) NULL, [대행승인] [nvarchar](50) NULL, [승인] [nvarchar](50) NULL, [승인시각] [nvarchar](50) NULL, [승인자] [nvarchar](50) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[workplan] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[workplan]( [ID] [int] NOT NULL, [u_id] [int] NULL, [name] [nvarchar](50) NULL, [date] [nvarchar](50) NULL, [주말] [nvarchar](50) NULL, [업무] [nvarchar](50) NULL, [d1] [nvarchar](50) NULL, [d2] [nvarchar](50) NULL, [d3] [nvarchar](50) NULL, [d4] [nvarchar](50) NULL, [d5] [nvarchar](50) NULL, [d6] [nvarchar](50) NULL, [d7] [nvarchar](50) NULL, [d8] [nvarchar](50) NULL, [d9] [nvarchar](50) NULL, [d10] [nvarchar](50) NULL, [d11] [nvarchar](50) NULL, [d12] [nvarchar](50) NULL, [d13] [nvarchar](50) NULL, [d14] [nvarchar](50) NULL, [d15] [nvarchar](50) NULL, [d16] [nvarchar](50) NULL, [d17] [nvarchar](50) NULL, [d18] [nvarchar](50) NULL, [d19] [nvarchar](50) NULL, [d20] [nvarchar](50) NULL, [d21] [nvarchar](50) NULL, [d22] [nvarchar](50) NULL, [d23] [nvarchar](50) NULL, [d24] [nvarchar](50) NULL, [d25] [nvarchar](50) NULL, [d26] [nvarchar](50) NULL, [d27] [nvarchar](50) NULL, [d28] [nvarchar](50) NULL, [d29] [nvarchar](50) NULL, [d30] [nvarchar](50) NULL, [d31] [nvarchar](50) NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[works] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[works]( [ID] [int] NOT NULL, [구분] [nvarchar](50) NULL, [참조] [nvarchar](200) NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[worktime] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[worktime]( [ID] [int] NOT NULL, [name] [nvarchar](50) NULL, [date] [nvarchar](50) NULL, [timein] [nvarchar](50) NULL, [timeout] [nvarchar](50) NULL, [worktime] [real] NULL, [ottime0] [real] NULL, [ottime1] [real] NULL, [ottime2] [real] NULL, [ottime3] [real] NULL, [ottime4] [real] NULL, [tottime] [real] NULL, [food] [real] NULL, [otdetail] [nvarchar](200) NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[환경설정] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[환경설정]( [ID] [int] NOT NULL, [ot] [real] NULL, [nt] [real] NULL ) ON [PRIMARY] GO SET ANSI_PADDING ON GO /****** Object: Index [IX01_SX_GW0010] Script Date: 2026-03-30 오후 1:12:19 ******/ CREATE UNIQUE NONCLUSTERED INDEX [IX01_SX_GW0010] ON [dbo].[SX_GW0010] ( [CORP_NO] ASC, [USR_NM] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] GO ALTER TABLE [dbo].[errorMng] ADD CONSTRAINT [DF_errorMng_work_dt] DEFAULT (getdate()) FOR [work_dt] GO ALTER TABLE [dbo].[SX_CO0030] ADD CONSTRAINT [DF_SX_CO0030_PROP_YN] DEFAULT ('N') FOR [PROP_YN] GO ALTER TABLE [dbo].[SX_CO0040] ADD CONSTRAINT [DF_SX_CO0040_COMM_CD_USE_YN] DEFAULT ('N') FOR [COMM_CD_USE_YN] GO ALTER TABLE [dbo].[SX_CO0070] ADD CONSTRAINT [DF_SX_CO0070_WORK_CD_USE_YN] DEFAULT ('N') FOR [WORK_CD_USE_YN] GO ALTER TABLE [dbo].[SX_CO0070] ADD CONSTRAINT [DF_SX_CO0070_HOLIDAY_YN] DEFAULT ('N') FOR [HOLIDAY_YN] GO ALTER TABLE [dbo].[SX_CO0100] ADD CONSTRAINT [DF_SX_CO0100_WORK_DT] DEFAULT (CONVERT([varchar],getdate(),(112))) FOR [WORK_DT] GO ALTER TABLE [dbo].[SX_GW0010] ADD CONSTRAINT [DF_SX_GW0010_SPOUSE_YN] DEFAULT ('N') FOR [SPOUSE_YN] GO ALTER TABLE [dbo].[SX_GW0010] ADD CONSTRAINT [DF_SX_GW0010_APPR_YN] DEFAULT ('N') FOR [APPR_YN] GO ALTER TABLE [dbo].[SX_GW0050] ADD CONSTRAINT [DF_SX_GW0050_ABTI_YN] DEFAULT ('N') FOR [ABTI_YN] GO ALTER TABLE [dbo].[SX_GW0080] ADD CONSTRAINT [DF_SX_GW0080_NML_WORK_RCNTN_YN] DEFAULT ('N') FOR [NML_WORK_RCNTN_YN] GO ALTER TABLE [dbo].[SX_GW0140] ADD CONSTRAINT [DF_SX_GW0140_LV_1_APPR_YN] DEFAULT ('N') FOR [LV_1_APPR_YN] GO ALTER TABLE [dbo].[SX_GW0140] ADD CONSTRAINT [DF_SX_GW0140_LV_2_APPR_YN] DEFAULT ('N') FOR [LV_2_APPR_YN] GO ALTER TABLE [dbo].[SX_GW0140] ADD CONSTRAINT [DF_SX_GW0140_LV_3_APPR_YN] DEFAULT ('N') FOR [LV_3_APPR_YN] GO ALTER TABLE [dbo].[SX_GW0140] ADD CONSTRAINT [DF_SX_GW0140_LV_4_APPR_YN] DEFAULT ('N') FOR [LV_4_APPR_YN] GO ALTER TABLE [dbo].[SX_GW0140] ADD CONSTRAINT [DF_SX_GW0140_LV_5_APPR_YN] DEFAULT ('N') FOR [LV_5_APPR_YN] GO ALTER TABLE [dbo].[SX_CO0080] WITH CHECK ADD CONSTRAINT [SX_CO0080_SX_CO0080_FK01] FOREIGN KEY([CORP_NO], [UPPER_MENU_NO]) REFERENCES [dbo].[SX_CO0080] ([CORP_NO], [MENU_NO]) GO ALTER TABLE [dbo].[SX_CO0080] CHECK CONSTRAINT [SX_CO0080_SX_CO0080_FK01] GO ALTER TABLE [dbo].[SX_CO0090] WITH CHECK ADD CONSTRAINT [SX_CO0090_SX_CO0080_FK01] FOREIGN KEY([CORP_NO], [MENU_NO]) REFERENCES [dbo].[SX_CO0080] ([CORP_NO], [MENU_NO]) GO ALTER TABLE [dbo].[SX_CO0090] CHECK CONSTRAINT [SX_CO0090_SX_CO0080_FK01] GO ALTER TABLE [dbo].[SX_GW0010] WITH CHECK ADD CONSTRAINT [SX_GW0010_SX_CO0010_FK01] FOREIGN KEY([CORP_NO]) REFERENCES [dbo].[SX_CO0010] ([CORP_NO]) GO ALTER TABLE [dbo].[SX_GW0010] CHECK CONSTRAINT [SX_GW0010_SX_CO0010_FK01] GO ALTER TABLE [dbo].[SX_GW0020] WITH CHECK ADD CONSTRAINT [SX_GW0020_SX_CO0010_FK01] FOREIGN KEY([CORP_NO]) REFERENCES [dbo].[SX_CO0010] ([CORP_NO]) GO ALTER TABLE [dbo].[SX_GW0020] CHECK CONSTRAINT [SX_GW0020_SX_CO0010_FK01] GO ALTER TABLE [dbo].[SX_GW0030] WITH CHECK ADD CONSTRAINT [SX_GW0030_SX_GW0020_FK01] FOREIGN KEY([CORP_NO], [UNTY_BBS_CD], [UNTY_BBS_SNO]) REFERENCES [dbo].[SX_GW0020] ([CORP_NO], [UNTY_BBS_CD], [UNTY_BBS_SNO]) GO ALTER TABLE [dbo].[SX_GW0030] CHECK CONSTRAINT [SX_GW0030_SX_GW0020_FK01] GO ALTER TABLE [dbo].[SX_GW0050] WITH CHECK ADD CONSTRAINT [SX_GW0050_SX_GW0010_FK01] FOREIGN KEY([CORP_NO], [USR_ID]) REFERENCES [dbo].[SX_GW0010] ([CORP_NO], [USR_ID]) GO ALTER TABLE [dbo].[SX_GW0050] CHECK CONSTRAINT [SX_GW0050_SX_GW0010_FK01] GO ALTER TABLE [dbo].[SX_GW0110] WITH CHECK ADD CONSTRAINT [SX_GW0110_SX_GW0090_FK01] FOREIGN KEY([CORP_NO], [APRVL_DOC_ID]) REFERENCES [dbo].[SX_GW0090] ([CORP_NO], [APRVL_DOC_ID]) GO ALTER TABLE [dbo].[SX_GW0110] CHECK CONSTRAINT [SX_GW0110_SX_GW0090_FK01] GO ALTER TABLE [dbo].[SX_GW0120] WITH CHECK ADD CONSTRAINT [SX_GW0120_SX_GW0090_FK01] FOREIGN KEY([CORP_NO], [APRVL_DOC_ID]) REFERENCES [dbo].[SX_GW0090] ([CORP_NO], [APRVL_DOC_ID]) GO ALTER TABLE [dbo].[SX_GW0120] CHECK CONSTRAINT [SX_GW0120_SX_GW0090_FK01] GO ALTER TABLE [dbo].[SX_GW0130] WITH CHECK ADD CONSTRAINT [SX_GW0130_SX_GW0010_FK01] FOREIGN KEY([CORP_NO], [USR_ID]) REFERENCES [dbo].[SX_GW0010] ([CORP_NO], [USR_ID]) GO ALTER TABLE [dbo].[SX_GW0130] CHECK CONSTRAINT [SX_GW0130_SX_GW0010_FK01] GO ALTER TABLE [dbo].[SX_GW0140] WITH CHECK ADD CONSTRAINT [SX_GW0140_SX_GW0010_FK01] FOREIGN KEY([CORP_NO], [USR_ID]) REFERENCES [dbo].[SX_GW0010] ([CORP_NO], [USR_ID]) GO ALTER TABLE [dbo].[SX_GW0140] CHECK CONSTRAINT [SX_GW0140_SX_GW0010_FK01] GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_approval_delete] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-02-02 -- Create Description : 스카이브릿지 그룹웨어 결재문서 삭제 -- Update date : -- Update Description : -- exec pr_skybridge_gw_approval_delete '1111',0, '00001' -- exec pr_skybridge_gw_approval_delete '0000',0, '00001' -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_approval_delete] @CORP_NO VARCHAR(15) --회사번호CORP_NO , @APRVL_DOC_ID INT --결재문서ID , @USR_ID VARCHAR(10) --사용자ID AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED DECLARE @BIZM_CNT AS INT SET @BIZM_CNT = 0 -- 업무관리자 권한이 있는지 체크 SELECT @BIZM_CNT = COUNT('A') FROM SX_GW0130 A WHERE 1=1 AND CORP_NO = @CORP_NO AND USR_ID = @USR_ID AND MENU_AUTH_CD = 'BIZM' --업무관리자 --만약 0 이면 업무관리자 권한이 없어서 처리 불가 IF @BIZM_CNT = 0 BEGIN RAISERROR('해당 ID는 업무관리자가 아닙니다. 확인해 주세요.', 16, 1) RETURN END BEGIN TRAN --근무변경 삭제 (SX_GW0110) DELETE FROM SX_GW0110 WHERE 1=1 AND CORP_NO = @CORP_NO AND APRVL_DOC_ID = @APRVL_DOC_ID --지각조퇴기록 삭제 (SX_GW0080) DELETE FROM SX_GW0080 WHERE 1=1 AND CORP_NO = @CORP_NO AND APRVL_DOC_ID = @APRVL_DOC_ID --결재완료 삭제 (SX_GW0100) DELETE FROM SX_GW0100 WHERE 1=1 AND CORP_NO = @CORP_NO AND APRVL_DOC_ID = @APRVL_DOC_ID --결재신청 삭제 (SX_GW0090) DELETE FROM SX_GW0090 WHERE 1=1 AND CORP_NO = @CORP_NO AND APRVL_DOC_ID = @APRVL_DOC_ID COMMIT; END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_approval_delete_myDoc] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-02-02 -- Create Description : 스카이브릿지 그룹웨어 결재문서 삭제 (본인이 작성한 문서일 경우에만) -- Update date : -- Update Description : -- exec pr_skybridge_gw_approval_delete '1111',0, '00001' -- exec pr_skybridge_gw_approval_delete '0000',0, '00001' -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_approval_delete_myDoc] @CORP_NO VARCHAR(15) --회사번호CORP_NO , @APRVL_DOC_ID INT --결재문서ID , @USR_ID VARCHAR(10) --사용자ID AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED DECLARE @BIZM_CNT AS INT SET @BIZM_CNT = 0 -- 업무관리자 권한이 있는지 체크 SELECT @BIZM_CNT = COUNT('A') FROM SX_GW0090 A WHERE 1=1 AND CORP_NO = @CORP_NO AND APLNT_ID = @USR_ID AND APRVL_DOC_ID = @APRVL_DOC_ID AND APRVL_CMPL_SNO IS NULL --만약 0 이면 업무관리자 권한이 없어서 처리 불가 IF @BIZM_CNT = 0 BEGIN RAISERROR('결재가 진행/완료 되었거나, 삭제 권한이 없습니다. 확인해 주세요.', 16, 1) RETURN END BEGIN TRAN --근무변경 삭제 (SX_GW0110) DELETE FROM SX_GW0110 WHERE 1=1 AND CORP_NO = @CORP_NO AND APRVL_DOC_ID = @APRVL_DOC_ID --지각조퇴기록 삭제 (SX_GW0080) DELETE FROM SX_GW0080 WHERE 1=1 AND CORP_NO = @CORP_NO AND APRVL_DOC_ID = @APRVL_DOC_ID --결재완료 삭제 (SX_GW0100) DELETE FROM SX_GW0100 WHERE 1=1 AND CORP_NO = @CORP_NO AND APRVL_DOC_ID = @APRVL_DOC_ID --결재신청 삭제 (SX_GW0090) DELETE FROM SX_GW0090 WHERE 1=1 AND CORP_NO = @CORP_NO AND APRVL_DOC_ID = @APRVL_DOC_ID COMMIT; END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_approval_document_group_count] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-17 -- Create Description : 스카이브릿지 그룹웨어 내가 올린 결재 문서 개수 -- Update date : -- Update Description : --exec pr_skybridge_gw_approval_document_group_count '1111', '00001' -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_approval_document_group_count] @CORP_NO VARCHAR(15) --회사코드 , @USR_ID VARCHAR(20) --사용자 AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED SELECT 1 AS SORT ,'☆내가 올린 결재 문서' AS STUS_NM ,'' AS DOC_CNT UNION ALL SELECT 2 AS SORT , ' - 작성중' AS STUS_NM , '('+ CONVERT(VARCHAR, COUNT('A')) +')' AS DOC_CNT FROM SX_GW0090 WHERE 1=1 AND APRVL_STUS_CD IS NOT NULL AND DATEPART(YYYY, RGST_DT) = DATEPART(YYYY, GETDATE()) AND CORP_NO = @CORP_NO AND APLNT_ID = @USR_ID AND APRVL_STUS_CD = '0001' UNION ALL SELECT 3 AS SORT , ' - 미결재' AS STUS_NM , '('+ CONVERT(VARCHAR, COUNT('A')) +')' AS DOC_CNT FROM SX_GW0090 WHERE 1=1 AND APRVL_STUS_CD IS NOT NULL AND DATEPART(YYYY, RGST_DT) = DATEPART(YYYY, GETDATE()) AND CORP_NO = @CORP_NO AND APLNT_ID = @USR_ID AND APRVL_STUS_CD = '0002' UNION ALL SELECT 4 AS SORT , ' - 승인' AS STUS_NM , '('+ CONVERT(VARCHAR, COUNT('A')) +')' AS DOC_CNT FROM SX_GW0090 WHERE 1=1 AND APRVL_STUS_CD IS NOT NULL AND DATEPART(YYYY, RGST_DT) = DATEPART(YYYY, GETDATE()) AND CORP_NO = @CORP_NO AND APLNT_ID = @USR_ID AND APRVL_STUS_CD = '0003' AND ISNULL(DOC_FLAG, '') != 'A' /* UNION ALL SELECT 5 AS SORT , ' - 반려' AS STUS_NM , '('+ CONVERT(VARCHAR, COUNT('A')) +')' AS DOC_CNT FROM SX_GW0090 A LEFT OUTER JOIN SX_GW0100 B ON A.CORP_NO = B.CORP_NO AND A.APRVL_DOC_ID = B.APRVL_DOC_ID AND APRVL_SNO = 1 WHERE 1=1 AND A.APRVL_STUS_CD IS NOT NULL AND DATEPART(YYYY, A.RGST_DT) = DATEPART(YYYY, GETDATE()) AND A.CORP_NO = @CORP_NO AND A.APLNT_ID = @USR_ID AND A.APRVL_STUS_CD = '0004' AND ISNULL(B.DOC_FLAG, '') = 'A' AND ISNULL(A.DOC_FLAG, '') != 'A' */ UNION ALL SELECT 5 AS SORT , ' - 반려' AS STUS_NM , '('+ CONVERT(VARCHAR, COUNT('A')) +')' AS DOC_CNT FROM SX_GW0090 A LEFT OUTER JOIN SX_GW0100 B ON A.CORP_NO = B.CORP_NO AND A.APRVL_DOC_ID = B.APRVL_DOC_ID AND APRVL_SNO = 1 WHERE 1=1 AND A.APRVL_STUS_CD IS NOT NULL AND DATEPART(YYYY, A.RGST_DT) = DATEPART(YYYY, GETDATE()) AND A.CORP_NO = @CORP_NO AND A.APLNT_ID = @USR_ID AND A.APRVL_STUS_CD = '0004' AND (B.APPR_STUS_CD = '0004' OR (B.APPR_STUS_CD != '0004' AND ISNULL(B.DOC_FLAG, '') = 'A')) AND ISNULL(A.DOC_FLAG, '') != 'A' /* AND B.APPR_STUS_CD = '0004' AND ISNULL(A.DOC_FLAG, '') != 'A' */ UNION ALL SELECT 6 AS SORT ,'☆내가 받은 결재 문서' AS STUS_NM ,'' AS DOC_CNT UNION ALL SELECT 7 AS SORT , ' - 미결재' AS STUS_NM , '('+ CONVERT(VARCHAR, COUNT('A')) +')' AS DOC_CNT FROM SX_GW0100 A LEFT OUTER JOIN SX_GW0090 B ON A.CORP_NO = B.CORP_NO AND A.APRVL_DOC_ID = B.APRVL_DOC_ID WHERE 1=1 AND B.APRVL_DOC_ID IS NOT NULL AND DATEPART(YYYY, A.RGST_DT) = DATEPART(YYYY, GETDATE()) AND A.CORP_NO = @CORP_NO AND A.APPR_ID = @USR_ID AND ISNULL(A.APPR_STUS_CD, '') = '0002' UNION ALL SELECT 8 AS SORT , ' - 미확인' AS STUS_NM , '('+ CONVERT(VARCHAR, COUNT('A')) +')' AS DOC_CNT FROM SX_GW0100 A LEFT OUTER JOIN SX_GW0090 B ON A.CORP_NO = B.CORP_NO AND A.APRVL_DOC_ID = B.APRVL_DOC_ID WHERE 1=1 AND B.APRVL_DOC_ID IS NOT NULL AND DATEPART(YYYY, A.RGST_DT) = DATEPART(YYYY, GETDATE()) AND A.CORP_NO = @CORP_NO AND A.APPR_ID = @USR_ID AND A.APRVL_SNO = 1 AND ISNULL(A.APPR_STUS_CD, '') = '0003' AND ISNULL(B.APRVL_STUS_CD, '') = '0004' AND ISNULL(A.DOC_FLAG, '') != 'A' UNION ALL SELECT 9 AS SORT , ' - 승인' AS STUS_NM , '('+ CONVERT(VARCHAR, COUNT('A')) +')' AS DOC_CNT FROM SX_GW0100 A LEFT OUTER JOIN SX_GW0090 B ON A.CORP_NO = B.CORP_NO AND A.APRVL_DOC_ID = B.APRVL_DOC_ID WHERE 1=1 AND B.APRVL_DOC_ID IS NOT NULL AND DATEPART(YYYY, A.RGST_DT) = DATEPART(YYYY, GETDATE()) AND A.CORP_NO = @CORP_NO AND A.APPR_ID = @USR_ID AND A.APRVL_SNO = 1 AND ISNULL(A.APPR_STUS_CD, '') = '0003' AND ISNULL(B.APRVL_STUS_CD, '') = '0002' UNION ALL SELECT 10 AS SORT , ' - 반려' AS STUS_NM , '('+ CONVERT(VARCHAR, COUNT('A')) +')' AS DOC_CNT FROM SX_GW0100 A LEFT OUTER JOIN SX_GW0090 B ON A.CORP_NO = B.CORP_NO AND A.APRVL_DOC_ID = B.APRVL_DOC_ID LEFT OUTER JOIN SX_GW0100 C ON A.CORP_NO = C.CORP_NO AND A.APRVL_DOC_ID = C.APRVL_DOC_ID AND A.APRVL_SNO != C.APRVL_SNO WHERE 1=1 AND B.APRVL_DOC_ID IS NOT NULL AND DATEPART(YYYY, A.RGST_DT) = DATEPART(YYYY, GETDATE()) AND A.CORP_NO = @CORP_NO AND A.APPR_ID = @USR_ID AND ISNULL(B.APRVL_STUS_CD, '') = '0004' AND( (A.APRVL_SNO = 1 AND ISNULL(B.DOC_FLAG, '') != 'A' AND A.DOC_FLAG = 'A') OR (A.APRVL_SNO = 2 AND ISNULL(C.DOC_FLAG, '') != 'A' AND ISNULL(A.APPR_STUS_CD, '') = '0004') ) ORDER BY SORT ASC END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_approval_document_list_select] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-17 -- Create Description : 스카이브릿지 그룹웨어 결재문서 결재 리스트 조회 -- Update date : -- Update Description : -- exec pr_skybridge_gw_approval_document_list_select '1111','00001','','','','','','',1,20000,20000, '20070101', '20171231', '' --1페이지 -- exec pr_skybridge_gw_approval_document_list_select '1111','00001','','','','','','',2,20,20, '20070101', '20171231', '' --2페이지 -- exec pr_skybridge_gw_approval_document_list_select '1111','10212','','','','','','',1,20000,20000,'20070101', '20171231', '' --1페이지 -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_approval_document_list_select] @P0 VARCHAR(15) --CORP_NO , @P1 VARCHAR(10) --APPR_ID , @P2 VARCHAR(20) -- , @P3 VARCHAR(4) --APPR_STUS_CD , @P4 VARCHAR(20) -- , @P5 VARCHAR(4) --APRVL_STUS_CD , @P6 VARCHAR(20) -- , @P7 VARCHAR(4) --APRVL_KIND_CD , @P8 INT -- 조회 페이지 번호 , @P9 INT -- 한행에 조회되는 행수 , @P10 INT -- 한행에 조회되는 행수 , @P11 VARCHAR(20) -- 검색 시작일 , @P12 VARCHAR(20) -- 검색 종료일 , @P13 VARCHAR(4) -- 진행상태 AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED -- 신규 작성 SELECT A.APRVL_SNO, CONVERT(VARCHAR, A.APRVL_DT, 120) AS APRVL_DT, A.APPR_STUS_CD, A.APRVL_DOC_ID, A.APRVL_STUS_CD, A.APRVL_KIND_CD, SUBSTRING(CONVERT(VARCHAR, A.OFFER_DT, 120),1,10) AS OFFER_DT, CONVERT(VARCHAR, A.CMPL_DT, 120) AS CMPL_DT, ISNULL(A.APRVL_CMPL_SNO,0) AS APRVL_CMPL_SNO, ISNULL(A.FINAL_APRVL_SNO,0) AS FINAL_APRVL_SNO, -- ■ 스카이브릿지 결재문서 결재 상세 내역 정리 --- 1.시간외 : 신청내용, 업무내용, OT일자 --- 2.지각 : 신청내용, 업무내용, 정상근무인정 요청, 지각일자(X), 지각일시 --- 3.조퇴 : 신청내용, 업무내용, 정상근무인정 요청, 조퇴일자(X), 조퇴일시 --- 4.출퇴근미기록 : 신청내용, 업무내용, 정상근무인정 요청, 결근일자 --- 5.연차등 : 신청내용, 업무내용, 대행자, 연차 (날자, 연차등) --- 6.근무변경 : 신청내용, 업무내용, 대행자, 근무변경(근무일, 변경전, 변경후) --- 7.기안 : 신청내용, 업무내용 A.APLNT_CN , --신청자 내용 A.BZ_CN, --업무내용 --근무코드 : 변경후 근무코드 조회 없으면 변경전 근무코드 조회 CASE WHEN APRVL_KIND_CD = '0001' THEN ( SELECT CASE WHEN ISNULL(WORK_CD, '') = '' THEN PLAN_WORK_CD ELSE WORK_CD END AS WORK_CD FROM SX_GW0050 WHERE CORP_NO = @P0 AND USR_ID = APLNT_ID AND WORK_PLAN_YYMMDD = REPLACE(LATE_SKIPOFF_ABTI_OT_DATE, '-', '') ) WHEN APRVL_KIND_CD = '0002' THEN ( SELECT CASE WHEN ISNULL(WORK_CD, '') = '' THEN PLAN_WORK_CD ELSE WORK_CD END AS WORK_CD FROM SX_GW0050 WHERE CORP_NO = @P0 AND USR_ID = APLNT_ID AND WORK_PLAN_YYMMDD = REPLACE(SUBSTRING(CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120),1,10), '-', '') ) WHEN APRVL_KIND_CD = '0003' THEN ( SELECT CASE WHEN ISNULL(WORK_CD, '') = '' THEN PLAN_WORK_CD ELSE WORK_CD END AS WORK_CD FROM SX_GW0050 WHERE CORP_NO = @P0 AND USR_ID = APLNT_ID AND WORK_PLAN_YYMMDD = REPLACE(SUBSTRING(CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120),1,10), '-', '') ) WHEN APRVL_KIND_CD = '0004' THEN ( SELECT CASE WHEN ISNULL(WORK_CD, '') = '' THEN PLAN_WORK_CD ELSE WORK_CD END AS WORK_CD FROM SX_GW0050 WHERE CORP_NO = @P0 AND USR_ID = APLNT_ID AND WORK_PLAN_YYMMDD = REPLACE(SUBSTRING(CONVERT(VARCHAR, A.LATE_SKIPOFF_ABTI_OT_DATE, 120),1,10), '-', '') ) WHEN APRVL_KIND_CD = '0005' THEN ( SELECT CASE WHEN ISNULL(WORK_CD, '') = '' THEN PLAN_WORK_CD ELSE WORK_CD END AS WORK_CD FROM SX_GW0050 WHERE CORP_NO = @P0 AND USR_ID = APLNT_ID AND WORK_PLAN_YYMMDD = REPLACE(SUBSTRING(A.UPD_DATE_YC,1,10), '-', '') ) WHEN APRVL_KIND_CD = '0006' THEN UPD_BF_WORK_CD WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS WORK_CD , --상세1 CASE WHEN APRVL_KIND_CD = '0001' THEN 'OT : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) WHEN APRVL_KIND_CD = '0002' THEN '실제 : ' + SUBSTRING(CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120),1,16) WHEN APRVL_KIND_CD = '0003' THEN CASE WHEN A.NML_WORK_RCNTN_YN = 'Y'THEN '조기퇴근' ELSE '' END -- '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0004' THEN '출퇴근미기록 : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) WHEN APRVL_KIND_CD = '0005' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0006' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_01 , --상세내역 01 --상세2 CASE WHEN APRVL_KIND_CD = '0001' THEN ( SELECT CASE WHEN ISNULL(WORK_START_DT, '') = '' THEN SUBSTRING(CONVERT(VARCHAR, REAL_START_DT, 120),12,5) ELSE SUBSTRING(CONVERT(VARCHAR, WORK_START_DT, 120),12,5) END + ' ~ ' + CASE WHEN ISNULL(WORK_END_DT, '') = '' THEN SUBSTRING(CONVERT(VARCHAR, REAL_END_DT, 120),12,5) ELSE SUBSTRING(CONVERT(VARCHAR, WORK_END_DT, 120),12,5) END FROM SX_GW0050 WHERE CORP_NO = @P0 AND USR_ID = APLNT_ID AND WORK_PLAN_YYMMDD = REPLACE(LATE_SKIPOFF_ABTI_OT_DATE, '-', '') ) WHEN APRVL_KIND_CD = '0002' THEN '승인 : ' + SUBSTRING(CONVERT(VARCHAR, A.REQUEST_DT, 120),1,16) WHEN APRVL_KIND_CD = '0003' THEN '조퇴 : ' + SUBSTRING(CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120),1,16) WHEN APRVL_KIND_CD = '0004' THEN SUBSTRING(CONVERT(VARCHAR, REQUEST_DT, 120),12,5) + ' ~ ' + SUBSTRING(CONVERT(VARCHAR, REQUEST_DT2, 120),12,5) WHEN APRVL_KIND_CD = '0005' THEN '연차 : ' + UPD_DATE_YC + ' ' + FREE_CNT WHEN APRVL_KIND_CD = '0006' THEN '변경 : ' + UPD_DATE_CHANGE + '(' + UPD_BF_WORK_CD + '-->' + UPD_WORK_CD + ')' WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_02 , -- 상세내역02 --상세3 CASE WHEN APRVL_KIND_CD = '0001' THEN '' WHEN APRVL_KIND_CD = '0002' THEN '' WHEN APRVL_KIND_CD = '0003' THEN '' WHEN APRVL_KIND_CD = '0004' THEN '' WHEN APRVL_KIND_CD = '0005' THEN '' WHEN APRVL_KIND_CD = '0006' THEN '' WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_03 , --상세내역 03 --A.OFFER_CN, --신청내용 --A.UPD_DT, --변경일시 A.APLNT_ID, A.APLNT_NM, A.LATE_SKIPOFF_ABTI_OT_DATE FROM ( SELECT A.CORP_NO, A.APRVL_SNO, A.APRVL_DT, A.APPR_STUS_CD, B.APRVL_DOC_ID, B.APRVL_STUS_CD, B.APRVL_KIND_CD, B.OFFER_DT, B.CMPL_DT, B.APRVL_CMPL_SNO, B.FINAL_APRVL_SNO, B.APLNT_ID, U1.USR_NM AS APLNT_NM, U2.LATE_SKIPOFF_ABTI_OT_DATE, U2.NML_WORK_RCNTN_YN, U2.LATE_SKIPOFF_OT_DT, U2.REQUEST_DT, --승인출근요청일시 U2.REQUEST_DT2, --승인퇴근요청일시 U3.UPD_DATE_YC, U3.FREE_CNT, U4.USR_NM AS BZ_DEPUTY_NM, U3.UPD_DATE_CHANGE, U3.UPD_BF_WORK_CD, U3.UPD_WORK_CD, B.APLNT_CN , B.BZ_CN, B.OFFER_CN, B.UPD_DT --FROM SX_GW0090 B -- LEFT OUTER JOIN -- ( SELECT * FROM SX_GW0100 -- WHERE 1=1 -- AND CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + CONVERT(VARCHAR, APRVL_SNO) IN -- (SELECT CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + MAX(CONVERT(VARCHAR, APRVL_SNO)) -- FROM SX_GW0100 -- WHERE CORP_NO = @P0 -- GROUP BY CORP_NO, APRVL_DOC_ID --) FROM SX_GW0100 A LEFT JOIN SX_GW0090 B ON (1=1 AND B.CORP_NO = A.CORP_NO AND B.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U1 ON(1=1 AND U1.CORP_NO = B.CORP_NO AND U1.USR_ID = B.APLNT_ID ) LEFT JOIN SX_GW0080 U2 --SX_지각조퇴기록 ON(1=1 AND U2.CORP_NO = A.CORP_NO AND U2.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN (SELECT TA.CORP_NO , APRVL_DOC_ID , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23) + '(' + UPD_WORK_CD + ')') AS UPD_DATE_YC --연차 , CONVERT (VARCHAR, SUM(TB.YYCT_DEDU_DAY)) + '일' AS FREE_CNT --연차 일수 , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23)) AS UPD_DATE_CHANGE --근무변경 , MIN(UPD_BF_WORK_CD) AS UPD_BF_WORK_CD --변경전 근무 코드 , MIN(UPD_WORK_CD) AS UPD_WORK_CD --변경후 근무코드 FROM SX_GW0110 TA LEFT JOIN SX_CO0070 TB ON TB.CORP_NO = TA.CORP_NO AND TB.WORK_CD = TA.UPD_WORK_CD GROUP BY TA.CORP_NO, TA.APRVL_DOC_ID ) U3 ON(1=1 AND U3.CORP_NO = A.CORP_NO AND U3.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U4 ON(1=1 AND U4.USR_ID = B.BZ_DEPUTY_ID ) WHERE 1=1 AND B.APRVL_DOC_ID IS NOT NULL AND A.CORP_NO = @P0 AND (A.APPR_ID = @P1) AND (NULLIF(@P2, '') IS NULL OR A.APPR_STUS_CD = @P3) AND (NULLIF(@P4, '') IS NULL OR B.APRVL_STUS_CD = @P5) AND (NULLIF(@P6, '') IS NULL OR B.APRVL_KIND_CD = @P7) AND (CONVERT(VARCHAR, B.UPD_DT, 112) BETWEEN REPLACE(@P11, '-', '') AND REPLACE(@P12, '-', '')) /* 추가 조건 시작 */ AND ( (NULLIF(@P13, '') IS NULL) OR (NULLIF(@P13, '0001') IS NULL AND ISNULL(A.APPR_STUS_CD, '') = '0002') -- 미결재 OR (NULLIF(@P13, '0002') IS NULL AND (A.APRVL_SNO = '1' AND B.APRVL_STUS_CD = '0004' AND A.APPR_STUS_CD = '0003' AND ISNULL(A.DOC_FLAG, '') != 'A')) -- 미확인 OR (NULLIF(@P13, '0003') IS NULL AND (A.APRVL_SNO = '1' AND B.APRVL_STUS_CD = '0002' AND A.APPR_STUS_CD = '0003')) -- 승인 OR (NULLIF(@P13, '0004') IS NULL AND B.APRVL_STUS_CD = '0004' AND ( (A.APPR_ID = @P1 AND A.APRVL_SNO = '2' AND ISNULL(A.APPR_STUS_CD, '') = '0004' AND ISNULL((SELECT DOC_FLAG FROM SX_GW0100 WHERE CORP_NO = A.CORP_NO AND APRVL_SNO = '1' AND APRVL_DOC_ID = A.APRVL_DOC_ID), '') != 'A' ) OR (A.APPR_ID = @P1 AND A.APRVL_SNO = '1' AND ISNULL(A.DOC_FLAG, '') != 'A') ) ) --반려 ) /* 추가 조건 끝 */ ORDER BY B.OFFER_DT DESC, APRVL_SNO DESC OFFSET ((@P8 - 1) * @P9) ROWS FETCH NEXT @P10 ROWS ONLY ) A --기존에 사용한 문장 BACKUP --SELECT -- A.APRVL_SNO, -- CONVERT(VARCHAR, A.APRVL_DT, 120) AS APRVL_DT, -- A.APPR_STUS_CD, -- A.APRVL_DOC_ID, -- A.APRVL_STUS_CD, -- A.APRVL_KIND_CD, -- CONVERT(VARCHAR, A.OFFER_DT, 120) AS OFFER_DT, -- CONVERT(VARCHAR, A.CMPL_DT, 120) AS CMPL_DT, -- A.APRVL_CMPL_SNO, -- A.FINAL_APRVL_SNO, -- A.APLNT_ID, -- A.APLNT_NM -- FROM ( --SELECT -- A.APRVL_SNO, -- A.APRVL_DT, -- A.APPR_STUS_CD, -- B.APRVL_DOC_ID, -- B.APRVL_STUS_CD, -- B.APRVL_KIND_CD, -- B.OFFER_DT, -- B.CMPL_DT, -- B.APRVL_CMPL_SNO, -- B.FINAL_APRVL_SNO, -- B.APLNT_ID, -- U1.USR_NM AS APLNT_NM -- FROM SX_GW0100 A -- JOIN SX_GW0090 B -- ON(1=1 -- AND B.CORP_NO = A.CORP_NO -- AND B.APRVL_DOC_ID = A.APRVL_DOC_ID -- ) -- LEFT JOIN SX_GW0010 U1 -- ON(1=1 -- AND U1.CORP_NO = B.CORP_NO -- AND U1.USR_ID = B.APLNT_ID -- ) -- WHERE 1=1 -- AND A.CORP_NO = @P0 -- AND A.APPR_ID = @P1 -- AND (NULLIF(@P2, '''') IS NULL OR A.APPR_STUS_CD = @P3) -- AND (NULLIF(@P4, '''') IS NULL OR B.APRVL_STUS_CD = @P5) -- AND (NULLIF(@P6, '''') IS NULL OR B.APRVL_KIND_CD = @P7) -- ORDER BY -- B.OFFER_DT DESC, -- APRVL_SNO DESC --OFFSET ((@P8 - 1) * @P9) ROWS --FETCH NEXT @P10 ROWS ONLY -- ) A END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_approval_document_list_select_20200109_bak] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-17 -- Create Description : 스카이브릿지 그룹웨어 결재문서 결재 리스트 조회 -- Update date : -- Update Description : -- exec pr_skybridge_gw_approval_document_list_select '1111','00001','','','','','','',1,20000,20000 --1페이지 -- exec pr_skybridge_gw_approval_document_list_select '1111','00001','','','','','','',2,20,20 --2페이지 -- exec pr_skybridge_gw_approval_document_list_select '1111','10212','','','','','','',1,20000,20000 --1페이지 -- EXEC pr_skybridge_gw_approval_document_list_select '1111', '10305', '', '', '', '', '', '', 1, 10000, 10000 --김은중 -- ======================================================================================= create PROCEDURE [dbo].[pr_skybridge_gw_approval_document_list_select_20200109_bak] @P0 VARCHAR(15) --CORP_NO , @P1 VARCHAR(10) --APPR_ID , @P2 VARCHAR(20) -- , @P3 VARCHAR(4) --APPR_STUS_CD , @P4 VARCHAR(20) -- , @P5 VARCHAR(4) --APRVL_STUS_CD , @P6 VARCHAR(20) -- , @P7 VARCHAR(4) --APRVL_KIND_CD , @P8 INT -- 조회 페이지 번호 , @P9 INT -- 한행에 조회되는 행수 , @P10 INT -- 한행에 조회되는 행수 AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED -- 신규 작성 SELECT A.APRVL_SNO, CONVERT(VARCHAR, A.APRVL_DT, 120) AS APRVL_DT, A.APPR_STUS_CD, A.APRVL_DOC_ID, A.APRVL_STUS_CD, A.APRVL_KIND_CD, CONVERT(VARCHAR, A.OFFER_DT, 120) AS OFFER_DT, CONVERT(VARCHAR, A.CMPL_DT, 120) AS CMPL_DT, ISNULL(A.APRVL_CMPL_SNO,0) AS APRVL_CMPL_SNO, ISNULL(A.FINAL_APRVL_SNO,0) AS FINAL_APRVL_SNO, -- ■ 스카이브릿지 결재문서 결재 상세 내역 정리 --- 1.시간외 : 신청내용, 업무내용, OT일자 --- 2.지각 : 신청내용, 업무내용, 정상근무인정 요청, 지각일자(X), 지각일시 --- 3.조퇴 : 신청내용, 업무내용, 정상근무인정 요청, 조퇴일자(X), 조퇴일시 --- 4.결근 : 신청내용, 업무내용, 정상근무인정 요청, 결근일자 --- 5.연차등 : 신청내용, 업무내용, 대행자, 연차 (날자, 연차등) --- 6.근무변경 : 신청내용, 업무내용, 대행자, 근무변경(근무일, 변경전, 변경후) --- 7.기안 : 신청내용, 업무내용 A.APLNT_CN , --신청자 내용 A.BZ_CN, --업무내용 CASE WHEN APRVL_KIND_CD = '0001' THEN '' WHEN APRVL_KIND_CD = '0002' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0003' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0004' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0005' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0006' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0007' THEN '' WHEN APRVL_KIND_CD = '0008' THEN '' ELSE '' END AS DETAIL_01 , --상세내역 01 CASE WHEN APRVL_KIND_CD = '0001' THEN 'OT : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) WHEN APRVL_KIND_CD = '0002' THEN '지각 : ' + (CASE WHEN ISNULL(A.REQUEST_DT,'') = '' THEN SUBSTRING(CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120), 1, 16) ELSE SUBSTRING(CONVERT(VARCHAR, A.REQUEST_DT, 120), 1, 16) END) WHEN APRVL_KIND_CD = '0003' THEN '조퇴 : ' + (CASE WHEN ISNULL(A.REQUEST_DT2,'') = '' THEN SUBSTRING(CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120), 1, 16) ELSE SUBSTRING(CONVERT(VARCHAR, A.REQUEST_DT2, 120), 1, 16) END) WHEN APRVL_KIND_CD = '0004' THEN '결근 : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) + ' ' + ISNULL(SUBSTRING(CONVERT(VARCHAR, REQUEST_DT, 108), 1, 5), '') + '~' + ISNULL(SUBSTRING(CONVERT(VARCHAR, REQUEST_DT2, 108), 1, 5), '') WHEN APRVL_KIND_CD = '0005' THEN '연차 : ' + UPD_DATE_YC + ' ' + FREE_CNT WHEN APRVL_KIND_CD = '0006' THEN '변경 : ' + UPD_DATE_CHANGE + '(' + UPD_BF_WORK_CD + '-->' + UPD_WORK_CD + ')' WHEN APRVL_KIND_CD = '0007' THEN '' WHEN APRVL_KIND_CD = '0008' THEN '외출 : ' + CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 23) + ' (' + SUBSTRING(CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 108),1,5) + '~' + SUBSTRING(CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT2, 108),1,5) + ')' ELSE '' END AS DETAIL_02 , -- 상세내역02 CASE WHEN APRVL_KIND_CD = '0001' THEN '' WHEN APRVL_KIND_CD = '0002' THEN '' WHEN APRVL_KIND_CD = '0003' THEN '' WHEN APRVL_KIND_CD = '0004' THEN '' WHEN APRVL_KIND_CD = '0005' THEN '' WHEN APRVL_KIND_CD = '0006' THEN '' WHEN APRVL_KIND_CD = '0007' THEN '' WHEN APRVL_KIND_CD = '0008' THEN '' ELSE '' END AS DETAIL_03 , --상세내역 03 --A.OFFER_CN, --신청내용 --A.UPD_DT, --변경일시 A.APLNT_ID, A.APLNT_NM FROM ( SELECT A.CORP_NO, A.APRVL_SNO, A.APRVL_DT, A.APPR_STUS_CD, B.APRVL_DOC_ID, B.APRVL_STUS_CD, B.APRVL_KIND_CD, B.OFFER_DT, B.CMPL_DT, B.APRVL_CMPL_SNO, B.FINAL_APRVL_SNO, B.APLNT_ID, U1.USR_NM AS APLNT_NM, U2.LATE_SKIPOFF_ABTI_OT_DATE, U2.NML_WORK_RCNTN_YN, U2.LATE_SKIPOFF_OT_DT, U2.LATE_SKIPOFF_OT_DT2, U2.REQUEST_DT, --승인출근시각 U2.REQUEST_DT2, --승인퇴근시각 U3.UPD_DATE_YC, U3.FREE_CNT, U4.USR_NM AS BZ_DEPUTY_NM, U3.UPD_DATE_CHANGE, U3.UPD_BF_WORK_CD, U3.UPD_WORK_CD, B.APLNT_CN , B.BZ_CN, B.OFFER_CN, B.UPD_DT --FROM SX_GW0090 B -- LEFT OUTER JOIN -- ( SELECT * FROM SX_GW0100 -- WHERE 1=1 -- AND CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + CONVERT(VARCHAR, APRVL_SNO) IN -- (SELECT CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + MAX(CONVERT(VARCHAR, APRVL_SNO)) -- FROM SX_GW0100 -- WHERE CORP_NO = @P0 -- GROUP BY CORP_NO, APRVL_DOC_ID --) FROM SX_GW0100 A LEFT JOIN SX_GW0090 B ON (1=1 AND B.CORP_NO = A.CORP_NO AND B.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U1 ON(1=1 AND U1.CORP_NO = B.CORP_NO AND U1.USR_ID = B.APLNT_ID ) LEFT JOIN SX_GW0080 U2 --SX_지각조퇴기록 ON(1=1 AND U2.CORP_NO = A.CORP_NO AND U2.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN (SELECT TA.CORP_NO , APRVL_DOC_ID -- , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23) + '(' + UPD_WORK_CD + ')') AS UPD_DATE_YC --연차 --, MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23) + '(' + TC.PLAN_WORK_CD + '-->' + UPD_WORK_CD + ')') AS UPD_DATE_YC --연차 , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23) + --CASE WHEN ISNULL(TC.PLAN_WORK_CD, '') = '' THEN '( --> )' CASE WHEN ISNULL(TC.PLAN_WORK_CD, '') = '' THEN '( -->' + UPD_WORK_CD + ')' ELSE '(' + TC.PLAN_WORK_CD + '-->' + UPD_WORK_CD + ')' END ) AS UPD_DATE_YC --연차 --, CONVERT (VARCHAR, SUM(TB.YYCT_DEDU_DAY)) + '일' AS FREE_CNT --연차 일수 , SUBSTRING(ISNULL(CONVERT (VARCHAR, SUM(TB.YYCT_DEDU_DAY)), '0.00'),1,3) + '일' AS FREE_CNT --연차 일수 , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23)) AS UPD_DATE_CHANGE --근무변경 , MIN(UPD_BF_WORK_CD) AS UPD_BF_WORK_CD --변경전 근무 코드 , MIN(UPD_WORK_CD) AS UPD_WORK_CD --변경후 근무코드 FROM SX_GW0110 TA LEFT JOIN SX_CO0070 TB ON TB.CORP_NO = TA.CORP_NO AND TB.WORK_CD = TA.UPD_WORK_CD LEFT JOIN SX_GW0050 TC ON TC.CORP_NO = TA.CORP_NO AND TC.USR_ID = TA.RGSTR_ID AND TC.WORK_PLAN_YYMMDD = TA.UPD_DATE GROUP BY TA.CORP_NO, TA.APRVL_DOC_ID ) U3 ON(1=1 AND U3.CORP_NO = A.CORP_NO AND U3.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U4 ON(1=1 AND U4.USR_ID = B.BZ_DEPUTY_ID ) WHERE 1=1 AND A.CORP_NO = @P0 AND (A.APPR_ID = @P1 OR A.RGSTR_ID = @P1) AND (NULLIF(@P2, '') IS NULL OR A.APPR_STUS_CD = @P3) AND (NULLIF(@P4, '') IS NULL OR B.APRVL_STUS_CD = @P5) AND (NULLIF(@P6, '') IS NULL OR B.APRVL_KIND_CD = @P7) ORDER BY B.OFFER_DT DESC, APRVL_SNO DESC OFFSET ((@P8 - 1) * @P9) ROWS FETCH NEXT @P10 ROWS ONLY ) A --기존에 사용한 문장 BACKUP --SELECT -- A.APRVL_SNO, -- CONVERT(VARCHAR, A.APRVL_DT, 120) AS APRVL_DT, -- A.APPR_STUS_CD, -- A.APRVL_DOC_ID, -- A.APRVL_STUS_CD, -- A.APRVL_KIND_CD, -- CONVERT(VARCHAR, A.OFFER_DT, 120) AS OFFER_DT, -- CONVERT(VARCHAR, A.CMPL_DT, 120) AS CMPL_DT, -- A.APRVL_CMPL_SNO, -- A.FINAL_APRVL_SNO, -- A.APLNT_ID, -- A.APLNT_NM -- FROM ( --SELECT -- A.APRVL_SNO, -- A.APRVL_DT, -- A.APPR_STUS_CD, -- B.APRVL_DOC_ID, -- B.APRVL_STUS_CD, -- B.APRVL_KIND_CD, -- B.OFFER_DT, -- B.CMPL_DT, -- B.APRVL_CMPL_SNO, -- B.FINAL_APRVL_SNO, -- B.APLNT_ID, -- U1.USR_NM AS APLNT_NM -- FROM SX_GW0100 A -- JOIN SX_GW0090 B -- ON(1=1 -- AND B.CORP_NO = A.CORP_NO -- AND B.APRVL_DOC_ID = A.APRVL_DOC_ID -- ) -- LEFT JOIN SX_GW0010 U1 -- ON(1=1 -- AND U1.CORP_NO = B.CORP_NO -- AND U1.USR_ID = B.APLNT_ID -- ) -- WHERE 1=1 -- AND A.CORP_NO = @P0 -- AND A.APPR_ID = @P1 -- AND (NULLIF(@P2, '''') IS NULL OR A.APPR_STUS_CD = @P3) -- AND (NULLIF(@P4, '''') IS NULL OR B.APRVL_STUS_CD = @P5) -- AND (NULLIF(@P6, '''') IS NULL OR B.APRVL_KIND_CD = @P7) -- ORDER BY -- B.OFFER_DT DESC, -- APRVL_SNO DESC --OFFSET ((@P8 - 1) * @P9) ROWS --FETCH NEXT @P10 ROWS ONLY -- ) A END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_approval_document_list_select_count] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-17 -- Create Description : 스카이브릿지 그룹웨어 결재문서 결재 리스트 조회 -- Update date : -- Update Description : -- exec pr_skybridge_gw_approval_document_list_select '1111','00001','','','','','','',1,20000,20000, '20070101', '20171231', '' --1페이지 -- exec pr_skybridge_gw_approval_document_list_select '1111','00001','','','','','','',2,20,20, '20070101', '20171231', '' --2페이지 -- exec pr_skybridge_gw_approval_document_list_select '1111','10212','','','','','','',1,20000,20000,'20070101', '20171231', '' --1페이지 -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_approval_document_list_select_count] @P0 VARCHAR(15) --CORP_NO , @P1 VARCHAR(10) --APPR_ID , @P2 VARCHAR(20) -- , @P3 VARCHAR(4) --APPR_STUS_CD , @P4 VARCHAR(20) -- , @P5 VARCHAR(4) --APRVL_STUS_CD , @P6 VARCHAR(20) -- , @P7 VARCHAR(4) --APRVL_KIND_CD , @P8 INT -- 조회 페이지 번호 , @P9 INT -- 한행에 조회되는 행수 , @P10 INT -- 한행에 조회되는 행수 , @P11 VARCHAR(20) -- 검색 시작일 , @P12 VARCHAR(20) -- 검색 종료일 , @P13 VARCHAR(4) -- 진행상태 AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED -- 신규 작성 SELECT COUNT('A') AS TOT_CNT FROM ( SELECT A.CORP_NO, A.APRVL_SNO, A.APRVL_DT, A.APPR_STUS_CD, B.APRVL_DOC_ID, B.APRVL_STUS_CD, B.APRVL_KIND_CD, B.OFFER_DT, B.CMPL_DT, B.APRVL_CMPL_SNO, B.FINAL_APRVL_SNO, B.APLNT_ID, U1.USR_NM AS APLNT_NM, U2.LATE_SKIPOFF_ABTI_OT_DATE, U2.NML_WORK_RCNTN_YN, U2.LATE_SKIPOFF_OT_DT, U2.REQUEST_DT, --승인출근요청일시 U2.REQUEST_DT2, --승인퇴근요청일시 U3.UPD_DATE_YC, U3.FREE_CNT, U4.USR_NM AS BZ_DEPUTY_NM, U3.UPD_DATE_CHANGE, U3.UPD_BF_WORK_CD, U3.UPD_WORK_CD, B.APLNT_CN , B.BZ_CN, B.OFFER_CN, B.UPD_DT FROM SX_GW0100 A LEFT JOIN SX_GW0090 B ON (1=1 AND B.CORP_NO = A.CORP_NO AND B.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U1 ON(1=1 AND U1.CORP_NO = B.CORP_NO AND U1.USR_ID = B.APLNT_ID ) LEFT JOIN SX_GW0080 U2 --SX_지각조퇴기록 ON(1=1 AND U2.CORP_NO = A.CORP_NO AND U2.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN (SELECT TA.CORP_NO , APRVL_DOC_ID , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23) + '(' + UPD_WORK_CD + ')') AS UPD_DATE_YC --연차 , CONVERT (VARCHAR, SUM(TB.YYCT_DEDU_DAY)) + '일' AS FREE_CNT --연차 일수 , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23)) AS UPD_DATE_CHANGE --근무변경 , MIN(UPD_BF_WORK_CD) AS UPD_BF_WORK_CD --변경전 근무 코드 , MIN(UPD_WORK_CD) AS UPD_WORK_CD --변경후 근무코드 FROM SX_GW0110 TA LEFT JOIN SX_CO0070 TB ON TB.CORP_NO = TA.CORP_NO AND TB.WORK_CD = TA.UPD_WORK_CD GROUP BY TA.CORP_NO, TA.APRVL_DOC_ID ) U3 ON(1=1 AND U3.CORP_NO = A.CORP_NO AND U3.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U4 ON(1=1 AND U4.USR_ID = B.BZ_DEPUTY_ID ) WHERE 1=1 AND B.APRVL_DOC_ID IS NOT NULL AND A.CORP_NO = @P0 AND A.APPR_ID = @P1 AND (NULLIF(@P2, '') IS NULL OR A.APPR_STUS_CD = @P3) AND (NULLIF(@P4, '') IS NULL OR B.APRVL_STUS_CD = @P5) AND (NULLIF(@P6, '') IS NULL OR B.APRVL_KIND_CD = @P7) AND (CONVERT(VARCHAR, B.UPD_DT, 112) BETWEEN @P11 AND @P12) /* 추가 조건 시작 */ AND ( (NULLIF(@P13, '') IS NULL) OR (NULLIF(@P13, '0001') IS NULL AND ISNULL(A.APPR_STUS_CD, '') = '0002') -- 미결재 OR (NULLIF(@P13, '0002') IS NULL AND (A.APRVL_SNO = '1' AND B.APRVL_STUS_CD = '0004' AND A.APPR_STUS_CD = '0003' AND ISNULL(A.DOC_FLAG, '') != 'A')) -- 미확인 OR (NULLIF(@P13, '0003') IS NULL AND (A.APRVL_SNO = '1' AND B.APRVL_STUS_CD = '0002' AND A.APPR_STUS_CD = '0003')) -- 승인 OR (NULLIF(@P13, '0004') IS NULL AND B.APRVL_STUS_CD = '0004' AND ( (A.APRVL_SNO = '2' AND ISNULL(A.APPR_STUS_CD, '') = '0004' AND ISNULL((SELECT DOC_FLAG FROM SX_GW0100 WHERE CORP_NO = A.CORP_NO AND APRVL_SNO = '1' AND APRVL_DOC_ID = A.APRVL_DOC_ID), '') != 'A' ) OR (A.APRVL_SNO = '1' AND A.DOC_FLAG = 'A' AND ISNULL(B.DOC_FLAG, '') = '') ) ) --반려 ) /* 추가 조건 끝 */ ) A END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_approval_manager_list_select] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-17 -- Create Description : 스카이브릿지 그룹웨어 결재문서 결재 리스트 조회(관리자용) -- Update date : -- Update Description : -- exec pr_skybridge_gw_approval_manager_list_select '','','','','','',NULL,'1111','0003','0003','','','20161215','20170215',1,20000,20000 -- exec pr_skybridge_gw_approval_manager_list_select '','','','','','',NULL,'1111','','','','','20161215','20170215',1,20000,20000 -- exec pr_skybridge_gw_approval_manager_list_select '10429','10429','','','','',NULL,'1111','0003','0003','','','20161217','20170217',1,2000,2000 -- exec pr_skybridge_gw_approval_manager_list_select '지희','지희','','','','',NULL,'1111','0003','0003','','','20161217','20170217',1,2000,2000 -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_approval_manager_list_select] @P0 nvarchar(4000) , @P1 nvarchar(4000) , @P2 nvarchar(4000) , @P3 nvarchar(4000) , @P4 nvarchar(4000) , @P5 nvarchar(4000) , @P6 varchar(8000) , @P7 nvarchar(4000) , @P8 nvarchar(4000) , @P9 nvarchar(4000) , @P10 nvarchar(4000) , @P11 nvarchar(4000) , @P12 nvarchar(4000) , @P13 nvarchar(4000) , @P14 int , @P15 int , @P16 int AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED ---- 신규 작성 SELECT A.APRVL_SNO, CONVERT(VARCHAR, A.APRVL_DT, 120) AS APRVL_DT, A.APPR_STUS_CD, A.APRVL_DOC_ID, A.APRVL_STUS_CD, A.APRVL_KIND_CD, CONVERT(VARCHAR, A.OFFER_DT, 120) AS OFFER_DT, CONVERT(VARCHAR, A.CMPL_DT, 120) AS CMPL_DT, ISNULL(A.APRVL_CMPL_SNO,0) AS APRVL_CMPL_SNO, ISNULL(A.FINAL_APRVL_SNO,0) AS FINAL_APRVL_SNO, -- ■ 스카이브릿지 결재문서 결재 상세 내역 정리 --- 1.시간외 : 신청내용, 업무내용, OT일자 --- 2.지각 : 신청내용, 업무내용, 정상근무인정 요청, 지각일자(X), 지각일시 --- 3.조퇴 : 신청내용, 업무내용, 정상근무인정 요청, 조퇴일자(X), 조퇴일시 --- 4.결근 : 신청내용, 업무내용, 정상근무인정 요청, 결근일자 --- 5.연차등 : 신청내용, 업무내용, 대행자, 연차 (날자, 연차등) --- 6.근무변경 : 신청내용, 업무내용, 대행자, 근무변경(근무일, 변경전, 변경후) --- 7.기안 : 신청내용, 업무내용 A.APLNT_CN , --신청자 내용 A.BZ_CN, --업무내용 CASE WHEN APRVL_KIND_CD = '0001' THEN '' WHEN APRVL_KIND_CD = '0002' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0003' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0004' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0005' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0006' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_01 , --상세내역 01 CASE WHEN APRVL_KIND_CD = '0001' THEN 'OT : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) --WHEN APRVL_KIND_CD = '0002' THEN '지각 : ' + CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120) --WHEN APRVL_KIND_CD = '0003' THEN '조퇴 : ' + CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120) --WHEN APRVL_KIND_CD = '0004' THEN '결근 : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) WHEN APRVL_KIND_CD = '0002' THEN '지각 : ' + (CASE WHEN ISNULL(A.REQUEST_DT,'') = '' THEN SUBSTRING(CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120), 1, 16) ELSE SUBSTRING(CONVERT(VARCHAR, A.REQUEST_DT, 120), 1, 16) END) WHEN APRVL_KIND_CD = '0003' THEN '조퇴 : ' + (CASE WHEN ISNULL(A.REQUEST_DT2,'') = '' THEN SUBSTRING(CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120), 1, 16) ELSE SUBSTRING(CONVERT(VARCHAR, A.REQUEST_DT2, 120), 1, 16) END) WHEN APRVL_KIND_CD = '0004' THEN '결근 : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) + ' ' + ISNULL(SUBSTRING(CONVERT(VARCHAR, REQUEST_DT, 108), 1, 5), '') + '~' + ISNULL(SUBSTRING(CONVERT(VARCHAR, REQUEST_DT2, 108), 1, 5), '') WHEN APRVL_KIND_CD = '0005' THEN '연차 : ' + UPD_DATE_YC + ' ' + FREE_CNT WHEN APRVL_KIND_CD = '0006' THEN '변경 : ' + UPD_DATE_CHANGE + '(' + UPD_BF_WORK_CD + '-->' + UPD_WORK_CD + ')' WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_02 , -- 상세내역02 CASE WHEN APRVL_KIND_CD = '0001' THEN '' WHEN APRVL_KIND_CD = '0002' THEN '' WHEN APRVL_KIND_CD = '0003' THEN '' WHEN APRVL_KIND_CD = '0004' THEN '' WHEN APRVL_KIND_CD = '0005' THEN '' WHEN APRVL_KIND_CD = '0006' THEN '' WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_03 , --상세내역 03 --A.OFFER_CN, --신청내용 --A.UPD_DT, --변경일시 A.APLNT_ID, A.APLNT_NM, A.APLNT_TEAM_CD, A.APLNT_DUTY_CD FROM ( SELECT A.CORP_NO, A.APRVL_SNO, A.APRVL_DT, A.APPR_STUS_CD, B.APRVL_DOC_ID, B.APRVL_STUS_CD, B.APRVL_KIND_CD, B.OFFER_DT, B.CMPL_DT, B.APRVL_CMPL_SNO, B.FINAL_APRVL_SNO, B.APLNT_ID, U1.USR_NM AS APLNT_NM, U1.TEAM_CD AS APLNT_TEAM_CD, U1.DUTY_CD AS APLNT_DUTY_CD, U2.LATE_SKIPOFF_ABTI_OT_DATE, U2.NML_WORK_RCNTN_YN, U2.LATE_SKIPOFF_OT_DT, U2.REQUEST_DT, --승인출근시각 U2.REQUEST_DT2, --승인퇴근시각 U3.UPD_DATE_YC, U3.FREE_CNT, U4.USR_NM AS BZ_DEPUTY_NM, U3.UPD_DATE_CHANGE, U3.UPD_BF_WORK_CD, U3.UPD_WORK_CD, B.APLNT_CN , B.BZ_CN, B.OFFER_CN, B.UPD_DT FROM SX_GW0090 B LEFT JOIN ( SELECT * FROM SX_GW0100 WHERE 1=1 AND CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + CONVERT(VARCHAR, APRVL_SNO) IN (SELECT CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + MAX(CONVERT(VARCHAR, APRVL_SNO)) FROM SX_GW0100 WHERE CORP_NO = @P7 GROUP BY CORP_NO, APRVL_DOC_ID ) ) A ON (1=1 AND B.CORP_NO = A.CORP_NO AND B.APRVL_DOC_ID = A.APRVL_DOC_ID ) JOIN SX_GW0010 U1 ON(1=1 AND U1.CORP_NO = B.CORP_NO AND U1.USR_ID = B.APLNT_ID --AND (NULLIF(@P0, '') IS NULL OR U1.USR_ID LIKE '%' + @P1 + '%') --사용자ID로 조회 AND (NULLIF(@P0, '') IS NULL OR U1.USR_NM LIKE '%' + @P1 + '%') --사용자명으로 조회 AND (NULLIF(@P2, '') IS NULL OR U1.TEAM_CD = @P3) AND (NULLIF(@P4, '') IS NULL OR U1.DUTY_CD = @P5) AND (@P6 = 'Y' OR NULLIF(U1.RETIREMENT_DATE, '') IS NULL) ) LEFT JOIN SX_GW0080 U2 --SX_지각조퇴기록 ON(1=1 AND U2.CORP_NO = B.CORP_NO AND U2.APRVL_DOC_ID = B.APRVL_DOC_ID ) LEFT JOIN (SELECT TA.CORP_NO , APRVL_DOC_ID , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23) + '(' + UPD_WORK_CD + ')') AS UPD_DATE_YC --연차 , CONVERT (VARCHAR, SUM(TB.YYCT_DEDU_DAY)) + '일' AS FREE_CNT --연차 일수 , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23)) AS UPD_DATE_CHANGE --근무변경 , MIN(UPD_BF_WORK_CD) AS UPD_BF_WORK_CD --변경전 근무 코드 , MIN(UPD_WORK_CD) AS UPD_WORK_CD --변경후 근무코드 FROM SX_GW0110 TA LEFT JOIN SX_CO0070 TB ON TB.CORP_NO = TA.CORP_NO AND TB.WORK_CD = TA.UPD_WORK_CD GROUP BY TA.CORP_NO, TA.APRVL_DOC_ID ) U3 ON(1=1 AND U3.CORP_NO = B.CORP_NO AND U3.APRVL_DOC_ID = B.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U4 ON(1=1 AND U4.USR_ID = B.BZ_DEPUTY_ID ) WHERE 1=1 AND B.CORP_NO = @P7 AND (NULLIF(@P8, '') IS NULL OR B.APRVL_STUS_CD = @P9) AND (NULLIF(@P10, '') IS NULL OR B.APRVL_KIND_CD = @P11) AND CONVERT(VARCHAR, ISNULL(B.OFFER_DT, B.RGST_DT), 112) BETWEEN @P12 AND @P13 ORDER BY ISNULL(B.OFFER_DT, B.RGST_DT) DESC OFFSET ((@P14 - 1) * @P15) ROWS FETCH NEXT @P16 ROWS ONLY ) A --기존에 사용한 문장 BACKUP --SELECT -- A.APRVL_DOC_ID, -- A.APRVL_STUS_CD, -- A.APRVL_KIND_CD, -- CONVERT(VARCHAR, A.OFFER_DT, 120) AS OFFER_DT, -- CONVERT(VARCHAR, A.CMPL_DT, 120) AS CMPL_DT, -- A.APRVL_CMPL_SNO, -- A.FINAL_APRVL_SNO, -- A.APLNT_ID, -- A.APLNT_NM, -- A.APLNT_TEAM_CD, -- A.APLNT_DUTY_CD -- FROM ( -- SELECT -- A.APRVL_DOC_ID, -- A.APRVL_STUS_CD, -- A.APRVL_KIND_CD, -- A.OFFER_DT, -- A.CMPL_DT, -- A.APRVL_CMPL_SNO, -- A.FINAL_APRVL_SNO, -- A.APLNT_ID, -- U.USR_NM AS APLNT_NM, -- U.TEAM_CD AS APLNT_TEAM_CD, -- U.DUTY_CD AS APLNT_DUTY_CD -- FROM SX_GW0090 A -- JOIN SX_GW0010 U -- ON(1=1 -- AND U.CORP_NO = A.CORP_NO -- AND U.USR_ID = A.APLNT_ID -- AND (NULLIF(@P0, '') IS NULL OR U.USR_ID = @P1) -- AND (NULLIF(@P2, '') IS NULL OR U.TEAM_CD = @P3) -- AND (NULLIF(@P4, '') IS NULL OR U.DUTY_CD = @P5) -- AND (@P6 = 'Y' OR NULLIF(U.RETIREMENT_DATE, '') IS NULL) -- ) -- WHERE 1=1 -- AND A.CORP_NO = @P7 -- AND (NULLIF(@P8, '') IS NULL OR A.APRVL_STUS_CD = @P9) -- AND (NULLIF(@P10, '') IS NULL OR A.APRVL_KIND_CD = @P11) -- AND CONVERT(VARCHAR, ISNULL(A.OFFER_DT, A.RGST_DT), 112) BETWEEN @P12 AND @P13 -- ORDER BY -- ISNULL(A.OFFER_DT, A.RGST_DT) DESC -- OFFSET ((@P14 - 1) * @P15) ROWS -- FETCH NEXT @P16 ROWS ONLY -- ) A END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_approval_multi_delete] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-02-02 -- Create Description : 스카이브릿지 그룹웨어 결재문서 삭제- 다수건 삭제 -- Update date : -- Update Description : /* DECLARE @ParamTable ApprovalParamTableType insert into @ParamTable values ('1111', 338, '00001') insert into @ParamTable values ('1111', 341, '00001') insert into @ParamTable values ('1111', 349, '00001') exec pr_skybridge_gw_approval_multi_delete @ParamTable */ -- ======================================================================================= /* Create a table type. -- 테이블 타입 선언 CREATE TYPE ApprovalParamTableType AS TABLE ( CORP_NO VARCHAR(15) --회사번호CORP_NO , APRVL_DOC_ID INT --결재문서ID , USR_ID VARCHAR(10) --사용자ID ); GO */ CREATE PROCEDURE [dbo].[pr_skybridge_gw_approval_multi_delete] @ParamTable_1 ApprovalParamTableType READONLY AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED --PARAMETER로 넘김 DATA를 FETCH하면서 담을 변수 지정 DECLARE @CORP_NO VARCHAR(15) --회사번호CORP_NO DECLARE @APRVL_DOC_ID INT --결재문서ID DECLARE @USR_ID VARCHAR(10) --사용자ID DECLARE Cursor_1 CURSOR FOR SELECT CORP_NO , APRVL_DOC_ID , USR_ID FROM @ParamTable_1 OPEN Cursor_1; FETCH NEXT FROM Cursor_1 INTO @CORP_NO, @APRVL_DOC_ID, @USR_ID; WHILE @@FETCH_STATUS = 0 --FETCH가 성공하면 BEGIN exec pr_skybridge_gw_approval_delete @CORP_NO, @APRVL_DOC_ID, @USR_ID FETCH NEXT FROM Cursor_1 INTO @CORP_NO, @APRVL_DOC_ID, @USR_ID; END; CLOSE Cursor_1; DEALLOCATE Cursor_1; END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_approval_request_list_select] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-17 -- Create Description : 스카이브릿지 그룹웨어 결재 신청 리스트 조회 (개별) -- Update date : -- Update Description : -- exec pr_skybridge_gw_approval_request_list_select '1111','00001','','','','','20161215','20170215',1,20000,20000 --1페이지 -- exec pr_skybridge_gw_approval_request_list_select '1111','00001','','','','','20160101','20170215',1,20000,20000 --1페이지 -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_approval_request_list_select] @P0 VARCHAR(4000) --CORP_NO , @P1 VARCHAR(4000) --APPR_ID , @P2 VARCHAR(4000) -- , @P3 VARCHAR(4000) -- , @P4 VARCHAR(4000) -- , @P5 VARCHAR(4000) -- , @P6 VARCHAR(4000) -- , @P7 VARCHAR(4000) --APRVL_KIND_CD , @P8 INT -- 조회 페이지 번호 , @P9 INT -- 한행에 조회되는 행수 , @P10 INT -- 한행에 조회되는 행수 , @P11 VARCHAR(4000) -- , @P12 VARCHAR(4000) -- , @P13 VARCHAR(4000) -- , @P14 VARCHAR(4000) --APRVL_KIND_CD , @P15 VARCHAR(10) -- PROCESS_CD AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED /* 0001 : 작성중 */ --AND (B.APRVL_STUS_CD = '0001') /* 0002 : 미결재 */ --AND (B.APRVL_STUS_CD = '0002') /* 0003 : 승인 */ --AND (B.APRVL_STUS_CD = '0003' AND ISNULL(B.DOC_FLAG, '') != 'A') /* 0004 : 반려 */ --AND (B.APRVL_STUS_CD = '0004' AND ISNULL(B.DOC_FLAG, '') != 'A' AND ISNULL(CH1.APPR_STUS_CD, '') = '0004' ) -- 2017.07.12 SELECT A.APRVL_SNO, CONVERT(VARCHAR, A.APRVL_DT, 120) AS APRVL_DT, A.APPR_STUS_CD, A.APRVL_DOC_ID, A.APRVL_STUS_CD, A.APRVL_KIND_CD, CONVERT(VARCHAR, A.OFFER_DT, 120) AS OFFER_DT, CONVERT(VARCHAR, A.CMPL_DT, 120) AS CMPL_DT, ISNULL(A.APRVL_CMPL_SNO,0) AS APRVL_CMPL_SNO, ISNULL(A.FINAL_APRVL_SNO,0) AS FINAL_APRVL_SNO, -- ■ 스카이브릿지 결재문서 결재 상세 내역 정리 --- 1.시간외 : 신청내용, 업무내용, OT일자 --- 2.지각 : 신청내용, 업무내용, 정상근무인정 요청, 지각일자(X), 지각일시 --- 3.조퇴 : 신청내용, 업무내용, 정상근무인정 요청, 조퇴일자(X), 조퇴일시 --- 4.결근 : 신청내용, 업무내용, 정상근무인정 요청, 결근일자 --- 5.연차등 : 신청내용, 업무내용, 대행자, 연차 (날자, 연차등) --- 6.근무변경 : 신청내용, 업무내용, 대행자, 근무변경(근무일, 변경전, 변경후) --- 7.기안 : 신청내용, 업무내용 A.APLNT_CN , --신청자 내용 A.BZ_CN, --업무내용 CASE WHEN APRVL_KIND_CD = '0001' THEN '' WHEN APRVL_KIND_CD = '0002' THEN '' --'인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0003' THEN CASE WHEN A.NML_WORK_RCNTN_YN = 'Y'THEN '조기퇴근' ELSE '' END -- '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0004' THEN '' --'인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0005' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0006' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_01 , --상세내역 01 CASE WHEN APRVL_KIND_CD = '0001' THEN 'OT : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) WHEN APRVL_KIND_CD = '0002' THEN '지각 : ' + CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120) WHEN APRVL_KIND_CD = '0003' THEN '조퇴 : ' + CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120) WHEN APRVL_KIND_CD = '0004' THEN '결근 : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) WHEN APRVL_KIND_CD = '0005' THEN '연차 : ' + UPD_DATE_YC + ' ' + FREE_CNT WHEN APRVL_KIND_CD = '0006' THEN '변경 : ' + UPD_DATE_CHANGE + '(' + UPD_BF_WORK_CD + '-->' + UPD_WORK_CD + ')' WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_02 , -- 상세내역02 CASE WHEN APRVL_KIND_CD = '0001' THEN '' WHEN APRVL_KIND_CD = '0002' THEN '' WHEN APRVL_KIND_CD = '0003' THEN '' WHEN APRVL_KIND_CD = '0004' THEN '' WHEN APRVL_KIND_CD = '0005' THEN '' WHEN APRVL_KIND_CD = '0006' THEN '' WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_03 , --상세내역 03 --A.OFFER_CN, --신청내용 --A.UPD_DT, --변경일시 A.APLNT_ID, A.APLNT_NM, PROCESS_CD FROM ( SELECT A.CORP_NO , A.APRVL_SNO , A.APRVL_DT , A.APPR_STUS_CD , A.RGST_DT , B.APRVL_DOC_ID , B.APRVL_STUS_CD , B.APRVL_KIND_CD , B.OFFER_DT , B.CMPL_DT , B.APRVL_CMPL_SNO , B.FINAL_APRVL_SNO , B.APLNT_ID , U1.USR_NM AS APLNT_NM , U2.LATE_SKIPOFF_ABTI_OT_DATE , U2.NML_WORK_RCNTN_YN , U2.LATE_SKIPOFF_OT_DT , U3.UPD_DATE_YC , U3.FREE_CNT , U4.USR_NM AS BZ_DEPUTY_NM , U3.UPD_DATE_CHANGE , U3.UPD_BF_WORK_CD , U3.UPD_WORK_CD , B.APLNT_CN , B.BZ_CN , B.OFFER_CN , B.UPD_DT , CASE WHEN B.APRVL_STUS_CD = '0001' THEN '0001' WHEN B.APRVL_STUS_CD = '0002' THEN '0002' WHEN B.APRVL_STUS_CD = '0003' AND ISNULL(B.DOC_FLAG, '') != 'A' THEN '0003' --WHEN B.APRVL_STUS_CD = '0004' AND ISNULL(B.DOC_FLAG, '') != 'A' AND ISNULL(CH1.APPR_STUS_CD, '') = '0004' THEN '0004' WHEN B.APRVL_STUS_CD = '0004' AND ISNULL(B.DOC_FLAG, '') != 'A' AND (ISNULL(CH1.APPR_STUS_CD, '') = '0004' OR ISNULL(CH1.DOC_FLAG, '') = 'A') THEN '0004' ELSE '' END AS PROCESS_CD FROM SX_GW0090 B LEFT OUTER JOIN ( SELECT * FROM SX_GW0100 WHERE 1=1 AND CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + CONVERT(VARCHAR, APRVL_SNO) IN (SELECT CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + MAX(CONVERT(VARCHAR, APRVL_SNO)) FROM SX_GW0100 WHERE CORP_NO = @P0 GROUP BY CORP_NO, APRVL_DOC_ID ) ) A ON (1=1 AND B.CORP_NO = A.CORP_NO AND B.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U1 ON(1=1 AND U1.CORP_NO = B.CORP_NO AND U1.USR_ID = B.APLNT_ID ) LEFT JOIN SX_GW0080 U2 --SX_지각조퇴기록 ON(1=1 AND U2.CORP_NO = B.CORP_NO AND U2.APRVL_DOC_ID = B.APRVL_DOC_ID ) LEFT JOIN (SELECT TA.CORP_NO , APRVL_DOC_ID , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23) + '(' + UPD_WORK_CD + ')') AS UPD_DATE_YC --연차 , CONVERT (VARCHAR, SUM(TB.YYCT_DEDU_DAY)) + '일' AS FREE_CNT --연차 일수 , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23)) AS UPD_DATE_CHANGE --근무변경 , MIN(UPD_BF_WORK_CD) AS UPD_BF_WORK_CD --변경전 근무 코드 , MIN(UPD_WORK_CD) AS UPD_WORK_CD --변경후 근무코드 FROM SX_GW0110 TA LEFT JOIN SX_CO0070 TB ON TB.CORP_NO = TA.CORP_NO AND TB.WORK_CD = TA.UPD_WORK_CD GROUP BY TA.CORP_NO, TA.APRVL_DOC_ID ) U3 ON(1=1 AND U3.CORP_NO = B.CORP_NO AND U3.APRVL_DOC_ID = B.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U4 ON(1=1 AND U4.USR_ID = B.BZ_DEPUTY_ID ) LEFT OUTER JOIN SX_GW0100 CH1 ON B.CORP_NO = CH1.CORP_NO AND B.APRVL_DOC_ID = CH1.APRVL_DOC_ID AND CH1.APRVL_SNO = 1 WHERE 1=1 AND B.CORP_NO = @P0 AND B.APLNT_ID = @P1 AND (NULLIF(@P2, '') IS NULL OR B.APRVL_STUS_CD = @P3) AND ( (NULLIF(@P4, '') IS NULL OR (LEN(@P11) = 4 AND B.APRVL_KIND_CD = @P5 ) ) OR (NULLIF(@P12, '') IS NULL OR (LEN(@P13) > 4 AND B.APRVL_KIND_CD IN(/*'0001', */'0002', '0003', '0008', '0004') ) ) ) AND CONVERT(VARCHAR, ISNULL(B.OFFER_DT, B.RGST_DT), 112) BETWEEN @P6 AND @P7 /* ORDER BY ISNULL(B.OFFER_DT, A.RGST_DT) DESC OFFSET ((@P8 - 1) * @P9) ROWS FETCH NEXT @P10 ROWS ONLY */ ) A WHERE 1=1 AND (NULLIF(@P15, '') IS NULL OR A.PROCESS_CD = @P15) ORDER BY ISNULL(A.OFFER_DT, A.RGST_DT) DESC OFFSET ((@P8 - 1) * @P9) ROWS FETCH NEXT @P10 ROWS ONLY /* 백업_v2 SELECT A.APRVL_SNO, CONVERT(VARCHAR, A.APRVL_DT, 120) AS APRVL_DT, A.APPR_STUS_CD, A.APRVL_DOC_ID, A.APRVL_STUS_CD, A.APRVL_KIND_CD, CONVERT(VARCHAR, A.OFFER_DT, 120) AS OFFER_DT, CONVERT(VARCHAR, A.CMPL_DT, 120) AS CMPL_DT, ISNULL(A.APRVL_CMPL_SNO,0) AS APRVL_CMPL_SNO, ISNULL(A.FINAL_APRVL_SNO,0) AS FINAL_APRVL_SNO, -- ■ 스카이브릿지 결재문서 결재 상세 내역 정리 --- 1.시간외 : 신청내용, 업무내용, OT일자 --- 2.지각 : 신청내용, 업무내용, 정상근무인정 요청, 지각일자(X), 지각일시 --- 3.조퇴 : 신청내용, 업무내용, 정상근무인정 요청, 조퇴일자(X), 조퇴일시 --- 4.결근 : 신청내용, 업무내용, 정상근무인정 요청, 결근일자 --- 5.연차등 : 신청내용, 업무내용, 대행자, 연차 (날자, 연차등) --- 6.근무변경 : 신청내용, 업무내용, 대행자, 근무변경(근무일, 변경전, 변경후) --- 7.기안 : 신청내용, 업무내용 A.APLNT_CN , --신청자 내용 A.BZ_CN, --업무내용 CASE WHEN APRVL_KIND_CD = '0001' THEN '' WHEN APRVL_KIND_CD = '0002' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0003' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0004' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0005' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0006' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_01 , --상세내역 01 CASE WHEN APRVL_KIND_CD = '0001' THEN 'OT : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) WHEN APRVL_KIND_CD = '0002' THEN '지각 : ' + CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120) WHEN APRVL_KIND_CD = '0003' THEN '조퇴 : ' + CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120) WHEN APRVL_KIND_CD = '0004' THEN '결근 : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) WHEN APRVL_KIND_CD = '0005' THEN '연차 : ' + UPD_DATE_YC + ' ' + FREE_CNT WHEN APRVL_KIND_CD = '0006' THEN '변경 : ' + UPD_DATE_CHANGE + '(' + UPD_BF_WORK_CD + '-->' + UPD_WORK_CD + ')' WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_02 , -- 상세내역02 CASE WHEN APRVL_KIND_CD = '0001' THEN '' WHEN APRVL_KIND_CD = '0002' THEN '' WHEN APRVL_KIND_CD = '0003' THEN '' WHEN APRVL_KIND_CD = '0004' THEN '' WHEN APRVL_KIND_CD = '0005' THEN '' WHEN APRVL_KIND_CD = '0006' THEN '' WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_03 , --상세내역 03 --A.OFFER_CN, --신청내용 --A.UPD_DT, --변경일시 A.APLNT_ID, A.APLNT_NM FROM ( SELECT A.CORP_NO, A.APRVL_SNO, A.APRVL_DT, A.APPR_STUS_CD, B.APRVL_DOC_ID, B.APRVL_STUS_CD, B.APRVL_KIND_CD, B.OFFER_DT, B.CMPL_DT, B.APRVL_CMPL_SNO, B.FINAL_APRVL_SNO, B.APLNT_ID, U1.USR_NM AS APLNT_NM, U2.LATE_SKIPOFF_ABTI_OT_DATE, U2.NML_WORK_RCNTN_YN, U2.LATE_SKIPOFF_OT_DT, U3.UPD_DATE_YC, U3.FREE_CNT, U4.USR_NM AS BZ_DEPUTY_NM, U3.UPD_DATE_CHANGE, U3.UPD_BF_WORK_CD, U3.UPD_WORK_CD, B.APLNT_CN , B.BZ_CN, B.OFFER_CN, B.UPD_DT FROM SX_GW0090 B LEFT OUTER JOIN ( SELECT * FROM SX_GW0100 WHERE 1=1 AND CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + CONVERT(VARCHAR, APRVL_SNO) IN (SELECT CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + MAX(CONVERT(VARCHAR, APRVL_SNO)) FROM SX_GW0100 WHERE CORP_NO = @P0 GROUP BY CORP_NO, APRVL_DOC_ID ) ) A ON (1=1 AND B.CORP_NO = A.CORP_NO AND B.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U1 ON(1=1 AND U1.CORP_NO = B.CORP_NO AND U1.USR_ID = B.APLNT_ID ) LEFT JOIN SX_GW0080 U2 --SX_지각조퇴기록 ON(1=1 AND U2.CORP_NO = B.CORP_NO AND U2.APRVL_DOC_ID = B.APRVL_DOC_ID ) LEFT JOIN (SELECT TA.CORP_NO , APRVL_DOC_ID , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23) + '(' + UPD_WORK_CD + ')') AS UPD_DATE_YC --연차 , CONVERT (VARCHAR, SUM(TB.YYCT_DEDU_DAY)) + '일' AS FREE_CNT --연차 일수 , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23)) AS UPD_DATE_CHANGE --근무변경 , MIN(UPD_BF_WORK_CD) AS UPD_BF_WORK_CD --변경전 근무 코드 , MIN(UPD_WORK_CD) AS UPD_WORK_CD --변경후 근무코드 FROM SX_GW0110 TA LEFT JOIN SX_CO0070 TB ON TB.CORP_NO = TA.CORP_NO AND TB.WORK_CD = TA.UPD_WORK_CD GROUP BY TA.CORP_NO, TA.APRVL_DOC_ID ) U3 ON(1=1 AND U3.CORP_NO = B.CORP_NO AND U3.APRVL_DOC_ID = B.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U4 ON(1=1 AND U4.USR_ID = B.BZ_DEPUTY_ID ) WHERE 1=1 AND B.CORP_NO = @P0 AND B.APLNT_ID = @P1 AND (NULLIF(@P2, '') IS NULL OR B.APRVL_STUS_CD = @P3) AND ( (NULLIF(@P4, '') IS NULL OR (LEN(@P11) = 4 AND B.APRVL_KIND_CD = @P5 ) ) OR (NULLIF(@P12, '') IS NULL OR (LEN(@P13) > 4 AND B.APRVL_KIND_CD IN('0002', '0003', '0008', '0004') ) ) ) AND CONVERT(VARCHAR, ISNULL(B.OFFER_DT, B.RGST_DT), 112) BETWEEN @P6 AND @P7 ORDER BY ISNULL(B.OFFER_DT, A.RGST_DT) DESC OFFSET ((@P8 - 1) * @P9) ROWS FETCH NEXT @P10 ROWS ONLY ) A */ --기존에 사용한 문장 BACKUP --declare @p1 int --set @p1=1492 --exec sp_prepexec @p1 output --@P0 nvarchar(4000) --,@P1 nvarchar(4000) --,@P2 nvarchar(4000) --,@P3 nvarchar(4000) --,@P4 nvarchar(4000) --,@P5 nvarchar(4000) --,@P6 nvarchar(4000) --,@P7 nvarchar(4000) --,@P8 int --,@P9 int --,@P10 int --SELECT -- A.APRVL_DOC_ID, -- A.APRVL_STUS_CD, -- A.APRVL_KIND_CD, -- CONVERT(VARCHAR, A.OFFER_DT, 120) AS OFFER_DT, -- CONVERT(VARCHAR, A.CMPL_DT, 120) AS CMPL_DT, -- A.APRVL_CMPL_SNO, -- A.FINAL_APRVL_SNO, -- (SELECT TOP 1 USR_NM FROM SX_GW0010 WHERE USR_ID = A.APLNT_ID) AS APLNT_NM -- FROM ( -- SELECT -- A.APRVL_DOC_ID, -- A.APRVL_STUS_CD, -- A.APRVL_KIND_CD, -- A.OFFER_DT, -- A.CMPL_DT, -- A.APRVL_CMPL_SNO, -- A.FINAL_APRVL_SNO, -- A.APLNT_ID -- FROM SX_GW0090 A -- WHERE 1=1 -- AND A.CORP_NO = @P0 -- AND A.APLNT_ID = @P1 -- AND (NULLIF(@P2, '') IS NULL OR A.APRVL_STUS_CD = @P3) -- AND (NULLIF(@P4, '') IS NULL OR A.APRVL_KIND_CD = @P5) -- AND CONVERT(VARCHAR, ISNULL(A.OFFER_DT, A.RGST_DT), 112) BETWEEN @P6 AND @P7 -- ORDER BY -- ISNULL(A.OFFER_DT, A.RGST_DT) DESC --OFFSET ((@P8 - 1) * @P9) ROWS --FETCH NEXT @P10 ROWS ONLY -- ) A --'1111','00001','','','','','20161215','20170215',1,20,20 END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_approval_request_list_select_count] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : Byun -- Create date : 2017-07-12 -- Create Description : 스카이브릿지 그룹웨어 결재 신청 리스트 개수 조회 -- Update date : -- Update Description : -- exec pr_skybridge_gw_approval_request_list_select '1111','00001','','','','','20161215','20170215',1,20000,20000 --1페이지 -- exec pr_skybridge_gw_approval_request_list_select '1111','00001','','','','','20160101','20170215',1,20000,20000 --1페이지 -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_approval_request_list_select_count] @P0 VARCHAR(4000) --CORP_NO , @P1 VARCHAR(4000) --APPR_ID , @P2 VARCHAR(4000) -- , @P3 VARCHAR(4000) -- , @P4 VARCHAR(4000) -- , @P5 VARCHAR(4000) -- , @P6 VARCHAR(4000) -- , @P7 VARCHAR(4000) --APRVL_KIND_CD , @P8 INT -- 조회 페이지 번호 , @P9 INT -- 한행에 조회되는 행수 , @P10 INT -- 한행에 조회되는 행수 , @P11 VARCHAR(4000) -- , @P12 VARCHAR(4000) -- , @P13 VARCHAR(4000) -- , @P14 VARCHAR(4000) --APRVL_KIND_CD , @P15 VARCHAR(10) -- PROCESS_CD AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED /* 0001 : 작성중 */ --AND (B.APRVL_STUS_CD = '0001') /* 0002 : 미결재 */ --AND (B.APRVL_STUS_CD = '0002') /* 0003 : 승인 */ --AND (B.APRVL_STUS_CD = '0003' AND ISNULL(B.DOC_FLAG, '') != 'A') /* 0004 : 반려 */ --AND (B.APRVL_STUS_CD = '0004' AND ISNULL(B.DOC_FLAG, '') != 'A' AND ISNULL(CH1.DOC_FLAG, '') = 'A' ) -- 2017.07.12 SELECT COUNT('A') AS TOT_CNT FROM( SELECT A.APRVL_SNO, CONVERT(VARCHAR, A.APRVL_DT, 120) AS APRVL_DT, A.APPR_STUS_CD, A.APRVL_DOC_ID, A.APRVL_STUS_CD, A.APRVL_KIND_CD, CONVERT(VARCHAR, A.OFFER_DT, 120) AS OFFER_DT, CONVERT(VARCHAR, A.CMPL_DT, 120) AS CMPL_DT, ISNULL(A.APRVL_CMPL_SNO,0) AS APRVL_CMPL_SNO, ISNULL(A.FINAL_APRVL_SNO,0) AS FINAL_APRVL_SNO, -- ■ 스카이브릿지 결재문서 결재 상세 내역 정리 --- 1.시간외 : 신청내용, 업무내용, OT일자 --- 2.지각 : 신청내용, 업무내용, 정상근무인정 요청, 지각일자(X), 지각일시 --- 3.조퇴 : 신청내용, 업무내용, 정상근무인정 요청, 조퇴일자(X), 조퇴일시 --- 4.결근 : 신청내용, 업무내용, 정상근무인정 요청, 결근일자 --- 5.연차등 : 신청내용, 업무내용, 대행자, 연차 (날자, 연차등) --- 6.근무변경 : 신청내용, 업무내용, 대행자, 근무변경(근무일, 변경전, 변경후) --- 7.기안 : 신청내용, 업무내용 A.APLNT_CN , --신청자 내용 A.BZ_CN, --업무내용 CASE WHEN APRVL_KIND_CD = '0001' THEN '' WHEN APRVL_KIND_CD = '0002' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0003' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0004' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0005' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0006' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_01 , --상세내역 01 CASE WHEN APRVL_KIND_CD = '0001' THEN 'OT : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) WHEN APRVL_KIND_CD = '0002' THEN '지각 : ' + CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120) WHEN APRVL_KIND_CD = '0003' THEN '조퇴 : ' + CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120) WHEN APRVL_KIND_CD = '0004' THEN '결근 : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) WHEN APRVL_KIND_CD = '0005' THEN '연차 : ' + UPD_DATE_YC + ' ' + FREE_CNT WHEN APRVL_KIND_CD = '0006' THEN '변경 : ' + UPD_DATE_CHANGE + '(' + UPD_BF_WORK_CD + '-->' + UPD_WORK_CD + ')' WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_02 , -- 상세내역02 CASE WHEN APRVL_KIND_CD = '0001' THEN '' WHEN APRVL_KIND_CD = '0002' THEN '' WHEN APRVL_KIND_CD = '0003' THEN '' WHEN APRVL_KIND_CD = '0004' THEN '' WHEN APRVL_KIND_CD = '0005' THEN '' WHEN APRVL_KIND_CD = '0006' THEN '' WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_03 , --상세내역 03 --A.OFFER_CN, --신청내용 --A.UPD_DT, --변경일시 A.APLNT_ID, A.APLNT_NM, PROCESS_CD FROM ( SELECT A.CORP_NO , A.APRVL_SNO , A.APRVL_DT , A.APPR_STUS_CD , B.APRVL_DOC_ID , B.APRVL_STUS_CD , B.APRVL_KIND_CD , B.OFFER_DT , B.CMPL_DT , B.APRVL_CMPL_SNO , B.FINAL_APRVL_SNO , B.APLNT_ID , U1.USR_NM AS APLNT_NM , U2.LATE_SKIPOFF_ABTI_OT_DATE , U2.NML_WORK_RCNTN_YN , U2.LATE_SKIPOFF_OT_DT , U3.UPD_DATE_YC , U3.FREE_CNT , U4.USR_NM AS BZ_DEPUTY_NM , U3.UPD_DATE_CHANGE , U3.UPD_BF_WORK_CD , U3.UPD_WORK_CD , B.APLNT_CN , B.BZ_CN , B.OFFER_CN , B.UPD_DT , CASE WHEN B.APRVL_STUS_CD = '0001' THEN '0001' WHEN B.APRVL_STUS_CD = '0002' THEN '0002' WHEN B.APRVL_STUS_CD = '0003' AND ISNULL(B.DOC_FLAG, '') != 'A' THEN '0003' WHEN B.APRVL_STUS_CD = '0004' AND ISNULL(B.DOC_FLAG, '') != 'A' AND ISNULL(CH1.DOC_FLAG, '') = 'A' THEN '0004' ELSE '' END AS PROCESS_CD FROM SX_GW0090 B LEFT OUTER JOIN ( SELECT * FROM SX_GW0100 WHERE 1=1 AND CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + CONVERT(VARCHAR, APRVL_SNO) IN (SELECT CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + MAX(CONVERT(VARCHAR, APRVL_SNO)) FROM SX_GW0100 WHERE CORP_NO = @P0 GROUP BY CORP_NO, APRVL_DOC_ID ) ) A ON (1=1 AND B.CORP_NO = A.CORP_NO AND B.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U1 ON(1=1 AND U1.CORP_NO = B.CORP_NO AND U1.USR_ID = B.APLNT_ID ) LEFT JOIN SX_GW0080 U2 --SX_지각조퇴기록 ON(1=1 AND U2.CORP_NO = B.CORP_NO AND U2.APRVL_DOC_ID = B.APRVL_DOC_ID ) LEFT JOIN (SELECT TA.CORP_NO , APRVL_DOC_ID , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23) + '(' + UPD_WORK_CD + ')') AS UPD_DATE_YC --연차 , CONVERT (VARCHAR, SUM(TB.YYCT_DEDU_DAY)) + '일' AS FREE_CNT --연차 일수 , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23)) AS UPD_DATE_CHANGE --근무변경 , MIN(UPD_BF_WORK_CD) AS UPD_BF_WORK_CD --변경전 근무 코드 , MIN(UPD_WORK_CD) AS UPD_WORK_CD --변경후 근무코드 FROM SX_GW0110 TA LEFT JOIN SX_CO0070 TB ON TB.CORP_NO = TA.CORP_NO AND TB.WORK_CD = TA.UPD_WORK_CD GROUP BY TA.CORP_NO, TA.APRVL_DOC_ID ) U3 ON(1=1 AND U3.CORP_NO = B.CORP_NO AND U3.APRVL_DOC_ID = B.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U4 ON(1=1 AND U4.USR_ID = B.BZ_DEPUTY_ID ) LEFT OUTER JOIN SX_GW0100 CH1 ON B.CORP_NO = CH1.CORP_NO AND B.APRVL_DOC_ID = CH1.APRVL_DOC_ID AND CH1.APRVL_SNO = 1 WHERE 1=1 AND B.CORP_NO = @P0 AND B.APLNT_ID = @P1 AND (NULLIF(@P2, '') IS NULL OR B.APRVL_STUS_CD = @P3) AND ( (NULLIF(@P4, '') IS NULL OR (LEN(@P11) = 4 AND B.APRVL_KIND_CD = @P5 ) ) OR (NULLIF(@P12, '') IS NULL OR (LEN(@P13) > 4 AND B.APRVL_KIND_CD IN(/*'0001', */'0002', '0003', '0008', '0004') ) ) ) AND CONVERT(VARCHAR, ISNULL(B.OFFER_DT, B.RGST_DT), 112) BETWEEN @P6 AND @P7 ) A WHERE 1=1 AND (NULLIF(@P15, '') IS NULL OR A.PROCESS_CD = @P15) ) AS TOT /* 백업_v2 SELECT A.APRVL_SNO, CONVERT(VARCHAR, A.APRVL_DT, 120) AS APRVL_DT, A.APPR_STUS_CD, A.APRVL_DOC_ID, A.APRVL_STUS_CD, A.APRVL_KIND_CD, CONVERT(VARCHAR, A.OFFER_DT, 120) AS OFFER_DT, CONVERT(VARCHAR, A.CMPL_DT, 120) AS CMPL_DT, ISNULL(A.APRVL_CMPL_SNO,0) AS APRVL_CMPL_SNO, ISNULL(A.FINAL_APRVL_SNO,0) AS FINAL_APRVL_SNO, -- ■ 스카이브릿지 결재문서 결재 상세 내역 정리 --- 1.시간외 : 신청내용, 업무내용, OT일자 --- 2.지각 : 신청내용, 업무내용, 정상근무인정 요청, 지각일자(X), 지각일시 --- 3.조퇴 : 신청내용, 업무내용, 정상근무인정 요청, 조퇴일자(X), 조퇴일시 --- 4.결근 : 신청내용, 업무내용, 정상근무인정 요청, 결근일자 --- 5.연차등 : 신청내용, 업무내용, 대행자, 연차 (날자, 연차등) --- 6.근무변경 : 신청내용, 업무내용, 대행자, 근무변경(근무일, 변경전, 변경후) --- 7.기안 : 신청내용, 업무내용 A.APLNT_CN , --신청자 내용 A.BZ_CN, --업무내용 CASE WHEN APRVL_KIND_CD = '0001' THEN '' WHEN APRVL_KIND_CD = '0002' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0003' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0004' THEN '인정 : ' + A.NML_WORK_RCNTN_YN WHEN APRVL_KIND_CD = '0005' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0006' THEN '대행자 : ' + A.BZ_DEPUTY_NM WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_01 , --상세내역 01 CASE WHEN APRVL_KIND_CD = '0001' THEN 'OT : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) WHEN APRVL_KIND_CD = '0002' THEN '지각 : ' + CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120) WHEN APRVL_KIND_CD = '0003' THEN '조퇴 : ' + CONVERT(VARCHAR, A.LATE_SKIPOFF_OT_DT, 120) WHEN APRVL_KIND_CD = '0004' THEN '결근 : ' + CONVERT(VARCHAR, CONVERT(DATETIME, A.LATE_SKIPOFF_ABTI_OT_DATE), 23) WHEN APRVL_KIND_CD = '0005' THEN '연차 : ' + UPD_DATE_YC + ' ' + FREE_CNT WHEN APRVL_KIND_CD = '0006' THEN '변경 : ' + UPD_DATE_CHANGE + '(' + UPD_BF_WORK_CD + '-->' + UPD_WORK_CD + ')' WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_02 , -- 상세내역02 CASE WHEN APRVL_KIND_CD = '0001' THEN '' WHEN APRVL_KIND_CD = '0002' THEN '' WHEN APRVL_KIND_CD = '0003' THEN '' WHEN APRVL_KIND_CD = '0004' THEN '' WHEN APRVL_KIND_CD = '0005' THEN '' WHEN APRVL_KIND_CD = '0006' THEN '' WHEN APRVL_KIND_CD = '0007' THEN '' ELSE '' END AS DETAIL_03 , --상세내역 03 --A.OFFER_CN, --신청내용 --A.UPD_DT, --변경일시 A.APLNT_ID, A.APLNT_NM FROM ( SELECT A.CORP_NO, A.APRVL_SNO, A.APRVL_DT, A.APPR_STUS_CD, B.APRVL_DOC_ID, B.APRVL_STUS_CD, B.APRVL_KIND_CD, B.OFFER_DT, B.CMPL_DT, B.APRVL_CMPL_SNO, B.FINAL_APRVL_SNO, B.APLNT_ID, U1.USR_NM AS APLNT_NM, U2.LATE_SKIPOFF_ABTI_OT_DATE, U2.NML_WORK_RCNTN_YN, U2.LATE_SKIPOFF_OT_DT, U3.UPD_DATE_YC, U3.FREE_CNT, U4.USR_NM AS BZ_DEPUTY_NM, U3.UPD_DATE_CHANGE, U3.UPD_BF_WORK_CD, U3.UPD_WORK_CD, B.APLNT_CN , B.BZ_CN, B.OFFER_CN, B.UPD_DT FROM SX_GW0090 B LEFT OUTER JOIN ( SELECT * FROM SX_GW0100 WHERE 1=1 AND CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + CONVERT(VARCHAR, APRVL_SNO) IN (SELECT CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) + '|' + MAX(CONVERT(VARCHAR, APRVL_SNO)) FROM SX_GW0100 WHERE CORP_NO = @P0 GROUP BY CORP_NO, APRVL_DOC_ID ) ) A ON (1=1 AND B.CORP_NO = A.CORP_NO AND B.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U1 ON(1=1 AND U1.CORP_NO = B.CORP_NO AND U1.USR_ID = B.APLNT_ID ) LEFT JOIN SX_GW0080 U2 --SX_지각조퇴기록 ON(1=1 AND U2.CORP_NO = B.CORP_NO AND U2.APRVL_DOC_ID = B.APRVL_DOC_ID ) LEFT JOIN (SELECT TA.CORP_NO , APRVL_DOC_ID , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23) + '(' + UPD_WORK_CD + ')') AS UPD_DATE_YC --연차 , CONVERT (VARCHAR, SUM(TB.YYCT_DEDU_DAY)) + '일' AS FREE_CNT --연차 일수 , MIN(CONVERT(VARCHAR, CONVERT(DATETIME, UPD_DATE), 23)) AS UPD_DATE_CHANGE --근무변경 , MIN(UPD_BF_WORK_CD) AS UPD_BF_WORK_CD --변경전 근무 코드 , MIN(UPD_WORK_CD) AS UPD_WORK_CD --변경후 근무코드 FROM SX_GW0110 TA LEFT JOIN SX_CO0070 TB ON TB.CORP_NO = TA.CORP_NO AND TB.WORK_CD = TA.UPD_WORK_CD GROUP BY TA.CORP_NO, TA.APRVL_DOC_ID ) U3 ON(1=1 AND U3.CORP_NO = B.CORP_NO AND U3.APRVL_DOC_ID = B.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U4 ON(1=1 AND U4.USR_ID = B.BZ_DEPUTY_ID ) WHERE 1=1 AND B.CORP_NO = @P0 AND B.APLNT_ID = @P1 AND (NULLIF(@P2, '') IS NULL OR B.APRVL_STUS_CD = @P3) AND ( (NULLIF(@P4, '') IS NULL OR (LEN(@P11) = 4 AND B.APRVL_KIND_CD = @P5 ) ) OR (NULLIF(@P12, '') IS NULL OR (LEN(@P13) > 4 AND B.APRVL_KIND_CD IN('0002', '0003', '0008', '0004') ) ) ) AND CONVERT(VARCHAR, ISNULL(B.OFFER_DT, B.RGST_DT), 112) BETWEEN @P6 AND @P7 ORDER BY ISNULL(B.OFFER_DT, A.RGST_DT) DESC OFFSET ((@P8 - 1) * @P9) ROWS FETCH NEXT @P10 ROWS ONLY ) A */ --기존에 사용한 문장 BACKUP --declare @p1 int --set @p1=1492 --exec sp_prepexec @p1 output --@P0 nvarchar(4000) --,@P1 nvarchar(4000) --,@P2 nvarchar(4000) --,@P3 nvarchar(4000) --,@P4 nvarchar(4000) --,@P5 nvarchar(4000) --,@P6 nvarchar(4000) --,@P7 nvarchar(4000) --,@P8 int --,@P9 int --,@P10 int --SELECT -- A.APRVL_DOC_ID, -- A.APRVL_STUS_CD, -- A.APRVL_KIND_CD, -- CONVERT(VARCHAR, A.OFFER_DT, 120) AS OFFER_DT, -- CONVERT(VARCHAR, A.CMPL_DT, 120) AS CMPL_DT, -- A.APRVL_CMPL_SNO, -- A.FINAL_APRVL_SNO, -- (SELECT TOP 1 USR_NM FROM SX_GW0010 WHERE USR_ID = A.APLNT_ID) AS APLNT_NM -- FROM ( -- SELECT -- A.APRVL_DOC_ID, -- A.APRVL_STUS_CD, -- A.APRVL_KIND_CD, -- A.OFFER_DT, -- A.CMPL_DT, -- A.APRVL_CMPL_SNO, -- A.FINAL_APRVL_SNO, -- A.APLNT_ID -- FROM SX_GW0090 A -- WHERE 1=1 -- AND A.CORP_NO = @P0 -- AND A.APLNT_ID = @P1 -- AND (NULLIF(@P2, '') IS NULL OR A.APRVL_STUS_CD = @P3) -- AND (NULLIF(@P4, '') IS NULL OR A.APRVL_KIND_CD = @P5) -- AND CONVERT(VARCHAR, ISNULL(A.OFFER_DT, A.RGST_DT), 112) BETWEEN @P6 AND @P7 -- ORDER BY -- ISNULL(A.OFFER_DT, A.RGST_DT) DESC --OFFSET ((@P8 - 1) * @P9) ROWS --FETCH NEXT @P10 ROWS ONLY -- ) A --'1111','00001','','','','','20161215','20170215',1,20,20 END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_holiday_detail_list_select] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-08-11 -- Create Description : 스카이브릿지 그룹웨어 연차등상세내역 리스트 조회 -- Update date : -- Update Description : -- exec pr_skybridge_gw_holiday_detail_list_select '1111', '2017', '', '', '', '' -- exec pr_skybridge_gw_holiday_detail_list_select '1111', '2017', '강충우', '', '', '' -- exec pr_skybridge_gw_holiday_detail_list_select '1111', '2017', '', '16', '', '' -- exec pr_skybridge_gw_holiday_detail_list_select '1111', '2017', '', '', 'Y', '' -- exec pr_skybridge_gw_holiday_detail_list_select '1111', '2017', '', '', '', 'USR_NM' --정렬순서 : (이름), 직책, 업무별, 팀별, 업로드순 -- exec pr_skybridge_gw_holiday_detail_list_select '1111', '2017', '', '', '', 'DUTY_CD' --정렬순서 : 이름, (직책), 업무별, 팀별, 업로드순 -- exec pr_skybridge_gw_holiday_detail_list_select '1111', '2017', '', '', '', 'BZ_CD' --정렬순서 : 이름, 직책, (업무별), 팀별, 업로드순 -- exec pr_skybridge_gw_holiday_detail_list_select '1111', '2017', '', '', '', 'TEAM_CD' --정렬순서 : 이름, 직책, 업무별, (팀별), 업로드순 -- exec pr_skybridge_gw_holiday_detail_list_select '1111', '2017', '', '', '', 'SORT_ODR' --정렬순서 : 이름, 직책, 업무별, 팀별, (업로드순) -- exec pr_skybridge_gw_holiday_detail_list_select '1111', '2018', '정진구', '', '', 'SORT_ODR' --정렬순서 : 이름, 직책, 업무별, 팀별, (업로드순) -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_holiday_detail_list_select] @CORP_NO VARCHAR(15) --회사코드 , @YYVCT_YY VARCHAR(20) --조회년도 , @USR_NM VARCHAR(50) --이름 , @TEAM_CD VARCHAR(50) --팀코드 , @RETIRE_YN VARCHAR(10) --퇴사여부 , @ORDER_TYPE VARCHAR(10) --정렬방법 AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED SELECT A.USR_ID, A.USR_ID AS ORDER_2, A.USR_NM, A.BZ_CD, A.TEAM_CD, A.DUTY_CD, @YYVCT_YY AS YYVCT_YY, ISNULL(B.YYVCT_CNT,0) AS YYVCT_CNT, --(A)총연차 ISNULL(COM_CNT,0) AS COM_CNT, --(B)승인연차 ISNULL(NONCOM_CNT,0) AS NONCOM_CNT, --(C)비승인연차 ISNULL(ABSENT_CNT,0) AS ABSENT_CNT, --(D)출퇴근미기록 ISNULL(B.YYVCT_CNT,0) - ISNULL(COM_CNT,0) - ISNULL(NONCOM_CNT,0) - ISNULL(ABSENT_CNT,0) AS REMAIN_CNT, --(S)잔여연차 S=A-B-C-D B.SORT_ODR, 0 AS ORI FROM SX_GW0010 A LEFT JOIN SX_GW0060 B ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.USR_ID = A.USR_ID AND B.YYVCT_YY = @YYVCT_YY ) --승인 연차 일수 LEFT OUTER JOIN ( SELECT A.CORP_NO, A.USR_ID, SUM(B.YYCT_DEDU_DAY) AS COM_CNT --YYCT_DEDU_DCNT, --연차사용일수 FROM SX_GW0050 A LEFT JOIN SX_CO0070 B ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(A.WORK_CD, A.PLAN_WORK_CD) ) WHERE 1=1 AND A.CORP_NO = @CORP_NO --AND A.USR_ID = @USR_ID AND A.WORK_PLAN_YYMMDD LIKE @YYVCT_YY + '%' AND A.WORK_PLAN_YYMMDD IN ( SELECT T2.UPD_DATE FROM SX_GW0090 T1 INNER JOIN SX_GW0110 T2 ON (T1.CORP_NO = T2.CORP_NO AND T1.APRVL_DOC_ID = T2.APRVL_DOC_ID ) WHERE T1.APRVL_STUS_CD = '0003' --결재완료 AND T1.CORP_NO = A.CORP_NO AND T1.APLNT_ID = A.USR_ID ) GROUP BY A.CORP_NO, A.USR_ID ) T2 ON( 1=1 AND T2.CORP_NO = A.CORP_NO AND T2.USR_ID = A.USR_ID ) --비승인 연차 일수 LEFT OUTER JOIN ( SELECT A.CORP_NO, A.USR_ID, SUM(B.YYCT_DEDU_DAY) AS NONCOM_CNT --비승인연차일수 FROM SX_GW0050 A LEFT JOIN SX_CO0070 B ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) ) WHERE 1=1 AND A.CORP_NO = @CORP_NO --AND A.USR_ID = @USR_ID AND A.WORK_PLAN_YYMMDD LIKE @YYVCT_YY + '%' AND A.WORK_PLAN_YYMMDD NOT IN ( SELECT T2.UPD_DATE FROM SX_GW0090 T1 INNER JOIN SX_GW0110 T2 ON (T1.CORP_NO = T2.CORP_NO AND T1.APRVL_DOC_ID = T2.APRVL_DOC_ID ) WHERE T1.APRVL_STUS_CD = '0003' --결재완료 AND T1.CORP_NO = A.CORP_NO AND T1.APLNT_ID = A.USR_ID ) GROUP BY A.CORP_NO, A.USR_ID ) T31 ON( 1=1 AND T31.CORP_NO = A.CORP_NO AND T31.USR_ID = A.USR_ID ) --출퇴근 미기록 일수 --출퇴근 미기록은 연차(V), '병', 특별휴무(X), 예비군훈련(Y)은 제외한 일자만 표시 한다. LEFT OUTER JOIN ( SELECT CORP_NO , USR_ID , COUNT('A') ABSENT_CNT FROM SX_GW0050 WHERE SUBSTRING(WORK_PLAN_YYMMDD,1,4) = @YYVCT_YY AND WORK_PLAN_YYMMDD < CONVERT(VARCHAR, GETDATE(), 112)--오늘일자 보다 하루 적은 날자로 가져온다. AND PLAN_WORK_CD >= 'A' AND PLAN_WORK_CD <= 'T' AND WORK_START_DT IS NULL AND WORK_END_DT IS NULL AND ISNULL(WORK_CD, PLAN_WORK_CD) NOT IN ('W', 'V', '병', 'X', 'Y', 'U') --정기휴일, 연차, 병가, 특별휴무, 예비군훈련은 제외한다.(20170425추가) GROUP BY CORP_NO, USR_ID ) T6 ON (1=1 AND T6.CORP_NO = A.CORP_NO AND T6.USR_ID = A.USR_ID ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND (NULLIF(@USR_NM, '') IS NULL OR A.USR_NM LIKE CONCAT('%', @USR_NM, '%')) AND (NULLIF(@TEAM_CD, '') IS NULL OR A.TEAM_CD = @TEAM_CD) AND (@RETIRE_YN = 'Y' OR NULLIF(A.RETIREMENT_DATE, '') IS NULL) --ordering을 parameter를 넘겨서 처리 가능 ORDER BY CASE WHEN @ORDER_TYPE = 'USR_NM' THEN ISNULL(USR_NM, '') WHEN @ORDER_TYPE = 'DUTY_CD' THEN ISNULL(DUTY_CD, '') WHEN @ORDER_TYPE = 'BZ_CD' THEN ISNULL(BZ_CD, '') WHEN @ORDER_TYPE = 'TEAM_CD' THEN ISNULL(TEAM_CD, '') --WHEN @ORDER_TYPE = 'SORT_ODR' THEN ISNULL(SORT_ODR, 0) -- ELSE '' END , B.SORT_ODR, ORDER_2 --ORDER BY -- -- B.${user_order_by}, -- -- -- A.${user_order_by}, -- -- ORDER_2 -- END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_holiday_management_detail_DocID_select] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-20 -- Create Description : 스카이브릿지 연차등관리 상세 화면 조회-문서ID 추가 -- Update date : -- Update Description : -- exec pr_skybridge_gw_holiday_management_detail_select '1111','00001' , '2017' -- exec pr_skybridge_gw_holiday_management_detail_select '1111','10004' , '2017' -- exec pr_skybridge_gw_holiday_management_detail_select '1111','10216' , '2017' -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_holiday_management_detail_DocID_select] @CORP_NO VARCHAR(15) --회사번호 , @USR_ID VARCHAR(10) --사용자ID , @YYVCT_YY VARCHAR(4) --연차년도 AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED -- 신규 작성 SELECT T1.CORP_NO --회사번호 , T1.USR_ID --사용자ID , T1.USR_NM -- 이름 -- , ISNULL(T2.YYVCT_CNT, 0) AS YYVCT_CNT -- 총연차일수 --, ISNULL(COM_CNT,0) AS COM_CNT --승인연차일수 , ISNULL(COM_UPD_DATE,0) AS COM_UPD_DATE --승인연차일 --, ISNULL(NONCOM_CNT,0) AS NONCOM_CNT --비승인연차일수 , NONCOM_UPD_DATE AS NONCOM_UPD_DATE --비승인연차일자 --, ISNULL(ABSENT_CNT, 0) AS ABSENT_CNT --출퇴근미기록일수 --, ISNULL(ABSENT_DATE,0) AS ABSENT_DATE --출퇴근미기록일자 --, ISNULL(TG_CNT,0) AS TG_CNT --퇴근 미기록 일수 --, TG_DATE AS TG_DATE --퇴근미기록일자 --, ISNULL(SPECIAL_CNT,0) AS SPECIAL_CNT --병가특별휴가일수 --, ISNULL(SPECIAL_DATE,0) AS SPECIAL_DATE --병가특별휴가일자 -- , CONVERT(VARCHAR,ISNULL(T2.YYVCT_CNT, 0) - (ISNULL(COM_CNT,0) + ISNULL(NONCOM_CNT,0) + ISNULL(ABSENT_CNT, 0))) + ' = ' + -- CONVERT(VARCHAR,ISNULL(T2.YYVCT_CNT, 0)) + ' - ( ' + --CONVERT(VARCHAR,ISNULL(COM_CNT,0)) + ' + ' + --CONVERT(VARCHAR,ISNULL(NONCOM_CNT,0))+ ' + ' + --CONVERT(VARCHAR,ISNULL(ABSENT_CNT,0)) + ')' AS REAMIN_HOLIDAY --잔여휴가 = 총연차일 - (승인연차 + 비승인연차 + 출퇴근미기록) FROM (SELECT * FROM SX_GW0010 --사용자 WHERE 1=1 AND CORP_NO = @CORP_NO AND USR_ID = @USR_ID ) T1 LEFT OUTER JOIN SX_GW0060 T2 --연차관리 ON ( 1=1 AND T2.CORP_NO = T1.CORP_NO AND T2.USR_ID = T1.USR_ID AND T2.YYVCT_YY = @YYVCT_YY ) LEFT OUTER JOIN ( SELECT A.CORP_NO , A.APLNT_ID AS USR_ID -- , SUM(CASE WHEN UPD_WORK_CD IN ('V') THEN 1 --연차면 1일, -- WHEN UPD_WORK_CD IN ('H', 'I', 'J') THEN 0.5 --반차면 0.5일을 뺀다 --ELSE 0 END) AS COM_CNT --승인연차일수 FROM SX_GW0090 A LEFT OUTER JOIN SX_GW0110 C ON( 1=1 AND C.CORP_NO = A.CORP_NO AND C.APRVL_DOC_ID = A.APRVL_DOC_ID ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND SUBSTRING(C.UPD_DATE,1,4) = @YYVCT_YY --해당년도의 연차만 조회 AND A.APRVL_KIND_CD = '0005' --연차등만 조회 AND A.CORP_NO + '!' + CONVERT(VARCHAR,A.APRVL_DOC_ID) IN (SELECT CORP_NO + '!' + CONVERT(VARCHAR,APRVL_DOC_ID) FROM SX_GW0100 WHERE APPR_STUS_CD = '0003' --승인 완료 AND RGSTR_ID = @USR_ID ) GROUP BY A.CORP_NO, A.APLNT_ID ) T3 ON (1=1 AND T3.CORP_NO = T1.CORP_NO AND T3.USR_ID = T1.USR_ID ) LEFT OUTER JOIN ( SELECT A.CORP_NO , A.APLNT_ID AS USR_ID , SUM(CASE WHEN UPD_WORK_CD IN ('V') THEN 1 --연차면 1일, WHEN UPD_WORK_CD IN ('H', 'I', 'J') THEN 0.5 --반차면 0.5일을 뺀다 ELSE 0 END) AS NONCOM_CNT --비승인연차일수 FROM SX_GW0090 A LEFT OUTER JOIN SX_GW0110 C ON( 1=1 AND C.CORP_NO = A.CORP_NO AND C.APRVL_DOC_ID = A.APRVL_DOC_ID ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND SUBSTRING(C.UPD_DATE,1,4) = @YYVCT_YY --해당년도의 연차만 조회 AND A.APRVL_KIND_CD = '0005' --연차등만 조회 AND A.CORP_NO + '!' + CONVERT(VARCHAR,A.APRVL_DOC_ID) IN (SELECT CORP_NO + '!' + CONVERT(VARCHAR,APRVL_DOC_ID) FROM SX_GW0100 WHERE APPR_STUS_CD = '0002' --결재중 AND RGSTR_ID = @USR_ID ) GROUP BY A.CORP_NO, A.APLNT_ID ) T31 ON (1=1 AND T31.CORP_NO = T1.CORP_NO AND T31.USR_ID = T1.USR_ID ) --승인완료 연차 일자 : 일1, 월2, 화3, 수4, 목5, 금6, 토7 LEFT OUTER JOIN ( SELECT DISTINCT CORP_NO ,STUFF(( SELECT '
' + CONVERT(VARCHAR, CONVERT(DATETIME,UPD_DATE), 23) + ' ' + CASE WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 1 THEN '일요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 2 THEN '월요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 3 THEN '화요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 4 THEN '수요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 5 THEN '목요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 6 THEN '금요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 7 THEN '토요일' END FROM SX_GW0110 AS TA INNER JOIN SX_GW0090 AS TB ON TB.CORP_NO = TA.CORP_NO AND TB.APRVL_DOC_ID = TA.APRVL_DOC_ID WHERE 1=1 AND TA.CORP_NO = @CORP_NO AND TA.RGSTR_ID = @USR_ID AND TA.UPD_WORK_CD IN ('V', 'H', 'I', 'J') AND SUBSTRING(TA.UPD_DATE,1,4) = @YYVCT_YY --당해년도 AND TB.APRVL_KIND_CD = '0005' --결재문서가 '연차등'인 경우 AND TA.CORP_NO + '!' + CONVERT(VARCHAR,TA.APRVL_DOC_ID) IN (SELECT CORP_NO + '!' + CONVERT(VARCHAR,APRVL_DOC_ID) FROM SX_GW0100 WHERE APPR_STUS_CD = '0003' --승인 완료 AND RGSTR_ID = @USR_ID ) ORDER BY UPD_DATE FOR XML PATH('') ),1,10,'') AS COM_UPD_DATE FROM SX_GW0110 AS P ) T4 ON( 1=1 AND T4.CORP_NO = T1.CORP_NO ) --비승인 연차 일자 LEFT OUTER JOIN ( SELECT DISTINCT CORP_NO , STUFF(( SELECT '
' + CONVERT(VARCHAR, CONVERT(DATETIME,UPD_DATE), 23) + ' ' + CASE WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 1 THEN '일요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 2 THEN '월요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 3 THEN '화요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 4 THEN '수요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 5 THEN '목요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 6 THEN '금요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 7 THEN '토요일' END FROM SX_GW0110 AS TA INNER JOIN SX_GW0090 AS TB ON TB.CORP_NO = TA.CORP_NO AND TB.APRVL_DOC_ID = TA.APRVL_DOC_ID WHERE 1=1 AND TA.CORP_NO = @CORP_NO AND TA.RGSTR_ID = @USR_ID AND TA.UPD_WORK_CD IN ('V', 'H', 'I', 'J') AND SUBSTRING(TA.UPD_DATE,1,4) = @YYVCT_YY --당해년도 AND TB.APRVL_KIND_CD = '0005' --결재문서가 '연차등'인 경우 AND TA.CORP_NO + '!' + CONVERT(VARCHAR,TA.APRVL_DOC_ID) IN (SELECT CORP_NO + '!' + CONVERT(VARCHAR,APRVL_DOC_ID) FROM SX_GW0100 WHERE APPR_STUS_CD = '0002' --결재중 AND RGSTR_ID = @USR_ID ) ORDER BY UPD_DATE FOR XML PATH('') ),1,10,'') AS NONCOM_UPD_DATE FROM SX_GW0110 ) T5 ON( 1=1 AND T5.CORP_NO = T1.CORP_NO ) --출퇴근 미기록 일수 LEFT OUTER JOIN ( SELECT CORP_NO , USR_ID , COUNT('A') ABSENT_CNT FROM SX_GW0050 WHERE SUBSTRING(WORK_PLAN_YYMMDD,1,4) = @YYVCT_YY AND WORK_PLAN_YYMMDD < CONVERT(VARCHAR, GETDATE(), 112)--오늘일자 보다 하루 적은 날자로 가져온다. AND PLAN_WORK_CD >= 'A' AND PLAN_WORK_CD <= 'T' AND WORK_START_DT IS NULL AND WORK_END_DT IS NULL GROUP BY CORP_NO, USR_ID ) T6 ON (1=1 AND T6.CORP_NO = T1.CORP_NO AND T6.USR_ID = T1.USR_ID ) --출퇴근 미기록 일자 LEFT OUTER JOIN ( SELECT DISTINCT CORP_NO ,STUFF(( SELECT '
' + CONVERT(VARCHAR, CONVERT(DATETIME,WORK_PLAN_YYMMDD), 23) + ' ' + CASE WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 1 THEN '일요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 2 THEN '월요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 3 THEN '화요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 4 THEN '수요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 5 THEN '목요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 6 THEN '금요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 7 THEN '토요일' END + ' (' + PLAN_WORK_CD + ')' FROM SX_GW0050 WHERE CORP_NO + '!' + USR_ID + '!' + WORK_PLAN_YYMMDD IN ( SELECT CORP_NO + '!' + USR_ID + '!' + WORK_PLAN_YYMMDD FROM SX_GW0050 WHERE SUBSTRING(WORK_PLAN_YYMMDD,1,4) = @YYVCT_YY AND WORK_PLAN_YYMMDD < CONVERT(VARCHAR, GETDATE(), 112)--오늘일자 보다 하루 적은 날자로 가져온다. AND PLAN_WORK_CD >= 'A' AND PLAN_WORK_CD <= 'T' AND WORK_START_DT IS NULL AND WORK_END_DT IS NULL AND USR_ID = @USR_ID ) ORDER BY WORK_PLAN_YYMMDD FOR XML PATH('') ),1,10,'') AS ABSENT_DATE FROM SX_GW0050 AS P ) T61 ON( 1=1 AND T61.CORP_NO = T1.CORP_NO ) --퇴근 미기록 일수 LEFT OUTER JOIN ( SELECT CORP_NO , USR_ID , COUNT('A') TG_CNT FROM SX_GW0050 WHERE SUBSTRING(WORK_PLAN_YYMMDD,1,4) = @YYVCT_YY AND PLAN_WORK_CD >= 'A' AND PLAN_WORK_CD <= 'T' AND WORK_PLAN_YYMMDD < CONVERT(VARCHAR, GETDATE(), 112)--오늘일자 보다 하루 적은 날자로 가져온다. AND WORK_START_DT IS NOT NULL AND WORK_END_DT IS NULL GROUP BY CORP_NO, USR_ID ) T7 ON (1=1 AND T7.CORP_NO = T1.CORP_NO AND T7.USR_ID = T1.USR_ID ) --퇴근 미기록 일자 LEFT OUTER JOIN ( SELECT DISTINCT CORP_NO ,STUFF(( SELECT '
' + CONVERT(VARCHAR, CONVERT(DATETIME,WORK_PLAN_YYMMDD), 23) + ' ' + CASE WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 1 THEN '일요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 2 THEN '월요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 3 THEN '화요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 4 THEN '수요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 5 THEN '목요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 6 THEN '금요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 7 THEN '토요일' END + ' (' + PLAN_WORK_CD + ')' FROM SX_GW0050 WHERE CORP_NO + '!' + USR_ID+ '!' + WORK_PLAN_YYMMDD IN ( SELECT CORP_NO + '!' + USR_ID+ '!' + WORK_PLAN_YYMMDD FROM SX_GW0050 WHERE SUBSTRING(WORK_PLAN_YYMMDD,1,4) = @YYVCT_YY AND PLAN_WORK_CD >= 'A' AND PLAN_WORK_CD <= 'T' AND WORK_PLAN_YYMMDD < CONVERT(VARCHAR, GETDATE(), 112)--오늘일자 보다 하루 적은 날자로 가져온다. AND WORK_START_DT IS NOT NULL AND WORK_END_DT IS NULL AND USR_ID = @USR_ID ) ORDER BY WORK_PLAN_YYMMDD FOR XML PATH('') ),1,10,'') AS TG_DATE FROM SX_GW0050 AS P ) T71 ON (1=1 AND T71.CORP_NO = T1.CORP_NO ) --병가, 특별휴가 일수 LEFT OUTER JOIN ( SELECT CORP_NO , RGSTR_ID AS USR_ID , COUNT('A') SPECIAL_CNT FROM SX_GW0110 WHERE SUBSTRING(UPD_DATE,1,4) = @YYVCT_YY AND UPD_WORK_CD IN ('병', 'X', 'Y', 'Z') AND CORP_NO + '!' + CONVERT(VARCHAR, APRVL_DOC_ID) IN (SELECT CORP_NO + '!' + CONVERT(VARCHAR,APRVL_DOC_ID) FROM SX_GW0100 WHERE APPR_STUS_CD = '0003' --승인 완료 AND RGSTR_ID = @USR_ID ) GROUP BY CORP_NO, RGSTR_ID ) T8 ON (1=1 AND T8.CORP_NO = T1.CORP_NO AND T8.USR_ID = T1.USR_ID ) --병가, 특별휴가 일자 LEFT OUTER JOIN ( SELECT DISTINCT CORP_NO ,STUFF(( SELECT '
' + CONVERT(VARCHAR, CONVERT(DATETIME,UPD_DATE), 23) + ' ' + CASE WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 1 THEN '일요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 2 THEN '월요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 3 THEN '화요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 4 THEN '수요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 5 THEN '목요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 6 THEN '금요일' WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 7 THEN '토요일' END + ' (' + UPD_WORK_CD + ')' FROM SX_GW0110 WHERE CORP_NO + '!' + RGSTR_ID + '!' + UPD_DATE IN ( SELECT CORP_NO + '!' + RGSTR_ID + '!' + UPD_DATE FROM SX_GW0110 WHERE SUBSTRING(UPD_DATE,1,4) = @YYVCT_YY AND UPD_WORK_CD IN ('병', 'X', 'Y', 'Z') AND RGSTR_ID = @USR_ID ) AND CORP_NO + '!' + CONVERT(VARCHAR, APRVL_DOC_ID) IN (SELECT CORP_NO + '!' + CONVERT(VARCHAR,APRVL_DOC_ID) FROM SX_GW0100 WHERE APPR_STUS_CD = '0003' --승인 완료 AND RGSTR_ID = @USR_ID ) ORDER BY UPD_DATE FOR XML PATH('') ),1,10,'') AS SPECIAL_DATE FROM SX_GW0110 AS P ) T81 ON (1=1 AND T81.CORP_NO = T1.CORP_NO ) WHERE 1=1 AND T1.CORP_NO = @CORP_NO AND T1.USR_ID = @USR_ID END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_holiday_management_detail_select_id] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-20 -- Create Description : 스카이브릿지 연차등관리에서 일자를 가지고 결재문서 ID 조회하기 -- Update date : -- Update Description : -- exec pr_skybridge_gw_holiday_management_detail_select_id '1111','00001' , '20170301', '승인연차' -- exec pr_skybridge_gw_holiday_management_detail_select_id '1111','10004' , '20170301', '비승인연차' -- exec pr_skybridge_gw_holiday_management_detail_select_id '1111','10216' , '20170301', -- exec pr_skybridge_gw_holiday_management_detail_select_id '1111','10027' , '20170301', -- exec pr_skybridge_gw_holiday_management_detail_select_id '1111','00025' , '20170301', -- select * from SX_GW0010 where USR_NM like '안' + '%' -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_holiday_management_detail_select_id] @CORP_NO VARCHAR(15) --회사번호 , @USR_ID VARCHAR(10) --사용자ID , @APRVL_DATE VARCHAR(8) --결재일자 , @GUBUN VARCHAR(50) --구분 : 승인연차, 비승인연차, 지각, 조퇴, 외출 AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED IF @GUBUN IN ('승인연차') SELECT MAX(TB.APRVL_DOC_ID) AS APRVL_DOC_ID FROM SX_GW0110 TA INNER JOIN SX_GW0090 TB ON (1=1 AND TB.CORP_NO = TA.CORP_NO AND TB.APRVL_DOC_ID = TA.APRVL_DOC_ID AND TB.APRVL_STUS_CD = '0003' --결재완료 AND TB.APRVL_KIND_CD = '0005' --결재종류 : 연차등 AND TB.APLNT_ID = @USR_ID ) WHERE 1=1 AND TA.CORP_NO = @CORP_NO AND TA.RGSTR_ID = @USR_ID AND TA.UPD_DATE = @APRVL_DATE ELSE IF @GUBUN IN ('비승인연차') SELECT MAX(TB.APRVL_DOC_ID) AS APRVL_DOC_ID FROM SX_GW0110 TA INNER JOIN SX_GW0090 TB ON (1=1 AND TB.CORP_NO = TA.CORP_NO AND TB.APRVL_DOC_ID = TA.APRVL_DOC_ID AND TB.APRVL_STUS_CD = '0002' --결재중 AND TB.APRVL_KIND_CD = '0005' --결재종류 : 연차등 AND TB.APLNT_ID = @USR_ID ) WHERE 1=1 AND TA.CORP_NO = @CORP_NO AND TA.RGSTR_ID = @USR_ID AND TA.UPD_DATE = @APRVL_DATE ELSE IF @GUBUN IN ('병가/특별휴가') SELECT MAX(TB.APRVL_DOC_ID) AS APRVL_DOC_ID FROM SX_GW0110 TA INNER JOIN SX_GW0090 TB ON (1=1 AND TB.CORP_NO = TA.CORP_NO AND TB.APRVL_DOC_ID = TA.APRVL_DOC_ID AND TB.APRVL_STUS_CD = '0003' --결재완료 AND TB.APRVL_KIND_CD = '0005' --결재종류 : 연차등 AND TB.APLNT_ID = @USR_ID ) WHERE 1=1 AND TA.CORP_NO = @CORP_NO AND TA.RGSTR_ID = @USR_ID AND TA.UPD_DATE = @APRVL_DATE ELSE IF @GUBUN IN ('지각A') SELECT MAX(TB.APRVL_DOC_ID) AS APRVL_DOC_ID FROM SX_GW0110 TA INNER JOIN SX_GW0090 TB ON (1=1 AND TB.CORP_NO = TA.CORP_NO AND TB.APRVL_DOC_ID = TA.APRVL_DOC_ID AND TB.APRVL_STUS_CD = '0003' --결재완료 AND TB.APRVL_KIND_CD = '0002' --결재종류 : 지각 AND TB.APLNT_ID = @USR_ID ) WHERE 1=1 AND TA.CORP_NO = @CORP_NO AND TA.RGSTR_ID = @USR_ID AND TA.UPD_DATE = @APRVL_DATE ELSE IF @GUBUN IN ('조퇴A') SELECT MAX(TB.APRVL_DOC_ID) AS APRVL_DOC_ID FROM SX_GW0110 TA INNER JOIN SX_GW0090 TB ON (1=1 AND TB.CORP_NO = TA.CORP_NO AND TB.APRVL_DOC_ID = TA.APRVL_DOC_ID AND TB.APRVL_STUS_CD = '0003' --결재완료 AND TB.APRVL_KIND_CD = '0003' --결재종류 : 조퇴 AND TB.APLNT_ID = @USR_ID ) WHERE 1=1 AND TA.CORP_NO = @CORP_NO AND TA.RGSTR_ID = @USR_ID AND TA.UPD_DATE = @APRVL_DATE ELSE IF @GUBUN IN ('외출A') SELECT MAX(TB.APRVL_DOC_ID) AS APRVL_DOC_ID FROM SX_GW0110 TA INNER JOIN SX_GW0090 TB ON (1=1 AND TB.CORP_NO = TA.CORP_NO AND TB.APRVL_DOC_ID = TA.APRVL_DOC_ID AND TB.APRVL_STUS_CD = '0003' --결재완료 AND TB.APRVL_KIND_CD = '0008' --결재종류 : 외출 AND TB.APLNT_ID = @USR_ID ) WHERE 1=1 AND TA.CORP_NO = @CORP_NO AND TA.RGSTR_ID = @USR_ID AND TA.UPD_DATE = @APRVL_DATE ELSE IF @GUBUN IN ('지각') SELECT MAX(TB.APRVL_DOC_ID) AS APRVL_DOC_ID FROM SX_GW0050 TA INNER JOIN SX_GW0090 TB ON (1=1 AND TB.CORP_NO = TA.CORP_NO AND TB.APLNT_ID = TA.RGSTR_ID AND TB.APRVL_STUS_CD IN ('0001', '0002', '0003') AND TB.APRVL_KIND_CD = '0002' --결재종류 : 지각 AND TB.APLNT_ID = @USR_ID ) WHERE 1=1 AND TA.CORP_NO = @CORP_NO AND TA.RGSTR_ID = @USR_ID AND TA.WORK_PLAN_YYMMDD = @APRVL_DATE ELSE IF @GUBUN IN ('조퇴') SELECT MAX(TB.APRVL_DOC_ID) AS APRVL_DOC_ID FROM SX_GW0050 TA INNER JOIN SX_GW0090 TB ON (1=1 AND TB.CORP_NO = TA.CORP_NO AND TB.APLNT_ID = TA.RGSTR_ID AND TB.APRVL_STUS_CD IN ('0001', '0002', '0003') AND TB.APRVL_KIND_CD = '0003' --결재종류 : 조퇴 AND TB.APLNT_ID = @USR_ID ) WHERE 1=1 AND TA.CORP_NO = @CORP_NO AND TA.RGSTR_ID = @USR_ID AND TA.WORK_PLAN_YYMMDD = @APRVL_DATE ELSE IF @GUBUN IN ('외출') SELECT MAX(TB.APRVL_DOC_ID) AS APRVL_DOC_ID FROM SX_GW0050 TA INNER JOIN SX_GW0090 TB ON (1=1 AND TB.CORP_NO = TA.CORP_NO AND TB.APLNT_ID = TA.RGSTR_ID AND TB.APRVL_STUS_CD IN ('0001', '0002', '0003') AND TB.APRVL_KIND_CD = '0008' --결재종류 : 외출 AND TB.APLNT_ID = @USR_ID ) WHERE 1=1 AND TA.CORP_NO = @CORP_NO AND TA.RGSTR_ID = @USR_ID AND TA.WORK_PLAN_YYMMDD = @APRVL_DATE END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_holiday_management_detail_select_new] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-20 -- Create Description : 스카이브릿지 연차등관리 상세 화면 조회- 수정 -- Update date : -- Update Description : -- exec pr_skybridge_gw_holiday_management_detail_select_new '1111','00001' , '2017' -- exec pr_skybridge_gw_holiday_management_detail_select_new '1111','10004' , '2017' -- exec pr_skybridge_gw_holiday_management_detail_select_new '1111','10216' , '2017' -- exec pr_skybridge_gw_holiday_management_detail_select_new '1111','10027' , '2017' -- exec pr_skybridge_gw_holiday_management_detail_select_new '1111','00025' , '2017' --exec pr_skybridge_gw_holiday_management_detail_select_new '1111','00038' , '2020' --select * from SX_GW0010 where USR_NM = '조유진' -- select * from SX_GW0010 where USR_NM like '안' + '%' -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_holiday_management_detail_select_new] @CORP_NO VARCHAR(15) --회사번호 , @USR_ID VARCHAR(10) --사용자ID , @YYVCT_YY VARCHAR(4) --연차년도 AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED -- 신규 작성 SELECT T1.CORP_NO --회사번호 , T1.USR_ID --사용자ID , T1.USR_NM -- 이름 , ISNULL(T11.YYVCT_CNT, 0) AS YYVCT_CNT -- 총연차일수 , ISNULL(COM_CNT,0) AS COM_CNT --승인연차일수 , ISNULL(COM_UPD_DATE,0) AS COM_UPD_DATE --승인연차일 , ISNULL(NONCOM_CNT,0) AS NONCOM_CNT --비승인연차일수 , NONCOM_UPD_DATE AS NONCOM_UPD_DATE --비승인연차일자 , ISNULL(ABSENT_CNT, 0) AS ABSENT_CNT --출퇴근미기록일수 , ISNULL(ABSENT_DATE,0) AS ABSENT_DATE --출퇴근미기록일자 , ISNULL(TG_CNT,0) AS TG_CNT --퇴근 미기록 일수 , TG_DATE AS TG_DATE --퇴근미기록일자 , ISNULL(T2.SPECIAL_CNT,0) AS SPECIAL_CNT --병가특별휴가일수 , ISNULL(T81.SPECIAL_DATE,0) AS SPECIAL_DATE --병가특별휴가일자 , T2.LATE_DCNT AS LATE_DCNT --지각횟수 , LATE_DATE --지각일자 , T2.SKIPOFF_DCNT AS SKIPOFF_DCNT --조퇴횟수 , SKIPOFF_DATE--조퇴일자 , T2.OUTING_CNT AS OUTING_CNT --외출횟수 , OUTING_DATE--외출일자 , CONVERT(VARCHAR,ISNULL(T11.YYVCT_CNT, 0) - (ISNULL(COM_CNT,0) + ISNULL(NONCOM_CNT,0) + ISNULL(ABSENT_CNT, 0))) + ' = ' + CONVERT(VARCHAR,ISNULL(T11.YYVCT_CNT, 0)) + ' - ( ' + CONVERT(VARCHAR,ISNULL(COM_CNT,0)) + ' + ' + CONVERT(VARCHAR,ISNULL(NONCOM_CNT,0))+ ' + ' + CONVERT(VARCHAR,ISNULL(ABSENT_CNT,0)) + ')' AS REAMIN_HOLIDAY --잔여휴가 = 총연차일 - (승인연차 + 비승인연차 + 출퇴근미기록) FROM (SELECT * FROM SX_GW0010 --사용자 WHERE 1=1 AND CORP_NO = @CORP_NO AND USR_ID = @USR_ID ) T1 LEFT OUTER JOIN --INNER JOIN ( SELECT * FROM SX_GW0060 --총연차 WHERE 1=1 AND CORP_NO = @CORP_NO AND USR_ID = @USR_ID AND YYVCT_YY = @YYVCT_YY ) T11 ON (1=1 AND T11.CORP_NO = T1.CORP_NO AND T11.USR_ID = T1.USR_ID ) --승인 연차 LEFT OUTER JOIN ( --INNER JOIN ( SELECT A.CORP_NO, A.USR_ID, --SUM(CASE WHEN ISNULL(NULLIF(A.ABTI_YN, ''), 'N') != 'Y' THEN B.APLY_WORK_DAY END) AS WORK_DCNT, --근무 SUM(B.YYCT_DEDU_DAY) AS COM_CNT, --YYCT_DEDU_DCNT, --연차사용일수 --COUNT(CASE WHEN ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) = '결' OR A.ABTI_YN = 'Y' THEN 1 END) AS ABTI_DCNT, --결근 COUNT(CASE WHEN A.LATE_MIN > 0 THEN 1 END) AS LATE_DCNT, --지각 --조퇴는 오후반차(H), 야근반차(J) 인경우 제외한다(20170425) COUNT(CASE WHEN A.SKIPOFF_REMN_BZ_MIN > 0 AND ISNULL(A.WORK_CD, A.PLAN_WORK_CD) NOT IN ('H', 'J') THEN 1 END) AS SKIPOFF_DCNT, --조퇴 SUM(A.OUTING_CNT) AS OUTING_CNT, --외출횟수 SUM(A.OUTING_MIN) AS OUTING_MIN, --외출시간(분) COUNT(CASE WHEN ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) IN ('병', 'X', 'Y') THEN 1 END) AS SPECIAL_CNT --SICKLEAVE_DCNT --병가, 특별휴가 일수 --SUM(A.TOT_WORK_MIN) AS TOT_WORK_MIN, --SUM(A.LATE_MIN) AS LATE_MIN, --SUM(A.SKIPOFF_REMN_BZ_MIN) AS SKIPOFF_REMN_BZ_MIN, --SUM(A.INCLU_WORK_OT_MIN) AS INCLU_WORK_OT_MIN, --SUM(A.OT_WORK_MIN) AS OT_WORK_MIN, --SUM(A.NGT_OT_MIN) AS NGT_OT_MIN FROM SX_GW0050 A LEFT JOIN SX_CO0070 B ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.USR_ID = @USR_ID AND A.WORK_PLAN_YYMMDD LIKE @YYVCT_YY + '%' AND A.WORK_PLAN_YYMMDD IN ( SELECT T2.UPD_DATE FROM SX_GW0090 T1 INNER JOIN SX_GW0110 T2 ON (T1.CORP_NO = T2.CORP_NO AND T1.APRVL_DOC_ID = T2.APRVL_DOC_ID ) WHERE T1.APRVL_STUS_CD = '0003' --결재완료 AND T1.CORP_NO = @CORP_NO AND T1.APLNT_ID = @USR_ID ) GROUP BY A.CORP_NO, A.USR_ID ) T2 ON( 1=1 AND T2.CORP_NO = T1.CORP_NO AND T2.USR_ID = T1.USR_ID ) --승인완료 연차 일자 : 일1, 월2, 화3, 수4, 목5, 금6, 토7 LEFT OUTER JOIN ( SELECT DISTINCT CORP_NO ,STUFF(( SELECT '
' + CONVERT(VARCHAR, CONVERT(DATETIME,WORK_PLAN_YYMMDD), 23) + ' ' + CASE WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 1 THEN '일요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 2 THEN '월요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 3 THEN '화요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 4 THEN '수요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 5 THEN '목요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 6 THEN '금요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 7 THEN '토요일' END + ' (' + ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) + ')' FROM SX_GW0050 A LEFT JOIN SX_CO0070 B ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.USR_ID = @USR_ID AND A.WORK_PLAN_YYMMDD LIKE @YYVCT_YY + '%' --AND B.WORK_CD IN ('V', 'H', 'I', 'J') --연차, 반차 AND B.WORK_CD IN(SELECT WORK_CD FROM SX_CO0070 WHERE ISNULL(YYCT_DEDU_DAY, 0) > 0) AND A.WORK_PLAN_YYMMDD IN ( SELECT T2.UPD_DATE FROM SX_GW0090 T1 INNER JOIN SX_GW0110 T2 ON (T1.CORP_NO = T2.CORP_NO AND T1.APRVL_DOC_ID = T2.APRVL_DOC_ID ) WHERE T1.APRVL_STUS_CD = '0003' --결재완료 AND T1.CORP_NO = @CORP_NO AND T1.APLNT_ID = @USR_ID ) ORDER BY WORK_PLAN_YYMMDD FOR XML PATH('') ),1,10,'') AS COM_UPD_DATE FROM SX_CO0070 AS P ) T4 ON( 1=1 AND T4.CORP_NO = T1.CORP_NO ) --비승인 연차 LEFT OUTER JOIN ( --INNER JOIN ( SELECT A.CORP_NO, A.USR_ID, --SUM(CASE WHEN ISNULL(NULLIF(A.ABTI_YN, ''), 'N') != 'Y' THEN B.APLY_WORK_DAY END) AS WORK_DCNT, --근무 SUM(B.YYCT_DEDU_DAY) AS NONCOM_CNT , --비승인연차일수 --COUNT(CASE WHEN ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) = '결' OR A.ABTI_YN = 'Y' THEN 1 END) AS ABTI_DCNT, --결근 COUNT(CASE WHEN A.LATE_MIN > 0 THEN 1 END) AS LATE_DCNT, --지각 --조퇴는 오후반차(H), 야근반차(J) 인경우 제외한다(20170425) COUNT(CASE WHEN A.SKIPOFF_REMN_BZ_MIN > 0 AND ISNULL(A.WORK_CD, A.PLAN_WORK_CD) NOT IN ('H', 'J') THEN 1 END) AS SKIPOFF_DCNT, --조퇴 SUM(A.OUTING_CNT) AS OUTING_CNT, --외출횟수 SUM(A.OUTING_MIN) AS OUTING_MIN, --외출시간(분) COUNT(CASE WHEN ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) IN ('병', 'X', 'Y') THEN 1 END) AS SPECIAL_CNT --SICKLEAVE_DCNT --병가, 특별휴가 일수 --SUM(A.TOT_WORK_MIN) AS TOT_WORK_MIN, --SUM(A.LATE_MIN) AS LATE_MIN, --SUM(A.SKIPOFF_REMN_BZ_MIN) AS SKIPOFF_REMN_BZ_MIN, --SUM(A.INCLU_WORK_OT_MIN) AS INCLU_WORK_OT_MIN, --SUM(A.OT_WORK_MIN) AS OT_WORK_MIN, --SUM(A.NGT_OT_MIN) AS NGT_OT_MIN FROM SX_GW0050 A LEFT JOIN SX_CO0070 B ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.USR_ID = @USR_ID AND A.WORK_PLAN_YYMMDD LIKE @YYVCT_YY + '%' AND A.WORK_PLAN_YYMMDD NOT IN ( SELECT T2.UPD_DATE FROM SX_GW0090 T1 INNER JOIN SX_GW0110 T2 ON (T1.CORP_NO = T2.CORP_NO AND T1.APRVL_DOC_ID = T2.APRVL_DOC_ID ) WHERE T1.APRVL_STUS_CD = '0003' --결재완료 AND T1.CORP_NO = @CORP_NO AND T1.APLNT_ID = @USR_ID ) GROUP BY A.CORP_NO, A.USR_ID ) T31 ON( 1=1 AND T31.CORP_NO = T1.CORP_NO AND T31.USR_ID = T1.USR_ID ) --비승인연차 일자 : 일1, 월2, 화3, 수4, 목5, 금6, 토7 LEFT OUTER JOIN ( SELECT DISTINCT CORP_NO ,STUFF(( SELECT '
' + CONVERT(VARCHAR, CONVERT(DATETIME,WORK_PLAN_YYMMDD), 23) + ' ' + CASE WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 1 THEN '일요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 2 THEN '월요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 3 THEN '화요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 4 THEN '수요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 5 THEN '목요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 6 THEN '금요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 7 THEN '토요일' END + ' (' + ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) + ')' FROM SX_GW0050 A LEFT JOIN SX_CO0070 B ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.USR_ID = @USR_ID AND A.WORK_PLAN_YYMMDD LIKE @YYVCT_YY + '%' --AND B.WORK_CD IN ('V', 'H', 'I', 'J') --연차, 반차 AND B.WORK_CD IN(SELECT WORK_CD FROM SX_CO0070 WHERE ISNULL(YYCT_DEDU_DAY, 0) > 0) AND A.WORK_PLAN_YYMMDD NOT IN ( SELECT T2.UPD_DATE FROM SX_GW0090 T1 INNER JOIN SX_GW0110 T2 ON (T1.CORP_NO = T2.CORP_NO AND T1.APRVL_DOC_ID = T2.APRVL_DOC_ID ) WHERE T1.APRVL_STUS_CD = '0003' --결재완료 AND T1.CORP_NO = @CORP_NO AND T1.APLNT_ID = @USR_ID ) ORDER BY WORK_PLAN_YYMMDD FOR XML PATH('') ),1,10,'') AS NONCOM_UPD_DATE FROM SX_CO0070 AS P ) T5 ON( 1=1 AND T4.CORP_NO = T1.CORP_NO ) -- --비승인 연차 일수 - OLD -- LEFT OUTER JOIN ( -- SELECT A.CORP_NO -- , A.APLNT_ID AS USR_ID -- , SUM(CASE WHEN UPD_WORK_CD IN ('V') THEN 1 --연차면 1일, -- WHEN UPD_WORK_CD IN ('H', 'I', 'J') THEN 0.5 --반차면 0.5일을 뺀다 -- ELSE 0 END) AS NONCOM_CNT --비승인연차일수 -- FROM SX_GW0090 A -- LEFT OUTER JOIN SX_GW0110 C -- ON( 1=1 -- AND C.CORP_NO = A.CORP_NO -- AND C.APRVL_DOC_ID = A.APRVL_DOC_ID -- ) -- WHERE 1=1 -- AND A.CORP_NO = @CORP_NO -- AND A.APLNT_ID = @USR_ID -- AND SUBSTRING(C.UPD_DATE,1,4) = @YYVCT_YY --해당년도의 연차만 조회 -- AND A.APRVL_KIND_CD = '0005' --연차등만 조회 -- AND A.APRVL_STUS_CD = '0002' --결재중 -- GROUP BY A.CORP_NO, A.APLNT_ID -- ) T31 --ON (1=1 -- AND T31.CORP_NO = T1.CORP_NO -- AND T31.USR_ID = T1.USR_ID -- ) -- --비승인 연차 일자 -- LEFT OUTER JOIN ( -- SELECT DISTINCT CORP_NO -- , STUFF(( -- SELECT '
' + -- CONVERT(VARCHAR, CONVERT(DATETIME,UPD_DATE), 23) + ' ' + -- CASE WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 1 THEN '일요일' -- WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 2 THEN '월요일' -- WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 3 THEN '화요일' -- WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 4 THEN '수요일' -- WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 5 THEN '목요일' -- WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 6 THEN '금요일' -- WHEN DATEPART (DW, CONVERT(DATETIME,UPD_DATE)) = 7 THEN '토요일' -- END + ' (' + ISNULL(NULLIF(UPD_WORK_CD, ''), UPD_BF_WORK_CD) + ')' -- FROM SX_GW0110 AS TA INNER JOIN SX_GW0090 AS TB -- ON TB.CORP_NO = TA.CORP_NO -- AND TB.APRVL_DOC_ID = TA.APRVL_DOC_ID -- WHERE 1=1 -- AND TA.CORP_NO = @CORP_NO -- AND TB.APLNT_ID = @USR_ID -- AND TA.UPD_WORK_CD IN ('V', 'H', 'I', 'J') -- AND SUBSTRING(TA.UPD_DATE,1,4) = @YYVCT_YY --당해년도 -- AND TB.APRVL_KIND_CD = '0005' --결재문서가 '연차등'인 경우 -- AND TB.APRVL_STUS_CD = '0002' --결재중 -- ORDER BY UPD_DATE -- FOR XML PATH('') -- ),1,10,'') AS NONCOM_UPD_DATE -- FROM SX_GW0110 -- ) T5 -- ON( 1=1 -- AND T5.CORP_NO = T1.CORP_NO -- ) --출퇴근 미기록 일수 --출퇴근 미기록은 연차(V), '병', 특별휴무(X), 예비군훈련(Y)은 제외한 일자만 표시 한다. LEFT OUTER JOIN ( SELECT CORP_NO , USR_ID , COUNT('A') ABSENT_CNT FROM SX_GW0050 WHERE SUBSTRING(WORK_PLAN_YYMMDD,1,4) = @YYVCT_YY AND WORK_PLAN_YYMMDD < CONVERT(VARCHAR, GETDATE(), 112)--오늘일자 보다 하루 적은 날자로 가져온다. /* AND PLAN_WORK_CD >= 'A' AND PLAN_WORK_CD <= 'T' */ AND ISNULL(WORK_CD, PLAN_WORK_CD) >= 'A' AND ISNULL(WORK_CD, PLAN_WORK_CD) <= 'T' AND WORK_START_DT IS NULL AND WORK_END_DT IS NULL AND ISNULL(WORK_CD, PLAN_WORK_CD) NOT IN ('V', '병', 'X', 'Y') --연차, 병가, 특별휴무, 예비군훈련은 제외한다.(20170425추가) GROUP BY CORP_NO, USR_ID ) T6 ON (1=1 AND T6.CORP_NO = T1.CORP_NO AND T6.USR_ID = T1.USR_ID ) --출퇴근 미기록 일자 LEFT OUTER JOIN ( SELECT DISTINCT CORP_NO ,STUFF(( SELECT '
' + CONVERT(VARCHAR, CONVERT(DATETIME,WORK_PLAN_YYMMDD), 23) + ' ' + CASE WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 1 THEN '일요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 2 THEN '월요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 3 THEN '화요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 4 THEN '수요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 5 THEN '목요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 6 THEN '금요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 7 THEN '토요일' END + ' (' + PLAN_WORK_CD + ')' FROM SX_GW0050 WHERE CORP_NO + '!' + USR_ID + '!' + WORK_PLAN_YYMMDD IN ( SELECT CORP_NO + '!' + USR_ID + '!' + WORK_PLAN_YYMMDD FROM SX_GW0050 WHERE SUBSTRING(WORK_PLAN_YYMMDD,1,4) = @YYVCT_YY AND WORK_PLAN_YYMMDD < CONVERT(VARCHAR, GETDATE(), 112)--오늘일자 보다 하루 적은 날자로 가져온다. AND ISNULL(WORK_CD, PLAN_WORK_CD) >= 'A' AND ISNULL(WORK_CD, PLAN_WORK_CD) <= 'T' AND WORK_START_DT IS NULL AND WORK_END_DT IS NULL AND USR_ID = @USR_ID AND ISNULL(WORK_CD, PLAN_WORK_CD) NOT IN ('V', '병', 'X', 'Y') --연차, 병가, 특별휴무, 예비군훈련은 제외한다.(20170425추가) ) ORDER BY WORK_PLAN_YYMMDD FOR XML PATH('') ),1,10,'') AS ABSENT_DATE FROM SX_GW0050 AS P ) T61 ON( 1=1 AND T61.CORP_NO = T1.CORP_NO ) --퇴근 미기록 일수 LEFT OUTER JOIN ( SELECT CORP_NO , USR_ID , COUNT('A') TG_CNT FROM SX_GW0050 WHERE SUBSTRING(WORK_PLAN_YYMMDD,1,4) = @YYVCT_YY AND PLAN_WORK_CD >= 'A' AND PLAN_WORK_CD <= 'T' AND WORK_PLAN_YYMMDD < CONVERT(VARCHAR, GETDATE(), 112)--오늘일자 보다 하루 적은 날자로 가져온다. AND WORK_START_DT IS NOT NULL AND WORK_END_DT IS NULL GROUP BY CORP_NO, USR_ID ) T7 ON (1=1 AND T7.CORP_NO = T1.CORP_NO AND T7.USR_ID = T1.USR_ID ) --퇴근 미기록 일자 LEFT OUTER JOIN ( SELECT DISTINCT CORP_NO ,STUFF(( SELECT '
' + CONVERT(VARCHAR, CONVERT(DATETIME,WORK_PLAN_YYMMDD), 23) + ' ' + CASE WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 1 THEN '일요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 2 THEN '월요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 3 THEN '화요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 4 THEN '수요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 5 THEN '목요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 6 THEN '금요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 7 THEN '토요일' END + ' (' + PLAN_WORK_CD + ')' FROM SX_GW0050 WHERE CORP_NO + '!' + USR_ID+ '!' + WORK_PLAN_YYMMDD IN ( SELECT CORP_NO + '!' + USR_ID+ '!' + WORK_PLAN_YYMMDD FROM SX_GW0050 WHERE SUBSTRING(WORK_PLAN_YYMMDD,1,4) = @YYVCT_YY AND PLAN_WORK_CD >= 'A' AND PLAN_WORK_CD <= 'T' AND WORK_PLAN_YYMMDD < CONVERT(VARCHAR, GETDATE(), 112)--오늘일자 보다 하루 적은 날자로 가져온다. AND WORK_START_DT IS NOT NULL AND WORK_END_DT IS NULL AND USR_ID = @USR_ID ) ORDER BY WORK_PLAN_YYMMDD FOR XML PATH('') ),1,10,'') AS TG_DATE FROM SX_GW0050 AS P ) T71 ON (1=1 AND T71.CORP_NO = T1.CORP_NO ) --병가, 특별휴가 일자 LEFT OUTER JOIN ( SELECT DISTINCT CORP_NO ,STUFF(( SELECT '
' + CONVERT(VARCHAR, CONVERT(DATETIME,WORK_PLAN_YYMMDD), 23) + ' ' + CASE WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 1 THEN '일요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 2 THEN '월요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 3 THEN '화요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 4 THEN '수요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 5 THEN '목요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 6 THEN '금요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 7 THEN '토요일' END + ' (' + ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) + ')' FROM SX_GW0050 A LEFT JOIN SX_CO0070 B ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.USR_ID = @USR_ID AND A.WORK_PLAN_YYMMDD LIKE @YYVCT_YY + '%' AND B.WORK_CD IN ('병', 'X', 'Y', 'Z') ORDER BY WORK_PLAN_YYMMDD FOR XML PATH('') ),1,10,'') AS SPECIAL_DATE FROM SX_CO0070 AS P ) T81 ON (1=1 AND T81.CORP_NO = T1.CORP_NO ) --지각 일자 : 일1, 월2, 화3, 수4, 목5, 금6, 토7 LEFT OUTER JOIN ( SELECT DISTINCT CORP_NO ,STUFF(( SELECT '
' + CONVERT(VARCHAR, CONVERT(DATETIME,WORK_PLAN_YYMMDD), 23) + ' ' + CASE WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 1 THEN '일요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 2 THEN '월요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 3 THEN '화요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 4 THEN '수요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 5 THEN '목요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 6 THEN '금요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 7 THEN '토요일' END + ' (' + ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) + ')' FROM SX_GW0050 A WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.USR_ID = @USR_ID AND A.WORK_PLAN_YYMMDD LIKE @YYVCT_YY + '%' AND A.LATE_MIN > 0 ORDER BY WORK_PLAN_YYMMDD FOR XML PATH('') ),1,10,'') AS LATE_DATE FROM SX_GW0050 AS P ) T91 ON( 1=1 AND T91.CORP_NO = T1.CORP_NO ) --조퇴 일자 : 일1, 월2, 화3, 수4, 목5, 금6, 토7 LEFT OUTER JOIN ( SELECT DISTINCT CORP_NO ,STUFF(( SELECT '
' + CONVERT(VARCHAR, CONVERT(DATETIME,WORK_PLAN_YYMMDD), 23) + ' ' + CASE WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 1 THEN '일요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 2 THEN '월요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 3 THEN '화요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 4 THEN '수요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 5 THEN '목요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 6 THEN '금요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 7 THEN '토요일' END + ' (' + ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) + ')' FROM SX_GW0050 A WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.USR_ID = @USR_ID AND A.WORK_PLAN_YYMMDD LIKE @YYVCT_YY + '%' AND A.SKIPOFF_REMN_BZ_MIN > 0 AND ISNULL(A.WORK_CD, A.PLAN_WORK_CD) NOT IN ('H', 'J') --조퇴는 오후반차(H), 야근반차(J) 인경우 제외한다(20170425) ORDER BY WORK_PLAN_YYMMDD FOR XML PATH('') ),1,10,'') AS SKIPOFF_DATE FROM SX_GW0050 AS P ) T92 ON( 1=1 AND T92.CORP_NO = T1.CORP_NO ) --외출 일자 : 일1, 월2, 화3, 수4, 목5, 금6, 토7 LEFT OUTER JOIN ( SELECT DISTINCT CORP_NO ,STUFF(( SELECT '
' + CONVERT(VARCHAR, CONVERT(DATETIME,WORK_PLAN_YYMMDD), 23) + ' ' + CASE WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 1 THEN '일요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 2 THEN '월요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 3 THEN '화요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 4 THEN '수요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 5 THEN '목요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 6 THEN '금요일' WHEN DATEPART (DW, CONVERT(DATETIME,WORK_PLAN_YYMMDD)) = 7 THEN '토요일' END + ' (' + ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) + ')' FROM SX_GW0050 A WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.USR_ID = @USR_ID AND A.WORK_PLAN_YYMMDD LIKE @YYVCT_YY + '%' AND A.OUTING_CNT >= 1 ORDER BY WORK_PLAN_YYMMDD FOR XML PATH('') ),1,10,'') AS OUTING_DATE FROM SX_GW0050 AS P ) T93 ON( 1=1 AND T93.CORP_NO = T1.CORP_NO ) WHERE 1=1 AND T1.CORP_NO = @CORP_NO AND T1.USR_ID = @USR_ID END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_holiday_request_detail_select_new] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-17 -- Create Description : 스카이브릿지 연차등신청 상세 화면 조회 -- Update date : -- Update Description : -- exec pr_skybridge_gw_holiday_request_detail_select_new '1111','10027' , '2017' --안순회씨 -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_holiday_request_detail_select_new] @CORP_NO VARCHAR(15) --회사번호 , @USR_ID VARCHAR(10) --사용자ID , @YYVCT_YY VARCHAR(4) --연차년도 AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED SELECT --T1.* , --T2.* , T1.CORP_NO , T1.USR_ID , T1.WORK_CD , T1.FREE_CNT , T1.WORK_PLAN_YYMMDD , T2.APRVL_STUS_DS , T2.APRVL_DOC_ID , T2.APRVL_STUS_CD , T2.APRVL_KIND_CD , T2.OFFER_DT , T2.CMPL_DT , T2.APRVL_CMPL_SNO , T2.FINAL_APRVL_SNO --, T2.USER_ID , T2.APLNT_NM , T2.BZ_DEPUTY_NM , T2.UPD_BF_WORK_CD , ISNULL(T2.UPD_WORK_CD, WORK_CD) AS UPD_WORK_CD , ISNULL(T2.APLNT_CN, '<<< 결재 필요 >>>') AS APLNT_CN , T2.BZ_CN , T2.OFFER_CN , T2.UPD_DT , T2.COMM_CD_NM , ISNULL (T2.UPD_DATE,WORK_PLAN_YYMMDD) AS UPD_DATE FROM ( SELECT A.CORP_NO, A.USR_ID, ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) AS WORK_CD, ISNULL(B.YYCT_DEDU_DAY,0) AS FREE_CNT, --연차사용일수 WORK_PLAN_YYMMDD --연차일자 FROM SX_GW0050 A LEFT JOIN SX_CO0070 B ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.USR_ID = @USR_ID AND A.WORK_PLAN_YYMMDD LIKE @YYVCT_YY + '%' AND ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) IN ('H', 'I', 'J', 'V', '병','U', 'X', 'Y') ) T1 left outer join --inner JOIN ( SELECT A.COMM_CD_NM AS APRVL_STUS_DS --결재 , A.* FROM ( SELECT A.CORP_NO, A.APRVL_DOC_ID, A.APRVL_STUS_CD, A.APRVL_KIND_CD, A.OFFER_DT, A.CMPL_DT, A.APRVL_CMPL_SNO, A.FINAL_APRVL_SNO, A.APLNT_ID AS USR_ID, U1.USR_NM AS APLNT_NM, U4.USR_NM AS BZ_DEPUTY_NM, U3.UPD_BF_WORK_CD, U3.UPD_WORK_CD, A.APLNT_CN , A.BZ_CN, A.OFFER_CN, A.UPD_DT, COMM_CD_NM, UPD_DATE FROM (SELECT * FROM SX_GW0090 WHERE CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) IN ( SELECT CORP_NO + '|' + CONVERT(VARCHAR, MAX(APRVL_DOC_ID)) FROM SX_GW0110 WHERE CORP_NO = @CORP_NO AND RGSTR_ID = @USR_ID GROUP BY CORP_NO, UPD_DATE ) ) A --같은날 중복으로 결재신청이 될수 있으므로 마지막으로 신청한 것만 사용 LEFT JOIN SX_GW0010 U1 ON(1=1 AND U1.CORP_NO = A.CORP_NO AND U1.USR_ID = A.APLNT_ID ) LEFT JOIN (SELECT CORP_NO , APRVL_DOC_ID , UPD_DATE AS UPD_DATE , UPD_BF_WORK_CD AS UPD_BF_WORK_CD --변경전 근무 코드 , UPD_WORK_CD AS UPD_WORK_CD --변경후 근무코드 FROM SX_GW0110 ) U3 ON(1=1 AND U3.CORP_NO = A.CORP_NO AND U3.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U4 ON(1=1 AND U4.USR_ID = A.BZ_DEPUTY_ID ) LEFT JOIN SX_CO0040 COMMON ON (1=1 AND COMMON.CORP_NO = A.CORP_NO AND COMMON.COMM_CL_CD = 'SX011' --결재상태코드 AND COMMON.COMM_CD = APRVL_STUS_CD ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.APLNT_ID = @USR_ID AND SUBSTRING(UPD_DATE,1,4) = @YYVCT_YY --AND APRVL_STUS_CD IN ('0003') --결재완료 AND UPD_WORK_CD IN ('H', 'I', 'J', 'V', '병','U', 'X', 'Y') ) A ) T2 ON (1=1 AND T1.CORP_NO = T2.CORP_NO AND T1.USR_ID = T2.USR_ID AND T1.WORK_PLAN_YYMMDD = T2.UPD_DATE ) ORDER BY T1.WORK_PLAN_YYMMDD END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_holiday_request_detail_select_total_new] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-17 -- Create Description : 스카이브릿지 연차등신청 상세 화면 합계 조회 -- Update date : -- Update Description : -- exec pr_skybridge_gw_holiday_request_detail_select_total_new '1111','00001' , '2017' -- exec pr_skybridge_gw_holiday_request_detail_select_total_new '1111','10004' , '2017' -- exec pr_skybridge_gw_holiday_request_detail_select_total_new '1111','10027' , '2017' -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_holiday_request_detail_select_total_new] @CORP_NO VARCHAR(15) --회사번호 , @USR_ID VARCHAR(10) --사용자ID , @YYVCT_YY VARCHAR(4) --연차년도 AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED -- 20170601 신규 작성 (pr_skybridge_gw_holiday_request_detail_select_new 과 같은 쿼리 사용 SELECT '총연차일 : ' + CONVERT(VARCHAR, ISNULL(YYVCT_CNT * 1.00,0)) + '일' AS YYVCT_CNT --총연차일 , '신청일수 : ' + CONVERT(VARCHAR, ISNULL(FREE_CNT,0)) + '일' AS SINCHUNG_CNT --신청일수 , '사용일수 : ' + CONVERT(VARCHAR, ISNULL(FREE_CNT,0)) + '일' AS USD_CNT --사용일수 , '특휴·병가등일수 : ' + CONVERT(VARCHAR, ISNULL(SPECIAL_CNT*1.00,0)) + '일' AS SPECIAL_CNT --특휴병가등일수 , '잔여연차 : ' + CONVERT(VARCHAR, ISNULL(YYVCT_CNT,0) - ISNULL(FREE_CNT,0)) + '일' AS REMAIN_CNT --잔여연차 FROM ( --pr_skybridge_gw_holiday_request_detail_select_new 과 같은 쿼리 SELECT MAX(T1.CORP_NO) AS CORP_NO , SUM(T1.FREE_CNT) AS FREE_CNT , SUM(T1.SPECIAL_CNT) AS SPECIAL_CNT FROM ( SELECT A.CORP_NO, A.USR_ID, ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) AS WORK_CD, ISNULL(B.YYCT_DEDU_DAY,0) AS FREE_CNT, --연차사용일수 CASE WHEN ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) IN ('병', 'X', 'Y') THEN 1 ELSE 0 END AS SPECIAL_CNT, WORK_PLAN_YYMMDD --연차일자 FROM SX_GW0050 A LEFT JOIN SX_CO0070 B ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.USR_ID = @USR_ID AND A.WORK_PLAN_YYMMDD LIKE @YYVCT_YY + '%' AND ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) IN ('H', 'I', 'J', 'V', '병','U', 'X', 'Y') ) T1 left outer JOIN ( SELECT A.COMM_CD_NM AS APRVL_STUS_DS --결재 , A.* FROM ( SELECT A.CORP_NO, A.APRVL_DOC_ID, A.APRVL_STUS_CD, A.APRVL_KIND_CD, A.OFFER_DT, A.CMPL_DT, A.APRVL_CMPL_SNO, A.FINAL_APRVL_SNO, A.APLNT_ID AS USR_ID, U1.USR_NM AS APLNT_NM, U4.USR_NM AS BZ_DEPUTY_NM, U3.UPD_BF_WORK_CD, U3.UPD_WORK_CD, A.APLNT_CN , A.BZ_CN, A.OFFER_CN, A.UPD_DT, COMM_CD_NM, UPD_DATE FROM (SELECT * FROM SX_GW0090 WHERE CORP_NO + '|' + CONVERT(VARCHAR, APRVL_DOC_ID) IN ( SELECT CORP_NO + '|' + CONVERT(VARCHAR, MAX(APRVL_DOC_ID)) FROM SX_GW0110 WHERE CORP_NO = @CORP_NO AND RGSTR_ID = @USR_ID GROUP BY CORP_NO, UPD_DATE ) ) A --같은날 중복으로 결재신청이 될수 있으므로 마지막으로 신청한 것만 사용 LEFT JOIN SX_GW0010 U1 ON(1=1 AND U1.CORP_NO = A.CORP_NO AND U1.USR_ID = A.APLNT_ID ) LEFT JOIN (SELECT CORP_NO , APRVL_DOC_ID , UPD_DATE AS UPD_DATE , UPD_BF_WORK_CD AS UPD_BF_WORK_CD --변경전 근무 코드 , UPD_WORK_CD AS UPD_WORK_CD --변경후 근무코드 FROM SX_GW0110 ) U3 ON(1=1 AND U3.CORP_NO = A.CORP_NO AND U3.APRVL_DOC_ID = A.APRVL_DOC_ID ) LEFT JOIN SX_GW0010 U4 ON(1=1 AND U4.USR_ID = A.BZ_DEPUTY_ID ) LEFT JOIN SX_CO0040 COMMON ON (1=1 AND COMMON.CORP_NO = A.CORP_NO AND COMMON.COMM_CL_CD = 'SX011' --결재상태코드 AND COMMON.COMM_CD = APRVL_STUS_CD ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.APLNT_ID = @USR_ID AND SUBSTRING(UPD_DATE,1,4) = @YYVCT_YY --AND APRVL_STUS_CD IN ('0003') --결재완료 AND UPD_WORK_CD IN ('H', 'I', 'J', 'V', '병','U', 'X', 'Y') ) A ) T2 ON (1=1 AND T1.CORP_NO = T2.CORP_NO AND T1.USR_ID = T2.USR_ID AND T1.WORK_PLAN_YYMMDD = T2.UPD_DATE ) ) TX LEFT OUTER JOIN ( SELECT * FROM SX_GW0060 WHERE CORP_NO = @CORP_NO AND USR_ID = @USR_ID AND YYVCT_YY = @YYVCT_YY ) TY ON (1=1) --************************************************************************************************************************************** -- 2017601 이전 버젼 --SELECT '총연차일 : ' + CONVERT(VARCHAR, ISNULL(YYVCT_CNT * 1.00,0)) + '일' AS YYVCT_CNT --총연차일 -- , '신청일수 : ' + CONVERT(VARCHAR, ISNULL(COM_CNT,0)) + '일' AS SINCHUNG_CNT --신청일수 -- , '사용일수 : ' + CONVERT(VARCHAR, ISNULL(COM_CNT,0)) + '일' AS USD_CNT --사용일수 -- , '특휴·병가등일수 : ' + CONVERT(VARCHAR, ISNULL(SPECIAL_CNT*1.00,0)) + '일' AS SPECIAL_CNT --특휴병가등일수 -- , '잔여연차 : ' + CONVERT(VARCHAR, ISNULL(YYVCT_CNT,0) - ISNULL(COM_CNT,0)) + '일' AS REMAIN_CNT --잔여연차 -- FROM -- ( SELECT * -- FROM SX_GW0060 -- WHERE CORP_NO = @CORP_NO -- AND USR_ID = @USR_ID -- AND YYVCT_YY = @YYVCT_YY ) A -- inner JOIN -- ( SELECT -- SUM(B.YYCT_DEDU_DAY) AS COM_CNT, --YYCT_DEDU_DCNT, --연차사용일수 -- COUNT(CASE WHEN A.LATE_MIN > 0 THEN 1 END) AS LATE_DCNT, --지각 -- COUNT(CASE WHEN A.SKIPOFF_REMN_BZ_MIN > 0 THEN 1 END) AS SKIPOFF_DCNT, --조퇴 -- SUM(A.OUTING_CNT) AS OUTING_CNT, --외출횟수 -- SUM(A.OUTING_MIN) AS OUTING_MIN, --외출시간(분) -- COUNT(CASE WHEN ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) IN ('병', 'X', 'Y') THEN 1 END) AS SPECIAL_CNT --SICKLEAVE_DCNT --병가, 특별휴가 일수 -- FROM SX_GW0050 A -- LEFT JOIN SX_CO0070 B -- ON(1=1 -- AND B.CORP_NO = A.CORP_NO -- AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) -- ) -- WHERE 1=1 -- AND A.CORP_NO = @CORP_NO -- AND A.USR_ID = @USR_ID -- AND A.WORK_PLAN_YYMMDD LIKE @YYVCT_YY + '%' -- ) B ON (1=1) -- WHERE 1=1 END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_monthly_working_time_select] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-02-02 -- Create Description : 스카이브릿지 그룹웨어 월별근무시간 조회 -- Update date : -- Update Description : -- exec pr_skybridge_gw_monthly_working_time_select '1111',NULL,NULL,'','','','','','',NULL,'20170201','20170228','20170201' -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_monthly_working_time_select] @P0 nvarchar(4000) ,@P1 varchar(8000) ,@P2 varchar(8000) ,@P3 nvarchar(4000) ,@P4 nvarchar(4000) ,@P5 nvarchar(4000) ,@P6 nvarchar(4000) ,@P7 nvarchar(4000) ,@P8 nvarchar(4000) ,@P9 varchar(8000) ,@P10 nvarchar(4000) ,@P11 nvarchar(4000) ,@P12 nvarchar(4000) AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED ; WITH USER1 AS ( SELECT U.CORP_NO, U.USR_ID, U.USR_NM, U.TEAM_CD, U.DUTY_CD FROM SX_GW0010 U WHERE 1=1 AND U.CORP_NO = @P0 AND (NULLIF(@P1, '') IS NULL OR U.USR_ID = @P2) AND (NULLIF(@P3, '') IS NULL OR U.USR_NM LIKE CONCAT('%', @P4, '%')) AND (NULLIF(@P5, '') IS NULL OR U.TEAM_CD = @P6) AND (NULLIF(@P7, '') IS NULL OR U.DUTY_CD = @P8) AND (@P9 = 'Y' OR NULLIF(U.RETIREMENT_DATE, '') IS NULL) ) SELECT U.USR_ID, U.USR_NM, U.TEAM_CD, U.DUTY_CD, A.WORK_DCNT, --근무 B.YYVCT_CNT, --연차(조회가 없음) A.YYCT_DEDU_DCNT, --연차사용 A.ABTI_DCNT, --결근 A.LATE_DCNT, --지각 A.SKIPOFF_DCNT, --조퇴 A.SICKLEAVE_DCNT, --병가 A.TOT_WORK_MIN, A.LATE_MIN, A.SKIPOFF_REMN_BZ_MIN, A.INCLU_WORK_OT_MIN, A.OT_WORK_MIN, A.NGT_OT_MIN FROM USER1 U LEFT JOIN ( SELECT A.CORP_NO, A.USR_ID, --일수 SUM(CASE WHEN ISNULL(NULLIF(A.ABTI_YN, ''), 'N') != 'Y' THEN B.APLY_WORK_DAY END) AS WORK_DCNT, --근무 --연차(조회가 없음) SUM(B.YYCT_DEDU_DAY) AS YYCT_DEDU_DCNT, --연차사용 COUNT(CASE WHEN ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) = '결' OR A.ABTI_YN = 'Y' THEN 1 END) AS ABTI_DCNT, --결근 COUNT(CASE WHEN A.LATE_MIN > 0 THEN 1 END) AS LATE_DCNT, --지각 COUNT(CASE WHEN A.SKIPOFF_REMN_BZ_MIN > 0 THEN 1 END) AS SKIPOFF_DCNT, --조퇴 COUNT(CASE WHEN ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) = '병' THEN 1 END) AS SICKLEAVE_DCNT, --병가 --(분) : 시간은 화면에서 계속하는것 같음 SUM(A.TOT_WORK_MIN) AS TOT_WORK_MIN, --총근무 SUM(A.LATE_MIN) AS LATE_MIN, --지각 SUM(A.SKIPOFF_REMN_BZ_MIN) AS SKIPOFF_REMN_BZ_MIN, --조퇴 SUM(A.INCLU_WORK_OT_MIN) AS INCLU_WORK_OT_MIN, --포괄OT SUM(A.OT_WORK_MIN) AS OT_WORK_MIN, --OT SUM(A.NGT_OT_MIN) AS NGT_OT_MIN --야간 FROM USER1 U JOIN SX_GW0050 A ON(1=1 AND A.CORP_NO = U.CORP_NO AND A.USR_ID = U.USR_ID AND A.WORK_PLAN_YYMMDD BETWEEN @P10 AND @P11 ) LEFT JOIN SX_CO0070 B --공통코드 ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) ) WHERE 1=1 GROUP BY A.CORP_NO, A.USR_ID ) A ON(1=1 AND A.CORP_NO = U.CORP_NO AND A.USR_ID = U.USR_ID ) LEFT JOIN SX_GW0060 B ON(1=1 AND B.CORP_NO = U.CORP_NO AND B.USR_ID = U.USR_ID AND B.YYVCT_YY = SUBSTRING(@P12, 1, 4) ) WHERE 1=1 ORDER BY USR_NM, USR_ID END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_today_early_leave_YN_select] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-17 -- Create Description : 스카이브릿지 그룹웨어 퇴근 클릭시 조퇴인지를 체크 -- Update date : -- Update Description : -- exec pr_skybridge_gw_today_early_leave_YN_select '1111', '20170215' , '10454' -- exec pr_skybridge_gw_today_early_leave_YN_select '1111', '20170216' , '10454' -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_today_early_leave_YN_select] @CORP_NO VARCHAR(15) --회사코드 , @WORK_PLAN_YYMMDD VARCHAR(8) --근무일자(계획) , @USR_ID VARCHAR(20) --사용자 AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED SELECT COUNT('A') AS EARLY_LEAVE_YN --1이면 조퇴 FROM ( SELECT EARLY_LEAVE_MIN , USR_NM , TEAM_CD , DUTY_CD , WORK_END_DT , USR_ID FROM ( SELECT DATEDIFF( MINUTE, CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, B.GETOFFWORK_TM_NM, '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')), ISNULL(A.WORK_END_DT, GETDATE()) ) AS EARLY_LEAVE_MIN, U.USR_NM, U.TEAM_CD, U.DUTY_CD, A.WORK_END_DT, U.USR_ID FROM SX_GW0050 A --일별근무계획 JOIN SX_GW0010 U --사용자 ON(1=1 AND U.CORP_NO = A.CORP_NO AND U.USR_ID = A.USR_ID ) JOIN SX_CO0070 B --공통근무코드 ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) AND NULLIF(B.GETOFFWORK_TM_NM, '') IS NOT NULL ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.WORK_PLAN_YYMMDD = @WORK_PLAN_YYMMDD AND ISNULL(A.WORK_CD, A.PLAN_WORK_CD) NOT IN('N', 'Z') AND ( ( 1=1 AND SUBSTRING(B.GETOFFWORK_TM_NM, 1, 1) != 'T' AND CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, B.GETOFFWORK_TM_NM, '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')) > ISNULL(A.WORK_END_DT, GETDATE()) ) ) ) AS TA WHERE 1=1 ) TA WHERE USR_ID = @USR_ID AND EARLY_LEAVE_MIN < 0 END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_today_late_person_select] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-17 -- Create Description : 스카이브릿지 그룹웨어 메인화면의 오늘 지각한사람(분) 조회 -- Update date : -- Update Description : -- exec pr_skybridge_gw_today_late_person_select '20160113', '20160113', '1111', '20170117' -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_today_late_person_select] @DISML_DATE VARCHAR(8) --해고일자 , @RETIREMENT_DATE VARCHAR(8) --퇴직일자 일자 , @CORP_NO VARCHAR(15) --회사코드 , @WORK_PLAN_YYMMDD VARCHAR(8) --근무일자(계획) AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED -- 신규 작성 : 출근시각이 있는 사람에 한해서만 지각자를 DISPLAY 한다. SELECT LATE_MIN , USR_NM , TEAM_CD , DUTY_CD , WORK_START_DT FROM ( SELECT DATEDIFF( MINUTE, CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, B.GOTOWORK_TM_NM, '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')), ISNULL(A.WORK_START_DT, GETDATE()) ) AS LATE_MIN, U.USR_NM, U.TEAM_CD, U.DUTY_CD, A.WORK_START_DT FROM SX_GW0050 A --일별근무계획 JOIN SX_GW0010 U --사용자 ON(1=1 AND U.CORP_NO = A.CORP_NO AND U.USR_ID = A.USR_ID AND (NULLIF(U.DISML_DATE, '') IS NULL OR U.DISML_DATE >= @DISML_DATE) --해고일자 AND (NULLIF(U.RETIREMENT_DATE, '') IS NULL OR U.RETIREMENT_DATE >= @RETIREMENT_DATE) --퇴직일자 ) JOIN SX_CO0070 B --공통근무코드 ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) AND NULLIF(B.GOTOWORK_TM_NM, '') IS NOT NULL ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.WORK_PLAN_YYMMDD = @WORK_PLAN_YYMMDD AND ( ( 1=1 AND SUBSTRING(B.GOTOWORK_TM_NM, 1, 1) != 'T' AND CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, B.GOTOWORK_TM_NM, '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')) < ISNULL(A.WORK_START_DT, GETDATE()) ) ) ) AS TA WHERE 1=1 AND TA.LATE_MIN > 0 --AND TA.WORK_START_DT IS NOT NULL ORDER BY LATE_MIN DESC, USR_NM -- --기존에 사용한 문장 BACKUP --SELECT DATEDIFF( -- MINUTE, -- CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, B.GOTOWORK_TM_NM, '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')), -- ISNULL(A.WORK_START_DT, GETDATE()) -- ) AS LATE_MIN, -- U.USR_NM, -- U.TEAM_CD, -- U.DUTY_CD, -- A.WORK_START_DT -- FROM SX_GW0050 A --일별근무계획 -- JOIN SX_GW0010 U --사용자 -- ON(1=1 -- AND U.CORP_NO = A.CORP_NO -- AND U.USR_ID = A.USR_ID -- AND (NULLIF(U.DISML_DATE, '') IS NULL OR U.DISML_DATE >= @DISML_DATE) --해고일자 -- AND (NULLIF(U.RETIREMENT_DATE, '') IS NULL OR U.RETIREMENT_DATE >= @RETIREMENT_DATE) --퇴직일자 -- ) -- JOIN SX_CO0070 B --공통근무코드 -- ON(1=1 -- AND B.CORP_NO = A.CORP_NO -- AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) -- AND NULLIF(B.GOTOWORK_TM_NM, '') IS NOT NULL -- ) -- WHERE 1=1 -- AND A.CORP_NO = @CORP_NO -- AND A.WORK_PLAN_YYMMDD = @WORK_PLAN_YYMMDD -- AND ( -- ( -- 1=1 -- AND SUBSTRING(B.GOTOWORK_TM_NM, 1, 1) != 'T' -- AND CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, B.GOTOWORK_TM_NM, '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')) -- < ISNULL(A.WORK_START_DT, GETDATE()) -- ) -- ) -- ORDER BY -- LATE_MIN DESC, -- USR_NM END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_today_late_YN_select] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-17 -- Create Description : 스카이브릿지 그룹웨어 출근체크 클릭시 지작인지를 체크 -- Update date : -- Update Description : -- exec pr_skybridge_gw_today_late_YN_select '1111', '20170307' , '10352' -- exec pr_skybridge_gw_today_late_YN_select '1111', '20170307' , '00026' -- exec pr_skybridge_gw_today_late_YN_select '1111', '20170307' , '00001' -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_today_late_YN_select] @CORP_NO VARCHAR(15) --회사코드 , @WORK_PLAN_YYMMDD VARCHAR(8) --근무일자(계획) , @USR_ID VARCHAR(20) --사용자 AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED SELECT COUNT('A') AS LATE_YN --1이면 지각 FROM ( SELECT LATE_MIN , USR_NM , TEAM_CD , DUTY_CD , WORK_START_DT , USR_ID FROM ( SELECT DATEDIFF( MINUTE, CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, (CASE WHEN ISNULL(A.WORK_CD, A.PLAN_WORK_CD) IN('N', 'Z') THEN B.GETOFFWORK_TM_NM ELSE B.GOTOWORK_TM_NM END), '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')), ISNULL(A.WORK_START_DT, GETDATE()) ) AS LATE_MIN, U.USR_NM, U.TEAM_CD, U.DUTY_CD, A.WORK_START_DT, U.USR_ID FROM SX_GW0050 A --일별근무계획 JOIN SX_GW0010 U --사용자 ON(1=1 AND U.CORP_NO = A.CORP_NO AND U.USR_ID = A.USR_ID ) JOIN SX_CO0070 B --공통근무코드 ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) AND NULLIF(B.GOTOWORK_TM_NM, '') IS NOT NULL ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.WORK_PLAN_YYMMDD = @WORK_PLAN_YYMMDD --AND ISNULL(A.WORK_CD, A.PLAN_WORK_CD) NOT IN('N', 'Z') --2017.06.15 지각계 작성 관련 작업 AND ( ( 1=1 --AND DATEPART(DW, @WORK_PLAN_YYMMDD) NOT IN('1', '7') --2017.06.15 지각계 작성 관련 작업 AND SUBSTRING(B.GOTOWORK_TM_NM, 1, 1) != 'T' AND CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, B.GOTOWORK_TM_NM, '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')) < ISNULL(A.WORK_START_DT, GETDATE()) ) ) ) AS TA WHERE 1=1 --AND TA.WORK_START_DT IS NOT NULL ) TA WHERE USR_ID = @USR_ID AND LATE_MIN >= 1 -- --기존에 사용한 문장 BACKUP --SELECT DATEDIFF( -- MINUTE, -- CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, B.GOTOWORK_TM_NM, '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')), -- ISNULL(A.WORK_START_DT, GETDATE()) -- ) AS LATE_MIN, -- U.USR_NM, -- U.TEAM_CD, -- U.DUTY_CD, -- A.WORK_START_DT -- FROM SX_GW0050 A --일별근무계획 -- JOIN SX_GW0010 U --사용자 -- ON(1=1 -- AND U.CORP_NO = A.CORP_NO -- AND U.USR_ID = A.USR_ID -- AND (NULLIF(U.DISML_DATE, '') IS NULL OR U.DISML_DATE >= @DISML_DATE) --해고일자 -- AND (NULLIF(U.RETIREMENT_DATE, '') IS NULL OR U.RETIREMENT_DATE >= @RETIREMENT_DATE) --퇴직일자 -- ) -- JOIN SX_CO0070 B --공통근무코드 -- ON(1=1 -- AND B.CORP_NO = A.CORP_NO -- AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) -- AND NULLIF(B.GOTOWORK_TM_NM, '') IS NOT NULL -- ) -- WHERE 1=1 -- AND A.CORP_NO = @CORP_NO -- AND A.WORK_PLAN_YYMMDD = @WORK_PLAN_YYMMDD -- AND ( -- ( -- 1=1 -- AND SUBSTRING(B.GOTOWORK_TM_NM, 1, 1) != 'T' -- AND CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, B.GOTOWORK_TM_NM, '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')) -- < ISNULL(A.WORK_START_DT, GETDATE()) -- ) -- ) -- ORDER BY -- LATE_MIN DESC, -- USR_NM END --PROCEDURE END GO /****** Object: StoredProcedure [dbo].[pr_skybridge_gw_today_late_YN_select_ORI] Script Date: 2026-03-30 오후 1:12:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ======================================================================================= -- Author : 박종응 -- Create date : 2017-01-17 -- Create Description : 스카이브릿지 그룹웨어 출근체크 클릭시 지작인지를 체크 -- Update date : -- Update Description : -- exec pr_skybridge_gw_today_late_YN_select '1111', '20170307' , '10352' -- exec pr_skybridge_gw_today_late_YN_select '1111', '20170307' , '00026' -- exec pr_skybridge_gw_today_late_YN_select '1111', '20170307' , '00001' -- ======================================================================================= CREATE PROCEDURE [dbo].[pr_skybridge_gw_today_late_YN_select_ORI] @CORP_NO VARCHAR(15) --회사코드 , @WORK_PLAN_YYMMDD VARCHAR(8) --근무일자(계획) , @USR_ID VARCHAR(20) --사용자 AS BEGIN SET XACT_ABORT ON SET NOCOUNT ON SET TRANSACTION ISOLATION LEVEL READ COMMITTED SELECT COUNT('A') AS LATE_YN --1이면 지각 FROM ( SELECT LATE_MIN , USR_NM , TEAM_CD , DUTY_CD , WORK_START_DT , USR_ID FROM ( SELECT DATEDIFF( MINUTE, CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, B.GOTOWORK_TM_NM, '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')), ISNULL(A.WORK_START_DT, GETDATE()) ) AS LATE_MIN, U.USR_NM, U.TEAM_CD, U.DUTY_CD, A.WORK_START_DT, U.USR_ID FROM SX_GW0050 A --일별근무계획 JOIN SX_GW0010 U --사용자 ON(1=1 AND U.CORP_NO = A.CORP_NO AND U.USR_ID = A.USR_ID ) JOIN SX_CO0070 B --공통근무코드 ON(1=1 AND B.CORP_NO = A.CORP_NO AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) AND NULLIF(B.GOTOWORK_TM_NM, '') IS NOT NULL ) WHERE 1=1 AND A.CORP_NO = @CORP_NO AND A.WORK_PLAN_YYMMDD = @WORK_PLAN_YYMMDD AND ISNULL(A.WORK_CD, A.PLAN_WORK_CD) NOT IN('N', 'Z') AND ( ( 1=1 AND DATEPART(DW, @WORK_PLAN_YYMMDD) NOT IN('1', '7') AND SUBSTRING(B.GOTOWORK_TM_NM, 1, 1) != 'T' AND CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, B.GOTOWORK_TM_NM, '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')) < ISNULL(A.WORK_START_DT, GETDATE()) ) ) ) AS TA WHERE 1=1 --AND TA.WORK_START_DT IS NOT NULL ) TA WHERE USR_ID = @USR_ID AND LATE_MIN >= 1 -- --기존에 사용한 문장 BACKUP --SELECT DATEDIFF( -- MINUTE, -- CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, B.GOTOWORK_TM_NM, '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')), -- ISNULL(A.WORK_START_DT, GETDATE()) -- ) AS LATE_MIN, -- U.USR_NM, -- U.TEAM_CD, -- U.DUTY_CD, -- A.WORK_START_DT -- FROM SX_GW0050 A --일별근무계획 -- JOIN SX_GW0010 U --사용자 -- ON(1=1 -- AND U.CORP_NO = A.CORP_NO -- AND U.USR_ID = A.USR_ID -- AND (NULLIF(U.DISML_DATE, '') IS NULL OR U.DISML_DATE >= @DISML_DATE) --해고일자 -- AND (NULLIF(U.RETIREMENT_DATE, '') IS NULL OR U.RETIREMENT_DATE >= @RETIREMENT_DATE) --퇴직일자 -- ) -- JOIN SX_CO0070 B --공통근무코드 -- ON(1=1 -- AND B.CORP_NO = A.CORP_NO -- AND B.WORK_CD = ISNULL(NULLIF(A.WORK_CD, ''), A.PLAN_WORK_CD) -- AND NULLIF(B.GOTOWORK_TM_NM, '') IS NOT NULL -- ) -- WHERE 1=1 -- AND A.CORP_NO = @CORP_NO -- AND A.WORK_PLAN_YYMMDD = @WORK_PLAN_YYMMDD -- AND ( -- ( -- 1=1 -- AND SUBSTRING(B.GOTOWORK_TM_NM, 1, 1) != 'T' -- AND CONVERT(DATETIME, STUFF(STUFF(STUFF(CONCAT(A.WORK_PLAN_YYMMDD, B.GOTOWORK_TM_NM, '00'), 13, 0, ':'), 11, 0, ':'), 9, 0, ' ')) -- < ISNULL(A.WORK_START_DT, GETDATE()) -- ) -- ) -- ORDER BY -- LATE_MIN DESC, -- USR_NM END --PROCEDURE END GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'정렬순서' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SX_GW0050', @level2type=N'COLUMN',@level2name=N'SORT_ODR' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'정렬순서' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SX_GW0060', @level2type=N'COLUMN',@level2name=N'SORT_ODR' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'회사번호' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SX_GW0100', @level2type=N'COLUMN',@level2name=N'CORP_NO' GO USE [master] GO ALTER DATABASE [logins_test] SET READ_WRITE GO