/*਀⨀  縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀 
*  ~ ObjectName: [P_IMP_STEPS_EMIS_UNIT]਀⨀  縀 
*  ~ Author: Bret Smith਀⨀  縀 
*  ~ Company Name: Windsor Solutions, Inc.਀⨀  縀 
*  ~ Purpose:	Insert a single emission unit and return new id to calling procedure.਀⨀  縀ऀऀऀ䄀氀猀漀 椀渀猀攀爀琀 挀栀椀氀搀 爀攀挀漀爀搀猀 眀栀攀爀攀 渀漀琀 愀猀猀漀挀椀愀琀椀瘀攀 攀渀琀椀琀礀 ⠀爀攀氀愀琀椀渀最  
*  ~			another entity type).਀⨀  縀 
*  ~ Revision History:਀⨀  縀 ⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀ 
*  ~ Date			Name			Description਀⨀  縀 ⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀ 
*  ~ 09/2011		Bsmith			Original Creation.਀⨀  縀 　㈀⼀　㤀⼀㈀　㄀㈀ऀऀ䈀猀洀椀琀栀ऀऀऀ䄀搀搀攀搀 挀甀猀琀漀洀 昀椀攀氀搀 䔀洀椀猀猀椀漀渀唀渀椀琀匀椀琀攀䤀搀攀渀琀椀昀椀攀爀⸀ 
*  ~ 02/24/2012		BSmith			Changed DE COMMT retrieval logic. Needs to be uncommented before DE migration run.਀⨀  縀 　㌀⼀㈀㜀⼀㈀　㄀㈀ऀऀ䈀猀洀椀琀栀ऀऀऀ䤀昀 搀攀猀椀最渀 挀愀瀀愀挀椀琀礀 椀猀 攀洀瀀琀礀 猀琀爀椀渀最Ⰰ 猀攀琀 琀漀 一唀䰀䰀Ⰰ 攀氀猀攀 椀琀 眀椀氀氀 戀攀 挀漀渀瘀攀爀琀攀搀 琀漀 　⸀ 
*  ~਀⨀  縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀 
*/਀䄀䰀吀䔀刀 倀刀伀䌀䔀䐀唀刀䔀 嬀搀戀漀崀⸀嬀倀开䤀䴀倀开匀吀䔀倀匀开䔀䴀䤀匀开唀一䤀吀崀 
	@p_isteps_state_cd			CHAR(2),਀ऀ䀀瀀开洀猀琀爀开昀愀挀开猀椀琀攀开椀搀ऀऀऀ䤀一吀Ⰰ 
	@p_new_fac_site_id			INT,਀ऀ䀀瀀开椀猀琀攀瀀猀开椀搀瀀漀椀渀琀ऀऀऀ䤀一吀Ⰰ 
	@p_new_emis_unit_id			INT OUTPUT਀䄀匀 
	SET NOCOUNT ON;਀䈀䔀䜀䤀一 
	DECLARE @v_err_code			INT;਀ऀ 
	਀ऀ䤀一匀䔀刀吀 䤀一吀伀 䴀开䔀䴀䤀匀开唀一䤀吀 
	(਀ऀऀ 䘀䄀䌀开匀䤀吀䔀开䤀䐀 
		,MSTR_EMIS_UNIT_ID਀ऀऀⰀ䔀䴀䤀匀开唀一䤀吀开䤀䐀䔀一 
		,UNIT_DESC਀ऀऀⰀ䔀开唀一䤀吀开吀夀倀䔀开䌀䐀 
		,UNIT_DSGN_CAP਀ऀऀⰀ䔀开唀一䤀吀开䐀匀䜀一开䌀䄀倀开唀伀䴀开䌀䐀 
		,E_UNIT_STAT_CD਀ऀऀⰀ唀一䤀吀开匀吀䄀吀开䌀䐀开䐀䄀吀䔀 
		,UNIT_OPER_DATE਀ऀऀⰀ唀一䤀吀开䌀䴀一吀 
		,LAST_UPDATED_DATE਀ऀऀⰀ䰀䄀匀吀开唀倀䐀䄀吀䔀䐀开䈀夀开唀匀䔀刀开䤀䐀 
	)਀ऀ⠀ 
		SELECT਀ऀऀऀ䀀瀀开渀攀眀开昀愀挀开猀椀琀攀开椀搀Ⰰ 
			(਀ऀऀऀऀ匀䔀䰀䔀䌀吀 䔀䴀䤀匀开唀一䤀吀开䤀䐀 䘀刀伀䴀 䴀开䔀䴀䤀匀开唀一䤀吀 
				WHERE਀ऀऀऀऀऀ䘀䄀䌀开匀䤀吀䔀开䤀䐀 㴀 䀀瀀开洀猀琀爀开昀愀挀开猀椀琀攀开椀搀 
					AND EMIS_UNIT_IDEN = LTRIM(RTRIM(pt.POINT))਀ऀऀऀ⤀ऀऀऀऀऀऀऀऀऀऀऀऀऀ䄀匀 䴀匀吀刀开䔀䴀䤀匀开唀一䤀吀开䤀䐀Ⰰऀ 
			LTRIM(RTRIM(pt.POINT))								AS EMIS_UNIT_IDEN,਀ऀऀऀ䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀瀀琀⸀倀伀䤀一吀䐀䔀匀䌀⤀⤀Ⰰ 
			'999'												AS E_UNIT_TYPE_CD,		਀ऀऀऀ䌀䄀匀䔀 
				WHEN pt.DSGN_CAP IS NOT NULL AND LTRIM(RTRIM(pt.DSGN_CAP)) <> '' AND CAST(pt.DSGN_CAP AS FLOAT) <> 0 THEN CAST(pt.DSGN_CAP AS FLOAT)਀ऀऀऀऀ䔀䰀匀䔀 一唀䰀䰀 
			END AS UNIT_DSGN_CAP,਀ऀऀऀ䌀䄀匀䔀  
				WHEN LTRIM(RTRIM(pt.DSGN_CAP)) <> '' AND CAST(pt.DSGN_CAP AS FLOAT) <> 0 THEN਀ऀऀऀऀऀ搀戀漀⸀䘀开䜀䔀吀开堀刀䔀䘀开嘀䄀䰀 
					(਀ऀऀऀऀऀऀ䀀瀀开椀猀琀攀瀀猀开猀琀愀琀攀开挀搀Ⰰ 
						'DSGN_CAPUN',਀ऀऀऀऀऀऀ瀀琀⸀䐀匀䜀一开䌀䄀倀唀一 
					)													਀ऀऀऀऀ䔀䰀匀䔀 一唀䰀䰀 
			END AS E_UNIT_DSGN_CAP_UOM_CD,਀ऀऀऀ✀伀倀✀ऀऀऀऀऀऀऀऀऀऀऀऀ䄀匀 唀一䤀吀开匀吀䄀吀开䌀䐀Ⰰ 
			NULL												AS UNIT_STAT_CD_DATE,	਀ऀऀऀ一唀䰀䰀ऀऀऀऀऀऀऀऀऀऀऀऀ䄀匀 唀一䤀吀开伀倀䔀刀开䐀䄀吀䔀Ⰰ 
			(਀ऀऀऀऀ匀䔀䰀䔀䌀吀ऀऀऀऀऀऀ 
					c.COMMT਀ऀऀऀऀ䘀刀伀䴀 
					I_COMMT c਀ऀऀऀऀऀ䤀一一䔀刀 䨀伀䤀一 䤀开倀伀䤀一吀 瀀琀㈀ 伀一 挀⸀䤀䐀倀䄀刀䔀一吀 㴀 瀀琀㈀⸀䤀䐀倀伀䤀一吀 
				WHERE਀ऀऀऀऀऀ挀⸀䤀䐀倀䄀刀䔀一吀 㴀 瀀琀⸀䤀䐀倀伀䤀一吀 
					AND pt2.IDPOINT = pt.IDPOINT਀ऀऀऀऀऀ䄀一䐀 䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀䌀伀䴀䴀吀夀倀䔀⤀⤀ 㴀 ✀䌀伀䴀䴀䔀一吀✀ 
			) AS UNIT_CMNT,਀ऀऀऀ⼀⨀ 唀一䌀伀䴀䴀䔀一吀 䘀伀刀 䐀䔀 
			(਀ऀऀऀऀ匀䔀䰀䔀䌀吀ऀऀऀऀऀऀ 
					c.COMMT਀ऀऀऀऀ䘀刀伀䴀 
					I_COMMT c਀ऀऀऀऀऀ䤀一一䔀刀 䨀伀䤀一 䤀开倀伀䤀一吀 瀀琀㈀ 伀一 挀⸀䤀䐀倀䄀刀䔀一吀 㴀 瀀琀㈀⸀䤀䐀倀伀䤀一吀 
				WHERE਀ऀऀऀऀऀ挀⸀䤀䐀倀䄀刀䔀一吀 㴀 瀀琀⸀䤀䐀倀伀䤀一吀 
					AND pt2.IDPOINT = pt.IDPOINT਀ऀऀऀऀऀ䄀一䐀 䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀䌀伀䴀䴀吀夀倀䔀⤀⤀ 㴀 ✀娀堀开倀伀开䌀伀䴀䴀✀ 
			) AS UNIT_CMNT,਀ऀऀऀ⨀⼀ 
			GETDATE(),਀ऀऀऀ㄀ 
		FROM਀ऀऀऀ䤀开倀伀䤀一吀 瀀琀 
		WHERE਀ऀऀऀ瀀琀⸀䤀䐀倀伀䤀一吀 㴀 䀀瀀开椀猀琀攀瀀猀开椀搀瀀漀椀渀琀 
	);਀ 
	SELECT @v_err_code = @@Error;਀ऀ匀䔀䰀䔀䌀吀 䀀瀀开渀攀眀开攀洀椀猀开甀渀椀琀开椀搀 㴀 匀䌀伀倀䔀开䤀䐀䔀一吀䤀吀夀⠀⤀㬀 
	਀ऀ 
	--Insert M_EMIS_UNIT_CSTM_FLD_VAL਀ऀⴀⴀ 
	਀ऀ⼀⨀ 
	--Emission Unit Site Identifier਀ऀ䤀昀 䀀瘀开攀爀爀开挀漀搀攀 㴀 　 
	BEGIN਀ऀऀ䤀一匀䔀刀吀 䤀一吀伀 䴀开䔀䴀䤀匀开唀一䤀吀开䌀匀吀䴀开䘀䰀䐀开嘀䄀䰀 
		(਀ऀऀऀ䔀䴀䤀匀开唀一䤀吀开䤀䐀 
		   ,A_CSTM_FLD_ID਀ऀऀ   Ⰰ䌀匀吀䴀开䘀䰀䐀开嘀䄀䰀 
		)਀ऀऀ⠀ 
			SELECT਀ऀऀऀऀ䀀瀀开渀攀眀开攀洀椀猀开甀渀椀琀开椀搀Ⰰ 
				(SELECT A_CSTM_FLD_ID FROM A_CSTM_FLD WHERE FLD_NAME = 'EmissionUnitSiteId' AND FLD_ENT_TYPE = 'EmissionUnit'),਀ऀऀऀऀ䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀匀䤀吀䔀开䜀刀伀唀倀⤀⤀ 
			FROM਀ऀऀऀऀ䤀开倀伀䤀一吀 
			WHERE਀ऀऀऀऀ䤀䐀倀伀䤀一吀 㴀 䀀瀀开椀猀琀攀瀀猀开椀搀瀀漀椀渀琀 
				AND਀ऀऀऀऀ⠀ 
					SITE_GROUP IS NOT NULL਀ऀऀऀऀऀ䄀一䐀 䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀匀䤀吀䔀开䜀刀伀唀倀⤀⤀ 㰀㸀 ✀✀ 
				)਀ऀऀ⤀㬀 
		਀ऀऀ匀䔀䰀䔀䌀吀 䀀瘀开攀爀爀开挀漀搀攀 㴀 䀀䀀䔀爀爀漀爀㬀 
	END;਀ऀ⨀⼀ 
	਀ऀ 
	--EmissionUnitBurnerTypeMake਀ऀ䤀昀 䀀瘀开攀爀爀开挀漀搀攀 㴀 　 
	BEGIN਀ऀऀ䤀一匀䔀刀吀 䤀一吀伀 䴀开䔀䴀䤀匀开唀一䤀吀开䌀匀吀䴀开䘀䰀䐀开嘀䄀䰀 
		(਀ऀऀऀ䔀䴀䤀匀开唀一䤀吀开䤀䐀 
		   ,A_CSTM_FLD_ID਀ऀऀ   Ⰰ䌀匀吀䴀开䘀䰀䐀开嘀䄀䰀 
		)਀ऀऀ⠀ 
			SELECT਀ऀऀऀऀ䀀瀀开渀攀眀开攀洀椀猀开甀渀椀琀开椀搀 
				,(SELECT A_CSTM_FLD_ID FROM A_CSTM_FLD WHERE FLD_NAME = 'EmissionUnitBurnerTypeMake' AND FLD_ENT_TYPE = 'EmissionUnit')਀ऀऀऀऀⰀ䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀䈀唀刀一开吀夀倀䔀⤀⤀ 
			FROM਀ऀऀऀऀ䤀开倀伀䤀一吀 
			WHERE਀ऀऀऀऀ䤀䐀倀伀䤀一吀 㴀 䀀瀀开椀猀琀攀瀀猀开椀搀瀀漀椀渀琀 
				AND਀ऀऀऀऀ⠀ 
					BURN_TYPE IS NOT NULL਀ऀऀऀऀऀ䄀一䐀 䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀䈀唀刀一开吀夀倀䔀⤀⤀ 㰀㸀 ✀✀ 
				)਀ऀऀ⤀㬀 
		਀ऀऀ匀䔀䰀䔀䌀吀 䀀瘀开攀爀爀开挀漀搀攀 㴀 䀀䀀䔀爀爀漀爀㬀 
	END;਀ऀ 
	਀ऀⴀⴀ䔀洀椀猀猀椀漀渀唀渀椀琀䈀甀爀渀攀爀吀礀瀀攀䴀漀搀攀氀 ⠀甀猀攀 䄀开䤀匀吀䔀倀匀开堀刀䔀䘀 琀愀戀氀攀⤀ 
	If @v_err_code = 0਀ऀ䈀䔀䜀䤀一 
		INSERT INTO M_EMIS_UNIT_CSTM_FLD_VAL਀ऀऀ⠀ 
			EMIS_UNIT_ID਀ऀऀ   Ⰰ䄀开䌀匀吀䴀开䘀䰀䐀开䤀䐀 
		   ,CSTM_FLD_VAL਀ऀऀ⤀ 
		(਀ऀऀऀ匀䔀䰀䔀䌀吀 
				@p_new_emis_unit_id,਀ऀऀऀऀ⠀匀䔀䰀䔀䌀吀 䄀开䌀匀吀䴀开䘀䰀䐀开䤀䐀 䘀刀伀䴀 䄀开䌀匀吀䴀开䘀䰀䐀 圀䠀䔀刀䔀 䘀䰀䐀开一䄀䴀䔀 㴀 ✀䔀洀椀猀猀椀漀渀唀渀椀琀䈀甀爀渀攀爀吀礀瀀攀䴀漀搀攀氀✀ 䄀一䐀 䘀䰀䐀开䔀一吀开吀夀倀䔀 㴀 ✀䔀洀椀猀猀椀漀渀唀渀椀琀✀⤀Ⰰ 
				dbo.F_GET_XREF_VAL਀ऀऀऀऀ⠀ 
					@p_isteps_state_cd,਀ऀऀऀऀऀ✀䈀唀刀一开䴀伀䐀䔀䰀✀Ⰰ 
					pt.BURN_MODEL਀ऀऀऀऀ⤀ऀऀऀऀऀऀऀऀऀऀऀ 
			FROM਀ऀऀऀऀ䤀开倀伀䤀一吀 瀀琀 
			WHERE਀ऀऀऀऀ瀀琀⸀䤀䐀倀伀䤀一吀 㴀 䀀瀀开椀猀琀攀瀀猀开椀搀瀀漀椀渀琀 
				AND਀ऀऀऀऀ⠀ 
					pt.BURN_MODEL IS NOT NULL਀ऀऀऀऀऀ䄀一䐀 䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀瀀琀⸀䈀唀刀一开䴀伀䐀䔀䰀⤀⤀ 㰀㸀 ✀✀ 
				)਀ऀऀ⤀㬀 
		਀ऀऀ匀䔀䰀䔀䌀吀 䀀瘀开攀爀爀开挀漀搀攀 㴀 䀀䀀䔀爀爀漀爀㬀 
	END;		਀ऀ 
	਀ऀⴀⴀ䔀洀椀猀猀椀漀渀唀渀椀琀䈀甀爀渀攀爀吀礀瀀攀䴀愀欀攀 
	If @v_err_code = 0਀ऀ䈀䔀䜀䤀一 
		INSERT INTO M_EMIS_UNIT_CSTM_FLD_VAL਀ऀऀ⠀ 
			EMIS_UNIT_ID਀ऀऀ   Ⰰ䄀开䌀匀吀䴀开䘀䰀䐀开䤀䐀 
		   ,CSTM_FLD_VAL਀ऀऀ⤀ 
		(਀ऀऀऀ匀䔀䰀䔀䌀吀 
				@p_new_emis_unit_id਀ऀऀऀऀⰀ⠀匀䔀䰀䔀䌀吀 䄀开䌀匀吀䴀开䘀䰀䐀开䤀䐀 䘀刀伀䴀 䄀开䌀匀吀䴀开䘀䰀䐀 圀䠀䔀刀䔀 䘀䰀䐀开一䄀䴀䔀 㴀 ✀䔀洀椀猀猀椀漀渀唀渀椀琀䈀甀爀渀攀爀䤀渀猀琀愀氀氀愀琀椀漀渀䐀愀琀攀✀ 䄀一䐀 䘀䰀䐀开䔀一吀开吀夀倀䔀 㴀 ✀䔀洀椀猀猀椀漀渀唀渀椀琀✀⤀ 
				,LTRIM(RTRIM(BURN_DATE))਀ऀऀऀ䘀刀伀䴀 
				I_POINT਀ऀऀऀ圀䠀䔀刀䔀 
				IDPOINT = @p_isteps_idpoint਀ऀऀऀऀ䄀一䐀 
				(਀ऀऀऀऀऀ䈀唀刀一开䐀䄀吀䔀 䤀匀 一伀吀 一唀䰀䰀 
					AND LTRIM(RTRIM(BURN_DATE)) <> ''਀ऀऀऀऀ⤀ 
		);਀ऀऀ 
		SELECT @v_err_code = @@Error;਀ऀ䔀一䐀㬀 
				਀ऀ 
	RETURN @v_err_code;਀䔀一䐀㬀 
