added deployment folder with latest code

This commit is contained in:
Deepthi
2021-04-27 16:13:33 +05:30
parent 37f73d5dfd
commit c8985b2d62
112 changed files with 42492 additions and 0 deletions

View File

@@ -0,0 +1,241 @@
drop function if exists mmt_staging2.fn_BUDNI_ARC_ODS;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_ARC_ODS(p_file_syspk int)
RETURNS text AS $$
declare __test_instance_id int;
declare __file_syspk int;
declare __model text;
declare __make text;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
begin
__file_syspk := p_file_syspk;
/************************************************************
Function Name:fn_BUDNI_ARC_ODS
Function Desc: This function populates data into ODS
File Format: BUDNI
Sheet Format: BUDNI_ARC
Creation Date:
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_ARC_ODS()
***************************************************************/
--delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_ARC';
--delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_ARC';
-- delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_ARC';
--delete from mmt_ods.budni_air_cleaner_perf_results where test_file_sheet_format='BUDNI_ARC';
--delete from mmt_ods.budni_test_observations where test_file_sheet_format='BUDNI_ARC';
SET search_path TO mmt_staging2;
insert into mmt_ods.test_instance_tractor_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
tractor_engine_hp,
configuration,
transmission_type,
wheel_drive_type,
fip_type,
steering_type,
ballast_condition
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
tractor_HP::int tractor_engine_hp,
configuration,
transmission_type,
wheel_drive_type,
FIP_type,
steering_type,
Ballast_Condition
from mmt_staging2.BUDNI_ARC_Spec_H1_block;
insert into mmt_ods.test_instance
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
type_of_road
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
type_of_track
from
mmt_staging2.BUDNI_ARC_Spec_H1_block;
insert into mmt_ods.test_instance_engine_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
rated_rpm,
engine_to_pto_ratio_540_pto
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
rated_rpm::int,
engine_to_pto_ratio engine_to_pto_ratio_540_pto
from mmt_staging2.BUDNI_ARC_Spec_H1_block;
/*block */
insert into mmt_ods.budni_air_cleaner_perf_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
atm_condtion_temperature_c,
atm_condition_pressure_kpa,
atm_condition_relative_humidity_pct,
atm_condtion_mass_of_oil_before_test,
position_of_tractor,
loss_of_oil_g,
oil_pull_over_pct,
engine_oil_pressure
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
Temperature_C,
Pressure_kPa,
Relative_humidity::numeric,
Mass_of_oil_before_test::numeric,
Position_of_tractor,
Loss_of_oil::numeric,
Oil_pull_Over::numeric,
Engine_oil_pressure
from mmt_staging2.budni_arc_perf_atmos_meas_test_block where ods_record=1
order by rank;
insert into mmt_ods.budni_test_observations
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
sequence_number,
characteristic,
category_evaluative_or_non_evaluative,
requirements_as_per_is_12207_2008,
values_declared_by_the_applicant_d_rqmt,
as_observed,
whether_meets_the_requirements_yn
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column3::int,
column4,
column5,
column6,
column7,
column8,
column9
from mmt_staging2.BUDNI_ARC_test_obs_summary_block where ods_record=1;
select file_syspk into __file_syspk from mmt_staging2.BUDNI_ARC_Spec_H1_block;
select syspk into __test_instance_id from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_model into __model from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_make into __make from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
update mmt_ods.test_instance_engine_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.test_instance_tractor_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_air_cleaner_perf_results
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_test_observations
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_ARC' ,null,'ods', 'fn_BUDNI_ARC_ODS', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_ARC' ,null,'ods', 'fn_BUDNI_ARC_ODS', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,315 @@
drop function if exists mmt_staging2.fn_BUDNI_ARC_Block ;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_ARC_Block(p_client_id int,p_function_id int, p_file_format text,
p_sheet_mnemonic text, p_file_syspk int)
RETURNS text AS $$
declare __make text;
declare __model text;
declare __client_id int :=p_client_id;
declare __function_id int :=p_function_id;
declare __file_format text :=p_file_format;
declare __sheet_mnemonic text :=p_sheet_mnemonic;
declare __file_syspk int :=p_file_syspk;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
declare v_block text;
begin
/***********************************************************************************
Function Name:fn_BUDNI_ARC_Block
Function Desc: This function populates data into staging2 blocks
File Format:BUDNI
Sheet Format: BUDNI_ARC
Creation Date:
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_FTDRY_SUM_Block (20,1,'BUDNI','BUDNI_ARC',273);
************************************************************************************/
SET search_path TO mmt_staging2;
truncate mmt_staging2.BUDNI_ARC_Spec_H1_Block;
truncate mmt_staging2.BUDNI_ARC_Perf_Atmos_Meas_Test_Block;
truncate mmt_staging2.BUDNI_ARC_Test_Obs_Summary_Block;
truncate mmt_staging2.stg_specific_table_BUDNI_ARC;
truncate mmt_staging2.stg_process_table_BUDNI_ARC;
execute 'delete from mmt_ods.fw_jobctrl_file_sheet_block_run_schedule where file_syspk='||p_file_syspk||' and sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=null,
row_previous_number=null,
row_read_end=null,
run_time=null
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* transfer data from generic to specific for BUDNI*/
execute 'insert into mmt_staging2.stg_specific_table_BUDNI_ARC
select * from mmt_staging1.mmt_staging_generic_table a
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''
and a.file_syspk='||p_file_syspk||'';
/* trimming data */
update mmt_staging2.stg_specific_table_BUDNI_ARC set column3 = TRIM (TRAILING FROM column3 );
update mmt_staging2.stg_specific_table_BUDNI_ARC set column3 = TRIM (LEADING FROM column3 );
update mmt_ods.mmt_config set F1_modified = TRIM (TRAILING FROM F1_modified);
update mmt_ods.mmt_config set F1_modified = TRIM (LEADING FROM F1_modified);
update mmt_ods.mmt_config set F1_source=F1_modified;
update mmt_ods.mmt_config set F1_source = TRIM (TRAILING FROM F1_source);
update mmt_ods.mmt_config set F1_source = TRIM (LEADING FROM F1_source) ;
/* keyword match in config table*/
execute 'update mmt_ods.mmt_config a set f1_source = replace(f1_source,''_1'','''')
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* update config files for row numbers start, end */
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_BUDNI_ARC b
where trim(upper(F1_source))= trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* reverese update in process table for match*/
execute 'update mmt_staging2.stg_specific_table_BUDNI_ARC a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_source))= trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a set f1_source = replace(f1_source,''_2'','''')
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_BUDNI_ARC b
where trim(upper(F1_source))= trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_staging2.stg_specific_table_BUDNI_ARC a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_source))= trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a set row_previous_number=row_number_start-1
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* update config files for row numbers start, end */
execute 'update mmt_ods.mmt_config a
set row_read_end= (select b.row_number_start
from mmt_ods.mmt_config b
where b.syspk=a.syspk+1 )
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* config file last field update as null otherwise it picks up next format row number*/
execute 'update mmt_ods.mmt_config a
set row_read_end = null
where f1_modified =''AIR CLEANER OIL PULL OVER TEST Observations Summary''
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/*inserting run_time in config*/
execute 'update mmt_ods.mmt_config a
set run_time=current_timestamp
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* tagging ranks for each block in process table*/
execute 'insert into mmt_staging2.stg_process_table_BUDNI_ARC
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_ARC a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Test Tractor Specifiactions''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_ARC
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_ARC a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Atmospheric conditions:''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_ARC
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_ARC a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''AIR CLEANER OIL PULL OVER TEST Observations Summary''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
/* fetching tractor model and make */
select column3 into __make from mmt_staging2.stg_process_table_BUDNI_ARC a
where rank_tag='BUDNI_ARC_Spec_H1' and rank=3;
select column4 into __model from mmt_staging2.stg_process_table_BUDNI_ARC a
where rank_tag='BUDNI_ARC_Spec_H1' and rank=3;
/* blocks data loading start - BUDNI_ARC_Spec_H1_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_ARC_Spec_H1_Block',__file_format,__sheet_mnemonic,1);
v_block:='BUDNI_ARC_Spec_H1_Block';
insert into mmt_staging2.BUDNI_ARC_Spec_H1_block
(
make,model,tractor_HP,rated_rpm,configuration,transmission_type,wheel_drive_type,rank)
select column3,column4,column5,column6,column7,column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_ARC where rank_tag='BUDNI_ARC_Spec_H1'
and rank=3;
execute 'update mmt_staging2.BUDNI_ARC_Spec_H1_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_ARC_Spec_H1_block a
set FIP_type=column3,steering_type=column4,Engine_to_PTO_ratio= column5,Ballast_Condition=column6,
Test_Engine_Set_RPM=column7,Type_of_track=column8
from mmt_staging2.stg_process_table_BUDNI_ARC b
where b.rank_tag='BUDNI_ARC_Spec_H1'
and b.rank=5
and a.file_syspk=b.file_syspk;
update mmt_staging2.BUDNI_ARC_Spec_H1_Block
set ods_record=0 where rank in(1,2);
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_ARC_Spec_H1_block');
/* blocks data loading start - BUDNI_ARC_Perf_Atmos_Meas_Test_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_ARC_Perf_Atmos_Meas_Test_Block',__file_format,__sheet_mnemonic,2);
v_block:='BUDNI_ARC_Perf_Atmos_Meas_Test_Block';
insert into mmt_staging2.BUDNI_ARC_Perf_Atmos_Meas_Test_Block
(
Position_of_tractor,
Loss_of_oil,
Oil_pull_Over,
Engine_oil_pressure,
rank
)
select
column3,column6,column7,column8,rank
from mmt_staging2.stg_process_table_BUDNI_ARC a
where rank_tag ='BUDNI_ARC_Perf_Atmos_Meas_Test' and rank in (5,6,7,8,9)
order by rank;
update mmt_staging2.BUDNI_ARC_Perf_Atmos_Meas_Test_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_ARC_Perf_Atmos_Meas_Test_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_ARC_Perf_Atmos_Meas_Test_Block a
set
Temperature_C=column3,
Pressure_kPa=column4 ,
Relative_humidity=column5,
Mass_of_oil_before_test=column6
from mmt_staging2.stg_process_table_BUDNI_ARC b
where b.rank_tag ='BUDNI_ARC_Perf_Atmos_Meas_Test'
and b.rank =3
and a.file_syspk=b.file_syspk;
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_ARC_Perf_Atmos_Meas_Test_Block');
/* blocks data loading start - BUDNI_ARC_Test_Obs_Summary_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_ARC_Test_Obs_Summary_Block',__file_format,__sheet_mnemonic,3);
v_block:='BUDNI_ARC_Test_Obs_Summary_Block';
insert into mmt_staging2.BUDNI_ARC_Test_Obs_Summary_Block
(
column3,column4,column5,column6,column7,
column8,column9,rank
)
select
column3,column4,column5,column6,column7,
column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_ARC a
where rank_tag='BUDNI_ARC_Test_Obs_Summary' and rank in (1,2,3)
order by rank;
update mmt_staging2.BUDNI_ARC_Test_Obs_Summary_Block
set ods_record=0 where
rank in(1,2);
update mmt_staging2.BUDNI_ARC_Test_Obs_Summary_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_ARC_Test_Obs_Summary_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_ARC_Test_Obs_Summary_Block');
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,null,'stg2', 'fn_BUDNI_ARC_Block', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,v_block,'stg2', 'fn_BUDNI_ARC_Block', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,499 @@
drop function if exists mmt_staging2.fn_BUDNI_BRK_ODS;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_BRK_ODS(p_file_syspk int)
RETURNS text AS $$
declare __test_instance_id int;
declare __file_syspk int;
declare __model text;
declare __make text;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
begin
__file_syspk := p_file_syspk;
/************************************************************
Function Name:fn_BUDNI_BRK_ODS
Function Desc: This function populates data into ODS
File Format: BUDNI
Sheet Format: BUDNI_BRK
Creation Date:
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_BRK_ODS()
***************************************************************/
--delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_BRK';
--delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_BRK';
--delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_BRK';
--delete from mmt_ods.budni_brake_perf_parking_brake_test_results
--where test_file_sheet_format='BUDNI_BRK';
--delete from mmt_ods.budni_brake_perf_service_brake_test_results
--where test_file_sheet_format='BUDNI_BRK';
--delete from mmt_ods.budni_test_observations
--where test_file_sheet_format='BUDNI_BRK';
SET search_path TO mmt_staging2;
insert into mmt_ods.test_instance_tractor_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
tractor_engine_hp,
brake_type,
brake_free_play_lh,
brake_free_play_rh,
unballasted_max_speed_kmph,
road_ballasted_max_speed_kmph
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
tractor_HP::numeric tractor_engine_hp,
Type_of_brake,
brake_free_play_lh::numeric ,
brake_free_play_rh::numeric ,
maximum_attainable_speed_kmph_unballasted::numeric ,
maximum_attainable_speed_kmph_ballasted::numeric
from mmt_staging2.BUDNI_BRK_Spec_H1_block;
insert into mmt_ods.test_instance
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
type_of_road
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
type_of_track
from
mmt_staging2.BUDNI_BRK_Spec_H1_block;
insert into mmt_ods.test_instance_engine_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
rated_rpm
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
rated_rpm::int
from mmt_staging2.BUDNI_BRK_Spec_H1_block;
/*block */
insert into mmt_ods.budni_brake_perf_service_brake_test_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
brake_test_type,
brake_test_name,
speed_condition,
ballast_condition,
braking_device_control_force_n,
mean_deceleration_msec2,
stopping_dist_m
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
brake_test_type,
brake_test_name,
speed_condition,
ballast_condition,
Braking_device_control_force_N::numeric ,
Mean_deceleration_m_sec2::numeric ,
Stopping_distance_m ::numeric
from mmt_staging2.budni_brk_service_cold_ballasted_25kmph_block;
insert into mmt_ods.budni_brake_perf_service_brake_test_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
brake_test_type,
brake_test_name,
speed_condition,
ballast_condition,
braking_device_control_force_n,
mean_deceleration_msec2,
stopping_dist_m
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
brake_test_type,
brake_test_name,
speed_condition,
ballast_condition,
Braking_device_control_force_N::numeric ,
Mean_deceleration_m_sec2::numeric ,
Stopping_distance_m ::numeric
from mmt_staging2.budni_brk_service_cold_ballasted_maximum_block;
insert into mmt_ods.budni_brake_perf_service_brake_test_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
brake_test_type,
brake_test_name,
speed_condition,
ballast_condition,
braking_device_control_force_n,
mean_deceleration_msec2,
stopping_dist_m
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
brake_test_type,
brake_test_name,
speed_condition,
ballast_condition,
Braking_device_control_force_N::numeric ,
Mean_deceleration_m_sec2::numeric ,
Stopping_distance_m ::numeric
from mmt_staging2.budni_brk_service_cold_standard_25kmph_block;
insert into mmt_ods.budni_brake_perf_service_brake_test_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
brake_test_type,
brake_test_name,
speed_condition,
ballast_condition,
braking_device_control_force_n,
mean_deceleration_msec2,
stopping_dist_m
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
brake_test_type,
brake_test_name,
speed_condition,
ballast_condition,
Braking_device_control_force_N::numeric ,
Mean_deceleration_m_sec2::numeric ,
Stopping_distance_m ::numeric
from mmt_staging2.budni_brk_service_cold_standard_maximum_block;
insert into mmt_ods.budni_brake_perf_service_brake_test_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
brake_test_type,
brake_test_name,
speed_condition,
ballast_condition,
braking_device_control_force_n,
mean_deceleration_msec2,
stopping_dist_m
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
brake_test_type,
brake_test_name,
speed_condition,
ballast_condition,
Braking_device_control_force_N::numeric ,
Mean_deceleration_m_sec2::numeric ,
Stopping_distance_m ::numeric
from mmt_staging2.budni_brk_service_fade_standard_maximum_block;
insert into mmt_ods.budni_brake_perf_service_brake_test_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
brake_test_type,
brake_test_name,
speed_condition,
ballast_condition,
braking_device_control_force_n,
mean_deceleration_msec2,
stopping_dist_m
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
brake_test_type,
brake_test_name,
speed_condition,
ballast_condition,
Braking_device_control_force_N::numeric ,
Mean_deceleration_m_sec2::numeric ,
Stopping_distance_m ::numeric
from mmt_staging2.budni_brk_service_fade_ballasted_25kmph_block;
update mmt_ods.budni_brake_perf_service_brake_test_results
set max_dev_of_tractor_from_its_org_course_m =column3,
abnormal_vibration=column5,
the_brakes_were_heated_by =column7
from mmt_staging2.budni_brk_other_observations_Block where ods_record =1;
insert into mmt_ods.budni_brake_perf_parking_brake_test_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
test_condition
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
particulars
from mmt_staging2.budni_brk_parking_barke_test_block where particulars is not null;
update mmt_ods.budni_brake_perf_parking_brake_test_results
set braking_device_control_force_n_facing_up = (select
Braking_device_control_force::numeric
from mmt_staging2.budni_brk_parking_barke_test_block
where facing='Facing up' and particulars='18 percent slope')
where test_condition='18 percent slope';
update mmt_ods.budni_brake_perf_parking_brake_test_results
set braking_device_control_force_n_facing_down = (select
Braking_device_control_force::numeric
from mmt_staging2.budni_brk_parking_barke_test_block
where facing='Facing Down' and particulars='18 percent slope')
where test_condition='18 percent slope';
update mmt_ods.budni_brake_perf_parking_brake_test_results
set efficacy_of_parking_brake_facing_down = (select
Efficacy_of_parking_brake
from mmt_staging2.budni_brk_parking_barke_test_block
where facing='Facing Down' and particulars='18 percent slope')
where test_condition='18 percent slope';
update mmt_ods.budni_brake_perf_parking_brake_test_results
set efficacy_of_parking_brake_facing_up = (select
Efficacy_of_parking_brake
from mmt_staging2.budni_brk_parking_barke_test_block
where facing='Facing up' and particulars='18 percent slope')
where test_condition='18 percent slope';
update mmt_ods.budni_brake_perf_parking_brake_test_results
set braking_device_control_force_n_facing_up = (select
Braking_device_control_force::numeric
from mmt_staging2.budni_brk_parking_barke_test_block
where facing='Facing up' and particulars='12 percent slope with trailer of 2.55 tonnes.')
where test_condition='12 percent slope with trailer of 2.55 tonnes.';
update mmt_ods.budni_brake_perf_parking_brake_test_results
set braking_device_control_force_n_facing_down = (select
Braking_device_control_force::numeric
from mmt_staging2.budni_brk_parking_barke_test_block
where facing='Facing Down' and particulars='12 percent slope with trailer of 2.55 tonnes.')
where test_condition='12 percent slope with trailer of 2.55 tonnes.';
update mmt_ods.budni_brake_perf_parking_brake_test_results
set efficacy_of_parking_brake_facing_down = (select
Efficacy_of_parking_brake
from mmt_staging2.budni_brk_parking_barke_test_block
where facing='Facing Down' and particulars='12 percent slope with trailer of 2.55 tonnes.')
where test_condition='12 percent slope with trailer of 2.55 tonnes.';
update mmt_ods.budni_brake_perf_parking_brake_test_results
set efficacy_of_parking_brake_facing_up = (select
Efficacy_of_parking_brake
from mmt_staging2.budni_brk_parking_barke_test_block
where facing='Facing up' and particulars='12 percent slope with trailer of 2.55 tonnes.')
where test_condition='12 percent slope with trailer of 2.55 tonnes.';
delete from mmt_ods.budni_brake_perf_parking_brake_test_results a
using mmt_ods.budni_brake_perf_parking_brake_test_results b
where a.syspk < b.syspk and a.test_condition =b.test_condition ;
insert into mmt_ods.budni_test_observations
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
characteristic,
category_evaluative_or_non_evaluative,
requirements_as_per_is_12207_2008,
values_declared_by_the_applicant_d_rqmt,
as_observed,
whether_meets_the_requirements_yn
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column3,
column4,
column5,
column6,
column7,
column8
from mmt_staging2.BUDNI_BRK_test_obs_summary_block where ods_record=1;
select file_syspk into __file_syspk from mmt_staging2.BUDNI_BRK_Spec_H1_block;
select syspk into __test_instance_id from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_model into __model from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_make into __make from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
update mmt_ods.test_instance_engine_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.test_instance_tractor_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_brake_perf_parking_brake_test_results
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_brake_perf_service_brake_test_results
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_test_observations
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_BRK' ,null,'ods', 'fn_BUDNI_BRK_ODS', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_BRK' ,null,'ods', 'fn_BUDNI_BRK_ODS', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,720 @@
drop function if exists mmt_staging2.fn_BUDNI_BRK_Block;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_BRK_Block(p_client_id int,p_function_id int, p_file_format text,
p_sheet_mnemonic text, p_file_syspk int)
RETURNS text AS $$
declare __make text;
declare __model text;
declare __characteristic_1 text;
declare __client_id int :=p_client_id;
declare __function_id int :=p_function_id;
declare __file_format text :=p_file_format;
declare __sheet_mnemonic text :=p_sheet_mnemonic;
declare __file_syspk int :=p_file_syspk;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
declare v_block text;
begin
/***********************************************************************************
Function Name:fn_BUDNI_BRK_Block
Function Desc: This function populates data into staging2 blocks
File Format: BUDNI
Sheet Format: BUDNI_BRK
Creation Date: March 21 2021
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_BRK_Block(20,1,'BUDNI','BUDNI_BRK',273);
************************************************************************************/
SET search_path TO mmt_staging2;
truncate table mmt_staging2.BUDNI_BRK_Spec_H1_Block;
truncate table mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int;
truncate table mmt_staging2.budni_brk_service_cold_ballasted_maximum_block;
truncate table mmt_staging2.budni_brk_service_cold_standard_25kmph_block;
truncate table mmt_staging2.budni_brk_service_cold_standard_maximum_block;
truncate table mmt_staging2.BUDNI_BRK_service_cold_ballasted_25kmph_Block;
truncate table mmt_staging2.BUDNI_BRK_service_fade_standard_maximum_Block;
truncate table mmt_staging2.BUDNI_BRK_service_fade_ballasted_25kmph_Block;
truncate table mmt_staging2.BUDNI_BRK_other_observations_Block;
truncate table mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Int;
truncate table mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Block;
truncate table mmt_staging2.BUDNI_BRK_Test_Obs_Summary_Block;
truncate table mmt_staging2.stg_specific_table_BUDNI_BRK;
truncate table mmt_staging2.stg_process_table_BUDNI_BRK;
execute 'delete from mmt_ods.fw_jobctrl_file_sheet_block_run_schedule where file_syspk='||p_file_syspk||' and sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=null,
row_previous_number=null,
row_read_end=null,
run_time=null
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* transfer data from generic to specific for BUDNI*/
execute 'insert into mmt_staging2.stg_specific_table_BUDNI_BRK
select * from mmt_staging1.mmt_staging_generic_table a
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''
and a.file_syspk='||p_file_syspk||'';
/* trimming data */
execute 'update mmt_staging2.stg_specific_table_BUDNI_BRK set column2 = TRIM (TRAILING FROM column2 )';
execute 'update mmt_staging2.stg_specific_table_BUDNI_BRK set column2 = TRIM (LEADING FROM column2 )';
execute 'update mmt_ods.mmt_config set F1_modified = TRIM (TRAILING FROM F1_modified)';
execute 'update mmt_ods.mmt_config set F1_modified = TRIM (LEADING FROM F1_modified)' ;
execute 'update mmt_ods.mmt_config set F1_source=F1_modified' ;
execute 'update mmt_ods.mmt_config set F1_source = TRIM (TRAILING FROM F1_source)';
execute 'update mmt_ods.mmt_config set F1_source = TRIM (LEADING FROM F1_source)' ;
/* keyword match in config table*/
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_BUDNI_BRK b
where trim(upper(F1_source))= trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* reverese update in process table for match*/
execute 'update mmt_staging2.stg_specific_table_BUDNI_BRK a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_source))= trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a set row_previous_number=row_number_start-1
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* update config files for row numbers start, end */
execute 'update mmt_ods.mmt_config a
set row_read_end= (select b.row_number_start
from mmt_ods.mmt_config b
where b.syspk=a.syspk+1 )
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* config file last field update as null otherwise it picks up next format row number*/
execute 'update mmt_ods.mmt_config a
set row_read_end = null
where f1_modified =''Brake Performance Test Observations Summary''
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/*inserting run_time in config*/
execute 'update mmt_ods.mmt_config a
set run_time=current_timestamp
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* tagging ranks for each block in process table*/
execute 'insert into mmt_staging2.stg_process_table_BUDNI_BRK
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_BRK a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Test Tractor Specifiactions''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_BRK
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_BRK a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''1) Service Barke Testing''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_BRK
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_BRK a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''2) Parking Brake Test''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_BRK
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_BRK a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Brake Performance Test Observations Summary''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
/* fetching tractor model and make */
select column3 into __make from mmt_staging2.stg_process_table_BUDNI_BRK a
where rank_tag='BUDNI_BRK_Spec_H1' and rank=3;
select column4 into __model from mmt_staging2.stg_process_table_BUDNI_BRK a
where rank_tag='BUDNI_BRK_Spec_H1' and rank=3;
/* blocks data loading start - BUDNI_BRK_Spec_H1_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_BRK_Spec_H1_Block',__file_format,__sheet_mnemonic,1);
v_block:='BUDNI_BRK_Spec_H1_Block';
insert into mmt_staging2.BUDNI_BRK_Spec_H1_block
(
make,model,tractor_HP,rated_rpm,Type_of_brake ,
Type_of_track,rank)
select column3,column4,column5,column6,column7,column8,rank
from mmt_staging2.stg_process_table_BUDNI_BRK where rank_tag='BUDNI_BRK_Spec_H1'
and rank=3;
execute 'update mmt_staging2.BUDNI_BRK_Spec_H1_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_BRK_Spec_H1_block a
set brake_free_play_lh=column3,brake_free_play_rh=column4,
maximum_attainable_speed_kmph_unballasted=column5,
maximum_attainable_speed_kmph_ballasted=column6
from mmt_staging2.stg_process_table_BUDNI_BRK b
where b.rank_tag='BUDNI_BRK_Spec_H1'
and b.rank=6
and a.file_syspk=b.file_syspk;
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_BRK_Spec_H1_block');
insert into mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
(
column3,
column4,
column5,
column6,
column7,
column8,
column9,
rank
)
select
column3,column4,column5,column6,column7,column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_BRK a
where rank_tag ='BUDNI_BRK_Service_Barke_Test'
order by rank;
update mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
set column2=(select column3 from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
where rank=1) where rank=3;
update mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
set column3=(select column3 from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
where rank=2) where rank=3;
update mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
set column3=(select column3 from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
where rank=3)where rank=10;
update mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
set column5=(select column5 from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
where rank=18)where rank=17;
update mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
set column3=(select column3 from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
where rank=17)where rank=22;
update mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
set column3=null where rank =1;
update mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
set column3=null where rank =2;
update mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
set column5 =null where rank=18;
update mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int a
set column2= b.first_value from (SELECT
rank, column2, value_partition, first_value(column2) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column2,
sum(case when column2 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.budni_brk_service_barke_test_int set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_BRK_Service_Barke_Test_int set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* blocks data loading start - BUDNI_BRK_service_cold_standard_maximum_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_BRK_service_cold_standard_maximum_Block',__file_format,__sheet_mnemonic,2);
v_block:='BUDNI_BRK_service_cold_standard_maximum_Block';
insert into mmt_staging2.BUDNI_BRK_service_cold_standard_maximum_Block
(
dummy_f,
Braking_device_control_force_N,
Mean_deceleration_m_sec2,
Stopping_distance_m
)
SELECT *
FROM crosstab(
'SELECT unnest(''{column5,column6,column7,column8}''::text[]) AS col
, row_number() OVER ()
, unnest(ARRAY[column5::text,column6::text,column7::text,column8::text]) AS val
FROM mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int where rank in (4,5,6)
ORDER BY generate_series(1,15),2'
) t (col text,a_1 text,a_2 text,a_3 text);
update mmt_staging2.BUDNI_BRK_service_cold_standard_maximum_Block set make=__make,model=__model;
delete from mmt_staging2.BUDNI_BRK_service_cold_standard_maximum_Block where dummy_f is null;
execute 'update mmt_staging2.BUDNI_BRK_service_cold_standard_maximum_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_BRK_service_cold_standard_maximum_Block a
set brake_test_type =column2,
brake_test_name =column3,
speed_condition =column5
from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int b
where b.rank=3 and a.file_syspk=b.file_syspk;
update mmt_staging2.BUDNI_BRK_service_cold_standard_maximum_Block a
set ballast_condition =column3
from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int b
where b.rank=4 and a.file_syspk=b.file_syspk;
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_BRK_service_cold_standard_maximum_Block');
/* blocks data loading start - BUDNI_BRK_service_cold_ballasted_maximum_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_BRK_service_cold_ballasted_maximum_Block',__file_format,__sheet_mnemonic,3);
v_block:='BUDNI_BRK_service_cold_ballasted_maximum_Block';
insert into mmt_staging2.BUDNI_BRK_service_cold_ballasted_maximum_Block
(
dummy_f,
Braking_device_control_force_N,
Mean_deceleration_m_sec2,
Stopping_distance_m
)
SELECT *
FROM crosstab(
'SELECT unnest(''{column5,column6,column7,column8}''::text[]) AS col
, row_number() OVER ()
, unnest(ARRAY[column5::text,column6::text,column7::text,column8::text]) AS val
FROM mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int where rank in (7,8,9)
ORDER BY generate_series(1,15),2'
) t (col text,a_1 text,a_2 text,a_3 text);
update mmt_staging2.BUDNI_BRK_service_cold_ballasted_maximum_Block set make=__make,model=__model;
delete from mmt_staging2.BUDNI_BRK_service_cold_ballasted_maximum_Block where dummy_f is null;
execute 'update mmt_staging2.BUDNI_BRK_service_cold_ballasted_maximum_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_BRK_service_cold_ballasted_maximum_Block a
set brake_test_type =column2,
brake_test_name =column3,
speed_condition =column5
from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int b
where b.rank=3 and a.file_syspk=b.file_syspk;
update mmt_staging2.BUDNI_BRK_service_cold_ballasted_maximum_Block a
set ballast_condition =column3
from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int b
where b.rank=7 and a.file_syspk=b.file_syspk;
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_BRK_service_cold_ballasted_maximum_Block');
/* blocks data loading start - BUDNI_BRK_service_cold_standard_25kmph_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_BRK_service_cold_standard_25kmph_Block',__file_format,__sheet_mnemonic,4);
v_block:='BUDNI_BRK_service_cold_standard_25kmph_Block';
insert into mmt_staging2.BUDNI_BRK_service_cold_standard_25kmph_Block
(
dummy_f,
Braking_device_control_force_N,
Mean_deceleration_m_sec2,
Stopping_distance_m
)
SELECT *
FROM crosstab(
'SELECT unnest(''{column5,column6,column7,column8}''::text[]) AS col
, row_number() OVER ()
, unnest(ARRAY[column5::text,column6::text,column7::text,column8::text]) AS val
FROM mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int where rank in (11,12,13)
ORDER BY generate_series(1,15),2'
) t (col text,a_1 text,a_2 text,a_3 text);
update mmt_staging2.BUDNI_BRK_service_cold_standard_25kmph_Block set make=__make,model=__model;
delete from mmt_staging2.BUDNI_BRK_service_cold_standard_25kmph_Block where dummy_f is null;
execute 'update mmt_staging2.BUDNI_BRK_service_cold_standard_25kmph_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_BRK_service_cold_standard_25kmph_Block a
set brake_test_type =column2,
brake_test_name =column3,
speed_condition =column5
from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int b
where b.rank=10 and a.file_syspk=b.file_syspk;
update mmt_staging2.BUDNI_BRK_service_cold_standard_25kmph_Block a
set ballast_condition =column3
from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int b
where b.rank=11 and a.file_syspk=b.file_syspk;
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_BRK_service_cold_standard_25kmph_Block');
/* blocks data loading start - BUDNI_BRK_service_cold_ballasted_25kmph_Block*/
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_BRK_service_cold_ballasted_25kmph_Block',__file_format,__sheet_mnemonic,5);
v_block:='BUDNI_BRK_service_cold_ballasted_25kmph_Block';
insert into mmt_staging2.BUDNI_BRK_service_cold_ballasted_25kmph_Block
(
dummy_f,
Braking_device_control_force_N,
Mean_deceleration_m_sec2,
Stopping_distance_m
)
SELECT *
FROM crosstab(
'SELECT unnest(''{column5,column6,column7,column8}''::text[]) AS col
, row_number() OVER ()
, unnest(ARRAY[column5::text,column6::text,column7::text,column8::text]) AS val
FROM mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int where rank in (14,15,16)
ORDER BY generate_series(1,15),2'
) t (col text,a_1 text,a_2 text,a_3 text);
update mmt_staging2.BUDNI_BRK_service_cold_ballasted_25kmph_Block set make=__make,model=__model;
delete from mmt_staging2.BUDNI_BRK_service_cold_ballasted_25kmph_Block where dummy_f is null;
execute 'update mmt_staging2.BUDNI_BRK_service_cold_ballasted_25kmph_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_BRK_service_cold_ballasted_25kmph_Block a
set brake_test_type =column2,
brake_test_name =column3,
speed_condition =column5
from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int b
where b.rank=10 and a.file_syspk=b.file_syspk;
update mmt_staging2.BUDNI_BRK_service_cold_ballasted_25kmph_Block a
set ballast_condition =column3
from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int b
where b.rank=14 and a.file_syspk=b.file_syspk;
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_BRK_service_cold_ballasted_25kmph_Block');
/* blocks data loading start - BUDNI_BRK_service_fade_standard_maximum_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_BRK_service_fade_standard_maximum_Block',__file_format,__sheet_mnemonic,6);
v_block:='BUDNI_BRK_service_fade_standard_maximum_Block';
insert into mmt_staging2.BUDNI_BRK_service_fade_standard_maximum_Block
(
dummy_f,
Braking_device_control_force_N,
Mean_deceleration_m_sec2,
Stopping_distance_m
)
SELECT *
FROM crosstab(
'SELECT unnest(''{column5,column6,column7,column8}''::text[]) AS col
, row_number() OVER ()
, unnest(ARRAY[column5::text,column6::text,column7::text,column8::text]) AS val
FROM mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int where rank in (19,20,21)
ORDER BY generate_series(1,15),2'
) t (col text,a_1 text,a_2 text,a_3 text);
update mmt_staging2.BUDNI_BRK_service_fade_standard_maximum_Block set make=__make,model=__model;
delete from mmt_staging2.BUDNI_BRK_service_fade_standard_maximum_Block where dummy_f is null;
execute 'update mmt_staging2.BUDNI_BRK_service_fade_standard_maximum_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_BRK_service_fade_standard_maximum_Block a
set brake_test_type =column2,
brake_test_name =column3,
speed_condition =column5
from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int b
where b.rank=17 and a.file_syspk=b.file_syspk;
update mmt_staging2.BUDNI_BRK_service_fade_standard_maximum_Block a
set ballast_condition =column3
from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int b
where b.rank=19 and a.file_syspk=b.file_syspk;
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_BRK_service_fade_standard_maximum_Block');
/* blocks data loading start - BUDNI_BRK_service_fade_ballasted_25kmph_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_BRK_service_fade_ballasted_25kmph_Block',__file_format,__sheet_mnemonic,7);
v_block:='BUDNI_BRK_service_fade_ballasted_25kmph_Block';
insert into mmt_staging2.BUDNI_BRK_service_fade_ballasted_25kmph_Block
(
dummy_f,
Braking_device_control_force_N,
Mean_deceleration_m_sec2,
Stopping_distance_m
)
SELECT *
FROM crosstab(
'SELECT unnest(''{column5,column6,column7,column8}''::text[]) AS col
, row_number() OVER ()
, unnest(ARRAY[column5::text,column6::text,column7::text,column8::text]) AS val
FROM mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int where rank in (23,24,25)
ORDER BY generate_series(1,15),2'
) t (col text,a_1 text,a_2 text,a_3 text);
update mmt_staging2.BUDNI_BRK_service_fade_ballasted_25kmph_Block set make=__make,model=__model;
delete from mmt_staging2.BUDNI_BRK_service_fade_ballasted_25kmph_Block where dummy_f is null;
execute 'update mmt_staging2.BUDNI_BRK_service_fade_ballasted_25kmph_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_BRK_service_fade_ballasted_25kmph_Block a
set brake_test_type =column2,
brake_test_name =column3,
speed_condition =column5
from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int b
where b.rank=22 and a.file_syspk=b.file_syspk;
update mmt_staging2.BUDNI_BRK_service_fade_ballasted_25kmph_Block a
set ballast_condition =column3
from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int b
where b.rank=23 and a.file_syspk=b.file_syspk;
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_BRK_service_fade_ballasted_25kmph_Block');
/* blocks data loading start - BUDNI_BRK_other_observations_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_BRK_other_observations_Block',__file_format,__sheet_mnemonic,8);
v_block:='BUDNI_BRK_other_observations_Block';
insert into mmt_staging2.BUDNI_BRK_other_observations_Block
(
column3,
column5,
column7,
rank
)
select
column3,
column5,
column7,
rank
from mmt_staging2.BUDNI_BRK_Service_Barke_Test_Int
where rank in (26,27,28) order by rank;
update mmt_staging2.BUDNI_BRK_other_observations_Block
set ods_record=0 where rank in (26,27);
update mmt_staging2.BUDNI_BRK_other_observations_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_BRK_other_observations_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_BRK_other_observations_Block');
insert into mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Int
(
column3,
column5,
column6,
column7,
column8,
rank
)
select
column3,column5,column6,column7,column8,rank
from mmt_staging2.stg_process_table_BUDNI_BRK a
where rank_tag ='BUDNI_BRK_Parking_Brake_Test'
order by rank;
update mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Int
set column6=column5 where rank=2;
update mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Int
set column8=column7 where rank=2;
update mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Int
set column6=column5 where rank=5;
update mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Int
set column8=column7 where rank=5;
update mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Int set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Int set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* blocks data loading start -BUDNI_BRK_Parking_Barke_Test_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_BRK_Parking_Barke_Test_Block',__file_format,__sheet_mnemonic,9);
v_block:='BUDNI_BRK_Parking_Barke_Test_Block';
insert into mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Block
(
dummy_f,
particulars,
facing,
Braking_device_control_force,
Efficacy_of_parking_brake
)
SELECT *
FROM crosstab(
'SELECT unnest(''{column5,column6,column7,column8}''::text[]) AS col
, row_number() OVER ()
, unnest(ARRAY[column5::text,column6::text,column7::text,column8::text]) AS val
FROM mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Int where rank <> 1
ORDER BY generate_series(1,15),rank,2'
) t (col text,a_1 text,a_2 text,a_3 text,a_4 text);
update mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Block set make=__make,model=__model;
delete from mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Block where dummy_f is null;
execute 'update mmt_staging2.BUDNI_BRK_Parking_Barke_Test_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_BRK_Parking_Barke_Test_Block');
/* blocks data loading start - BUDNI_BRK_Test_Obs_Summary_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_BRK_Test_Obs_Summary_Block',__file_format,__sheet_mnemonic,10);
v_block:='BUDNI_BRK_Test_Obs_Summary_Block';
insert into mmt_staging2.BUDNI_BRK_Test_Obs_Summary_Block
(
column3,column4,column5,column6,column7,
column8,column9,rank
)
select
column3,column4,column5,column6,column7,
column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_BRK a
where rank_tag='BUDNI_BRK_Test_Obs_Summary' and rank <=7
order by rank;
select column3 into __characteristic_1 from mmt_staging2.BUDNI_BRK_Test_Obs_Summary_Block
where rank=3;
update mmt_staging2.BUDNI_BRK_Test_Obs_Summary_Block set
column3=concat(__characteristic_1,'-',column3) where rank in (4,5);
update mmt_staging2.BUDNI_BRK_Test_Obs_Summary_Block
set ods_record=0 where
rank in(1,2,3);
update mmt_staging2.BUDNI_BRK_Test_Obs_Summary_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_BRK_Test_Obs_Summary_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_BRK_Test_Obs_Summary_Block');
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,null,'stg2', 'fn_BUDNI_BRK_Block', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,v_block,'stg2', 'fn_BUDNI_BRK_Block', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,192 @@
drop function if exists mmt_staging2.fn_BUDNI_DBP_ODS ;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_DBP_ODS(p_file_syspk int)
RETURNS text AS $$
declare __test_instance_id int;
declare __file_syspk int;
declare __model text;
declare __make text;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
begin
__file_syspk := p_file_syspk;
/************************************************************
Function Name:fn_BUDNI_DBP_ODS
Function Desc: This function populates data into ODS
File Format: BUDNI
Sheet Format: BUDNI_DBP
Creation Date:
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_DBP_ODS()
***************************************************************/
--delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_DBP';
--delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_DBP';
--delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_DBP';
--delete from mmt_ods.budni_drawbar_perf_results where test_file_sheet_format='BUDNI_DBP';
insert into mmt_ods.test_instance_tractor_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
configuration,
Transmission_type,
Wheel_Drive_Type,
Steering_type,
hitch_height_mm,
Ballast_condition
)
select
client_id,
function_id,
file_syspk ,
file_format,
sheet_mnemonic,
column3,
column4,
column7,
column8,
column9,
column11,
column13::int,
column14
from mmt_staging2.BUDNI_DBP_Spec_H1_Block where ods_record =1 ;
insert into mmt_ods.test_instance
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
type_of_road
)
select
client_id,
function_id,
file_syspk ,
file_format,
sheet_mnemonic,
column3,
column4,
column15
from mmt_staging2.BUDNI_DBP_Spec_H1_Block where ods_record =1 ;
insert into mmt_ods.test_instance_engine_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
Rated_RPM,
engine_to_pto_ratio_540_pto
)
select
client_id,
function_id,
file_syspk ,
file_format,
sheet_mnemonic,
column3,
column4,
column6::int,
column12
from mmt_staging2.BUDNI_DBP_Spec_H1_Block where ods_record =1 ;
insert into mmt_ods.budni_drawbar_perf_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
test_condtion,
gear_used,
travel_speed_km_per_hr,
drawbar_power_kw,
drawbar_pull_kn,
engine_speed_rpm,
wheel_slippage_pct ,
fuel_consumption_kg_per_kwh,
fuel_consumption_ltr_per_hr ,
specific_energy_kwh_per_ltr,
atmosp_conditions_temp_c,
atmosp_conditions_pressure_kpa,
atmosp_conditions_rh_pct,
temp_fuel_c,
temp_trans_oil_c,
temp_coolant_c,
temp_engine_oil_c
)
select
client_id,function_id,file_syspk,file_format,sheet_mnemonic,make,model,
column2,column3,column4::float,column5::float,column6::float,column7::float,
column8::float,column9::float,column10::float,column11::float,column12,column13,
column14,column15,column16,column17,column18
from mmt_staging2.BUDNI_DBP_Drawbar_Perf_Block where ods_record = 1;
select file_syspk into __file_syspk from mmt_staging2.BUDNI_DBP_Spec_H1_block;
select syspk into __test_instance_id from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_model into __model from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_make into __make from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
update mmt_ods.test_instance_engine_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.test_instance_tractor_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_drawbar_perf_results
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_DBP' ,null,'ods', 'fn_BUDNI_DBP_ODS', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_DBP' ,null,'ods', 'fn_BUDNI_DBP_ODS', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,267 @@
drop function if exists mmt_staging2.fn_BUDNI_DBP_Block ;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_DBP_Block(p_client_id int,p_function_id int, p_file_format text,
p_sheet_mnemonic text, p_file_syspk int)
RETURNS text AS $$
declare __make text;
declare __model text;
declare __client_id int :=p_client_id;
declare __function_id int :=p_function_id;
declare __file_format text :=p_file_format;
declare __sheet_mnemonic text :=p_sheet_mnemonic;
declare __file_syspk int :=p_file_syspk;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
declare v_block text;
begin
/***********************************************************************************
Function Name:fn_BUDNI_DBP_Block
Function Desc: This function populates data into staging2 blocks
File Format: BUDNI
Sheet Format: BUDNI_DBP
Creation Date: March 21 2021
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_DBP_Block(20,1,'BUDNI','BUDNI_DBP',261);
************************************************************************************/
SET search_path TO mmt_staging2;
/* rerunnability - delete block tables and update config tables to null */
truncate table mmt_staging2.BUDNI_DBP_Spec_H1_Block;
truncate table mmt_staging2.BUDNI_DBP_Drawbar_Perf_Block;
truncate table mmt_staging2.stg_specific_table_budni_dbp;
truncate table mmt_staging2.stg_process_table_budni_dbp;
execute 'delete from mmt_ods.fw_jobctrl_file_sheet_block_run_schedule where file_syspk='||p_file_syspk||' and sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=null,
row_previous_number=null,
row_read_end=null,
run_time=null
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* transfer data from generic to specific for BUDNI */
execute 'insert into mmt_staging2.stg_specific_table_budni_dbp
select * from mmt_staging1.mmt_staging_generic_table a
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''
and a.file_syspk='||p_file_syspk||'';
/* trimming data */
update mmt_staging2.stg_specific_table_budni_dbp set column3 = TRIM (TRAILING FROM column3 );
update mmt_staging2.stg_specific_table_budni_dbp set column3 = TRIM (LEADING FROM column3 );
update mmt_ods.mmt_config set F1_modified = TRIM (TRAILING FROM F1_modified);
update mmt_ods.mmt_config set F1_modified = TRIM (LEADING FROM F1_modified);
update mmt_ods.mmt_config set F1_source=F1_modified ;
update mmt_ods.mmt_config set F1_source = TRIM (TRAILING FROM F1_source);
update mmt_ods.mmt_config set F1_source = TRIM (LEADING FROM F1_source) ;
/* keyword match in config table*/
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_budni_dbp b
where trim(upper(F1_source))= trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* reverese update in process table for match*/
execute 'update mmt_staging2.stg_specific_table_budni_dbp a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_source))= trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a set row_previous_number=row_number_start-1
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* update config files for row numbers start, end */
execute 'update mmt_ods.mmt_config a
set row_read_end= (select b.row_number_start
from mmt_ods.mmt_config b
where b.syspk=a.syspk+1 )
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* config file last field update as null otherwise it picks up next format row number*/
execute 'update mmt_ods.mmt_config a
set row_read_end = null
where f1_modified =''Tractor Drawbar Performance Report.''
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set run_time=current_timestamp
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* tagging ranks for each block in process table*/
execute 'insert into mmt_staging2.stg_process_table_budni_dbp
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_budni_dbp a
join mmt_ods.mmt_config b
on a.row_number >row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Test Tractor Specifiactions''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_budni_dbp
select a.* , RANK () OVER ( ORDER BY row_number),b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_budni_dbp a
join mmt_ods.mmt_config b
on a.row_number >row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Tractor Drawbar Performance Report.''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
/* fetching tractor model and make */
select column3 into __make from mmt_staging2.stg_process_table_budni_dbp a
where rank_tag='BUDNI_DBP_Spec_H1' and rank=2;
select column4 into __model from mmt_staging2.stg_process_table_budni_dbp a
where rank_tag='BUDNI_DBP_Spec_H1' and rank=2;
/* blocks data loading start - BUDNI_DBP_Spec_H1_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_DBP_Spec_H1_Block',__file_format,__sheet_mnemonic,1);
v_block:='BUDNI_DBP_Spec_H1_Block';
insert into mmt_staging2.BUDNI_DBP_Spec_H1_Block
(
column2,column3,column4,column5,column6,column7,
column8,column9,column10,column11,column12,column13,
column14,column15,rank
)
select
column2,column3,column4,column5,column6,column7,column8,column9,column10,
column11,column12,column13,column14,column15,rank
from mmt_staging2.stg_process_table_budni_dbp
where rank_tag='BUDNI_DBP_Spec_H1';
update mmt_staging2.BUDNI_DBP_Spec_H1_Block
set ods_record=0 where rank in
(select distinct first_value(b.rank)
over (partition by b.column2 order by b.syspk) from mmt_staging2.BUDNI_DBP_Spec_H1_Block b);
execute 'update mmt_staging2.BUDNI_DBP_Spec_H1_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_DBP_Spec_H1_Block');
/* blocks data loading start - BUDNI_DBP_Spec_H1_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_DBP_Drawbar_Perf_Block',__file_format,__sheet_mnemonic,2);
v_block:='BUDNI_DBP_Drawbar_Perf_Block';
insert into mmt_staging2.BUDNI_DBP_Drawbar_Perf_Block
(
column2,column3,column4,column5,column6,column7,
column8,column9,column10,column11,column12,column13,
column14,column15,column16,column17,column18,column19,rank
)
select
column2,column3,column4,column5,column6,column7,
column8,column9,column10,column11,column12,column13,column14,
column15,column16,column17,column18,column19,rank
from mmt_staging2.stg_process_table_budni_dbp a
where rank_tag='BUDNI_DBP_Drawbar_Perf'
order by rank;
update mmt_staging2.BUDNI_DBP_Drawbar_Perf_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_DBP_Drawbar_Perf_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_DBP_Drawbar_Perf_Block
set column2= column3 where column3 like 'i%';
update mmt_staging2.BUDNI_DBP_Drawbar_Perf_Block
set column3=null
where column3 like 'i%';
update mmt_staging2.BUDNI_DBP_Drawbar_Perf_Block a
set column2= b.first_value from (SELECT
rank, column2, value_partition, first_value(column2) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column2,
sum(case when column2 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_DBP_Drawbar_Perf_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.BUDNI_DBP_Drawbar_Perf_Block
set ods_record=0 where column4 is null or
rank in
(select distinct first_value(b.rank)
over (partition by b.column2 order by b.syspk) from mmt_staging2.BUDNI_DBP_Drawbar_Perf_Block b);
delete from mmt_staging2.BUDNI_DBP_Drawbar_Perf_Block a
using mmt_staging2.BUDNI_DBP_Drawbar_Perf_Block b
where a.column2 like 'iV%' and b.column2 like 'iV%'
and a.column2 =b.column2 and a.syspk>=b.syspk + 2;
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_DBP_Drawbar_Perf_Block');
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,null,'stg2', 'fn_BUDNI_DBP_Block', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,v_block,'stg2', 'fn_BUDNI_DBP_Block', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,397 @@
drop function if exists mmt_staging2.fn_budni_fld_ODS;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_budni_fld_ODS(p_file_syspk int)
RETURNS text AS $$
declare __test_instance_id int;
declare __file_syspk int;
declare __model text;
declare __make text;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
begin
__file_syspk := p_file_syspk;
/************************************************************
Function Name:fn_BUDNI_FLD_ODS
Function Desc: This function populates data into ODS
File Format: BUDNI
Sheet Format: BUDNI_FLD
Creation Date:
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_FLD_ODS()
***************************************************************/
--delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_FLD';
--
--delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_FLD';
--
--delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_FLD';
--
--delete from mmt_ods.test_instance_implement_info where test_file_sheet_format='BUDNI_FLD';
--
--delete from mmt_ods.budni_field_perf_results where test_file_sheet_format='BUDNI_FLD';
--
--delete from mmt_ods.budni_test_observations where test_file_sheet_format='BUDNI_FLD';
insert into mmt_ods.test_instance_tractor_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
tractor_engine_hp,
configuration,
transmission_type,
wheel_drive_type,
fip_type,
steering_type,
ballast_condition
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
tractor_HP::int tractor_engine_hp,
configuration,
transmission_type,
wheel_drive_type,
FIP_type,
steering_type,
Ballast_Condition
from mmt_staging2.budni_fld_Spec_H1_block;
insert into mmt_ods.test_instance
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model
from
mmt_staging2.budni_fld_Spec_H1_block;
insert into mmt_ods.test_instance_engine_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
rated_rpm,
engine_to_pto_ratio_540_pto
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
rated_rpm::int,
engine_to_pto_ratio engine_to_pto_ratio_540_pto
from mmt_staging2.budni_fld_Spec_H1_block;
insert into mmt_ods.test_instance_implement_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
name_of_implement,
make_of_implement,
type_of_implement,
no_of_disc_blades_bottoms,
type_of_disc_blades_bottoms,
size_of_bottoms_blades_mm,
size_of_bottoms_blades2_mm,
size_of_bottoms_blades3_mm,
spacing_of_bottoms_flanges_mm,
span_for_mounted_implement_mm,
mast_height_for_mounted_implement_mm,
length_mm,
width_mm,
height_mm,
gross_mass_kg
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
items,
Make,
type,
No_of_Disc_blades,
Type_of_Disc_blades,
Size_of_bottoms_blades_1_mm::numeric,
Size_of_bottoms_blades_2_mm::numeric,
Size_of_bottoms_blades_3_mm::numeric,
Spacing_of_bottoms_flanges_mm::numeric,
Lower_hitch_point_span_mm::numeric,
Mast_height_mm,
Overall_dimensions_mm_length::numeric,
Overall_dimensions_mm_Width::numeric,
Overall_dimensions_mm_Height::numeric,
Gross_mass_kg::numeric
from mmt_staging2.BUDNI_FLD_Impl_Test_Block
order by rank;
insert into mmt_ods.test_instance_implement_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
name_of_implement,
type_of_implement,
cage_wheel_dia_mm,
cage_wheel_width_mm,
no_and_types_of_lugs,
size_of_angle_section_mm,
size_of_angle_section2_mm,
size_of_angle_section3_mm,
length_of_lugs_mm,
spacing_of_lugs_mm,
cage_wheel_weight_kg
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
Items,
type,
Dia_mm::numeric,
Width_mm::numeric,
No_and_types_of_lugs,
Size_of_angle_section_1_mm::numeric,
Size_of_angle_section_2_mm::numeric,
Size_of_angle_section_3_mm::numeric,
Length_of_lugs_mm::numeric,
Spacing_of_lugs_mm::numeric,
Weight_of_each_cage_wheels_kg::numeric
from mmt_staging2.BUDNI_FLD_Cage_Wheel_Block
order by rank;
insert into mmt_ods.budni_field_perf_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
operation_type,
type_of_soil,
avg_soil_moisture_pct_,
bulk_density_of_soil_g_per_cc,
cone_index_kgf_per_sq_cm,
gear_used,
avg_speed_of_operation_kmph,
avg_wheel_slip_pct,
avg_depth_of_cut_cm,
avg_working_width_cm,
area_covered_ha_per_hr,
fuel_consumption_ltr_per_hr,
fuel_consumption_ltr_per_ha,
avg_draft_of_implement_kn
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
Parameter_operation,
Type_of_soil,
Av_soil_moisture_Av_depth_of_standing_water_cm,
Bulk_density_of_soil_g_cc,
Cone_index_kgf_sq_cm_Puddling_index,
Gear_used,
Av_speed_of_operation_kmph,
Av_wheel_slip_Av_Travel_reduction,
Av_depth_of_cut_cm_Av_Depth_of_puddle_cm,
Av_working_width_cm,
Area_covered_ha_h,
Fuel_consumption_l_h,
Fuel_consumption_l_ha,
Av_draft_of_implement_kN
from mmt_staging2.BUDNI_FLD_Sum_Perf_Test_Block where parameter_operation <> 'Puddling';
insert into mmt_ods.budni_field_perf_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
operation_type,
type_of_soil,
avg_depth_of_standing_water_cm ,
bulk_density_of_soil_g_per_cc,
puddling_index_pct,
gear_used,
avg_speed_of_operation_kmph,
avg_travel_reduction_pct,
avg_depth_of_puddle_cm,
avg_working_width_cm,
area_covered_ha_per_hr,
fuel_consumption_ltr_per_hr,
fuel_consumption_ltr_per_ha,
avg_draft_of_implement_kn
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
Parameter_operation,
Type_of_soil,
Av_soil_moisture_Av_depth_of_standing_water_cm,
Bulk_density_of_soil_g_cc,
Cone_index_kgf_sq_cm_Puddling_index,
Gear_used,
Av_speed_of_operation_kmph,
Av_wheel_slip_Av_Travel_reduction,
Av_depth_of_cut_cm_Av_Depth_of_puddle_cm,
Av_working_width_cm,
Area_covered_ha_h,
Fuel_consumption_l_h,
Fuel_consumption_l_ha,
Av_draft_of_implement_kN
from mmt_staging2.BUDNI_FLD_Sum_Perf_Test_Block where parameter_operation ='Puddling';
insert into mmt_ods.budni_test_observations
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
srl_no,
characteristic,
category_evaluative_or_non_evaluative,
requirements_as_per_is_12207_2008,
values_declared_by_the_applicant_d_rqmt,
as_observed,
whether_meets_the_requirements_yn
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column3,
column4,
column5,
column6,
column7,
column8,
column9
from mmt_staging2.budni_fld_test_obs_summary_block where ods_record=1;
select file_syspk into __file_syspk from mmt_staging2.BUDNI_FLD_Spec_H1_block;
select syspk into __test_instance_id from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_model into __model from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_make into __make from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
update mmt_ods.test_instance_engine_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.test_instance_tractor_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.test_instance_implement_info
set test_instance_id=__test_instance_id
--tractor_model =__model,
--tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_field_perf_results
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_test_observations
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_FLD' ,null,'ods', 'fn_BUDNI_FLD_ODS', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_FLD' ,null,'ods', 'fn_BUDNI_FLD_ODS', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,594 @@
drop function if exists mmt_staging2.fn_BUDNI_FLD_Block ;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_FLD_Block(p_client_id int,p_function_id int, p_file_format text,
p_sheet_mnemonic text, p_file_syspk int)
RETURNS text AS $$
declare __make text;
declare __model text;
declare __client_id int :=p_client_id;
declare __function_id int :=p_function_id;
declare __file_format text :=p_file_format;
declare __sheet_mnemonic text :=p_sheet_mnemonic;
declare __file_syspk int :=p_file_syspk;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
declare v_block text;
begin
/***********************************************************************************
Function Name:fn_BUDNI_FLD_Block
Function Desc: This function populates data into staging2 blocks
File Format: BUDNI
Sheet Format: BUDNI_FLD
Creation Date: March 21 2021
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_FLD_Block(20,1,'BUDNI','BUDNI_FLD',261)
************************************************************************************/
SET search_path TO mmt_staging2;
/* rerunnability - delete block tables and update config tables to null */
truncate table mmt_staging2.BUDNI_FLD_Spec_H1_Block;
truncate table mmt_staging2.BUDNI_FLD_Impl_Test_Int;
truncate table mmt_staging2.BUDNI_FLD_Impl_Test_Block;
truncate table mmt_staging2.BUDNI_FLD_Cage_Wheel_Block;
truncate table mmt_staging2.BUDNI_FLD_Sum_Perf_Test_Int;
truncate table mmt_staging2.BUDNI_FLD_Sum_Perf_Test_Block;
truncate table mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block;
truncate table mmt_staging2.stg_specific_table_BUDNI_FLD;
truncate table mmt_staging2.stg_process_table_BUDNI_FLD;
execute 'delete from mmt_ods.fw_jobctrl_file_sheet_block_run_schedule where file_syspk='||p_file_syspk||' and sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=null,
row_previous_number=null,
row_read_end=null,
run_time=null
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* transfer data from generic to specific for BUDNI */
execute 'insert into mmt_staging2.stg_specific_table_BUDNI_FLD
select * from mmt_staging1.mmt_staging_generic_table a
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''
and a.file_syspk='||p_file_syspk||'';
/* trimming data */
update mmt_staging2.stg_specific_table_BUDNI_FLD set column3 = TRIM (TRAILING FROM column3 );
update mmt_staging2.stg_specific_table_BUDNI_FLD set column3 = TRIM (LEADING FROM column3 );
update mmt_ods.mmt_config set F1_modified = TRIM (TRAILING FROM F1_modified);
update mmt_ods.mmt_config set F1_modified = TRIM (LEADING FROM F1_modified) ;
update mmt_ods.mmt_config set F1_source=F1_modified ;
update mmt_ods.mmt_config set F1_source = TRIM (TRAILING FROM F1_source);
update mmt_ods.mmt_config set F1_source = TRIM (LEADING FROM F1_source) ;
/* keyword match in config table*/
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_BUDNI_FLD b
where trim(upper(F1_source))= trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* reverese update in process table for match*/
execute 'update mmt_staging2.stg_specific_table_BUDNI_FLD a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_source))= trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* update config files for row numbers start, end */
execute 'update mmt_ods.mmt_config a set row_previous_number=row_number_start-1
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_read_end= (select b.row_number_start
from mmt_ods.mmt_config b
where b.syspk=a.syspk+1 )
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* config file last field update as null otherwise it picks up next format row number*/
execute 'update mmt_ods.mmt_config a
set row_read_end = null
where f1_modified =''Field Performance Test Observations Summary''
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set run_time=current_timestamp
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* tagging ranks for each block in process table*/
execute 'insert into mmt_staging2.stg_process_table_BUDNI_FLD
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_FLD a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Test Tractor Specifiactions''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_FLD
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_FLD a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''BRIEF SPECIFICATION OF IMPLEMENTS USED DURING FIELD TEST''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_FLD
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_FLD a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''SUMMARY OF FIELD PERFORMANCE TEST''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_FLD
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_FLD a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Field Performance Test Observations Summary''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
/* fetching tractor model and make */
select column3 into __make from mmt_staging2.stg_process_table_BUDNI_FLD a
where rank_tag='BUDNI_FLD_Spec_H1' and rank=3;
select column4 into __model from mmt_staging2.stg_process_table_BUDNI_FLD a
where rank_tag='BUDNI_FLD_Spec_H1' and rank=3;
/* blocks data loading start - BUDNI_FLD_Spec_H1_block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_FLD_Spec_H1_block',__file_format,__sheet_mnemonic,1);
v_block:='BUDNI_FLD_Spec_H1_block';
insert into mmt_staging2.BUDNI_FLD_Spec_H1_block
(
make,model,tractor_HP,rated_rpm,configuration,transmission_type,wheel_drive_type,rank)
select column3,column4,column5,column6,column7,column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_FLD where rank_tag='BUDNI_FLD_Spec_H1'
and rank=3;
execute 'update mmt_staging2.BUDNI_FLD_Spec_H1_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_FLD_Spec_H1_block a
set FIP_type=column3,steering_type=column4,Engine_to_PTO_ratio= column5,Ballast_Condition=column6,
Test_Engine_Set_RPM=column7
from mmt_staging2.stg_process_table_BUDNI_FLD b
where b.rank_tag='BUDNI_FLD_Spec_H1'
and b.rank=5
and a.file_syspk=b.file_syspk;
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_FLD_Spec_H1_block');
insert into mmt_staging2.BUDNI_FLD_Impl_Test_Int
(
column3,column4,column5,column6,column7,
column8,column9,rank
)
select
column3,column4,column5,column6,column7,
column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_FLD a
where rank_tag ='BUDNI_FLD_Impl_Test' and rank <> 1
order by rank;
update mmt_staging2.BUDNI_FLD_Impl_Test_Int a
set column3= b.first_value from (SELECT
rank, column3, value_partition, first_value(column3) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column3,
sum(case when column3 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_FLD_Impl_Test_Int
ORDER BY rank ASC
) as q) b where a.rank = b.rank and a.rank <> 13 ;
update mmt_staging2.BUDNI_FLD_Impl_Test_Int a
set column4= b.first_value from (SELECT
rank, column4, value_partition, first_value(column4) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column4,
sum(case when column4 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_FLD_Impl_Test_Int
ORDER BY rank ASC
) as q) b where a.rank = b.rank and a.rank <> 13 ;
update mmt_staging2.BUDNI_FLD_Impl_Test_Int a
set column5= b.first_value from (SELECT
rank, column5, value_partition, first_value(column5) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column5,
sum(case when column5 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_FLD_Impl_Test_Int
ORDER BY rank ASC
) as q) b where a.rank = b.rank and a.rank <> 13 ;
update mmt_staging2.BUDNI_FLD_Impl_Test_Int a
set column6= b.first_value from (SELECT
rank, column6, value_partition, first_value(column6) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column6,
sum(case when column6 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_FLD_Impl_Test_Int
ORDER BY rank ASC
) as q) b where a.rank = b.rank and a.rank <> 13;
update mmt_staging2.BUDNI_FLD_Impl_Test_Int a
set column7= b.first_value from (SELECT
rank, column7, value_partition, first_value(column7) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column7,
sum(case when column7 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_FLD_Impl_Test_Int
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.BUDNI_FLD_Impl_Test_Int a
set column8= b.first_value from (SELECT
rank, column8, value_partition, first_value(column8) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column8,
sum(case when column8 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_FLD_Impl_Test_Int
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
execute 'update mmt_staging2.BUDNI_FLD_Impl_Test_Int set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* blocks data loading - BUDNI_FLD_Impl_Test_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_FLD_Impl_Test_Block',__file_format,__sheet_mnemonic,2);
v_block:='BUDNI_FLD_Impl_Test_Block';
insert into mmt_staging2.BUDNI_FLD_Impl_Test_Block
(
dummy_f,
items,
Make,
type,
No_of_Disc_blades,
Type_of_Disc_blades,
Size_of_bottoms_blades_1_mm,
Size_of_bottoms_blades_2_mm,
Size_of_bottoms_blades_3_mm,
Spacing_of_bottoms_flanges_mm,
Lower_hitch_point_span_mm,
Mast_height_mm,
Overall_dimensions_mm,
Overall_dimensions_mm_length,
Overall_dimensions_mm_Width,
Overall_dimensions_mm_Height,
Gross_mass_kg
)
SELECT *
FROM crosstab(
'SELECT unnest(''{column5,column6}''::text[]) AS col
, row_number() OVER ()
, unnest(ARRAY[column5::text,column6::text]) AS val
FROM mmt_staging2.BUDNI_FLD_Impl_Test_Int where ods_record=1
ORDER BY generate_series(1,15),rank,2'
) t (col text,a_1 text,a_2 text,a_3 text,a_4 text,a_5 text,a_6 text,a_7 text,a_8 text,a_9 text,a_10 text,
a_11 text,a_12 text,a_13 text,a_14 text,a_15 text,a_16 text);
delete from mmt_staging2.BUDNI_FLD_Impl_Test_Block where dummy_f is null;
execute 'update mmt_staging2.BUDNI_FLD_Impl_Test_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_FLD_Impl_Test_Block');
/* blocks data loading - BUDNI_FLD_Cage_Wheel_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_FLD_Cage_Wheel_Block',__file_format,__sheet_mnemonic,3);
v_block:='BUDNI_FLD_Cage_Wheel_Block';
insert into mmt_staging2.BUDNI_FLD_Cage_Wheel_Block
(
dummy_f,
Items,
type,
Dia_mm,
Width_mm,
No_and_types_of_lugs,
Size_of_angle_section_1_mm,
Size_of_angle_section_2_mm,
Size_of_angle_section_3_mm,
Length_of_lugs_mm,
Spacing_of_lugs_mm,
Weight_of_each_cage_wheels_kg
)
SELECT *
FROM crosstab(
'SELECT unnest(''{column9}''::text[]) AS col
, row_number() OVER ()
, unnest(ARRAY[column9::text]) AS val
FROM mmt_staging2.BUDNI_FLD_Impl_Test_Int where ods_record=1
ORDER BY generate_series(1,15),rank,2'
) t (col text,a_1 text,a_2 text,a_3 text,a_4 text,a_5 text,a_6 text,a_7 text,a_8 text,a_9 text,
a_10 text,a_11 text);
delete from mmt_staging2.BUDNI_FLD_Cage_Wheel_Block where dummy_f is null;
execute 'update mmt_staging2.BUDNI_FLD_Cage_Wheel_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_FLD_Cage_Wheel_Block');
insert into mmt_staging2.BUDNI_FLD_Sum_Perf_Test_Int
(
column3,column4,column5,column6,column7,rank
)
select
column3,column4,column5,column6,column7,rank
from mmt_staging2.stg_process_table_BUDNI_FLD a
where rank_tag ='BUDNI_FLD_Sum_Perf_Test' and rank <> 1
order by rank,column3 ;
update mmt_staging2.BUDNI_FLD_Sum_Perf_Test_Int set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_FLD_Sum_Perf_Test_Int set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* blocks data loading - BUDNI_FLD_Sum_Perf_Test_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_FLD_Sum_Perf_Test_Block',__file_format,__sheet_mnemonic,4);
v_block:='BUDNI_FLD_Sum_Perf_Test_Block';
insert into mmt_staging2.BUDNI_FLD_Sum_Perf_Test_Block
(
dummy_f,
Parameter_operation,
Type_of_soil,
Av_soil_moisture_Av_depth_of_standing_water_cm,
Bulk_density_of_soil_g_cc,
Cone_index_kgf_sq_cm_Puddling_index,
Gear_used,
Av_speed_of_operation_kmph,
Av_wheel_slip_Av_Travel_reduction,
Av_depth_of_cut_cm_Av_Depth_of_puddle_cm,
Av_working_width_cm,
Area_covered_ha_h,
Fuel_consumption,
Fuel_consumption_l_h,
Fuel_consumption_l_ha,
Av_draft_of_implement_kN
)
SELECT *
FROM crosstab(
'SELECT unnest(''{column5,column6,column7}''::text[]) AS col
, row_number() OVER ()
, unnest(ARRAY[column5::text,column6::text,column7::text]) AS val
FROM mmt_staging2.BUDNI_FLD_Sum_Perf_Test_Int where ods_record=1
ORDER BY generate_series(1,15),rank,2'
) t (col text,a_1 text,a_2 text,a_3 text,a_4 text,a_5 text,a_6 text,a_7 text,a_8 text,a_9 text,a_10 text,
a_11 text,a_12 text,a_13 text,a_14 text,a_15 text);
delete from mmt_staging2.BUDNI_FLD_Sum_Perf_Test_Block where dummy_f is null;
update mmt_staging2.BUDNI_FLD_Sum_Perf_Test_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_FLD_Sum_Perf_Test_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_FLD_Sum_Perf_Test_Block');
/* blocks data loading - BUDNI_FLD_Test_Obs_Summary_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_FLD_Test_Obs_Summary_Block',__file_format,__sheet_mnemonic,5);
v_block:='BUDNI_FLD_Test_Obs_Summary_Block';
insert into mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block
(
column3,column4,column5,column6,column7,
column8,column9,rank
)
select
column3,column4,column5,column6,column7,
column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_FLD a
where rank_tag='BUDNI_FLD_Test_Obs_Summary' and rank <=6;
update mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block
set ods_record=0
where rank in (1,2);
update mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block a
set column4= b.first_value from (SELECT
rank, column4, value_partition, first_value(column4) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column4,
sum(case when column4 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block a
set column5= b.first_value from (SELECT
rank, column5, value_partition, first_value(column5) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column5,
sum(case when column5 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block a
set column6= b.first_value from (SELECT
rank, column6, value_partition, first_value(column6) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column6,
sum(case when column6 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block a
set column7= b.first_value from (SELECT
rank, column7, value_partition, first_value(column7) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column7,
sum(case when column7 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block a
set column8= b.first_value from (SELECT
rank, column8, value_partition, first_value(column8) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column8,
sum(case when column8 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block a
set column9= b.first_value from (SELECT
rank, column9, value_partition, first_value(column9) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column9,
sum(case when column9 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_FLD_Test_Obs_Summary_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_FLD_Test_Obs_Summary_Block');
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,null,'stg2', 'fn_BUDNI_FLD_Block', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,v_block,'stg2', 'fn_BUDNI_FLD_Block', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,368 @@
drop function if exists mmt_staging2.fn_BUDNI_HDL_ODS;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_HDL_ODS(p_file_syspk int)
RETURNS text AS $$
declare __test_instance_id int;
declare __file_syspk int;
declare __model text;
declare __make text;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
begin
__file_syspk := p_file_syspk;
/************************************************************
Function Name:fn_BUDNI_HDL_ODS
Function Desc: This function populates data into ODS
File Format: BUDNI
Sheet Format: BUDNI_HDL
Creation Date:
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_HDL_ODS()
***************************************************************/
--delete from mmt_ods.test_instance
--where test_file_sheet_format='BUDNI_HDL';
--
--delete from mmt_ods.test_instance_engine_info
--where test_file_sheet_format='BUDNI_HDL';
--
--delete from mmt_ods.test_instance_tractor_info
--where test_file_sheet_format='BUDNI_HDL';
--
--delete from mmt_ods.test_instance_tractor_info_misc
--where test_file_sheet_format='BUDNI_HDL';
--
--delete from mmt_ods.budni_hydraulic_maint_of_lift_load_results
--where test_file_sheet_format='BUDNI_HDL';
--
--delete from mmt_ods.budni_hydraulic_power_test_results
--where test_file_sheet_format='BUDNI_HDL';
--
--delete from mmt_ods.budni_hydraulic_lifting_capacity_test_results
--where test_file_sheet_format='BUDNI_HDL';
--
--delete from mmt_ods.budni_test_observations
--where test_file_sheet_format='BUDNI_HDL';
insert into mmt_ods.test_instance_tractor_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
tractor_engine_hp,
steering_type
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
tractor_HP::int,
steering_type
from mmt_staging2.BUDNI_HDL_Spec_H1_block;
insert into mmt_ods.test_instance
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model
from
mmt_staging2.BUDNI_HDL_Spec_H1_block;
insert into mmt_ods.test_instance_engine_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
rated_rpm
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
rated_rpm::int
from mmt_staging2.BUDNI_HDL_Spec_H1_block;
insert into mmt_ods.test_instance_tractor_info_misc
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
hydraulic_type,
pump_speed_at_rated_engine_speed_rpm,
oil,
lift_rod_type_lh,
lift_rod_type_rh,
lift_rod_length_lh,
lift_rod_length_rh,
lower_link_length_lh,
lower_link_length_rh,
pump_hp
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
hydraulic_type,
Pump_speed_at_rated_engine_speed_rpm::numeric,
Oil,
Lift_Rod_type_LH,
Lift_Rod_type_RH,
Lift_Rod_Length_LH::numeric,
Lift_Rod_Length_RH::numeric,
Lower_link_Length_LH::numeric,
Lower_link_Length_RH::numeric,
Pump_HP::numeric
from mmt_staging2.BUDNI_HDL_Spec_H1_block;
/*block */
insert into mmt_ods.budni_hydraulic_power_test_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
pump_dlvry_rate_at_min_pressure_engine_speed_l_per_min,
max_hydraulic_power_kw,
pump_dlvry_rate_at_max_hydraulic_power_lmin,
pressure_at_max_hydraulic_power_mpa,
sustained_pressure_of_the_open_relief_valve_mpa,
tapping_point_relief_valve_test,
tapping_point_pump_perf_test,
tapping_point_temperature_of_hydraulic_fluid_c
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
Pump_delivery_rate_at_minimum_pressure_and_rated_engine_speed_l_min::numeric,
Maximum_hydraulic_power_kW::numeric,
Pump_delivery_rate_at_maximum_hydraulic_power_l_min::numeric,
Pressure_at_maximum_hydraulic_power_MPa::numeric,
Sustained_pressure_of_the_open_relief_valve_MPa::numeric,
tapping_point_relief_valve_test,
tapping_point_Pump_performance_test,
tapping_point_Temperature_of_hydraulic_fluid_C
from mmt_staging2.budni_hdl_power_test_block where ods_record=1
order by rank;
insert into mmt_ods.budni_hydraulic_maint_of_lift_load_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
force_applied_at_the_frame_kn,
temp_of_hydraulic_fluid_at_the_start_of_test_c,
elapsed_time_min,
cumulative_drop_in_height_of_lift_mm
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
Force_applied_at_the_frame_kN::numeric,
Temperature_of_hydraulic_fluid_at_the_start_of_test_C,
Elapsed_time_minute::numeric,
Cumulative_drop_in_height_of_lift_mm::numeric
from mmt_staging2.budni_hdl_maintenance_of_lift_load_block;
/*block */
insert into mmt_ods.budni_hydraulic_lifting_capacity_test_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
test_condition,
height_of_lower_hitch_pt_above_ground_in_down_position_mm,
vertical_move_ment_with_lifting_forces_mm,
max_force_exerted_through_full_range_kn,
corresponding_pressure_mpa,
moment_about_rear_axle_kn_m,
max_tilt_angle_of_mast_from_vertical_degrees
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
column5,
column6::numeric,
column7::numeric,
column8::numeric,
column9::numeric,
column10::numeric,
column11::numeric
from mmt_staging2.budni_hdl_Lifting_Capacity_Test_Block
where ods_record=1;
/* block */
insert into mmt_ods.budni_test_observations
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
srl_no,
characteristic,
category_evaluative_or_non_evaluative,
requirements_as_per_is_12207_2008,
values_declared_by_the_applicant_d_rqmt,
as_observed,
whether_meets_the_requirements_yn
)
select client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column3,column4,column7,column8,column10,column11,column12
from mmt_staging2.budni_hdl_test_obs_summary_block
where ods_record=1
;
select file_syspk into __file_syspk from mmt_staging2.BUDNI_FLD_Spec_H1_block;
select syspk into __test_instance_id from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_model into __model from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_make into __make from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
update mmt_ods.test_instance_engine_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.test_instance_tractor_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.test_instance_tractor_info_misc
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_hydraulic_maint_of_lift_load_results
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_hydraulic_power_test_results
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_hydraulic_lifting_capacity_test_results
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_test_observations
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_HDL' ,null,'ods', 'fn_BUDNI_HDL_ODS', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_HDL' ,null,'ods', 'fn_BUDNI_HDL_ODS', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,554 @@
drop function if exists mmt_staging2.fn_budni_hdl_Block ;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_budni_hdl_Block(p_client_id int,p_function_id int, p_file_format text,
p_sheet_mnemonic text, p_file_syspk int)
RETURNS text AS $$
declare __make text;
declare __model text;
declare __characteristic_A text;
declare __client_id int :=p_client_id;
declare __function_id int :=p_function_id;
declare __file_format text :=p_file_format;
declare __sheet_mnemonic text :=p_sheet_mnemonic;
declare __file_syspk int :=p_file_syspk;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
declare v_block text;
begin
/***********************************************************************************
Function Name:fn_budni_hdl_Block
Function Desc: This function populates data into staging2 blocks
File Format: BUDNI
Sheet Format: BUDNI_HDL
Creation Date: March 21 2021
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_FLD_Block(20,1,'BUDNI','BUDNI_FLD',261);
************************************************************************************/
SET search_path TO mmt_staging2;
/* rerunnability - delete block tables and update config tables to null */
truncate table mmt_staging2.stg_specific_table_budni_hdl;
truncate table mmt_staging2.stg_process_table_budni_hdl;
truncate table mmt_staging2.budni_hdl_Spec_H1_Block;
truncate table mmt_staging2.budni_hdl_power_test_Block;
truncate table mmt_staging2.budni_hdl_Lifting_Capacity_Test_Block;
truncate table mmt_staging2.budni_hdl_Maintenance_of_lift_load_int;
truncate table mmt_staging2.budni_hdl_Maintenance_of_lift_load_Block;
truncate table mmt_staging2.budni_hdl_Test_Obs_Summary_Block;
execute 'delete from mmt_ods.fw_jobctrl_file_sheet_block_run_schedule where file_syspk='||p_file_syspk||' and sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=null,
row_previous_number=null,
row_read_end=null,
run_time=null
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* transfer data from generic to specific for BUDNI */
execute 'insert into mmt_staging2.stg_specific_table_budni_hdl
select * from mmt_staging1.mmt_staging_generic_table a
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''
and a.file_syspk='||p_file_syspk||'';
/* trimming data */
update mmt_staging2.stg_specific_table_budni_hdl set column3 = TRIM (TRAILING FROM column3 );
update mmt_staging2.stg_specific_table_budni_hdl set column3 = TRIM (LEADING FROM column3 );
update mmt_ods.mmt_config set F1_modified = TRIM (TRAILING FROM F1_modified);
update mmt_ods.mmt_config set F1_modified = TRIM (LEADING FROM F1_modified) ;
update mmt_ods.mmt_config set F1_source=F1_modified ;
update mmt_ods.mmt_config set F1_source = TRIM (TRAILING FROM F1_source);
update mmt_ods.mmt_config set F1_source = TRIM (LEADING FROM F1_source);
/* keyword match in config table*/
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_budni_hdl b
where trim(upper(F1_source))= trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* reverese update in process table for match*/
execute 'update mmt_staging2.stg_specific_table_budni_hdl a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_source))= trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* update config files for row numbers start, end */
execute 'update mmt_ods.mmt_config a set row_previous_number=row_number_start-1
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_read_end= (select b.row_number_start
from mmt_ods.mmt_config b
where b.syspk=a.syspk+1 )
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* config file last field update as null otherwise it picks up next format row number*/
execute 'update mmt_ods.mmt_config a
set row_read_end = null
where f1_modified =''Power Lift and Hydraulic Pump Performance Test Observations Summary''
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* tagging ranks for each block in process table*/
execute 'update mmt_ods.mmt_config a
set run_time=current_timestamp
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'insert into mmt_staging2.stg_process_table_budni_hdl
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_budni_hdl a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Test Tractor Specifiactions''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_budni_hdl
select a.* , RANK () OVER ( ORDER BY row_number),b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_budni_hdl a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''A) Hydraulic power test:''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_budni_hdl
select a.* , RANK () OVER ( ORDER BY row_number),b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_budni_hdl a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Tapping Point''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_budni_hdl
select a.* , RANK () OVER ( ORDER BY row_number),b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_budni_hdl a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''C) Maintenance of lift load:''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_budni_hdl
select a.* , RANK () OVER ( ORDER BY row_number),b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_budni_hdl a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Power Lift and Hydraulic Pump Performance Test Observations Summary''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
/* fetching tractor model and make */
select column3 into __make from mmt_staging2.stg_process_table_budni_hdl a
where rank_tag='BUDNI_HDL_Spec_H1' and rank=3;
select column4 into __model from mmt_staging2.stg_process_table_budni_hdl a
where rank_tag='BUDNI_HDL_Spec_H1' and rank=3;
/* blocks data loading start - budni_hdl_Spec_H1_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_HDL_Spec_H1_block',__file_format,__sheet_mnemonic,1);
v_block:='BUDNI_HDL_Spec_H1_block';
insert into mmt_staging2.budni_hdl_Spec_H1_Block
(
make,
model,
tractor_HP,
rated_rpm,
hydraulic_type,
Pump_speed_at_rated_engine_speed_rpm,
Steering_Type,
Oil,rank
)
select
column3,column4,column5,column6,column7,column8,column9,column10,rank
from mmt_staging2.stg_process_table_budni_hdl
where rank_tag='BUDNI_HDL_Spec_H1' and rank=3;
execute 'update mmt_staging2.budni_hdl_Spec_H1_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_HDL_Spec_H1_block a
set Lift_Rod_type_LH =column3,
Lift_Rod_type_RH= column4,
Lift_Rod_Length_LH=column5,
Lift_Rod_Length_RH=column6,
Lower_link_Length_LH=column7,
Lower_link_Length_RH=column8,
Pump_HP=column9
from mmt_staging2.stg_process_table_budni_hdl b
where b.rank_tag='BUDNI_HDL_Spec_H1'
and b.rank=6
and a.file_syspk=b.file_syspk;
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_HDL_Spec_H1_block');
/* blocks data loading - budni_hdl_power_test_block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'budni_hdl_power_test_block',__file_format,__sheet_mnemonic,2);
v_block:='budni_hdl_power_test_block';
insert into mmt_staging2.budni_hdl_power_test_block (dummy_f) values('dummy');
update mmt_staging2.budni_hdl_power_test_block
set Pump_delivery_rate_at_minimum_pressure_and_rated_engine_speed_l_min= (select column3
from mmt_staging2.stg_process_table_budni_hdl
where rank_tag ='BUDNI_HDL_Power_Test' and rank=3)
where dummy_f='dummy';
update mmt_staging2.budni_hdl_power_test_block
set Maximum_hydraulic_power_kW= (select column5
from mmt_staging2.stg_process_table_budni_hdl
where rank_tag ='BUDNI_HDL_Power_Test' and rank=3)
where dummy_f='dummy';
update mmt_staging2.budni_hdl_power_test_block
set Pump_delivery_rate_at_maximum_hydraulic_power_l_min= (select column7
from mmt_staging2.stg_process_table_budni_hdl
where rank_tag ='BUDNI_HDL_Power_Test' and rank=3)
where dummy_f='dummy';
update mmt_staging2.budni_hdl_power_test_block
set Pressure_at_maximum_hydraulic_power_MPa= (select column9
from mmt_staging2.stg_process_table_budni_hdl
where rank_tag ='BUDNI_HDL_Power_Test' and rank=3)
where dummy_f='dummy';
update mmt_staging2.budni_hdl_power_test_block
set Sustained_pressure_of_the_open_relief_valve_MPa= (select column11
from mmt_staging2.stg_process_table_budni_hdl
where rank_tag ='BUDNI_HDL_Power_Test' and rank=3)
where dummy_f='dummy';
update mmt_staging2.budni_hdl_power_test_block
set tapping_point_relief_valve_test = (select column4
from mmt_staging2.stg_process_table_budni_hdl
where rank_tag ='BUDNI_HDL_Lifting_Capacity_Test' and rank=2)
where dummy_f='dummy';
update mmt_staging2.budni_hdl_power_test_block
set tapping_point_Pump_performance_test= (select column4
from mmt_staging2.stg_process_table_budni_hdl
where rank_tag ='BUDNI_HDL_Lifting_Capacity_Test' and rank=3)
where dummy_f='dummy';
update mmt_staging2.budni_hdl_power_test_block
set tapping_point_Temperature_of_hydraulic_fluid_C= (select column4
from mmt_staging2.stg_process_table_budni_hdl
where rank_tag ='BUDNI_HDL_Lifting_Capacity_Test' and rank=4)
where dummy_f='dummy';
update mmt_staging2.BUDNI_HDL_Power_Test_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_HDL_Power_Test_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_HDL_Power_Test_Block
set ods_record=0 where
rank in (1,2);
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_HDL_Power_Test_Block');
/* blocks data loading - budni_hdl_Lifting_Capacity_Test_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'budni_hdl_Lifting_Capacity_Test_Block',__file_format,__sheet_mnemonic,3);
v_block:='budni_hdl_Lifting_Capacity_Test_Block';
insert into mmt_staging2.budni_hdl_Lifting_Capacity_Test_Block
(
column5,column6,column7,
column8,column9,column10,column11,rank
)
select
column5,column6,column7,
column8,column9,column10,column11,rank
from mmt_staging2.stg_process_table_budni_hdl a
where rank_tag='BUDNI_HDL_Lifting_Capacity_Test';
update mmt_staging2.budni_hdl_Lifting_Capacity_Test_Block set make=__make,model=__model;
execute 'update mmt_staging2.budni_hdl_Lifting_Capacity_Test_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.budni_hdl_Lifting_Capacity_Test_Block
set ods_record=0 where
rank in (1,2);
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'budni_hdl_Lifting_Capacity_Test_Block');
insert into mmt_staging2.budni_hdl_Maintenance_of_lift_load_int
(
column3,column4,column5,column6,column7,
column8,column9,column10,column11,column12,rank
)
select
column3,column4,column5,column6,column7,
column8,column9,column10,column11,column12,rank
from mmt_staging2.stg_process_table_budni_hdl a
where rank_tag='BUDNI_HDL_Maintenance_Of_Lift_Load';
update mmt_staging2.budni_hdl_Maintenance_of_lift_load_int
set ods_record=0 where
rank=1;
/* blocks data loading - PTOBST_RPT_PTO_performance_report_block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'budni_hdl_Maintenance_of_lift_load_Block',__file_format,__sheet_mnemonic,4);
v_block:='budni_hdl_Maintenance_of_lift_load_Block';
insert into mmt_staging2.budni_hdl_Maintenance_of_lift_load_Block
(
dummy_f,
Elapsed_time_minute,
Cumulative_drop_in_height_of_lift_mm
)
SELECT *
FROM crosstab(
'SELECT unnest(''{column7,column8,column9,column10,column11,column12}''::text[]) AS col
, row_number() OVER ()
, unnest(ARRAY[column7::text,column8::text,column9::text,
column10::text,column11::text,column12::text]) AS val
FROM mmt_staging2.budni_hdl_Maintenance_of_lift_load_int where rank in (2,3)
ORDER BY generate_series(1,15),rank,2'
) t (col text,a_1 text,a_2 text);
update mmt_staging2.budni_hdl_Maintenance_of_lift_load_block
set Force_applied_at_the_frame_kN =(select column5
from mmt_staging2.budni_hdl_Maintenance_of_lift_load_int
where column3 ='Force applied at the frame, (kN)')
where Force_applied_at_the_frame_kN is null;
update mmt_staging2.budni_hdl_Maintenance_of_lift_load_block
set Temperature_of_hydraulic_fluid_at_the_start_of_test_C =(select column5
from mmt_staging2.budni_hdl_Maintenance_of_lift_load_int
where column3 ='Temperature of hydraulic fluid at the start of test, (⁰C)')
where Temperature_of_hydraulic_fluid_at_the_start_of_test_C is null;
delete from mmt_staging2.budni_hdl_Maintenance_of_lift_load_block where dummy_f is null;
update mmt_staging2.budni_hdl_Maintenance_of_lift_load_block set make=__make,model=__model;
execute 'update mmt_staging2.budni_hdl_Maintenance_of_lift_load_block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'budni_hdl_Maintenance_of_lift_load_block');
/* blocks data loading - budni_hdl_Test_Obs_Summary_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'budni_hdl_Test_Obs_Summary_Block',__file_format,__sheet_mnemonic,5);
v_block:='budni_hdl_Test_Obs_Summary_Block';
insert into mmt_staging2.budni_hdl_Test_Obs_Summary_Block
(
column3,column4,column5,column6,column7,
column8,column9,column10,column11,column12,rank
)
select
column3,column4,column5,column6,column7,
column8,column9,column10,column11,column12,rank
from mmt_staging2.stg_process_table_budni_hdl a
where rank_tag='BUDNI_HDL_Test_Obs_Summary' and rank not in (8,9);
update mmt_staging2.budni_hdl_Test_Obs_Summary_Block a
set column3= b.first_value from (SELECT
rank, column3, value_partition, first_value(column3) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column3,
sum(case when column3 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.budni_hdl_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.budni_hdl_Test_Obs_Summary_Block a
set column4= b.first_value from (SELECT
rank, column4, value_partition, first_value(column4) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column4,
sum(case when column4 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.budni_hdl_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.budni_hdl_Test_Obs_Summary_Block a
set column5= b.first_value from (SELECT
rank, column5, value_partition, first_value(column5) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column5,
sum(case when column5 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.budni_hdl_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.budni_hdl_Test_Obs_Summary_Block a
set column7= b.first_value from (SELECT
rank, column7, value_partition, first_value(column7) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column7,
sum(case when column7 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.budni_hdl_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.budni_hdl_Test_Obs_Summary_Block a
set column8= b.first_value from (SELECT
rank, column8, value_partition, first_value(column8) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column8,
sum(case when column8 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.budni_hdl_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.budni_hdl_Test_Obs_Summary_Block a
set column11= b.first_value from (SELECT
rank, column11, value_partition, first_value(column11) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column11,
sum(case when column11 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.budni_hdl_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.budni_hdl_Test_Obs_Summary_Block a
set column12= b.first_value from (SELECT
rank, column12, value_partition, first_value(column12) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column12,
sum(case when column12 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.budni_hdl_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
select column4 into __characteristic_A
from mmt_staging2.budni_hdl_Test_Obs_Summary_Block where rank=3;
update mmt_staging2.budni_hdl_Test_Obs_Summary_Block
set column4=concat(column4,'. ',__characteristic_A,' -',column5) where ods_record =1;
update mmt_staging2.budni_hdl_Test_Obs_Summary_Block set make=__make,model=__model;
execute 'update mmt_staging2.budni_hdl_Test_Obs_Summary_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.budni_hdl_Test_Obs_Summary_Block
set ods_record=0 where
rank in (1,2,3);
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'budni_hdl_Test_Obs_Summary_Block');
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,null,'stg2', 'fn_BUDNI_HDL_Block', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,v_block,'stg2', 'fn_BUDNI_HDL_Block', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,253 @@
drop function if exists mmt_staging2.fn_budni_hlg_ODS;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_budni_hlg_ODS(p_file_syspk int)
RETURNS text AS $$
declare __test_instance_id int;
declare __file_syspk int;
declare __model text;
declare __make text;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
begin
__file_syspk := p_file_syspk;
/************************************************************
Function Name:fn_BUDNI_HLG_ODS
Function Desc: This function populates data into ODS
File Format: BUDNI
Sheet Format: BUDNI_HLG
Creation Date:
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_HLG_ODS()
***************************************************************/
--delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_HLG';
--
--delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_HLG';
--
--delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_HLG';
--
--delete from mmt_ods.budni_haulage_perf_results where test_file_sheet_format='BUDNI_HLG';
--
--delete from mmt_ods.budni_test_observations where test_file_sheet_format='BUDNI_HLG';
insert into mmt_ods.test_instance_tractor_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
tractor_engine_hp,
configuration,
transmission_type,
wheel_drive_type,
fip_type,
steering_type,
ballast_condition
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
tractor_HP::int tractor_engine_hp,
configuration,
transmission_type,
wheel_drive_type,
FIP_type,
steering_type,
Ballast_Condition
from mmt_staging2.budni_hlg_Spec_H1_block;
insert into mmt_ods.test_instance
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
type_of_road
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
type_of_track
from
mmt_staging2.budni_hlg_Spec_H1_block;
insert into mmt_ods.test_instance_engine_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
rated_rpm,
engine_to_pto_ratio_540_pto
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
rated_rpm::int,
engine_to_pto_ratio engine_to_pto_ratio_540_pto
from mmt_staging2.budni_hlg_Spec_H1_block;
/*block */
insert into mmt_ods.budni_haulage_perf_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
trailer_type,
gross_mass_of_trailer_tonne,
height_of_trailer_hitch_above_ground_level_mm,
gear_used_negotiating_slopes_up_to_8pct,
avg_travel_speed_kmph,
avg_fuel_consumption_ltr_per_hr,
avg_fuel_consumption_ml_per_km_per_tonne,
avg_dist_traveled_per_litre_of_fuel_consumption_km,
effectiveness_of_brakes,
maneuverability_of_tractor_trailer_combination
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
type_of_trailer,
Gross_mass_of_trailer_tonne::numeric,
Height_of_trailer_hitch_above_ground_level_mm::numeric,
Gear_used_during_the_test_for_negotiating_slopes_up_to_8,
Average_travel_speed_kmph,
l_h,
ml_km_tonne,
Average_distance_traveled_per_litre_of_fuel_consumption_km,
Effectiveness_of_brakes,
Maneuverability_of_tractor_trailer_combination
from mmt_staging2.BUDNI_HLG_Perf_Test_block where ods_record=1
order by rank;
insert into mmt_ods.budni_test_observations
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
sequence_number ,
characteristic,
category_evaluative_or_non_evaluative,
requirements_as_per_is_12207_2008,
values_declared_by_the_applicant_d_rqmt,
as_observed,
whether_meets_the_requirements_yn
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column3::numeric ,
column4,
column5,
column6,
column7,
column8,
column9
from mmt_staging2.budni_hlg_test_obs_summary_block where ods_record=1;
select file_syspk into __file_syspk from mmt_staging2.BUDNI_FLD_Spec_H1_block;
select syspk into __test_instance_id from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_model into __model from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_make into __make from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
update mmt_ods.test_instance_engine_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.test_instance_tractor_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_haulage_perf_results
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_test_observations
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_HLG' ,null,'ods', 'fn_BUDNI_HLG_ODS', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_HLG' ,null,'ods', 'fn_BUDNI_HLG_ODS', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,443 @@
drop function if exists mmt_staging2.fn_BUDNI_HLG_Block ;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_HLG_Block(p_client_id int,p_function_id int, p_file_format text,
p_sheet_mnemonic text, p_file_syspk int)
RETURNS text AS $$
declare __make text;
declare __model text;
declare __characteristic_1 text;
declare __characteristic_2 text;
declare __characteristic_3 text;
declare __client_id int :=p_client_id;
declare __function_id int :=p_function_id;
declare __file_format text :=p_file_format;
declare __sheet_mnemonic text :=p_sheet_mnemonic;
declare __file_syspk int :=p_file_syspk;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
declare v_block text;
begin
/***********************************************************************************
Function Name:fn_BUDNI_HLG_Block
Function Desc: This function populates data into staging2 blocks
File Format: BUDNI
Sheet Format: BUDNI_HLG
Creation Date: March 21 2021
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_HLG_Block(20,1,'BUDNI','BUDNI_HLG',261);
************************************************************************************/
SET search_path TO mmt_staging2;
/* rerunnability - delete block tables and update config tables to null */
truncate table mmt_staging2.BUDNI_HLG_Spec_H1_Block;
truncate table mmt_staging2.BUDNI_HLG_Perf_Test_int;
truncate table mmt_staging2.BUDNI_HLG_Perf_Test_block;
truncate table mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block;
truncate table mmt_staging2.stg_specific_table_BUDNI_HLG;
truncate table mmt_staging2.stg_process_table_BUDNI_HLG;
execute 'delete from mmt_ods.fw_jobctrl_file_sheet_block_run_schedule where file_syspk='||p_file_syspk||' and sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=null,
row_previous_number=null,
row_read_end=null,
run_time=null
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* transfer data from generic to specific for BUDNI */
execute 'insert into mmt_staging2.stg_specific_table_BUDNI_HLG
select * from mmt_staging1.mmt_staging_generic_table a
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''
and a.file_syspk='||p_file_syspk||'';
/* trimming data */
update mmt_staging2.stg_specific_table_BUDNI_HLG set column3 = TRIM (TRAILING FROM column3 );
update mmt_staging2.stg_specific_table_BUDNI_HLG set column3 = TRIM (LEADING FROM column3 );
update mmt_ods.mmt_config set F1_modified = TRIM (TRAILING FROM F1_modified);
update mmt_ods.mmt_config set F1_modified = TRIM (LEADING FROM F1_modified) ;
update mmt_ods.mmt_config set F1_source=F1_modified;
update mmt_ods.mmt_config set F1_source = TRIM (TRAILING FROM F1_source);
update mmt_ods.mmt_config set F1_source = TRIM (LEADING FROM F1_source) ;
/* keyword match in config table*/
execute 'update mmt_ods.mmt_config a set f1_source = replace(f1_source,''_1'','''')
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* reverese update in process table for match*/
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_BUDNI_HLG b
where trim(upper(F1_source))= trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* update config files for row numbers start, end */
execute 'update mmt_staging2.stg_specific_table_BUDNI_HLG a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_source))= trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a set f1_source = replace(f1_source,''_2'','''')
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_BUDNI_HLG b
where trim(upper(F1_source))= trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_staging2.stg_specific_table_BUDNI_HLG a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_source))= trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a set row_previous_number=row_number_start-1
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_read_end= (select b.row_number_start
from mmt_ods.mmt_config b
where b.syspk=a.syspk+1 )
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* config file last field update as null otherwise it picks up next format row number*/
execute 'update mmt_ods.mmt_config a
set row_read_end = null
where f1_modified =''Haulage Performance Test Observations Summary''
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set run_time=current_timestamp
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* tagging ranks for each block in process table*/
execute 'insert into mmt_staging2.stg_process_table_BUDNI_HLG
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_HLG a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Test Tractor Specifiactions''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_HLG
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_HLG a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Haulage performance Test''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_HLG
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_HLG a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Haulage Performance Test Observations Summary''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
/* fetching tractor model and make */
select column3 into __make from mmt_staging2.stg_process_table_BUDNI_HLG a
where rank_tag='BUDNI_HLG_Spec_H1' and rank=3;
select column4 into __model from mmt_staging2.stg_process_table_BUDNI_HLG a
where rank_tag='BUDNI_HLG_Spec_H1' and rank=3;
/* blocks data loading start - BUDNI_HLG_Spec_H1_block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_HLG_Spec_H1_block',__file_format,__sheet_mnemonic,1);
v_block:='BUDNI_HLG_Spec_H1_block';
insert into mmt_staging2.BUDNI_HLG_Spec_H1_block
(
make,model,tractor_HP,rated_rpm,configuration,transmission_type,wheel_drive_type,rank)
select column3,column4,column5,column6,column7,column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_HLG where rank_tag='BUDNI_HLG_Spec_H1'
and rank=3;
execute 'update mmt_staging2.BUDNI_HLG_Spec_H1_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_HLG_Spec_H1_block a
set FIP_type=column3,steering_type=column4,Engine_to_PTO_ratio= column5,Ballast_Condition=column6,
Test_Engine_Set_RPM=column7,Type_of_track=column8
from mmt_staging2.stg_process_table_BUDNI_HLG b
where b.rank_tag='BUDNI_HLG_Spec_H1'
and b.rank=5
and a.file_syspk=b.file_syspk;
update mmt_staging2.BUDNI_HLG_Spec_H1_Block
set ods_record=0 where rank in(1,2);
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_HLG_Spec_H1_Block');
insert into mmt_staging2.BUDNI_HLG_Perf_Test_int
(
column3,column6,column8,rank
)
select
column3,column6,column8,rank
from mmt_staging2.stg_process_table_BUDNI_HLG a
where rank_tag ='BUDNI_HLG_Perf_Test'
order by rank,column3;
update mmt_staging2.BUDNI_HLG_Perf_Test_int set ods_record=0 where rank =1;
update mmt_staging2.BUDNI_HLG_Perf_Test_int set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_HLG_Perf_Test_int set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* blocks data loading - BUDNI_HLG_perf_test_block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_HLG_perf_test_block',__file_format,__sheet_mnemonic,2);
v_block:='BUDNI_HLG_perf_test_block';
insert into mmt_staging2.BUDNI_HLG_perf_test_block
(
dummy_f,
type_of_trailer,
Gross_mass_of_trailer_tonne,
Height_of_trailer_hitch_above_ground_level_mm,
Gear_used_during_the_test_for_negotiating_slopes_up_to_8,
Average_travel_speed_kmph,
Average_fuel_consumption,
l_h,
ml_km_tonne,
Average_distance_traveled_per_litre_of_fuel_consumption_km,
General_observations,
Effectiveness_of_brakes,
Maneuverability_of_tractor_trailer_combination
)
SELECT *
FROM crosstab(
'SELECT unnest(''{column6,column8}''::text[]) AS col
, row_number() OVER ()
, unnest(ARRAY[column6::text,column8::text]) AS val
FROM mmt_staging2.BUDNI_HLG_Perf_Test_int where ods_record=1
ORDER BY generate_series(1,15),rank,2'
) t (col text,a_1 text,a_2 text,a_3 text,a_4 text,a_5 text,a_6 text,a_7 text,a_8 text,a_9 text,a_10 text,
a_11 text,a_12 text);
delete from mmt_staging2.BUDNI_HLG_Perf_Test_block where dummy_f is null;
update mmt_staging2.BUDNI_HLG_Perf_Test_block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_HLG_Perf_Test_block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_HLG_Perf_Test_block');
/* blocks data loading -BUDNI_HLG_Test_Obs_Summary_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_HLG_Test_Obs_Summary_Block',__file_format,__sheet_mnemonic,3);
v_block:='BUDNI_HLG_Test_Obs_Summary_Block';
insert into mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
(
column3,column4,column5,column6,column7,
column8,column9,rank
)
select
column3,column4,column5,column6,column7,
column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_HLG a
where rank_tag='BUDNI_HLG_Test_Obs_Summary' and rank <=11
order by rank;
update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block a
set column3= b.first_value from (SELECT
rank, column3, value_partition, first_value(column3) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column3,
sum(case when column3 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank ;
update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block a
set column5= b.first_value from (SELECT
rank, column5, value_partition, first_value(column5) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column5,
sum(case when column5 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank ;
--update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block a
--set column7= b.first_value from (SELECT
-- rank, column7, value_partition, first_value(column7) over (partition by value_partition order by rank)
--FROM (
-- SELECT
-- rank,
-- column7,
-- sum(case when column7 is null then 0 else 1 end) over (order by rank) as value_partition
-- FROM mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
-- ORDER BY rank ASC
--) as q) b where a.rank = b.rank ;
--
--
--update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block a
--set column8= b.first_value from (SELECT
-- rank, column8, value_partition, first_value(column8) over (partition by value_partition order by rank)
--FROM (
-- SELECT
-- rank,
-- column8,
-- sum(case when column8 is null then 0 else 1 end) over (order by rank) as value_partition
-- FROM mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
-- ORDER BY rank ASC
--) as q) b where a.rank = b.rank ;
--update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block a
--set column9= b.first_value from (SELECT
-- rank, column9, value_partition, first_value(column9) over (partition by value_partition order by rank)
--FROM (
-- SELECT
-- rank,
-- column9,
-- sum(case when column9 is null then 0 else 1 end) over (order by rank) as value_partition
-- FROM mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
-- ORDER BY rank ASC
--) as q) b where a.rank = b.rank ;
update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
set ods_record=0 where
rank in
(select distinct first_value(b.rank)
over (partition by b.column3 order by b.syspk) from mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block b);
select column4 into __characteristic_1 from mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
where rank=3;
select column4 into __characteristic_2 from mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
where rank=6;
select column4 into __characteristic_3 from mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
where rank=9;
update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
set column4=concat(__characteristic_1,'-',column4) where rank=4;
update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
set column4=concat(__characteristic_1,'-',column4) where rank=5;
update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
set column4=concat(__characteristic_2,'-',column4) where rank=7;
update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
set column4=concat(__characteristic_2,'-',column4) where rank=8;
update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
set column4=concat(__characteristic_3,'-',column4) where rank=10;
update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block
set column4=concat(__characteristic_3,'-',column4) where rank=11;
update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_HLG_Test_Obs_Summary_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_HLG_Test_Obs_Summary_Block');
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,null,'stg2', 'fn_BUDNI_HLG_Block', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,v_block,'stg2', 'fn_BUDNI_HLG_Block', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,199 @@
drop function if exists mmt_staging2.fn_BUDNI_LCG_ODS ;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_LCG_ODS(p_file_syspk int)
RETURNS text AS $$
declare __test_instance_id int;
declare __file_syspk int;
declare __model text;
declare __make text;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
begin
__file_syspk := p_file_syspk;
/************************************************************
Function Name:fn_BUDNI_LCG_ODS
Function Desc: This function populates data into ODS
File Format: BUDNI
Sheet Format: BUDNI_LCG
Creation Date:
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_LCG_ODS()
***************************************************************/
--delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_LCG';
--
--delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_LCG';
--
--delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_LCG';
--
--delete from mmt_ods.budni_centre_of_gravity_location where test_file_ref_no =BUDNI_LCG;
insert into mmt_ods.test_instance_tractor_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
tractor_engine_hp,
configuration,
transmission_type,
wheel_drive_type,
wheel_base_mm,
wheel_track_mm,
overall_height_mm,
ballast_condition,
weight_reactions_front_kg,
weight_reactions_rear_kg
)
select
client_id,
function_id,
file_syspk ,
file_format,
sheet_mnemonic,
make,
model,
Tractor_HP::int tractor_engine_hp,
configuration,
Transmission_type,
Wheel_Drive_type,
Wheel_Base::int wheel_base_mm,
wheel_track::int wheel_track_mm,
overall_height::int,
Ballast_Condition,
Tractor_Weight_reactions_Front::int weight_reactions_front_kg ,
Tractor_Weight_reactions_Rear::int weight_reactions_rear_kg
from mmt_staging2.BUDNI_LCG_Spec_H1_Block where ods_record =1 ;
insert into mmt_ods.test_instance
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model
)
select
client_id,
function_id,
file_syspk ,
file_format,
sheet_mnemonic,
make,
model
from mmt_staging2.BUDNI_LCG_Spec_H1_Block where ods_record =1 ;
insert into mmt_ods.test_instance_engine_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
Rated_RPM
)
select
client_id,
function_id,
file_syspk ,
file_format,
sheet_mnemonic,
make,
model,
rated_rpm::int
from mmt_staging2.BUDNI_LCG_Spec_H1_Block where ods_record =1 ;
insert into mmt_ods.budni_centre_of_gravity_location
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
condition,
particulars,
coordinates
)
select
client_id,
function_id,
file_syspk ,
file_format,
sheet_mnemonic,
make,
model,
column3,
column6,
column8
from mmt_staging2.budni_lcg_gravity_test_block where ods_record=1;
select file_syspk into __file_syspk from mmt_staging2.BUDNI_LCG_Spec_H1_block;
select syspk into __test_instance_id from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_model into __model from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_make into __make from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
update mmt_ods.test_instance_engine_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.test_instance_tractor_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_centre_of_gravity_location
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_LCG' ,null,'ods', 'fn_BUDNI_LCG_ODS', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_LCG' ,null,'ods', 'fn_BUDNI_LCG_ODS', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,248 @@
drop function if exists mmt_staging2.fn_BUDNI_LCG_Block ;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_LCG_Block(p_client_id int,p_function_id int, p_file_format text,
p_sheet_mnemonic text, p_file_syspk int)
RETURNS text AS $$
declare __make text;
declare __model text;
declare __client_id int :=p_client_id;
declare __function_id int :=p_function_id;
declare __file_format text :=p_file_format;
declare __sheet_mnemonic text :=p_sheet_mnemonic;
declare __file_syspk int :=p_file_syspk;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
declare v_block text;
begin
/***********************************************************************************
Function Name:fn_BUDNI_LCG_Block
Function Desc: This function populates data into staging2 blocks
File Format: BUDNI
Sheet Format:BUDNI_LCG
Creation Date: March 21 2021
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_LCG_Block(20,1,'BUDNI','BUDNI_LCG',261);
************************************************************************************/
SET search_path TO mmt_staging2;
/* rerunnability - delete block tables and update config tables to null */
truncate table mmt_staging2.BUDNI_LCG_Spec_H1_Block;
truncate table mmt_staging2.BUDNI_LCG_Gravity_Test_Block;
truncate table mmt_staging2.stg_specific_table_BUDNI_LCG;
truncate table mmt_staging2.stg_process_table_BUDNI_LCG;
execute 'delete from mmt_ods.fw_jobctrl_file_sheet_block_run_schedule where file_syspk='||p_file_syspk||' and sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=null,
row_previous_number=null,
row_read_end=null,
run_time=null
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* transfer data from generic to specific for BUDNI */
execute 'insert into mmt_staging2.stg_specific_table_BUDNI_LCG
select * from mmt_staging1.mmt_staging_generic_table a
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''
and a.file_syspk='||p_file_syspk||'';
/* trimming data */
update mmt_staging2.stg_specific_table_BUDNI_LCG set column3 = TRIM (TRAILING FROM column3 );
update mmt_staging2.stg_specific_table_BUDNI_LCG set column3 = TRIM (LEADING FROM column3 );
update mmt_ods.mmt_config set F1_modified = TRIM (TRAILING FROM F1_modified);
update mmt_ods.mmt_config set F1_modified = TRIM (LEADING FROM F1_modified) ;
update mmt_ods.mmt_config set F1_source=F1_modified;
update mmt_ods.mmt_config set F1_source = TRIM (TRAILING FROM F1_source);
update mmt_ods.mmt_config set F1_source = TRIM (LEADING FROM F1_source) ;
/* keyword match in config table*/
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_BUDNI_LCG b
where trim(upper(F1_source))= trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* reverese update in process table for match*/
execute 'update mmt_staging2.stg_specific_table_BUDNI_LCG a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_source))= trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* update config files for row numbers start, end */
execute 'update mmt_ods.mmt_config a set row_previous_number=row_number_start-1
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_read_end= (select b.row_number_start
from mmt_ods.mmt_config b
where b.syspk=a.syspk+1 )
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* config file last field update as null otherwise it picks up next format row number*/
execute 'update mmt_ods.mmt_config a
set row_read_end = null
where f1_modified =''Location of centre of Gravity Test''
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set run_time=current_timestamp
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* tagging ranks for each block in process table*/
execute 'insert into mmt_staging2.stg_process_table_BUDNI_LCG
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_LCG a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Test Tractor Specifiactions''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_LCG
select a.* , RANK () OVER ( ORDER BY row_number),b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_LCG a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Location of centre of Gravity Test''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
/* fetching tractor model and make */
select column3 into __make from mmt_staging2.stg_process_table_BUDNI_LCG a
where rank_tag='BUDNI_LCG_Spec_H1' and rank=3;
select column4 into __model from mmt_staging2.stg_process_table_BUDNI_LCG a
where rank_tag='BUDNI_LCG_Spec_H1' and rank=3;
/* blocks data loading start - BUDNI_LCG_Spec_H1_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_LCG_Spec_H1_Block',__file_format,__sheet_mnemonic,1);
v_block:='BUDNI_LCG_Spec_H1_Block';
insert into mmt_staging2.BUDNI_LCG_Spec_H1_Block
(
make,model,Tractor_HP, Rated_RPM,configuration,Transmission_type,
Wheel_Drive_type,rank
)
select
column3,column4,column5,column6,column7,column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_LCG
where rank_tag='BUDNI_LCG_Spec_H1' and rank=3;
execute 'update mmt_staging2.BUDNI_LCG_Spec_H1_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_LCG_Spec_H1_block a
set Wheel_Base=column3,
Wheel_track =column4,
Overall_height =column5,
Ballast_Condition =column6,
Tractor_Weight_reactions_Front =column7,
Tractor_Weight_reactions_Rear =column8
from mmt_staging2.stg_process_table_budni_lcg b
where b.rank_tag='BUDNI_LCG_Spec_H1'
and b.rank=6
and a.file_syspk=b.file_syspk;
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_LCG_Spec_H1_block');
/* blocks data loading -BUDNI_LCG_Gravity_Test_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_LCG_Gravity_Test_Block',__file_format,__sheet_mnemonic,2);
v_block:='BUDNI_LCG_Gravity_Test_Block';
insert into mmt_staging2.BUDNI_LCG_Gravity_Test_Block
(
column2,column3,column4,column5,column6,column7,
column8,rank
)
select
column2,column3,column4,column5,column6,column7,
column8,rank
from mmt_staging2.stg_process_table_BUDNI_LCG a
where rank_tag='BUDNI_LCG_Gravity_Test' and rank <=5
order by rank;
update mmt_staging2.BUDNI_LCG_Gravity_Test_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_LCG_Gravity_Test_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_LCG_Gravity_Test_Block a
set column3= b.first_value from (SELECT
rank, column3, value_partition, first_value(column3) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column3,
sum(case when column3 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_LCG_Gravity_Test_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank ;
update mmt_staging2.BUDNI_LCG_Gravity_Test_Block
set ods_record=0 where
rank in (1,2);
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_LCG_Gravity_Test_Block');
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,null,'stg2', 'fn_BUDNI_LCG_Block', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,v_block,'stg2', 'fn_BUDNI_LCG_Block', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,348 @@
drop function if exists mmt_staging2.fn_BUDNI_NMT_ODS;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_NMT_ODS(p_file_syspk int)
RETURNS text AS $$
declare __test_instance_id int;
declare __file_syspk int;
declare __model text;
declare __make text;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
begin
__file_syspk := p_file_syspk;
/************************************************************
Function Name:fn_BUDNI_NMT_ODS
Function Desc: This function populates data into ODS
File Format: BUDNI
Sheet Format: BUDNI_NMT
Creation Date:
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_NMT_ODS()
***************************************************************/
--delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_NMT';
--
--delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_NMT';
--
--delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_NMT';
--
--delete from mmt_ods.budni_noise_atmospheric_conditions where test_file_sheet_format='BUDNI_NMT';
--
--delete from mmt_ods.budni_noise_measurement_results where test_file_sheet_format='BUDNI_NMT';
--
--delete from mmt_ods.budni_test_observations where test_file_sheet_format='BUDNI_NMT';
insert into mmt_ods.test_instance_tractor_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
tractor_engine_hp,
configuration,
transmission_type,
wheel_drive_type,
fip_type,
steering_type,
ballast_condition
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
tractor_HP::int tractor_engine_hp,
configuration,
transmission_type,
wheel_drive_type,
FIP_type,
steering_type,
Ballast_Condition
from mmt_staging2.BUDNI_NMT_Spec_H1_block;
insert into mmt_ods.test_instance
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
type_of_road
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
type_of_track
from
mmt_staging2.BUDNI_NMT_Spec_H1_block;
insert into mmt_ods.test_instance_engine_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
rated_rpm,
engine_to_pto_ratio_540_pto
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
rated_rpm::int,
engine_to_pto_ratio engine_to_pto_ratio_540_pto
from mmt_staging2.BUDNI_NMT_Spec_H1_block;
/*block */
insert into mmt_ods.budni_noise_atmospheric_conditions
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
noise_position,
background_noise_level_dba,
temperature_c,
pressure_kpa,
relative_humidity_pct,
wind_velocity_ms
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column2,
column3::numeric,
column4::numeric,
column5::numeric,
column6::numeric,
column7::numeric
from mmt_staging2.BUDNI_NMT_Atmos_Cond_1_Block where ods_record=1
order by rank;
/*block */
insert into mmt_ods.budni_noise_measurement_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
noise_position,
gear,
travel_speed_km_per_hr,
noise_level_db_a
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column2,
column3,
column6,
column8::numeric
from mmt_staging2.BUDNI_NMT_Meas_Results_1_Block
where ods_record=1;
insert into mmt_ods.budni_noise_atmospheric_conditions
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
noise_position,
background_noise_level_dba,
temperature_c,
pressure_kpa,
relative_humidity_pct,
wind_velocity_ms
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column2,
column3::numeric,
column4::numeric,
column5::numeric ,
column6::numeric,
column7::numeric
from mmt_staging2.BUDNI_NMT_Atmos_Cond_2_Block where ods_record=1
order by rank;
/*block */
insert into mmt_ods.budni_noise_measurement_results
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
noise_position,
gear,
drawbar_pull_max_noise_kn,
travel_speed_km_per_hr,
noise_level_db_a
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column2,
column3,
column4,
column6,
column8::int
from mmt_staging2.BUDNI_NMT_Meas_Results_2_Block
where ods_record=1;
insert into mmt_ods.budni_test_observations
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
sequence_number,
characteristic,
category_evaluative_or_non_evaluative,
requirements_as_per_is_12207_2008,
values_declared_by_the_applicant_d_rqmt,
as_observed,
whether_meets_the_requirements_yn
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column3::numeric,
column4,
column5,
column6,
column7,
column8,
column9
from mmt_staging2.budni_nmt_test_obs_summary_block where ods_record=1;
select file_syspk into __file_syspk from mmt_staging2.BUDNI_NMT_Spec_H1_block;
select syspk into __test_instance_id from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_model into __model from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_make into __make from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
update mmt_ods.test_instance_engine_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.test_instance_tractor_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_noise_atmospheric_conditions
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_noise_measurement_results
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_test_observations
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_NMT' ,null,'ods', 'fn_BUDNI_NMT_ODS', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_NMT' ,null,'ods', 'fn_BUDNI_NMT_ODS', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,507 @@
drop function if exists mmt_staging2.fn_BUDNI_NMT_Block ;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_NMT_Block(p_client_id int,p_function_id int, p_file_format text,
p_sheet_mnemonic text, p_file_syspk int)
RETURNS text AS $$
declare __make text;
declare __model text;
declare __client_id int :=p_client_id;
declare __function_id int :=p_function_id;
declare __file_format text :=p_file_format;
declare __sheet_mnemonic text :=p_sheet_mnemonic;
declare __file_syspk int :=p_file_syspk;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
declare v_block text;
begin
SET search_path TO mmt_staging2;
/***********************************************************************************
Function Name:fn_BUDNI_NMT_Block
Function Desc: This function populates data into staging2 blocks
File Format: BUDNI
Sheet Format:BUDNI_NMT
Creation Date: March 21 2021
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_NMT_Block(20,1,'BUDNI','BUDNI_NMT',261);
************************************************************************************/
/* rerunnability - delete block tables and update config tables to null */
truncate table mmt_staging2.BUDNI_NMT_Spec_H1_Block;
truncate table mmt_staging2.BUDNI_NMT_noise_at_bystander_position_block;
truncate table mmt_staging2.BUDNI_NMT_Atmos_Cond_1_Block;
truncate table mmt_staging2.BUDNI_NMT_Meas_Results_1_Block;
truncate table mmt_staging2.BUDNI_NMT_noise_at_operator_ear_level_block;
truncate table mmt_staging2.BUDNI_NMT_Atmos_Cond_2_Block;
truncate table mmt_staging2.BUDNI_NMT_Meas_Results_2_Block;
truncate table mmt_staging2.BUDNI_NMT_Test_Obs_Summary_Block;
truncate table mmt_staging2.stg_specific_table_BUDNI_NMT;
truncate table mmt_staging2.stg_process_table_BUDNI_NMT;
execute 'delete from mmt_ods.fw_jobctrl_file_sheet_block_run_schedule where file_syspk='||p_file_syspk||' and sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=null,
row_previous_number=null,
row_read_end=null,
run_time=null
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* transfer data from generic to specific for BUDNI */
execute 'insert into mmt_staging2.stg_specific_table_BUDNI_NMT
select * from mmt_staging1.mmt_staging_generic_table a
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''
and a.file_syspk='||p_file_syspk||'';
/* trimming data */
update mmt_staging2.stg_specific_table_BUDNI_LCG set column3 = TRIM (TRAILING FROM column3 );
update mmt_staging2.stg_specific_table_BUDNI_LCG set column3 = TRIM (LEADING FROM column3 );
update mmt_ods.mmt_config set F1_modified = TRIM (TRAILING FROM F1_modified);
update mmt_ods.mmt_config set F1_modified = TRIM (LEADING FROM F1_modified) ;
update mmt_ods.mmt_config set F1_source=F1_modified;
update mmt_ods.mmt_config set F1_source = TRIM (TRAILING FROM F1_source);
update mmt_ods.mmt_config set F1_source = TRIM (LEADING FROM F1_source) ;
/* keyword match in config table*/
execute 'update mmt_ods.mmt_config a set f1_source = replace(f1_source,''_1'','''')
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_BUDNI_NMT b
where trim(upper(F1_source))= trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* reverese update in process table for match*/
execute 'update mmt_staging2.stg_specific_table_BUDNI_NMT a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_source))= trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a set f1_source = replace(f1_source,''_2'','''')
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_BUDNI_NMT b
where trim(upper(F1_source))= trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_staging2.stg_specific_table_BUDNI_NMT a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_source))= trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a set row_previous_number=row_number_start-1
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_read_end= (select b.row_number_start
from mmt_ods.mmt_config b
where b.syspk=a.syspk+1 )
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* config file last field update as null otherwise it picks up next format row number*/
execute 'update mmt_ods.mmt_config a
set row_read_end = null
where f1_modified =''Noise Measurement Test Observations Summary''
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set run_time=current_timestamp
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* tagging ranks for each block in process table*/
execute 'insert into mmt_staging2.stg_process_table_BUDNI_NMT
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_NMT a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Test Tractor Specifiactions''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_NMT
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_NMT a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Noise at bystanders position: Noise Measurement Test''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_NMT
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_NMT a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Noise at operators ear level: Noise Measurement Test''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_NMT
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_NMT a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Noise Measurement Test Observations Summary''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
/* fetching tractor model and make */
select column3 into __make from mmt_staging2.stg_process_table_BUDNI_NMT a
where rank_tag='BUDNI_NMT_Spec_H1' and rank=3;
select column4 into __model from mmt_staging2.stg_process_table_BUDNI_NMT a
where rank_tag='BUDNI_NMT_Spec_H1' and rank=3;
/* blocks data loading start - BUDNI_NMT_Spec_H1_block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_NMT_Spec_H1_block',__file_format,__sheet_mnemonic,1);
v_block:='BUDNI_NMT_Spec_H1_block';
insert into mmt_staging2.BUDNI_NMT_Spec_H1_block
(
make,model,tractor_HP,rated_rpm,configuration,transmission_type,wheel_drive_type,rank)
select column3,column4,column5,column6,column7,column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_NMT where rank_tag='BUDNI_NMT_Spec_H1'
and rank=3;
execute 'update mmt_staging2.BUDNI_NMT_Spec_H1_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_NMT_Spec_H1_block a
set FIP_type=column3,steering_type=column4,Engine_to_PTO_ratio= column5,Ballast_Condition=column6,
Test_Engine_Set_RPM=column7,Type_of_track=column8
from mmt_staging2.stg_process_table_BUDNI_NMT b
where b.rank_tag='BUDNI_NMT_Spec_H1'
and b.rank=5
and a.file_syspk=b.file_syspk;
update mmt_staging2.BUDNI_NMT_Spec_H1_Block
set ods_record=0 where rank in(1,2);
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_NMT_Spec_H1_Block');
/* blocks data loading - BUDNI_NMT_noise_at_bystander_position_block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_NMT_noise_at_bystander_position_block',__file_format,__sheet_mnemonic,2);
v_block:='BUDNI_NMT_noise_at_bystander_position_block';
insert into mmt_staging2.BUDNI_NMT_noise_at_bystander_position_block
(
column2,column3,column4,column5,column6,column7,
column8,column9,rank
)
select
column2,column3,column4,column5,column6,column7,
column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_NMT a
where rank_tag ='BUDNI_NMT_Noise_at_bystander_position';
update mmt_staging2.BUDNI_NMT_noise_at_bystander_position_block
set column2=column3 where rank=1;
update mmt_staging2.BUDNI_NMT_noise_at_bystander_position_block a
set column2= b.first_value from (SELECT
rank, column2, value_partition, first_value(column2) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column2,
sum(case when column2 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_NMT_noise_at_bystander_position_block
ORDER BY rank ASC
) as q) b where a.rank = b.rank ;
update mmt_staging2.BUDNI_NMT_noise_at_bystander_position_Block
set ods_record=0 where rank in(1,2);
update mmt_staging2.BUDNI_NMT_noise_at_bystander_position_block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_NMT_noise_at_bystander_position_block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_NMT_noise_at_bystander_position_block');
/* blocks data loading - BUDNI_NMT_Atmos_Cond_1_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_NMT_Atmos_Cond_1_Block',__file_format,__sheet_mnemonic,3);
v_block:='BUDNI_NMT_Atmos_Cond_1_Block';
insert into mmt_staging2.BUDNI_NMT_Atmos_Cond_1_Block
(
column2,column3,column4,column5,column6,column7,
column8,column9,rank
)
select
column2,column3,column4,column5,column6,column7,
column8,column9,rank
from mmt_staging2.BUDNI_NMT_noise_at_bystander_position_block a
where rank <=4;
update mmt_staging2.BUDNI_NMT_Atmos_Cond_1_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_NMT_Atmos_Cond_1_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_NMT_Atmos_Cond_1_Block
set ods_record=0 where
rank in (1,2,3);
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_NMT_Atmos_Cond_1_Block ');
/* blocks data loading - BUDNI_NMT_Meas_Results_1_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_NMT_Meas_Results_1_Block',__file_format,__sheet_mnemonic,4);
v_block:='BUDNI_NMT_Meas_Results_1_Block';
insert into mmt_staging2.BUDNI_NMT_Meas_Results_1_Block
(
column2,column3,column4,column5,column6,column7,
column8,rank
)
select
column2,column3,column4,column5,column6,column7,
column8,rank
from mmt_staging2.BUDNI_NMT_noise_at_bystander_position_block a
where rank>4;
update mmt_staging2.BUDNI_NMT_Meas_Results_1_Block
set ods_record=0 where
rank=5;
update mmt_staging2.BUDNI_NMT_Meas_Results_1_Block
set column3=column4 where column3 is null ;
update mmt_staging2.BUDNI_NMT_Meas_Results_1_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_NMT_Meas_Results_1_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_NMT_Meas_Results_1_Block ');
/* blocks data loading - BUDNI_NMT_Noise_at_operator_ear_level_block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_NMT_Noise_at_operator_ear_level_block',__file_format,__sheet_mnemonic,5);
v_block:='BUDNI_NMT_Noise_at_operator_ear_level_block';
insert into mmt_staging2.BUDNI_NMT_Noise_at_operator_ear_level_block
(
column2,column3,column4,column5,column6,column7,
column8,column9,rank
)
select
column2,column3,column4,column5,column6,column7,
column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_NMT a
where rank_tag ='BUDNI_NMT_Noise_at_operator_ear_level';
update mmt_staging2.BUDNI_NMT_Noise_at_operator_ear_level_block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_NMT_Noise_at_operator_ear_level_block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_NMT_Noise_at_operator_ear_level_block
set column2=column3 where rank=1;
update mmt_staging2.BUDNI_NMT_Noise_at_operator_ear_level_block a
set column2= b.first_value from (SELECT
rank, column2, value_partition, first_value(column2) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column2,
sum(case when column2 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_NMT_Noise_at_operator_ear_level_block
ORDER BY rank ASC
) as q) b where a.rank = b.rank ;
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_NMT_Noise_at_operator_ear_level_block');
/* blocks data loading -BUDNI_NMT_Atmos_Cond_2_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_NMT_Atmos_Cond_2_Block',__file_format,__sheet_mnemonic,6);
v_block:='BUDNI_NMT_Atmos_Cond_2_Block';
insert into mmt_staging2.BUDNI_NMT_Atmos_Cond_2_Block
(
column2,column3,column4,column5,column6,column7,
column8,rank
)
select
column2,column3,column4,column5,column6,column7,
column8,rank
from mmt_staging2.BUDNI_NMT_Noise_at_operator_ear_level_block a
where rank<=4;
update mmt_staging2.BUDNI_NMT_Atmos_Cond_2_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_NMT_Atmos_Cond_2_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_NMT_Atmos_Cond_2_Block
set ods_record=0 where
rank in (1,2,3);
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_NMT_Atmos_Cond_2_Block');
/* blocks data loading -BUDNI_NMT_Meas_Results_2_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_NMT_Meas_Results_2_Block',__file_format,__sheet_mnemonic,7);
v_block:='BUDNI_NMT_Meas_Results_2_Block';
insert into mmt_staging2.BUDNI_NMT_Meas_Results_2_Block
(
column2,column3,column4,column5,column6,column7,
column8,rank
)
select
column2,column3,column4,column5,column6,column7,
column8,rank
from mmt_staging2.BUDNI_NMT_Noise_at_operator_ear_level_block a
where rank>4;
update mmt_staging2.BUDNI_NMT_Meas_Results_2_Block
set ods_record=0 where
rank =5;
update BUDNI_NMT_Meas_Results_2_Block set column3=column4 where column3 is null;
update mmt_staging2.BUDNI_NMT_Meas_Results_2_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_NMT_Meas_Results_2_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_NMT_Meas_Results_2_Block');
/* blocks data loading -BUDNI_NMT_Test_Obs_Summary_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_NMT_Test_Obs_Summary_Block',__file_format,__sheet_mnemonic,8);
v_block:='BUDNI_NMT_Test_Obs_Summary_Block';
insert into mmt_staging2.BUDNI_NMT_Test_Obs_Summary_Block
(
column2,column3,column4,column5,column6,column7,
column8,column9,rank
)
select
column2,column3,column4,column5,column6,column7,
column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_NMT a
where rank_tag='BUDNI_NMT_Test_Obs_Summary' and rank in (1,2,3,4);
update mmt_staging2.BUDNI_NMT_Test_Obs_Summary_Block
set ods_record=0 where
rank in (1,2);
update mmt_staging2.BUDNI_NMT_Test_Obs_Summary_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_NMT_Test_Obs_Summary_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_NMT_Test_Obs_Summary_Block');
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,null,'stg2', 'fn_BUDNI_NMT_Block', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,v_block,'stg2', 'fn_BUDNI_NMT_Block', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,309 @@
drop function if exists mmt_staging2.fn_BUDNI_PTO_ODS;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_PTO_ODS(p_file_syspk int)
RETURNS text AS $$
declare __test_instance_id int;
declare __file_syspk int;
declare __model text;
declare __make text;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
begin
__file_syspk := p_file_syspk;
/************************************************************
Function Name:fn_BUDNI_PTO_ODS
Function Desc: This function populates data into ODS
File Format: BUDNI
Sheet Format: BUDNI_PTO
Creation Date:
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_PTO_ODS()
***************************************************************/
--delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_PTO';
--
--delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_PTO';
--
--delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_PTO';
--
--delete from mmt_ods.budni_pto_perf_results_summary where test_file_sheet_format='BUDNI_PTO';
--
--delete from mmt_ods.budni_test_observations where test_file_sheet_format='BUDNI_PTO';
--
--delete from mmt_ods.budni_pto_perf_results_details where test_file_sheet_format='BUDNI_PTO';
insert into mmt_ods.test_instance_tractor_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
tractor_engine_hp,
configuration,
fip_type,
steering_type,
transmission_type,
wheel_drive_type
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
tractor_HP::int,
configuration,FIP_type,steering_type,transmission_type,wheel_drive_type
from mmt_staging2.BUDNI_PTO_Spec_H1_block;
insert into mmt_ods.test_instance
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
date_of_test
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
date
from
mmt_staging2.BUDNI_PTO_Spec_H1_block;
insert into mmt_ods.test_instance_engine_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
rated_rpm,
engine_to_pto_ratio_540_pto
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
rated_rpm::int,
engine_to_pto_ratio
from mmt_staging2.BUDNI_PTO_Spec_H1_block;
/*block */
insert into mmt_ods.budni_pto_perf_results_summary
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
pto_category,
pto_sub_category ,
power_kw,
speed_rpm_pto ,
speed_rpm_engine ,
fuel_consumption_ltr_per_hr,
fuel_consumption_kg_per_hr,
specific_kg_per_kwh,
specifc_energy_kwhl
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column2,
column3,
column4::numeric,column5::numeric,column6::numeric,column7::numeric,column8::numeric,
column9::numeric,column10::numeric
from mmt_staging2.BUDNI_PTO_Perf_Report_block where ods_record=1
order by rank;
/*block */
insert into mmt_ods.budni_pto_perf_results_details
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
ambient_type,
no_load_max_engine_speed_rpm,
equi_crankshaft_torque_at_max_power_nm,
max_equi_crankshaft_torque_nm,
engine_speed_at_max_equi_crankshaft_torque_rpm,
backup_torque,
pct_smoke_level_max_light_absorption_coef_per_mtr,
range_of_atm_conditions_temp_c,
range_of_atm_conditions_pressure_kpa,
range_of_atm_conditions_rel_humidity_pct
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column3,
column4::int,
column5::numeric,
column6::numeric,column7::int,column8::numeric,
column9::numeric,column10,column11,column12
from mmt_staging2.BUDNI_PTO_MMTKeyword1_block
where ods_record=1;
/* block */
insert into mmt_ods.budni_pto_perf_results_details
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
ambient_type,
max_temp_engine_oil_c,
max_temp_coolant_water_c,
max_temp_fuel_c,
max_temp_air_intake_c,
max_temp_exhaust_gas_c,
pressure_at_max_power_intake_air_kpa,
pressure_at_max_power_exhst_gas_bfr_turbo_charger_kpa,
consumptions_lub_oil_gkwh,
consumptions_coolant_water_pct_of_total_coolant_capacity
)
select client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column3,
column4::numeric,column5::numeric,column6::numeric,column7::numeric,column8::numeric,column9,
column10,column11::numeric,column12::numeric
from mmt_staging2.BUDNI_PTO_MMTKeyword2_block
where ods_record=1 and column3='Natural Ambient';
insert into mmt_ods.budni_test_observations
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
srl_no,
characteristic,
category_evaluative_or_non_evaluative,
requirements_as_per_is_12207_2008,
values_declared_by_the_applicant_d_rqmt,
as_observed,
whether_meets_the_requirements_yn
)
select client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,column3,column4,column7,column8,column10,column11,column12
from mmt_staging2.BUDNI_PTO_Summary_block
where rank in (3,4) and ods_record=1
;
select file_syspk into __file_syspk from mmt_staging2.BUDNI_PTO_Spec_H1_block;
select syspk into __test_instance_id from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_model into __model from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_make into __make from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
update mmt_ods.test_instance_engine_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.test_instance_tractor_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_pto_perf_results_summary
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_pto_perf_results_details
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_test_observations
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_PTO' ,null,'ods', 'fn_BUDNI_PTO_ODS', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_PTO' ,null,'ods', 'fn_BUDNI_PTO_ODS', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,358 @@
drop function if exists mmt_staging2.fn_BUDNI_PTO_block;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_PTO_block(p_client_id int,p_function_id int, p_file_format text,
p_sheet_mnemonic text, p_file_syspk int)
RETURNS text AS $$
declare __make text;
declare __model text;
declare __client_id int :=p_client_id;
declare __function_id int :=p_function_id;
declare __file_format text :=p_file_format;
declare __sheet_mnemonic text :=p_sheet_mnemonic;
declare __file_syspk int :=p_file_syspk;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
declare v_block text;
begin
SET search_path TO mmt_staging2;
/***********************************************************************************
Function Name:fn_BUDNI_PTO_Block
Function Desc: This function populates data into staging2 blocks
File Format: BUDNI
Sheet Format:BUDNI_PTO
Creation Date: March 21 2021
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_PTO_Block(20,1,'BUDNI','BUDNI_PTO',261);
************************************************************************************/
/* rerunnability - delete block tables and update config tables to null */
truncate table mmt_staging2.stg_specific_table_BUDNI_PTO;
truncate table mmt_staging2.stg_process_table_BUDNI_PTO;
truncate table mmt_staging2.BUDNI_PTO_Spec_H1_Block;
truncate table mmt_staging2.BUDNI_PTO_Perf_Report_block;
truncate table mmt_staging2.BUDNI_PTO_MMTKeyword1_Block;
truncate table mmt_staging2.BUDNI_PTO_MMTKeyword2_Block;
truncate table mmt_staging2.BUDNI_PTO_Summary_Block;
execute 'delete from mmt_ods.fw_jobctrl_file_sheet_block_run_schedule where file_syspk='||p_file_syspk||' and sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=null,
row_previous_number=null,
row_read_end=null,
run_time=null
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* transfer data from generic to specific for BUDNI */
execute 'insert into mmt_staging2.stg_specific_table_budni_pto
select * from mmt_staging1.mmt_staging_generic_table a
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''
and a.file_syspk='||p_file_syspk||'';
/* trimming data */
update mmt_staging2.stg_specific_table_budni_pto set column3 = TRIM (TRAILING FROM column3 );
update mmt_staging2.stg_specific_table_budni_pto set column3 = TRIM (LEADING FROM column3 );
update mmt_ods.mmt_config set F1_modified = TRIM (TRAILING FROM F1_modified) ;
update mmt_ods.mmt_config set F1_modified = TRIM (LEADING FROM F1_modified) ;
update mmt_ods.mmt_config set F1_source=F1_modified ;
update mmt_ods.mmt_config set F1_source = TRIM (TRAILING FROM F1_source);
update mmt_ods.mmt_config set F1_source = TRIM (LEADING FROM F1_source);
/* keyword match */
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_budni_pto b
where trim(upper(F1_modified))=trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* reverese update */
execute 'update mmt_staging2.stg_specific_table_budni_pto a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_modified))=trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a set row_previous_number=row_number_start-1
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_read_end= (select b.row_number_start
from mmt_ods.mmt_config b
where b.syspk=a.syspk+1 and file_format='''||p_file_format||''' and sheet_mnemonic='''||p_sheet_mnemonic||''' )
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* config file last field update as null otherwise it picks up next format row number*/
execute 'update mmt_ods.mmt_config a
set row_read_end = null ,run_time=current_timestamp
where f1_modified =''PTO Performance Test Observations Summary''
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* tagging ranks for each block in process table*/
execute 'insert into mmt_staging2.stg_process_table_budni_pto
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_budni_pto a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Test Tractor Specifiactions''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'insert into mmt_staging2.stg_process_table_budni_pto
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_budni_pto a
join mmt_ods.mmt_config b
on a.row_number >row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''PTO Performance Report''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'insert into mmt_staging2.stg_process_table_budni_pto
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag from mmt_staging2.stg_specific_table_budni_pto a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''MMTKeyword1''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'insert into mmt_staging2.stg_process_table_budni_pto
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag from mmt_staging2.stg_specific_table_budni_pto a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''MMTKeyword2''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'insert into mmt_staging2.stg_process_table_budni_pto
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_budni_pto a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''PTO Performance Test Observations Summary''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* fetching tractor model and make */
select column3 into __make from mmt_staging2.stg_process_table_budni_pto a
where rank_tag='BUDNI_PTO_Spec_H1' and rank=3 ;
select column4 into __model from mmt_staging2.stg_process_table_budni_pto a
where rank_tag='BUDNI_PTO_Spec_H1' and rank=3;
/* blocks data loading start - BUDNI_PTO_Spec_H1_block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_PTO_Spec_H1_block',__file_format,__sheet_mnemonic,1);
v_block:='BUDNI_PTO_Spec_H1_block';
insert into mmt_staging2.BUDNI_PTO_Spec_H1_block
(make,model,tractor_HP,rated_rpm,configuration,transmission_type,wheel_drive_type,FIP_type,rank)
select column3,column4,column5,column6,column7,column8,column9,column10,rank
from mmt_staging2.stg_process_table_budni_pto where rank_tag='BUDNI_PTO_Spec_H1'
and rank=3;
execute 'update mmt_staging2.BUDNI_PTO_Spec_H1_block set file_syspk='||p_file_syspk||'';
update mmt_staging2.BUDNI_PTO_Spec_H1_block a
set date= date '1899-12-30' + column12::int * interval '1' day
from mmt_staging2.stg_process_table_budni_pto b
where b.rank_tag='BUDNI_PTO_Spec_H1'
and b.rank=1
and a.file_syspk=b.file_syspk ;
update mmt_staging2.BUDNI_PTO_Spec_H1_block a
set steering_type=column3,Engine_to_PTO_ratio= column4
from mmt_staging2.stg_process_table_budni_pto b
where b.rank_tag='BUDNI_PTO_Spec_H1'
and b.rank=5
and a.file_syspk=b.file_syspk;
update mmt_staging2.BUDNI_PTO_Spec_H1_block set make=__make, model=__model;
execute 'update mmt_staging2.BUDNI_PTO_Spec_H1_block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||''',
file_syspk='||p_file_syspk||'';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_PTO_Spec_H1_block');
/* blocks data loading -BUDNI_PTO_Perf_Report_block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_PTO_Perf_Report_block',__file_format,__sheet_mnemonic,2);
v_block:='BUDNI_PTO_Perf_Report_block';
insert into mmt_staging2.BUDNI_PTO_Perf_Report_block
( column2,column3,column4,column5,column6,column7,column8,column9,column10,rank)
select column2,column3,column4,column5,column6,column7,column8,column9,column10,rank
from mmt_staging2.stg_process_table_budni_pto
where rank_tag='BUDNI_PTO_Perf_Report';
update mmt_staging2.BUDNI_PTO_Perf_Report_block
set column2=column3 where column2 is null;
update mmt_staging2.BUDNI_PTO_Perf_Report_block
set column2=null
where column2 like 'i%';
update mmt_staging2.BUDNI_PTO_Perf_Report_block
set column2=null
where column2 like 'v%';
update mmt_staging2.BUDNI_PTO_Perf_Report_block a
set column2= b.first_value from (SELECT
rank, column2, value_partition, first_value(column2) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column2,
sum(case when column2 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_PTO_Perf_Report_block
ORDER BY rank ASC
) as q) b where a.rank = b.rank ;
update mmt_staging2.BUDNI_PTO_Perf_Report_block
set column3 =null
where column2=column3;
update mmt_staging2.BUDNI_PTO_Perf_Report_block
set ods_record=0 where rank in (1,2);
update mmt_staging2.BUDNI_PTO_Perf_Report_block set ods_record=0 where column3 is null
and column2 in(
select column2 from mmt_staging2.BUDNI_PTO_Perf_Report_block group by column2 having count(*)>1
);
update mmt_staging2.BUDNI_PTO_Perf_Report_block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_PTO_Perf_Report_block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||''',
file_syspk='||p_file_syspk||'';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_PTO_Perf_Report_block');
/* blocks data loading - BUDNI_PTO_MMTKeyword1_block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_PTO_MMTKeyword1_block',__file_format,__sheet_mnemonic,3);
v_block:='BUDNI_PTO_MMTKeyword1_block';
insert into mmt_staging2.BUDNI_PTO_MMTKeyword1_block
( column2,column3,column4,column5,column6,column7,column8,column9,column10,column11,column12,rank)
select column2,column3,column4,column5,column6,column7,column8,column9,column10,column11,column12,rank
from mmt_staging2.stg_process_table_budni_pto
where rank_tag='BUDNI_PTO_MMTKeyword1';
update mmt_staging2.BUDNI_PTO_MMTKeyword1_block set ods_record=0 where rank in (1,2);
update mmt_staging2.BUDNI_PTO_MMTKeyword1_block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_PTO_MMTKeyword1_block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||''',
file_syspk='||p_file_syspk||'';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_PTO_MMTKeyword1_block');
/* blocks data loading - BUDNI_PTO_MMTKeyword2_block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_PTO_MMTKeyword2_block',__file_format,__sheet_mnemonic,4);
v_block:='BUDNI_PTO_MMTKeyword2_block';
insert into mmt_staging2.BUDNI_PTO_MMTKeyword2_block
( column2,column3,column4,column5,column6,column7,column8,column9,column10,column11,column12,rank)
select column2,column3,column4,column5,column6,column7,column8,column9,column10,column11,column12,rank
from mmt_staging2.stg_process_table_budni_pto
where rank_tag='BUDNI_PTO_MMTKeyword2';
update mmt_staging2.BUDNI_PTO_MMTKeyword2_block set ods_record=0 where rank in (1,2);
update mmt_staging2.BUDNI_PTO_MMTKeyword2_block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_PTO_MMTKeyword2_block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||''',
file_syspk='||p_file_syspk||'';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_PTO_MMTKeyword2_block');
/* blocks data loading -BUDNI_PTO_Summary_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_PTO_Summary_Block',__file_format,__sheet_mnemonic,5);
v_block:='BUDNI_PTO_Summary_Block';
insert into mmt_staging2.BUDNI_PTO_Summary_Block
( column2,column3,column4,column5,column6,column7,column8,column9,column10,column11,column12,rank)
select column2,column3,column4,column5,column6,column7,column8,column9,column10,column11,column12,rank
from mmt_staging2.stg_process_table_budni_pto
where rank_tag='BUDNI_PTO_Summary';
update mmt_staging2.BUDNI_PTO_Summary_block
set ods_record=0 where rank in (1,2);
update mmt_staging2.BUDNI_PTO_Summary_block set make=__make, model=__model;
execute 'update mmt_staging2.BUDNI_PTO_Summary_block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||''',
file_syspk='||p_file_syspk||'';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'mmt_staging2.BUDNI_PTO_Summary_block');
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,null,'stg2', 'fn_BUDNI_PTO_Block', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,v_block,'stg2', 'fn_BUDNI_PTO_Block', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,234 @@
drop function if exists mmt_staging2.fn_BUDNI_VMT_ODS;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_VMT_ODS(p_file_syspk int)
RETURNS text AS $$
declare __test_instance_id int;
declare __file_syspk int;
declare __model text;
declare __make text;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
begin
__file_syspk := p_file_syspk;
/************************************************************
Function Name:fn_BUDNI_VMT_ODS
Function Desc: This function populates data into ODS
File Format: BUDNI
Sheet Format: BUDNI_VMT
Creation Date:
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_VMT_ODS()
***************************************************************/
--delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_VMT';
--
--delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_VMT';
--
--
--delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_VMT';
--
--delete from mmt_ods.budni_vibration_measurement where test_file_sheet_format='BUDNI_VMT';
--
--delete from mmt_ods.budni_test_observations where test_file_sheet_format='BUDNI_VMT';
insert into mmt_ods.test_instance_tractor_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
tractor_engine_hp,
configuration,
transmission_type,
wheel_drive_type,
fip_type,
steering_type,
ballast_condition
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,
model,
tractor_HP::int tractor_engine_hp,
configuration,
transmission_type,
wheel_drive_type,
FIP_type,
steering_type,
Ballast_Condition
from mmt_staging2.BUDNI_VMT_Spec_H1_block;
insert into mmt_ods.test_instance
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model
from
mmt_staging2.BUDNI_VMT_Spec_H1_block;
insert into mmt_ods.test_instance_engine_info
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
rated_rpm,
engine_to_pto_ratio_540_pto
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
rated_rpm::int,
engine_to_pto_ratio engine_to_pto_ratio_540_pto
from mmt_staging2.BUDNI_VMT_Spec_H1_block;
insert into mmt_ods.budni_vibration_measurement
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
srl_no,
measuring_points,
vibration_at_no_load_vd_microns,
vibration_at_no_load_hd_microns,
vibration_at_load_85_pct_of_max_pto_power_vd_microns,
vibration_at_load_85_pct_of_max_pto_power_hd_microns
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
column3::numeric,
column4,
column6::numeric ,
column7::numeric ,
column8::numeric ,
column9::numeric
from mmt_staging2.BUDNI_VMT_Perf_Meas_Test_Block
where ods_record =1
order by rank;
insert into mmt_ods.budni_test_observations
(
client_id,
function_id,
test_file_ref_no,
test_file_format,
test_file_sheet_format,
tractor_make,
tractor_model,
sequence_number,
characteristic,
category_evaluative_or_non_evaluative,
requirements_as_per_is_12207_2008,
values_declared_by_the_applicant_d_rqmt,
as_observed,
whether_meets_the_requirements_yn
)
select
client_id,
function_id,
file_syspk,
file_format,
sheet_mnemonic,
make,model,
column3::INT,
column4,
column5,
column6,
column7,
column8,
column9
from mmt_staging2.BUDNI_VMT_test_obs_summary_block where ods_record=1;
select file_syspk into __file_syspk from mmt_staging2.BUDNI_VMT_Spec_H1_block;
select syspk into __test_instance_id from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_model into __model from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
select tractor_make into __make from mmt_ods.test_instance where test_file_ref_no =__file_syspk;
update mmt_ods.test_instance_engine_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.test_instance_tractor_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_vibration_measurement
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
update mmt_ods.budni_test_observations
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where test_file_ref_no=__file_syspk;
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_VMT' ,null,'ods', 'fn_BUDNI_VMT_ODS', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( null, null, 1001, 'Compegence', __file_syspk ,'BUDNI','BUDNI_VMT' ,null,'ods', 'fn_BUDNI_VMT_ODS', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,371 @@
drop function if exists mmt_staging2.fn_BUDNI_VMT_Block ;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_BUDNI_VMT_Block(p_client_id int,p_function_id int, p_file_format text,
p_sheet_mnemonic text, p_file_syspk int)
RETURNS text AS $$
declare __make text;
declare __model text;
declare __client_id int :=p_client_id;
declare __function_id int :=p_function_id;
declare __file_format text :=p_file_format;
declare __sheet_mnemonic text :=p_sheet_mnemonic;
declare __file_syspk int :=p_file_syspk;
declare v_state text;
declare v_msg text;
declare v_detail text;
declare v_hint text;
declare v_context text;
declare _error int;
declare v_block text;
begin
SET search_path TO mmt_staging2;
/***********************************************************************************
Function Name:fn_BUDNI_VMT_Block
Function Desc: This function populates data into staging2 blocks
File Format: BUDNI
Sheet Format:BUDNI_VMT
Creation Date: March 21 2021
Updation Date:
Author: compegence team
Function Call: select mmt_staging2.fn_BUDNI_VMT_Block(20,1,'BUDNI','BUDNI_VMT',261);
************************************************************************************/
/* rerunnability - delete block tables and update config tables to null */
truncate table mmt_staging2.BUDNI_VMT_Spec_H1_Block;
truncate table mmt_staging2.BUDNI_VMT_Perf_Meas_Test_Block;
truncate table mmt_staging2.BUDNI_VMT_Test_Obs_Summary_Block;
truncate table mmt_staging2.stg_specific_table_BUDNI_VMT;
truncate table mmt_staging2.stg_process_table_BUDNI_VMT;
execute 'delete from mmt_ods.fw_jobctrl_file_sheet_block_run_schedule where file_syspk='||p_file_syspk||' and sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=null,
row_previous_number=null,
row_read_end=null,
run_time=null
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* transfer data from generic to specific for BUDNI */
execute 'insert into mmt_staging2.stg_specific_table_BUDNI_VMT
select * from mmt_staging1.mmt_staging_generic_table a
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''
and a.file_syspk='||p_file_syspk||'';
/* trimming data */
update mmt_staging2.stg_specific_table_BUDNI_LCG set column3 = TRIM (TRAILING FROM column3 );
update mmt_staging2.stg_specific_table_BUDNI_LCG set column3 = TRIM (LEADING FROM column3 );
update mmt_ods.mmt_config set F1_modified = TRIM (TRAILING FROM F1_modified);
update mmt_ods.mmt_config set F1_modified = TRIM (LEADING FROM F1_modified) ;
update mmt_ods.mmt_config set F1_source=F1_modified;
update mmt_ods.mmt_config set F1_source = TRIM (TRAILING FROM F1_source);
update mmt_ods.mmt_config set F1_source = TRIM (LEADING FROM F1_source) ;
/* keyword match in config table*/
execute 'update mmt_ods.mmt_config a set f1_source = replace(f1_source,''_1'','''')
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_BUDNI_VMT b
where trim(upper(F1_source))= trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* reverese update in process table for match*/
execute 'update mmt_staging2.stg_specific_table_BUDNI_VMT a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_source))= trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a set f1_source = replace(f1_source,''_2'','''')
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_number_start=(select min(b.row_number)
from mmt_staging2.stg_specific_table_BUDNI_VMT b
where trim(upper(F1_source))= trim(upper(column3))
and b.is_rownumber_fetched is null)
where a.row_number_start is null
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* reverese update in process table for match*/
execute 'update mmt_staging2.stg_specific_table_BUDNI_VMT a
set is_rownumber_fetched=1
from mmt_ods.mmt_config b
where trim(upper(F1_source))= trim(upper(column3))
and b.row_number_start=a.row_number
and is_rownumber_fetched is null and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* update config files for row numbers start, end */
execute 'update mmt_ods.mmt_config a set row_previous_number=row_number_start-1
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set row_read_end= (select b.row_number_start
from mmt_ods.mmt_config b
where b.syspk=a.syspk+1 )
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* config file last field update as null otherwise it picks up next format row number*/
execute 'update mmt_ods.mmt_config a
set row_read_end = null
where f1_modified =''AIR CLEANER OIL PULL OVER TEST Observations Summary''
and a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
execute 'update mmt_ods.mmt_config a
set run_time=current_timestamp
where a.file_format='''||p_file_format||''' and a.sheet_mnemonic='''||p_sheet_mnemonic||'''';
/* tagging ranks for each block in process table*/
execute 'insert into mmt_staging2.stg_process_table_BUDNI_VMT
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_VMT a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Test Tractor Specifiactions''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_VMT
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_VMT a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Machanical Vibration Measurement Test''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
execute 'insert into mmt_staging2.stg_process_table_BUDNI_VMT
select a.* , RANK () OVER ( ORDER BY row_number) as rank,b.rank_tag as rank_tag
from mmt_staging2.stg_specific_table_BUDNI_VMT a
join mmt_ods.mmt_config b
on a.row_number >=row_number_start
and (a.row_number< row_read_end or row_read_end is null)
and f1_modified=''Noise Measurement Test Observations Summary''
and b.file_format='''||p_file_format||''' and b.sheet_mnemonic='''||p_sheet_mnemonic||'''
order by a.row_number';
/* fetching tractor model and make */
select column3 into __make from mmt_staging2.stg_process_table_BUDNI_VMT a
where rank_tag='BUDNI_VMT_Spec_H1' and rank=3;
select column4 into __model from mmt_staging2.stg_process_table_BUDNI_VMT a
where rank_tag='BUDNI_VMT_Spec_H1' and rank=3;
/* blocks data loading start - BUDNI_VMT_Spec_H1_block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_VMT_Spec_H1_Block',__file_format,__sheet_mnemonic,1);
v_block:='BUDNI_VMT_Spec_H1_Block';
insert into mmt_staging2.BUDNI_VMT_Spec_H1_block
(
make,model,tractor_HP,rated_rpm,configuration,transmission_type,wheel_drive_type,rank)
select column3,column4,column5,column6,column7,column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_VMT where rank_tag='BUDNI_VMT_Spec_H1'
and rank=3;
execute 'update mmt_staging2.BUDNI_VMT_Spec_H1_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
update mmt_staging2.BUDNI_VMT_Spec_H1_block a
set FIP_type=column3,steering_type=column4,Engine_to_PTO_ratio= column5,Ballast_Condition=column6,
Test_Engine_Set_RPM=column7,Type_of_track=column8
from mmt_staging2.stg_process_table_BUDNI_VMT b
where b.rank_tag='BUDNI_VMT_Spec_H1'
and b.rank=5
and a.file_syspk=b.file_syspk;
update mmt_staging2.BUDNI_VMT_Spec_H1_Block
set ods_record=0 where rank in(1,2);
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_VMT_Spec_H1_block');
/* blocks data loading -BUDNI_VMT_Perf_Meas_Test_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_VMT_Perf_Meas_Test_Block',__file_format,__sheet_mnemonic,2);
v_block:='BUDNI_VMT_Perf_Meas_Test_Block';
insert into mmt_staging2.BUDNI_VMT_Perf_Meas_Test_Block
(
column3,
column4,
column5,
column6,
column7,
column8,
column9,
rank
)
select
column3,column4,column5,column6,column7,column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_VMT a
where rank_tag ='BUDNI_VMT_Perf_Meas_Test'
order by rank;
update mmt_staging2.BUDNI_VMT_Perf_Meas_Test_Block a
set column3= b.first_value from (SELECT
rank, column3, value_partition, first_value(column3) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column3,
sum(case when column3 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_VMT_Perf_Meas_Test_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank and a.rank not in(1,2,3,4);
update mmt_staging2.BUDNI_VMT_Perf_Meas_Test_Block a
set column4= b.first_value from (SELECT
rank, column4, value_partition, first_value(column4) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column4,
sum(case when column4 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_VMT_Perf_Meas_Test_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank and a.rank not in(1,2,3,4);
update mmt_staging2.BUDNI_VMT_Perf_Meas_Test_Block
set column4=concat(column4,'-',column5) where rank not in(1,2,3,4) and column5 is not null;
update mmt_staging2.BUDNI_VMT_Perf_Meas_Test_Block
set ods_record=0 where rank in(1,2,3,4);
update mmt_staging2.BUDNI_VMT_Perf_Meas_Test_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_VMT_Perf_Meas_Test_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_VMT_Perf_Meas_Test_Block');
/* blocks data loading -BUDNI_VMT_Test_Obs_Summary_Block */
perform mmt_staging2.fn_jobctrl_block_begin(__client_id,__function_id,__file_syspk,
'BUDNI_VMT_Test_Obs_Summary_Block',__file_format,__sheet_mnemonic,3);
v_block:='BUDNI_VMT_Test_Obs_Summary_Block';
insert into mmt_staging2.BUDNI_VMT_Test_Obs_Summary_Block
(
column3,column4,column5,column6,column7,
column8,column9,rank
)
select
column3,column4,column5,column6,column7,
column8,column9,rank
from mmt_staging2.stg_process_table_BUDNI_VMT a
where rank_tag='BUDNI_VMT_Test_Obs_Summary' and rank <=6
order by rank;
update mmt_staging2.BUDNI_VMT_Test_Obs_Summary_Block a
set column5= b.first_value from (SELECT
rank, column5, value_partition, first_value(column5) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column5,
sum(case when column5 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_VMT_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.BUDNI_VMT_Test_Obs_Summary_Block a
set column6= b.first_value from (SELECT
rank, column6, value_partition, first_value(column6) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column6,
sum(case when column6 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_VMT_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.BUDNI_VMT_Test_Obs_Summary_Block a
set column7= b.first_value from (SELECT
rank, column7, value_partition, first_value(column7) over (partition by value_partition order by rank)
FROM (
SELECT
rank,
column7,
sum(case when column7 is null then 0 else 1 end) over (order by rank) as value_partition
FROM mmt_staging2.BUDNI_VMT_Test_Obs_Summary_Block
ORDER BY rank ASC
) as q) b where a.rank = b.rank;
update mmt_staging2.BUDNI_VMT_Test_Obs_Summary_Block
set ods_record=0 where
rank in(1,2);
update mmt_staging2.BUDNI_VMT_Test_Obs_Summary_Block set make=__make,model=__model;
execute 'update mmt_staging2.BUDNI_VMT_Test_Obs_Summary_Block set
client_id='||p_client_id||',
function_id='||p_function_id||',
file_syspk='||p_file_syspk||',
file_format='''||p_file_format||''',
sheet_mnemonic='''||p_sheet_mnemonic||'''';
perform mmt_staging2.fn_jobctrl_block_end(__file_syspk,'BUDNI_VMT_Test_Obs_Summary_Block');
v_context := '';
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,null,'stg2', 'fn_BUDNI_VMT_Block', v_state, v_msg, v_detail, v_hint, v_context,'success');
return v_context;
EXCEPTION when OTHERS then
GET STACKED DIAGNOSTICS
v_state = returned_sqlstate,
v_msg = message_text,
v_detail = pg_exception_detail,
v_hint = pg_exception_hint,
v_context = pg_exception_context;
perform mmt_staging2.mmt_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_format,__sheet_mnemonic ,v_block,'stg2', 'fn_BUDNI_VMT_Block', v_state, v_msg, v_detail, v_hint, v_context,'error');
return v_context;
end
$$ LANGUAGE plpgsql;

View File

@@ -0,0 +1,110 @@
delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_ARC';
delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_ARC';
delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_ARC';
delete from mmt_ods.budni_air_cleaner_perf_results where test_file_sheet_format='BUDNI_ARC';
delete from mmt_ods.budni_test_observations where test_file_sheet_format='BUDNI_ARC';
delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_BRK';
delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_BRK';
delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_BRK';
delete from mmt_ods.budni_brake_perf_parking_brake_test_results
where test_file_sheet_format='BUDNI_BRK';
delete from mmt_ods.budni_brake_perf_service_brake_test_results
where test_file_sheet_format='BUDNI_BRK';
delete from mmt_ods.budni_test_observations
where test_file_sheet_format='BUDNI_BRK';
delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_DBP';
delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_DBP';
delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_DBP';
delete from mmt_ods.budni_drawbar_perf_results where test_file_sheet_format='BUDNI_DBP';
delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_FLD';
delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_FLD';
delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_FLD';
delete from mmt_ods.test_instance_implement_info where test_file_sheet_format='BUDNI_FLD';
delete from mmt_ods.budni_field_perf_results where test_file_sheet_format='BUDNI_FLD';
delete from mmt_ods.budni_test_observations where test_file_sheet_format='BUDNI_FLD';
delete from mmt_ods.test_instance
where test_file_sheet_format='BUDNI_HDL';
delete from mmt_ods.test_instance_engine_info
where test_file_sheet_format='BUDNI_HDL';
delete from mmt_ods.test_instance_tractor_info
where test_file_sheet_format='BUDNI_HDL';
delete from mmt_ods.test_instance_tractor_info_misc
where test_file_sheet_format='BUDNI_HDL';
delete from mmt_ods.budni_hydraulic_maint_of_lift_load_results
where test_file_sheet_format='BUDNI_HDL';
delete from mmt_ods.budni_hydraulic_power_test_results
where test_file_sheet_format='BUDNI_HDL';
delete from mmt_ods.budni_hydraulic_lifting_capacity_test_results
where test_file_sheet_format='BUDNI_HDL';
delete from mmt_ods.budni_test_observations
where test_file_sheet_format='BUDNI_HDL';
delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_HLG';
delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_HLG';
delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_HLG';
delete from mmt_ods.budni_haulage_perf_results where test_file_sheet_format='BUDNI_HLG';
delete from mmt_ods.budni_test_observations where test_file_sheet_format='BUDNI_HLG';
delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_LCG';
delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_LCG';
delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_LCG';
delete from mmt_ods.budni_centre_of_gravity_location where test_file_sheet_format ='BUDNI_LCG';
delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_NMT';
delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_NMT';
delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_NMT';
delete from mmt_ods.budni_noise_atmospheric_conditions where test_file_sheet_format='BUDNI_NMT';
delete from mmt_ods.budni_noise_measurement_results where test_file_sheet_format='BUDNI_NMT';
delete from mmt_ods.budni_test_observations where test_file_sheet_format='BUDNI_NMT';
delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_PTO';
delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_PTO';
delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_PTO';
delete from mmt_ods.budni_pto_perf_results_summary where test_file_sheet_format='BUDNI_PTO';
delete from mmt_ods.budni_test_observations where test_file_sheet_format='BUDNI_PTO';
delete from mmt_ods.budni_pto_perf_results_details where test_file_sheet_format='BUDNI_PTO';
delete from mmt_ods.test_instance where test_file_sheet_format='BUDNI_VMT';
delete from mmt_ods.test_instance_engine_info where test_file_sheet_format='BUDNI_VMT';
delete from mmt_ods.test_instance_tractor_info where test_file_sheet_format='BUDNI_VMT';
delete from mmt_ods.budni_vibration_measurement where test_file_sheet_format='BUDNI_VMT';
delete from mmt_ods.budni_test_observations where test_file_sheet_format='BUDNI_VMT';

View File

@@ -0,0 +1,370 @@
drop table mmt_staging2.test_output_BUDNI;
create table mmt_staging2.test_output_BUDNI
(
sno serial,
file_syspk int,
file_format text,
sheet_mnemonic text,
table_name text,
row_count int
);
drop function if exists mmt_staging2.fn_test_output_BUDNI;
CREATE OR REPLACE FUNCTION mmt_staging2.fn_test_output_BUDNI(p_file_syspk int)
RETURNS table
(
sno int,
file_syspk int,
file_format text,
sheet_mnemonic text,
table_name text,
row_count int
)
as $$
declare __file_syspk int :=p_file_syspk;
begin
truncate table mmt_staging2.test_output_BUDNI;
execute 'insert into mmt_staging2.test_output_BUDNI
(file_syspk,file_format,sheet_mnemonic,table_name,row_count)
select test_file_ref_no,''BUDNI'',''BUDNI_ARC'',''test_instance'',count(*)
from mmt_ods.test_instance
where test_file_ref_no='||p_file_syspk||' and test_file_format =''BUDNI''
and test_file_sheet_format =''BUDNI_ARC''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_ARC'',''test_instance_engine_info'',count(*)
from mmt_ods.test_instance_engine_info
where test_file_ref_no='||p_file_syspk||' and test_file_format =''BUDNI''
and test_file_sheet_format =''BUDNI_ARC''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_ARC'',''test_instance_tractor_info'',count(*)
from mmt_ods.test_instance_tractor_info
where test_file_ref_no='||p_file_syspk||' and test_file_format =''BUDNI''
and test_file_sheet_format =''BUDNI_ARC''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_ARC'',''budni_air_cleaner_perf_results'',count(*)
from mmt_ods.budni_air_cleaner_perf_results
where test_file_ref_no='||p_file_syspk||' and test_file_format =''BUDNI''
and test_file_sheet_format =''BUDNI_ARC''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_ARC'',''budni_test_observations'',count(*)
from mmt_ods.budni_test_observations
where test_file_ref_no='||p_file_syspk||' and test_file_format =''BUDNI''
and test_file_sheet_format =''BUDNI_ARC''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_BRK'',''test_instance'',count(*)
from mmt_ods.test_instance
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_BRK''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_BRK'',''test_instance_engine_info'',count(*)
from mmt_ods.test_instance_engine_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_BRK''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_BRK'',''budni_brake_perf_parking_brake_test_results'',count(*)
from mmt_ods.budni_brake_perf_parking_brake_test_results
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_BRK''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_BRK'',''budni_brake_perf_service_brake_test_results'',count(*)
from mmt_ods.budni_brake_perf_service_brake_test_results
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_BRK''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_BRK'',''budni_test_observations'',count(*)
from mmt_ods.budni_test_observations
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_BRK''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_DBP'',''test_instance'',count(*)
from mmt_ods.test_instance
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_DBP''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_DBP'',''test_instance_engine_info'',count(*)
from mmt_ods.test_instance_engine_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_DBP''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_DBP'',''test_instance_tractor_info'',count(*)
from mmt_ods.test_instance_tractor_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_DBP''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_DBP'',''budni_drawbar_perf_results'',count(*)
from mmt_ods.budni_drawbar_perf_results
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_DBP''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_FLD'',''test_instance'',count(*)
from mmt_ods.test_instance
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_FLD''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_FLD'',''test_instance_engine_info'',count(*)
from mmt_ods.test_instance_engine_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_FLD''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_FLD'',''test_instance_tractor_info'',count(*)
from mmt_ods.test_instance_tractor_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_FLD''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_FLD'',''test_instance_implement_info'',count(*)
from mmt_ods.test_instance_implement_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_FLD''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_FLD'',''budni_field_perf_results'',count(*)
from mmt_ods.budni_field_perf_results
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_FLD''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_FLD'',''budni_test_observations'',count(*)
from mmt_ods.budni_test_observations
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_FLD''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_HDL'',''test_instance'',count(*)
from mmt_ods.test_instance
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_HDL''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_HDL'',''test_instance_engine_info'',count(*)
from mmt_ods.test_instance_engine_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_HDL''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_HDL'',''test_instance_tractor_info'',count(*)
from mmt_ods.test_instance_tractor_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_HDL''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_HDL'',''test_instance_tractor_info_misc'',count(*)
from mmt_ods.test_instance_tractor_info_misc
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_HDL''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_HDL'',''budni_hydraulic_maint_of_lift_load_results'',count(*)
from mmt_ods.budni_hydraulic_maint_of_lift_load_results
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_HDL''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_HDL'',''budni_hydraulic_power_test_results'',count(*)
from mmt_ods.budni_hydraulic_power_test_results
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_HDL''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_HDL'',''budni_hydraulic_lifting_capacity_test_results'',count(*)
from mmt_ods.budni_hydraulic_lifting_capacity_test_results
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_HDL''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_HDL'',''budni_test_observations'',count(*)
from mmt_ods.test_instance_engine_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_HDL''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_HLG'',''test_instance'',count(*)
from mmt_ods.test_instance
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_HLG''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_HLG'',''test_instance_engine_info'',count(*)
from mmt_ods.test_instance_engine_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_HLG''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_HLG'',''test_instance_tractor_info'',count(*)
from mmt_ods.test_instance_tractor_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_HLG''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_HLG'',''budni_haulage_perf_results'',count(*)
from mmt_ods.budni_haulage_perf_results
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_HLG''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_HLG'',''budni_test_observations'',count(*)
from mmt_ods.budni_test_observations
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_HLG''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_LCG'',''test_instance'',count(*)
from mmt_ods.test_instance
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_LCG''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_LCG'',''test_instance_engine_info'',count(*)
from mmt_ods.test_instance_engine_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_LCG''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_LCG'',''test_instance_tractor_info'',count(*)
from mmt_ods.test_instance_tractor_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_LCG''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_LCG'',''budni_centre_of_gravity_location'',count(*)
from mmt_ods.budni_centre_of_gravity_location
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_LCG''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_NMT'',''test_instance'',count(*)
from mmt_ods.test_instance
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_NMT''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_NMT'',''test_instance_engine_info'',count(*)
from mmt_ods.test_instance_engine_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_NMT''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_NMT'',''test_instance_tractor_info'',count(*)
from mmt_ods.test_instance_tractor_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_NMT''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_NMT'',''budni_noise_atmospheric_conditions'',count(*)
from mmt_ods.budni_noise_atmospheric_conditions
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_NMT''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_NMT'',''budni_noise_measurement_results'',count(*)
from mmt_ods.budni_noise_measurement_results
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_NMT''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_NMT'',''budni_test_observations'',count(*)
from mmt_ods.budni_test_observations
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_NMT''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_PTO'',''test_instance'',count(*)
from mmt_ods.test_instance
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_PTO''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_PTO'',''test_instance_engine_info'',count(*)
from mmt_ods.test_instance_engine_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_PTO''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_PTO'',''test_instance_tractor_info'',count(*)
from mmt_ods.test_instance_tractor_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_PTO''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_PTO'',''budni_pto_perf_results_summary'',count(*)
from mmt_ods.budni_pto_perf_results_summary
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_PTO''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_PTO'',''budni_pto_perf_results_details'',count(*)
from mmt_ods.budni_pto_perf_results_details
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_PTO''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_PTO'',''budni_test_observations '',count(*)
from mmt_ods.budni_test_observations
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_PTO''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_VMT'',''test_instance'',count(*)
from mmt_ods.test_instance
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_VMT''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_VMT'',''test_instance_engine_info'',count(*)
from mmt_ods.test_instance_engine_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_VMT''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_VMT'',''test_instance_tractor_info'',count(*)
from mmt_ods.test_instance_tractor_info
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_VMT''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_VMT'',''budni_vibration_measurement'',count(*)
from mmt_ods.budni_vibration_measurement
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_VMT''
group by test_file_ref_no
union
select test_file_ref_no,''BUDNI'',''BUDNI_VMT'',''budni_test_observations'',count(*)
from mmt_ods.budni_test_observations
where test_file_ref_no='||p_file_syspk||'
and test_file_format =''BUDNI'' and test_file_sheet_format =''BUDNI_VMT''
group by test_file_ref_no';
return query
select * from mmt_staging2.test_output_BUDNI;
end
$$ LANGUAGE plpgsql;