Files
mmt_sql/onetime/dataloadfunctions/IHT/IHT_NST_ODS.sql
2021-07-02 08:40:37 +00:00

604 lines
14 KiB
PL/PgSQL
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
drop function if exists staging2.fn_IHTNST_NST_TRX;
CREATE OR REPLACE FUNCTION staging2.fn_IHTNST_NST_TRX(p_client_id int,p_function_id int, p_file_mnemonic text,
p_file_sheet_mnemonic text, p_file_syspk int)
RETURNS void
LANGUAGE plpgsql
AS $function$
declare __test_instance_id int;
declare __client_id int :=p_client_id;
declare __function_id int :=p_function_id;
declare __file_mnemonic text :=p_file_mnemonic;
declare __file_sheet_mnemonic text :=p_file_sheet_mnemonic;
declare __file_syspk int :=p_file_syspk;
declare __make text;
declare __model text;
declare err_state text;
declare err_msg text;
declare err_detail text;
declare err_hint text;
declare err_context text;
declare _error int;
declare __test_master_id int;
declare __test_instance_tractor_id int;
begin
__file_syspk := p_file_syspk;
/************************************************************
Function Name:fn_IHTNST_NST_TRX
Function Desc: This function populates data into ODS
File Format: IHTNST
Sheet Format: IHTNST_NST
Creation Date:
Updation Date:
Author: compegence team
Function Call: select staging2.fn_IHTNST_NST_TRX()
***************************************************************/
insert into transactional.test_instance
(
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
job_order_no,
sample_receipt_date,
test_report_no,
generation,
customer_name,
test_engineer,
test_report_date,
no_of_sample,
test_start_date,
test_end_date,
tractor_sr_no,
test_standard_ref,
test_location_name,
test_operator,
project_group,
objective_of_test,
test_condition,
test_purpose
)
select
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
make,model,
Test_Request_no,
date '1899-12-30' + sample_receipt_date::int * interval '1' day as Sample_Receipt_Date,
Test_report_No,
Generation,
Customer_Name,
Test_Engineer,
date '1899-12-30' + Test_Report_Date::int * interval '1' day as Test_Report_Date,
No_of_Sample,
date '1899-12-30' + Test_Start_Date::int * interval '1' day as Test_Start_Date,
date '1899-12-30' + Test_End_Date::int * interval '1' day as Test_End_Date,
Tractor_Sr_No,
Test_Standard_Refer,
Test_facility,
Operator_Name,
Project_Group,
Objective,
condition,
Test_Purpose
from
staging2.IHTNST_NST_H1_block where trx_record=1;
update transactional.test_instance a
set report_prepared_by=b.prepared_by,
report_reviewed_by=b.reviewed_by,
report_approved_by=b.approved_by,
report_template_replaces=b.replaces,
report_title=b.comments,
report_template_no=b.rev1,
report_template_rev_date=b.rev2,
report_template_rev_no= b.rev3
from staging2.IHTNST_nst_footer_block b
where a.file_sheet_mnemonic='IHTNST_NST' and trx_record=1;
insert into transactional.test_instance_tyre_info
(
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
tyre_type,
tyre_make,
tyre_size,
tyre_ply_rating,
tyre_load_carrying_capacity,
tyre_wheel_rim_make_and_size
)
select
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
make,model,
tyre_details,
tyre_make,
tyre_size,
ply_rating::numeric ,
load_carrying_capacity,
wheel_rim_make_size
from staging2.IHTNST_nst_tyre_details_block where trx_record=1;
insert into transactional.test_instance_engine_info
(
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
low_idle_declared,
low_idle_observed,
high_idle_declared,
high_idle_observed,
rated_rpm,
rated_rpm_observed,
engine_to_pto_ratio_540_pto
)
select
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
make,model,
low_idle_declared,
low_idle_observed::numeric,
high_idle_declared,
high_idle_observed::numeric,
rated_rpm_declared::numeric,
rated_rpm_observed::numeric,
engine_to_pto_ratio
from staging2.IHTNST_nst_engine_rpm_block where trx_record=1;
insert into transactional.test_instance_tractor_info
(
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
weight_reactions_front_kg,
tractor_weight_front_observed_kg,
tractor_weight_front_remark,
weight_reactions_rear_kg,
tractor_weight_rear_observed_kg,
tractor_weight_rear_remark,
tractor_weight_total_kg,
tractor_weight_total_observed_kg,
tractor_weight_total_remark
)
select
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
make,model,
front_weight_declared::numeric ,
front_weight_observed::numeric,
front_weight_remark,
rear_weight_declared::numeric,
rear_weight_observed::numeric,
rear_weight_remark,
total_weight_declared::numeric,
total_weight_observed::numeric,
total_weight_remark
from staging2.IHTNST_nst_weight_block where trx_record=1;
update transactional.test_instance_tractor_info
set mahindra_model_yn = (
case when tractor_make like 'Mahindra%' then 'Y' else 'N' end
) where file_syspk =__file_syspk;
update transactional.test_instance_tractor_info a
set test_tractor_yn ='Y' where syspk in
(select min(syspk) from transactional.test_instance_tractor_info b
where b.file_syspk =a.file_syspk)
and a.file_syspk =__file_syspk;
/*block */
insert into transactional.test_instance_atmospheric_info
(
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
ambient_temp_c,
humidity_pct,
pressure_kpa,
background_noise_dba,
wind_velocity_kmph
)
select
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
make,model,
ambient_temp_c::numeric,
humidity::numeric,
pressure_kpa::numeric,
background_noise::numeric,
wind_velocity
from staging2.IHTNST_nst_atmos_cond_block where trx_record=1;
insert into transactional.IHT_noise_measurement_results
(
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
test_type,
test_mode,
gear,
noise_level_1_db_a,
noise_level_2_db_a,
noise_level_3_db_a
)
select
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
make,model,
column1,
column2,
column3,
column4::numeric,
column5::numeric,
column6::numeric
from staging2.IHTNST_nst_stand_noise_block where trx_record=1;
update transactional.IHT_noise_measurement_results
set test_condition = (select column4
from staging2.IHTNST_nst_stand_noise_block
where block_row_number=3) where file_syspk = __file_syspk;
insert into transactional.IHT_noise_measurement_test
(
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
test_condition,
test_type,
test_mode
)
select
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
test_condition,
test_type,
test_mode
from transactional.IHT_noise_measurement_results where test_type='BY STANDERS NOISE';
update transactional.IHT_noise_measurement_test
set acceptance_criteria=b.acceptance_criteria,
remarks =b.remarks
from staging2.IHTNST_nst_stand_noise_block b
where b.column1 ='BY STANDERS NOISE' and test_type='BY STANDERS NOISE' and trx_record=1;
insert into transactional.IHT_noise_measurement_results
(
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
test_type,
test_mode,
gear,
noise_level_1_db_a,
noise_level_2_db_a,
noise_level_3_db_a
)
select
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
make,model,
column1,
column2,
column3,
column7::numeric,
column8::numeric,
column9::numeric
from staging2.IHTNST_nst_stand_noise_block where trx_record=1;
update transactional.IHT_noise_measurement_results
set test_condition = (select column7
from staging2.IHTNST_nst_stand_noise_block
where block_row_number=3) where test_condition is null;
insert into transactional.IHT_noise_measurement_test
(
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
test_condition,
test_type,
test_mode
)
select
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
test_condition,
test_type,
test_mode
from transactional.IHT_noise_measurement_results where test_type='BY STANDERS NOISE';
update transactional.IHT_noise_measurement_test
set acceptance_criteria=b.acceptance_criteria,
remarks =b.remarks
from staging2.IHTNST_nst_stand_noise_block b
where b.column1 ='BY STANDERS NOISE' and test_type='BY STANDERS NOISE' and trx_record=1;
insert into transactional.IHT_noise_measurement_results
(
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
test_type,
test_mode,
gear,
load_kg,
speed_kmph,
speed_rpm,
noise_level_1_db_a,
noise_level_2_db_a,
noise_level_3_db_a
)
select
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
make,model,
column1,
column2,
column3,
column4::numeric,
column5::numeric,
column6::numeric,
column7::numeric,
column8::numeric,
column9::numeric
from staging2.IHTNST_nst_oel_noise_block where trx_record=1;
update transactional.IHT_noise_measurement_test
set acceptance_criteria=b.acceptance_criteria,
remarks =b.remarks
from staging2.IHTNST_nst_oel_noise_block b
where b.column1 ='OEL Noise without Load' and test_type='OEL Noise without Load';
insert into transactional.IHT_noise_measurement_results
(
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
test_type,
test_mode,
gear,
load_kg,
speed_kmph,
speed_rpm,
noise_level_1_db_a,
noise_level_2_db_a,
noise_level_3_db_a
)
select
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
make,model,
column1,
column2,
column3,
column4::numeric,
column5::numeric,
column6::numeric,
column7::numeric,
column8::numeric,
column9::numeric
from staging2.IHTNST_nst_oel_noise_load_block where trx_record=1;
update transactional.IHT_noise_measurement_test
set acceptance_criteria=b.acceptance_criteria,
remarks =b.remarks
from staging2.IHTNST_nst_oel_noise_load_block b
where b.column1 ='OEL Noise with Load' and test_type='OEL Noise with Load';
insert into transactional.IHT_noise_measurement_test
(
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
test_condition,
test_type,
test_mode
)
select
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
test_condition,
test_type,
test_mode
from transactional.IHT_noise_measurement_results where test_type ='OEL Noise without Load' ;
insert into transactional.IHT_noise_measurement_test
(
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
test_condition,
test_type,
test_mode
)
select
client_id,
function_id,
file_syspk,
file_mnemonic,
file_sheet_mnemonic,
tractor_make,
tractor_model,
test_condition,
test_type,
test_mode
from transactional.IHT_noise_measurement_results where test_type ='OEL Noise with Load';
delete from transactional.IHT_noise_measurement_test a
using transactional.IHT_noise_measurement_test b
where (a.syspk < b.syspk and
a.test_condition is not null and
a.test_condition =b.test_condition and
a.test_mode =b.test_mode and a.test_type=b.test_type) or
(a.syspk < b.syspk and a.test_condition is null and a.test_mode =b.test_mode and a.test_type=b.test_type);
update transactional.IHT_noise_measurement_results a
set noise_measurement_id =(select syspk
from transactional.IHT_noise_measurement_test b
where (a.test_condition =b.test_condition and a.test_condition is not null and
a.test_mode =b.test_mode and a.test_type=b.test_type) or
(a.test_condition is null and a.test_mode =b.test_mode and a.test_type=b.test_type));
select syspk into __test_instance_id from transactional.test_instance where file_syspk =__file_syspk;
select tractor_model into __model from transactional.test_instance where file_syspk =__file_syspk;
select tractor_make into __make from transactional.test_instance where file_syspk =__file_syspk;
select syspk from transactional.test_master into __test_master_id where test_type ='In House';
select syspk into __test_instance_tractor_id from transactional.test_instance_tractor_info where file_syspk =__file_syspk;
update transactional.test_instance
set test_master_id =__test_master_id,
test_tractor_id =__test_instance_tractor_id
where file_syspk=__file_syspk;
update transactional.test_instance_engine_info
set test_instance_id=__test_instance_id,
test_instance_tractor_id = __test_instance_tractor_id,
tractor_model =__model,
tractor_make=__make
where file_syspk=__file_syspk;
update transactional.test_instance_tyre_info
set test_instance_id=__test_instance_id,
test_instance_tractor_id = __test_instance_tractor_id,
tractor_model =__model,
tractor_make=__make
where file_syspk=__file_syspk;
update transactional.test_instance_tractor_info
set test_instance_id=__test_instance_id,
tractor_model =__model,
tractor_make=__make
where file_syspk=__file_syspk;
update transactional.test_instance_atmospheric_info
set test_instance_id=__test_instance_id,
test_instance_tractor_id = __test_instance_tractor_id,
tractor_model =__model,
tractor_make=__make
where file_syspk=__file_syspk;
update transactional.IHT_noise_measurement_results
set test_instance_id=__test_instance_id,
test_instance_tractor_id = __test_instance_tractor_id,
tractor_model =__model,
tractor_make=__make
where file_syspk=__file_syspk;
update transactional.IHT_noise_measurement_test
set test_instance_id=__test_instance_id,
test_instance_tractor_id = __test_instance_tractor_id,
tractor_model =__model,
tractor_make=__make
where file_syspk=__file_syspk;
perform fw_core.fn_insert_db_error ( __client_id, __function_id, 1001, 'Compegence', __file_syspk ,__file_mnemonic,__file_sheet_mnemonic ,null,'trx', 'fn_IHTNST_NST_TRX', err_state, err_msg, err_detail, err_hint, err_context,'success');
end
$function$
;