/*਀⨀  縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀縀 
*  ~ ObjectName: [P_IMP_ISTEPS_CTRL_DEVC]਀⨀  縀 
*  ~ Author: Bret Smith਀⨀  縀 
*  ~ Company Name: Windsor Solutions, Inc.਀⨀  縀 
*  ~ Purpose:	Insert a single control device and return new id to calling procedure.਀⨀ऀऀऀऀ䄀氀猀漀 椀渀猀攀爀琀 挀栀椀氀搀 爀攀挀漀爀搀猀 眀栀攀爀攀 渀漀琀 愀猀猀漀挀椀愀琀椀瘀攀 攀渀琀椀琀礀 ⠀爀攀氀愀琀椀渀最  
*				another entity type).਀⨀  縀 
*  ~ Revision History:਀⨀  縀 ⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀ 
*  ~ Date			Name           Description਀⨀  縀 ⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀⴀ 
*  ~ 09/2011		Bsmith         Original Creation.਀⨀  縀 
*  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~਀⨀⼀ 
ALTER PROCEDURE [dbo].[P_IMP_ISTEPS_CTRL_DEVC]਀ऀ䀀瀀开椀猀琀攀瀀猀开猀琀愀琀攀开挀搀ऀऀऀ䌀䠀䄀刀⠀㈀⤀Ⰰ 
	@p_mstr_fac_site_id			INT,਀ऀ䀀瀀开渀攀眀开昀愀挀开猀椀琀攀开椀搀ऀऀऀ䤀一吀Ⰰ 
	@p_isteps_idcontrol			INT,਀ऀ䀀瀀开渀攀眀开挀琀爀氀开搀攀瘀挀开椀搀ऀऀऀ䤀一吀 伀唀吀倀唀吀 
AS਀ऀ匀䔀吀 一伀䌀伀唀一吀 伀一㬀 
BEGIN਀ऀ䐀䔀䌀䰀䄀刀䔀 䀀瘀开攀爀爀开挀漀搀攀ऀऀऀ䤀一吀㬀 
਀ऀ䤀一匀䔀刀吀 䤀一吀伀 䴀开䌀吀刀䰀开䐀䔀嘀䌀 
	(਀ऀऀ䘀䄀䌀开匀䤀吀䔀开䤀䐀Ⰰ 
		MSTR_CTRL_DEVC_ID,਀ऀऀ䔀开䌀吀刀䰀开䴀䔀䄀匀开䌀䐀Ⰰ 
		CTRL_DEVC_IDEN,਀ऀऀ䌀吀刀䰀开䐀䔀嘀䌀开䐀䔀匀䌀Ⰰ 
		A_CTRL_DEVC_STAT_CD,਀ऀऀ䌀吀刀䰀开䐀䔀嘀䌀开匀吀䄀吀开䌀䐀开䐀䄀吀䔀Ⰰ 
		CTRL_DEVC_CMNT,਀ऀऀ䰀䄀匀吀开唀倀䐀䄀吀䔀䐀开䐀䄀吀䔀Ⰰ 
		LAST_UPDATED_BY_USER_ID਀ऀ⤀ 
	(਀ऀऀ匀䔀䰀䔀䌀吀 
			@p_new_fac_site_id,਀ऀऀऀ⠀ 
				SELECT CTRL_DEVC_ID FROM M_CTRL_DEVC਀ऀऀऀऀ圀䠀䔀刀䔀 
					FAC_SITE_ID = @p_mstr_fac_site_id਀ऀऀऀऀऀ䄀一䐀 䌀吀刀䰀开䐀䔀嘀䌀开䤀䐀䔀一 㴀 䌀䄀匀吀⠀䌀伀一吀刀伀䰀 䄀匀 嘀䄀刀䌀䠀䄀刀⠀㈀　⤀⤀ 
			) AS MSTR_CTRL_DEVC_ID,਀ऀऀऀ䌀䄀匀吀 
			(਀ऀऀऀऀ䌀䄀匀吀 
				(਀ऀऀऀऀऀ搀戀漀⸀䘀开䜀䔀吀开堀刀䔀䘀开嘀䄀䰀 
					(਀ऀऀऀऀऀऀ䀀瀀开椀猀琀攀瀀猀开猀琀愀琀攀开挀搀Ⰰ 
						'CTRLTYPE',਀ऀऀऀऀऀऀ嬀吀夀倀䔀崀 
					) AS INT਀ऀऀऀऀ⤀ 
				AS VARCHAR(5)਀ऀऀऀ⤀Ⰰ 
			CAST(CONTROL AS VARCHAR(20)),਀ऀऀऀ䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀䐀䔀匀䌀刀⤀⤀Ⰰ 
			'OP',਀ऀऀऀ一唀䰀䰀Ⰰ 
			(਀ऀऀऀऀ匀䔀䰀䔀䌀吀ऀऀऀऀऀऀ 
					c.COMMT਀ऀऀऀऀ䘀刀伀䴀 
					I_COMMT c਀ऀऀऀऀऀ䤀一一䔀刀 䨀伀䤀一 䤀开䌀伀一吀刀伀䰀 挀漀渀㈀ 伀一 挀⸀䤀䐀倀䄀刀䔀一吀 㴀 挀漀渀㈀⸀䤀䐀䌀伀一吀刀伀䰀 
				WHERE਀ऀऀऀऀऀ挀⸀䤀䐀倀䄀刀䔀一吀 㴀 挀漀渀⸀䤀䐀䌀伀一吀刀伀䰀 
					AND con2.IDCONTROL = con.IDCONTROL਀ऀऀऀऀऀ䄀一䐀 䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀挀⸀䌀伀䴀䴀吀夀倀䔀⤀⤀ 㴀 ✀䌀伀䴀䴀䔀一吀✀ 
			) AS CTRL_DEVC_CMNT,਀ऀऀऀ䜀䔀吀䐀䄀吀䔀⠀⤀Ⰰ 
			1਀ऀऀ䘀刀伀䴀 
			I_CONTROL con਀ऀऀ圀䠀䔀刀䔀 
			IDCONTROL = @p_isteps_idcontrol਀ऀ⤀㬀 
਀ऀ匀䔀䰀䔀䌀吀 䀀瘀开攀爀爀开挀漀搀攀 㴀 䀀䀀䔀爀爀漀爀㬀 
	SELECT @p_new_ctrl_devc_id = SCOPE_IDENTITY();਀ऀऀऀऀ 
								਀ऀⴀⴀ䤀渀猀攀爀琀 䴀开䌀吀刀䰀开䐀䔀嘀䌀开䌀匀吀䴀开䘀䰀䐀开嘀䄀䰀 
	--ControlDeviceLocalId਀ऀ䤀昀 䀀瘀开攀爀爀开挀漀搀攀 㴀 　 
	BEGIN਀ऀऀ䤀一匀䔀刀吀 䤀一吀伀 䴀开䌀吀刀䰀开䐀䔀嘀䌀开䌀匀吀䴀开䘀䰀䐀开嘀䄀䰀 
		(਀ऀऀऀ䌀吀刀䰀开䐀䔀嘀䌀开䤀䐀 
		   ,A_CSTM_FLD_ID਀ऀऀ   Ⰰ䌀匀吀䴀开䘀䰀䐀开嘀䄀䰀 
		)਀ऀऀ⠀ 
			SELECT਀ऀऀऀऀ䀀瀀开渀攀眀开挀琀爀氀开搀攀瘀挀开椀搀 
				,(SELECT A_CSTM_FLD_ID FROM A_CSTM_FLD WHERE FLD_NAME = 'ControlDeviceLocalId' AND FLD_ENT_TYPE = 'ControlDevice')਀ऀऀऀऀⰀ䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀䰀伀䌀䄀䰀开䤀䐀⤀⤀ 
			FROM਀ऀऀऀऀ䤀开䌀伀一吀刀伀䰀 
			WHERE਀ऀऀऀऀ䤀䐀䌀伀一吀刀伀䰀 㴀 䀀瀀开椀猀琀攀瀀猀开椀搀挀漀渀琀爀漀氀 
				AND਀ऀऀऀऀ⠀ 
					LOCAL_ID IS NOT NULL਀ऀऀऀऀऀ䄀一䐀 䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀䰀伀䌀䄀䰀开䤀䐀⤀⤀ 㰀㸀 ✀✀ 
				)਀ऀऀ⤀㬀 
		਀ऀऀ匀䔀䰀䔀䌀吀 䀀瘀开攀爀爀开挀漀搀攀 㴀 䀀䀀䔀爀爀漀爀㬀 
	END;਀ऀ 
	਀ऀⴀⴀ䌀漀渀琀爀漀氀䐀攀瘀椀挀攀匀攀爀椀愀氀一甀洀戀攀爀 
	If @v_err_code = 0਀ऀ䈀䔀䜀䤀一 
		INSERT INTO M_CTRL_DEVC_CSTM_FLD_VAL਀ऀऀ⠀ 
			CTRL_DEVC_ID਀ऀऀ   Ⰰ䄀开䌀匀吀䴀开䘀䰀䐀开䤀䐀 
		   ,CSTM_FLD_VAL਀ऀऀ⤀ 
		(਀ऀऀऀ匀䔀䰀䔀䌀吀 
				@p_new_ctrl_devc_id਀ऀऀऀऀⰀ⠀匀䔀䰀䔀䌀吀 䄀开䌀匀吀䴀开䘀䰀䐀开䤀䐀 䘀刀伀䴀 䄀开䌀匀吀䴀开䘀䰀䐀 圀䠀䔀刀䔀 䘀䰀䐀开一䄀䴀䔀 㴀 ✀䌀漀渀琀爀漀氀䐀攀瘀椀挀攀匀攀爀椀愀氀一甀洀戀攀爀✀ 䄀一䐀 䘀䰀䐀开䔀一吀开吀夀倀䔀 㴀 ✀䌀漀渀琀爀漀氀䐀攀瘀椀挀攀✀⤀ 
				,LTRIM(RTRIM(SERIALNO))਀ऀऀऀ䘀刀伀䴀 
				I_CONTROL਀ऀऀऀ圀䠀䔀刀䔀 
				IDCONTROL = @p_isteps_idcontrol਀ऀऀऀऀ䄀一䐀 
				(਀ऀऀऀऀऀ匀䔀刀䤀䄀䰀一伀 䤀匀 一伀吀 一唀䰀䰀 
					AND LTRIM(RTRIM(SERIALNO)) <> ''਀ऀऀऀऀ⤀ 
		);਀ऀऀ 
		SELECT @v_err_code = @@Error;਀ऀ䔀一䐀㬀 
	਀ऀ 
	--ControlDeviceManufacturer਀ऀ䤀昀 䀀瘀开攀爀爀开挀漀搀攀 㴀 　 
	BEGIN਀ऀऀ䤀一匀䔀刀吀 䤀一吀伀 䴀开䌀吀刀䰀开䐀䔀嘀䌀开䌀匀吀䴀开䘀䰀䐀开嘀䄀䰀 
		(਀ऀऀऀ䌀吀刀䰀开䐀䔀嘀䌀开䤀䐀 
		   ,A_CSTM_FLD_ID਀ऀऀ   Ⰰ䌀匀吀䴀开䘀䰀䐀开嘀䄀䰀 
		)਀ऀऀ⠀ 
			SELECT਀ऀऀऀऀ䀀瀀开渀攀眀开挀琀爀氀开搀攀瘀挀开椀搀 
				,(SELECT A_CSTM_FLD_ID FROM A_CSTM_FLD WHERE FLD_NAME = 'ControlDeviceManufacturer' AND FLD_ENT_TYPE = 'ControlDevice')਀ऀऀऀऀⰀ䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀䴀䄀一唀䘀䄀䌀吀⤀⤀ 
			FROM਀ऀऀऀऀ䤀开䌀伀一吀刀伀䰀 
			WHERE਀ऀऀऀऀ䤀䐀䌀伀一吀刀伀䰀 㴀 䀀瀀开椀猀琀攀瀀猀开椀搀挀漀渀琀爀漀氀 
				AND਀ऀऀऀऀ⠀ 
					MANUFACT IS NOT NULL਀ऀऀऀऀऀ䄀一䐀 䰀吀刀䤀䴀⠀刀吀刀䤀䴀⠀䴀䄀一唀䘀䄀䌀吀⤀⤀ 㰀㸀 ✀✀ 
				)਀ऀऀ⤀㬀 
		਀ऀऀ匀䔀䰀䔀䌀吀 䀀瘀开攀爀爀开挀漀搀攀 㴀 䀀䀀䔀爀爀漀爀㬀 
	END;਀ऀ 
	਀ऀⴀⴀ䌀漀渀琀爀漀氀䐀攀瘀椀挀攀䤀渀猀琀愀氀氀䐀愀琀攀 
	If @v_err_code = 0਀ऀ䈀䔀䜀䤀一 
		INSERT INTO M_CTRL_DEVC_CSTM_FLD_VAL਀ऀऀ⠀ 
			CTRL_DEVC_ID਀ऀऀ   Ⰰ䄀开䌀匀吀䴀开䘀䰀䐀开䤀䐀 
		   ,CSTM_FLD_VAL਀ऀऀ⤀ 
		(਀ऀऀऀ匀䔀䰀䔀䌀吀 
				@p_new_ctrl_devc_id਀ऀऀऀऀⰀ⠀匀䔀䰀䔀䌀吀 䄀开䌀匀吀䴀开䘀䰀䐀开䤀䐀 䘀刀伀䴀 䄀开䌀匀吀䴀开䘀䰀䐀 圀䠀䔀刀䔀 䘀䰀䐀开一䄀䴀䔀 㴀 ✀䌀漀渀琀爀漀氀䐀攀瘀椀挀攀䤀渀猀琀愀氀氀䐀愀琀攀✀ 䄀一䐀 䘀䰀䐀开䔀一吀开吀夀倀䔀 㴀 ✀䌀漀渀琀爀漀氀䐀攀瘀椀挀攀✀⤀ 
				,INST_DATE਀ऀऀऀ䘀刀伀䴀 
				I_CONTROL਀ऀऀऀ圀䠀䔀刀䔀 
				IDCONTROL = @p_isteps_idcontrol਀ऀऀऀऀ䄀一䐀 䤀一匀吀开䐀䄀吀䔀 䤀匀 一伀吀 一唀䰀䰀 
		);਀ऀऀ 
		SELECT @v_err_code = @@Error;਀ऀ䔀一䐀㬀 
	਀ 
	--Insert M_CTRL_DEVC_POLLUTANT਀ऀ䤀昀 䀀瘀开攀爀爀开挀漀搀攀 㴀 　 
	BEGIN਀ऀऀ䤀一匀䔀刀吀 䤀一吀伀 䴀开䌀吀刀䰀开䐀䔀嘀䌀开倀伀䰀䰀唀吀䄀一吀 
		(਀ऀऀऀ 䌀吀刀䰀开䐀䔀嘀䌀开䤀䐀 
			,E_POLLUTANT_CD਀ऀऀऀⰀ倀䌀吀开䌀吀刀䰀开䴀䔀䄀匀开刀䔀䐀䌀开䔀䘀䌀夀 
		)਀ऀऀ⠀ 
			SELECT਀ऀऀऀऀ䀀瀀开渀攀眀开挀琀爀氀开搀攀瘀挀开椀搀Ⰰ 
				dbo.F_GET_XREF_VAL਀ऀऀऀऀ⠀ 
					@p_isteps_state_cd,਀ऀऀऀऀऀ✀倀伀䰀䰀唀吀䄀一吀✀Ⰰ 
					ce.POLLUTANT਀ऀऀऀऀ⤀ऀऀऀऀऀऀऀऀऀऀऀऀऀ䄀匀 䔀开倀伀䰀䰀唀吀䄀一吀开䌀䐀Ⰰ 
				ce.EFFICIENCY਀ऀऀऀ䘀刀伀䴀 
				I_CTRLEFF ce਀ऀऀऀऀ䤀一一䔀刀 䨀伀䤀一 䤀开䌀伀一吀刀伀䰀 挀 伀一  挀攀⸀䤀䐀䌀伀一吀刀伀䰀 㴀 挀⸀䤀䐀䌀伀一吀刀伀䰀ऀऀऀऀऀऀ 
			WHERE਀ऀऀऀऀ挀⸀䤀䐀䌀伀一吀刀伀䰀 㴀 䀀瀀开椀猀琀攀瀀猀开椀搀挀漀渀琀爀漀氀 
		);਀ऀऀ 
		SELECT @v_err_code = @@Error;਀ऀ䔀一䐀㬀ऀऀ 
਀ 
	RETURN @v_err_code;਀䔀一䐀㬀 
