USE [HRIS]
GO
/****** Object:  StoredProcedure [dbo].[sp_generate_pegawai_eligible]    Script Date: 10/18/2020 3:47:47 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_generate_pegawai_eligible]
	@kd_gol varchar(2),
	@kd_pend_umum varchar(2),
	@md_jabatan int,
	@sisa_md_jabatan int,
	@nilai_kinerja_1 float,
	@nilai_kinerja_2 float,
	@nilai_kinerja_3 float,
	@sts_hukuman varchar(5),
	@periode_pemenuhan varchar(10),
	@query_date date = '1900-01-01'
AS 
BEGIN
	DECLARE @level_jabatan_pemenuhan varchar(25)
--	DECLARE @temp_eligible table(  
--	    ID int IDENTITY(1,1),
--		NIP varchar(10),
--		NM_PEG varchar(255),
--		USIA_SAAT_INI int,
--		EMAIL varchar(200),
--		STS_PENERIMAAN_PEG varchar(100),
--		ANGKATAN varchar(10),
--		TAHUN_PEREKRUTAN int,
--		STS_PENSIUN int,
--		NM_STATUS_KEPEG varchar(100),
--		NM_KANTOR varchar(255),
--		LEVEL_JABATAN varchar(25),
--		NM_JABATAN varchar(50),
--		FORMASI varchar(255),
--		KATEGORI_FUNGSI varchar(100),
--		BIDANG varchar(255),
--		DEPUTI_KOMISIONER varchar(255),
--		DEPARTEMEN varchar(255),
--		DIREKTUR varchar(255),
--		DEPUTI_DIREKTUR varchar(255),
--		KEPALA_BAGIAN varchar(255),
--		KEPALA_SUBBAGIAN varchar(255),
--		SATUAN_KERJA varchar(255),
--		KET_LEMBAGA_ASAL varchar(100),
--		TMT_LEMBAGA_ASAL date,
--		TMT_OJK date,
--		TMT_LEVEL_JABATAN date,
--		TMT_JABATAN date,
--		TMT_SATKER date,
--		TMT_PENSIUN date,
--		TGL_MASUK date,
--		PENDIDIKAN varchar(5),
--		NILAI_KINERJA_1 float,
--		NILAI_KINERJA_2 float,
--		NILAI_KINERJA_3 float,
--		MASA_DINAS_JABATAN varchar(100),
--		SISA_MASA_DINAS_JABATAN varchar(100),
--		PERIODE_PEMENUHAN varchar(50),
--		CREATED_DATE datetime DEFAULT GETDATE()
--	);
   
	SELECT @level_jabatan_pemenuhan = NM_GOLONGAN FROM SPG_GOLONGAN WHERE KD_GOL = @kd_gol
	
	DELETE FROM SPG_PEGAWAI_ELIGIBLE WHERE PERIODE_PEMENUHAN = @periode_pemenuhan AND KETERANGAN = 'GENERATE BY SYSTEM' AND LEVEL_JABATAN_PEMENUHAN = @level_jabatan_pemenuhan
	
	INSERT INTO SPG_PEGAWAI_ELIGIBLE (NIP, NM_PEG, USIA_SAAT_INI, EMAIL, STS_PENERIMAAN_PEG, ANGKATAN, TAHUN_PEREKRUTAN, STS_PENSIUN, NM_STATUS_KEPEG, NM_KANTOR, LEVEL_JABATAN, NM_JABATAN, FORMASI, KATEGORI_FUNGSI, BIDANG, DEPUTI_KOMISIONER, DEPARTEMEN, DIREKTUR, DEPUTI_DIREKTUR, KEPALA_BAGIAN, KEPALA_SUBBAGIAN, SATUAN_KERJA, KET_LEMBAGA_ASAL, TMT_LEMBAGA_ASAL, TMT_OJK, TMT_LEVEL_JABATAN, TMT_JABATAN, TMT_SATKER, TMT_PENSIUN, TGL_MASUK, PENDIDIKAN, NILAI_KINERJA_1, NILAI_KINERJA_2, NILAI_KINERJA_3, MASA_DINAS_JABATAN, SISA_MASA_DINAS_JABATAN, PERIODE_PEMENUHAN, KETERANGAN, LEVEL_JABATAN_PEMENUHAN, KD_GOL, KD_JABATAN_STR)
	select 
		NIP,
		NM_PEG,
		USIA_SAAT_INI,
		EMAIL,
		STS_PENERIMAAN_PEG,
		ANGKATAN,
		TAHUN_PEREKRUTAN,
		STS_PENSIUN,
		NM_STATUS_KEPEG,
		NM_KANTOR,
		NM_GOL AS LEVEL_JABATAN,
		NM_JABATAN_STR AS NM_JABATAN,
		POSISI AS FORMASI,
		NAMA_FUNGSI AS KATEGORI_FUNGSI,
		NM_UNIT_ES1 AS BIDANG,
		NM_UNIT_ES2 AS DEPUTI_KOMISIONER,
		NM_UNIT_ES3 AS DEPARTEMEN,
		NM_UNIT_ES4 AS DIREKTUR,
		NM_UNIT_ES5 AS DEPUTI_DIREKTUR,
		NM_UNIT_ES6 AS KEPALA_BAGIAN,
		NM_UNIT_ES7 AS KEPALA_SUBBAGIAN,
		SATUAN_KERJA,
		KET_LEMBAGA_ASAL,
		TMT_LEMBAGA_ASAL,
		TMT_OJK,
		TMT_GOL AS TMT_LEVEL_JABATAN,
		TMT_JABATAN,
		TMT_SATKER,
		TMT_PENSIUN,
		TGL_MASUK,
		NM_PEND_UMUM AS PENDIDIKAN,
		NILAI1 AS NILAI_KINERJA_1,
		NILAI2 AS NILAI_KINERJA_2,
		NILAI3 AS NILAI_KINERJA_3,
		MASA_DINAS_JABATAN,
		SISA_MASA_DINAS_OJK,
		@periode_pemenuhan AS PERIODE_PEMENUHAN,
		'GENERATE BY SYSTEM' AS KETERANGAN,
		@level_jabatan_pemenuhan AS LEVEL_JABATAN_PEMENUHAN,
		KD_GOL,
		KD_JABATAN_STR
	from db_mart.mart_profile_pegawai
	where CREATE_DATE='2020-10-13'
	and nip not like 'H%'
	and sts_pensiun = '0'
	and kd_gol = (cast(@kd_gol as int)-10)
	and KD_PEND_UMUM >= @kd_pend_umum
	and HUKUMAN = @sts_hukuman
	and NILAI1 >= @nilai_kinerja_1
	and NILAI2 >= @nilai_kinerja_2
	and ISNULL(NILAI3, 6) >= @nilai_kinerja_3
	and LEFT(MASA_DINAS_JABATAN,1) >= @md_jabatan
	and LEFT(SISA_MASA_DINAS_OJK,1) >= @sisa_md_jabatan
	
	
	--INSERT INTO SPG_PEGAWAI_ELIGIBLE SELECT * FROM @temp_eligible
END
