From 00345b55e3fdc53c0db1cfdfe5f338ef4ac85485 Mon Sep 17 00:00:00 2001 From: velz Date: Wed, 20 Mar 2019 12:22:06 +0530 Subject: [PATCH] SCORE CARD IMPROVED --- api/application/controllers/PD_Controller.php | 88 +++++------ api/application/docs/sample.pdf | Bin 59697 -> 56964 bytes api/application/helpers/pdscore_helper.php | 76 +++++++-- api/application/models/PD_Model.php | 8 +- .../views/report_templates/JSONTOREPORT.php | 149 +++++++++++++++--- .../views/report_templates/chart.png | Bin 19178 -> 19470 bytes 6 files changed, 230 insertions(+), 91 deletions(-) diff --git a/api/application/controllers/PD_Controller.php b/api/application/controllers/PD_Controller.php index c5e47b6a..0123dba4 100644 --- a/api/application/controllers/PD_Controller.php +++ b/api/application/controllers/PD_Controller.php @@ -681,7 +681,9 @@ class PD_Controller extends REST_Controller { $msg = "Code for starting your personal discussions with the verification officer is ".$OTP .". Pls share this only when the officer has reached your place in person"; $no = (string)$pd_details['mobile_no']; unset($pd_details['mobile_no']); - $pd_details['OTP'] = $OTP; + //$pd_details['OTP'] = $OTP; + $pd_details['OTP'] = '123456'; + // $client = new \GuzzleHttp\Client(); // $response = $client->post($url); @@ -3420,6 +3422,7 @@ class PD_Controller extends REST_Controller { if($sales_declared_by_customer_flag == 1) { + $temp_purchases = 0; $temp_netprofit = 0; $temp_grossprofit = 0; @@ -3432,13 +3435,13 @@ class PD_Controller extends REST_Controller { $temp_purchases = $overall_purchase_total; $temp_grossprofit = $total_sales_declared_by_customer - $temp_purchases; $temp_netprofit = $temp_grossprofit - $overall_business_expenses_total; - $temp_netmargin = ($temp_netprofit/$total_sales_declared_by_customer) * 100; + $temp_netmargin = $total_sales_declared_by_customer > 0 ?($temp_netprofit/$total_sales_declared_by_customer) * 100 : 0; } else { $temp_grossprofit = $temp_netprofit + $overall_business_expenses_total; $temp_purchases = $total_sales_declared_by_customer - $temp_grossprofit; - $temp_netmargin = ($temp_netprofit/$total_sales_declared_by_customer) * 100; + $temp_netmargin = $total_sales_declared_by_customer > 0 ?($temp_netprofit/$total_sales_declared_by_customer) * 100 : 0; } @@ -3553,6 +3556,7 @@ class PD_Controller extends REST_Controller { $data['pd_master_details'] = $this->PD_Model->getPDMasterDetails($pdid); $data['applicants_details'] = $this->PD_Model->getApplicantsDetails($pdid); $data['pd_additional_requirements'] = $this->PD_Model->getPDAdditionalRequirements($pdid); + $data['score_questions_display'] = $this->PD_Model->getScoreableQuestionToDispaly($pdid); $data['pd_score'] = $this->calculateScore($pdid); $score_for_chart = $data['pd_score']['score_summary']['overall_score']['final_score'] ? round($data['pd_score']['score_summary']['overall_score']['final_score'],2) : 0; @@ -4332,68 +4336,49 @@ class PD_Controller extends REST_Controller { $data['pd_master_details'] = $this->PD_Model->getPDMasterDetails($pdid); $data['applicants_details'] = $this->PD_Model->getApplicantsDetails($pdid); $data['pd_additional_requirements'] = $this->PD_Model->getPDAdditionalRequirements($pdid); - $data['score_questions_display'] = $this->PD_Model->getScoreableQuestionToDispaly($pdid); + $data['score_questions_display'] = $this->PD_Model->getScoreableQuestionToDispaly(); $data['pd_score'] = $this->calculateScore($pdid); - //print_r($data['score_questions_display']); - //print_r($data['pd_score']); - // foreach($data['pd_score']['general'] as $key => $value) - // { - // // echo '\n\n'; - // MYUTIL::findQuestionByKey($data['score_questions_display'],$key); - // // echo '\n\n'; - // // echo $key; - // // echo "***********************"; - // } - // die(); + print_r($data['pd_score']['business']); $score_for_chart = $data['pd_score']['score_summary']['overall_score']['final_score'] ? round($data['pd_score']['score_summary']['overall_score']['final_score'],2) : 0; //echo $score_for_chart; //GET phantom script from DB - $phantom_script = $this->PD_Model->selectCustomRecords(array('*'),array('script_name' => 'phantomjs_local'),SCRIPTS); + //$phantom_script = $this->PD_Model->selectCustomRecords(array('*'),array('script_name' => 'phantomjs_local'),SCRIPTS); - $exact_script = $phantom_script[0]['script_content']; + //$exact_script = $phantom_script[0]['script_content']; //print_r($exact_script); - $exact_script = str_replace('{{place_score_here}}',$score_for_chart,$exact_script); + //$exact_script = str_replace('{{place_score_here}}',$score_for_chart,$exact_script); //print_r($exact_script);die(); //GENERATE CHART PART - file_put_contents(APPPATH.'/views/js/phantomchart.js',$exact_script,LOCK_EX); + // file_put_contents(APPPATH.'/views/js/phantomchart.js',$exact_script,LOCK_EX); - $str = 'phantomjs '.APPPATH.'/views/js/phantomchart.js'; - exec($str,$ou); - exec('phantom.exit();'); + // $str = 'phantomjs '.APPPATH.'/views/js/phantomchart.js'; + // exec($str,$ou); + // exec('phantom.exit();'); - //print_r($ou); + // //print_r($ou); - $chart_img_path = APPPATH.'/views/report_templates/chart.png'; - $type = pathinfo($chart_img_path, PATHINFO_EXTENSION); - $chart_img_content = file_get_contents($chart_img_path); - $base64_pdscore_chart_url = 'data:image/' . $type . ';base64,' . base64_encode($chart_img_content); - $data['base64_pdscore_chart_url'] = $base64_pdscore_chart_url; + // $chart_img_path = APPPATH.'/views/report_templates/chart.png'; + // $type = pathinfo($chart_img_path, PATHINFO_EXTENSION); + // $chart_img_content = file_get_contents($chart_img_path); + // $base64_pdscore_chart_url = 'data:image/' . $type . ';base64,' . base64_encode($chart_img_content); + // $data['base64_pdscore_chart_url'] = $base64_pdscore_chart_url; // echo $data['base64_pdscore_chart_url']; //die(); - - //GENERATE CHART PART - //print_r($data['pd_score']);die(); + //GET ALL PROCESSED JSON for($i = 1;$i<=25;$i++) { $fields = array('processed_json'); $where_condition_array = array('isactive' => 1,'fk_pd_id'=>$pdid,'fk_form_id' => $i); - // if($company_id != null) - // { - // $where_condition_array = array('fk_form_id'=>$pd_form_id,'fk_pd_id'=>$pd_id,'company_id' => $company_id,'isactive' => 1); - // } + $data['pd_processed_forms'][$i] = $this->PD_Model->selectCustomRecords($fields,$where_condition_array,PDFORMDETAILSJSON,array(),'','company_id','ASC'); } - //print_r($data['pd_processed_forms']);die(); - // print_r(json_decode($data['pd_processed_forms'][13][0]['processed_json'],true)); - // echo count($data['pd_processed_forms'][1]); - - // die(); + $t = $this->load->view('report_templates/JSONTOREPORT',$data,true); - //echo $t;die(); + //PDF Gen using DOM PDF $pdf_doc = $this->pdfgenerator->generate($t, $filename='version', $stream=false, $paper = 'A4', $orientation = "portrait"); //End of PDF Gen using DOM PDF @@ -5124,7 +5109,7 @@ class PD_Controller extends REST_Controller { foreach($temp_data as $raw_material) { //print_r($raw_material); - $final_data_from_supplier[] = $raw_material['manufacturing_raw_material_name']; + $final_data_from_supplier['raw_material'][] = $raw_material['manufacturing_raw_material_name']; } } } @@ -5146,7 +5131,7 @@ class PD_Controller extends REST_Controller { foreach($temp_data as $trade) { //print_r($raw_material); - $final_data_from_supplier[] = $trade['trade_product_name']; + $final_data_from_supplier['trading_product'][] = $trade['trade_product_name']; } } } @@ -5408,10 +5393,10 @@ class PD_Controller extends REST_Controller { $this->db->SELECT('*'); $this->db->FROM(PERSONALASSETGRID); $this->db->WHERE('isactive',1); - $this->db->WHERE('loan_amount_from<',(int)$pd_master_details[0]['loan_amount']); - $this->db->WHERE('loan_amount_to>',(int)$pd_master_details[0]['loan_amount']); + $this->db->WHERE('loan_amount_from<=',(int)$pd_master_details[0]['loan_amount']); + $this->db->WHERE('loan_amount_to>=',(int)$pd_master_details[0]['loan_amount']); $personal_asset_grid['master_grid'] = $this->db->GET()->result_array(); - //print_r($this->db->last_query()); + //print_r($this->db->last_query());die(); $this->db->SELECT('*'); $this->db->FROM(PERSONALASSETGRIDVARIANCE); $this->db->WHERE('isactive',1); @@ -5573,7 +5558,7 @@ class PD_Controller extends REST_Controller { // 15 - QNO(2.6) - owned_vechile $score_questions['business']['owned_vechile'] = $vechile_count ? 'yes':'no'; // - QNO (2.12) - business_activity seen - $score_questions['business']['business_activity_has_seen'] = isset($business_assest_form['business_activity'])? $business_assest_form['business_activity']: 'no'; + $score_questions['business']['business_activity_has_seen'] = isset($business_assest_form['business_assets_for_address'][0]['business_is_pd_visited'])? $business_assest_form['business_assets_for_address'][0]['business_is_pd_visited']: 'no'; } #####End of Business Assets Form Questions######## @@ -5667,14 +5652,14 @@ class PD_Controller extends REST_Controller { if(count($stock_form)) { //print_r($stock_form);die(); - $score_questions['business']['stock_raw_material_enough'] = isset($stock_form['manufacturing_raw_materials']['is_sufficiant_raw']) ? $stock_form['manufacturing_raw_materials']['is_sufficiant_raw']: 'no'; - $score_questions['business']['stock_finished_goods_enough'] = isset($stock_form['is_sufficiant_finished_and_traded_goods']) ? $stock_form['is_sufficiant_finished_and_traded_goods'] : 'no'; + $score_questions['business']['stock_raw_material_enough'] = isset($stock_form['manufacturing_raw_materials']['is_sufficiant_raw']) ? $stock_form['manufacturing_raw_materials']['is_sufficiant_raw']: 'Not Applicable'; + $score_questions['business']['stock_finished_goods_enough'] = isset($stock_form['is_sufficiant_finished_and_traded_goods']) && ($stock_form['is_sufficiant_finished_and_traded_goods'] != "" || $stock_form['is_sufficiant_finished_and_traded_goods'] != null)? $stock_form['is_sufficiant_finished_and_traded_goods'] : 'Not Applicable'; } else { $score_questions['business']['stock_raw_material_enough'] = 'Not Applicable'; $score_questions['business']['stock_finished_goods_enough'] = 'Not Applicable'; - $score_questions['general']['value_of_other_assets'] = 'Not Applicable'; + //$score_questions['general']['value_of_other_assets'] = 'Not Applicable'; } #####End of Stock Form Questions######## @@ -5686,6 +5671,7 @@ class PD_Controller extends REST_Controller { $over_all_asset_value = 0; if(array_key_exists('assets_details',$other_asset_form)) { + //print_r($other_asset_form); foreach($other_asset_form['assets_details'] as $asset) { $over_all_asset_value += $asset['approximate_market_value'] ; @@ -5693,6 +5679,8 @@ class PD_Controller extends REST_Controller { } } + + //echo 'over_all_asset_value from FUN - '.$over_all_asset_value;die(); // 18 Q.NO(1.9) $score_questions['general']['value_of_other_assets'] = $over_all_asset_value; diff --git a/api/application/docs/sample.pdf b/api/application/docs/sample.pdf index dc33a2cd24a80a1171a9b81f7468f9964d554940..9064b5bf56bc5e5a76eb5fb72dc6a4b5a966a93f 100644 GIT binary patch delta 18182 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 GqWvEWI40Hr diff --git a/api/application/helpers/pdscore_helper.php b/api/application/helpers/pdscore_helper.php index 9584ad2b..816a43be 100644 --- a/api/application/helpers/pdscore_helper.php +++ b/api/application/helpers/pdscore_helper.php @@ -10,7 +10,8 @@ class PDSCORE public static function genericDI($score_questions,$pd_master_details,$personal_asset_grid) { - //print_r($personal_asset_grid);echo "###################"; + + //print_r($score_questions);echo "###################"; ############ GENERIC SE-DI CASES ####################### ############ SCROE VARIABLES DECLERATIONS ############## @@ -56,7 +57,7 @@ class PDSCORE $pd_location_approach = array('Very Easy to locate & Reach' => 10,'Easy to locate & Reach' => 7,'Difficult to locate & Reach' => 4,'Very Difficult to locate & Reach' => 2); $comment_locality = array('Excellent' => 10,'Good' => 7,'Poor' => 5,'Very Poor' => 2); $customer_behaviour = array('Rude' => 0,'Polite' => 10,'Others' => 0); - $neibourhood_check_as_per_pd_officer = array( 'Positive' => 10, 'Negative' => 0); + $neibourhood_check_as_per_pd_officer = array( 'Positive' => 10, 'Negative' => 0,'Could not verify' => 0); $was_the_company_name_board_sighted = array('yes' => 10, 'no' => 0); $supplir_client_answer_scores = array('Provided' => 10, 'Not Provided' => 0,'Not Applicable' => 0); @@ -76,7 +77,7 @@ class PDSCORE $stock_answer_scores = array('yes' => 10, 'no' => 0,'Not Applicable' => 0); $stock_raw_material_enough = array('Provided' => 10, 'Not Provided' => 0,'Not Applicable' => 0); $stock_finished_goods_enough = array('Provided' => 10, 'Not Provided' => 0,'Not Applicable' => 0); - $location_suited_for_busienss = array('well_suited.' => 10 ,'fairly_suited.' => 6,'not_suited.' => 0); + $location_suited_for_busienss = array('well_suited' => 10 ,'fairly_suited' => 6,'not_suited.' => 0); $business_activity_has_seen = array('yes' => 10, 'no' => 0); $vintage_of_business_account = array('100> to >=10' => 10,'7<= to <10' => 8,'5<= to <7' => 6,'3<= to <5' => 4,'3> to >0' => 2); /*-------- FINAL --------------*/ @@ -88,7 +89,35 @@ class PDSCORE //echo "##################################################"; $general_distribute_level_weightage = 0; + + //######1.5 neibourhood_check_as_per_pd_officer + if(!strcmp($score_questions['general']['neibourhood_check_as_per_pd_officer'],'Could not verify')) + { + $general_distribute_level_weightage += neibourhood_check_as_per_pd_officer_L2; + + $score_questions['general']['neibourhood_check_as_per_pd_officer'] = array('l1_weightage' => $l1_general,'l2_weightage' => 0,'distributed_weightage' => $general_distribute_level_weightage,'answer' => $score_questions['general']['neibourhood_check_as_per_pd_officer'],'attributed_score' => 0.00, 'max_score' => 0.00,'score_band'=>$neibourhood_check_as_per_pd_officer[$score_questions['general']['neibourhood_check_as_per_pd_officer'] != "" || $score_questions['general']['neibourhood_check_as_per_pd_officer'] != null ?$score_questions['general']['neibourhood_check_as_per_pd_officer']: "Negative" ],'max_score_band' => 0); + } + else + { + + $neibourhood_check_as_per_pd_officer_actual_score = ($l1_general/100) * ($neibourhood_check_as_per_pd_officer_L2/100) * $neibourhood_check_as_per_pd_officer[$score_questions['general']['neibourhood_check_as_per_pd_officer'] != "" || $score_questions['general']['neibourhood_check_as_per_pd_officer'] != null ?$score_questions['general']['neibourhood_check_as_per_pd_officer']: "Negative" ]; + + $neibourhood_check_as_per_pd_officer_max_score = ($l1_general/100) * ($neibourhood_check_as_per_pd_officer_L2/100) * max($neibourhood_check_as_per_pd_officer); + + $score_questions['general']['neibourhood_check_as_per_pd_officer'] = array('l1_weightage' => $l1_general,'l2_weightage' => $neibourhood_check_as_per_pd_officer_L2,'distributed_weightage' => $general_distribute_level_weightage,'answer' => $score_questions['general']['neibourhood_check_as_per_pd_officer'],'attributed_score' => $neibourhood_check_as_per_pd_officer_actual_score, 'max_score' => $neibourhood_check_as_per_pd_officer_max_score,'score_band'=>$neibourhood_check_as_per_pd_officer[$score_questions['general']['neibourhood_check_as_per_pd_officer'] != "" || $score_questions['general']['neibourhood_check_as_per_pd_officer'] != null ?$score_questions['general']['neibourhood_check_as_per_pd_officer']: "Negative" ],'max_score_band' => max($neibourhood_check_as_per_pd_officer)); + } + + + + + + + + //#######1.1 person_met_is_applicant + + $person_met_is_applicant_L2 = $general_distribute_level_weightage ? ($person_met_is_applicant_L2 + ($person_met_is_applicant_L2 / (100 - $general_distribute_level_weightage ))) : $person_met_is_applicant_L2 ; + $person_met_is_applicant_actual_score = ($l1_general/100) * ($person_met_is_applicant_L2/100) * $person_met_is_applicant[$score_questions['general']['person_met_is_applicant']]; $person_met_is_applicant_max_score = ($l1_general/100) * ($person_met_is_applicant_L2/100) * max($person_met_is_applicant); @@ -97,6 +126,8 @@ class PDSCORE //######1.2 pd_location_approach + $pd_location_approach_L2 = $general_distribute_level_weightage ? ($pd_location_approach_L2 + ($pd_location_approach_L2 / (100 - $general_distribute_level_weightage ))) : $pd_location_approach_L2 ; + $pd_location_approach_actual_score = ($l1_general/100) * ($pd_location_approach_L2/100) * $pd_location_approach[$score_questions['general']['pd_location_approach']]; $pd_location_approach_max_score = ($l1_general/100) * ($pd_location_approach_L2/100) * max($pd_location_approach); @@ -104,6 +135,9 @@ class PDSCORE $score_questions['general']['pd_location_approach'] = array('l1_weightage' => $l1_general,'l2_weightage' => $pd_location_approach_L2,'distributed_weightage' => $general_distribute_level_weightage,'answer' => $score_questions['general']['pd_location_approach'],'attributed_score' => $pd_location_approach_actual_score, 'max_score' => $pd_location_approach_max_score,'score_band'=>$pd_location_approach[$score_questions['general']['pd_location_approach']],'max_score_band' => max($pd_location_approach)); //######1.3 comment_locality + + $comment_locality_L2 = $general_distribute_level_weightage ? ($comment_locality_L2 + ($comment_locality_L2 / (100 - $general_distribute_level_weightage ))) : $comment_locality_L2; + $comment_locality_actual_score = ($l1_general/100) * ($comment_locality_L2/100) * $comment_locality[$score_questions['general']['comment_locality']]; $comment_locality_max_score = ($l1_general/100) * ($comment_locality_L2/100) * max($comment_locality); @@ -111,21 +145,19 @@ class PDSCORE $score_questions['general']['comment_locality'] = array('l1_weightage' => $l1_general,'l2_weightage' => $comment_locality_L2,'distributed_weightage' => $general_distribute_level_weightage,'answer' => $score_questions['general']['comment_locality'],'attributed_score' => $comment_locality_actual_score, 'max_score' => $comment_locality_max_score,'score_band'=>$comment_locality[$score_questions['general']['comment_locality']],'max_score_band' => max($comment_locality)); //######1.4 customer_behaviour + + $customer_behaviour_L2 = $general_distribute_level_weightage ? ($customer_behaviour_L2 + ($customer_behaviour_L2 / (100 - $general_distribute_level_weightage ))) : $customer_behaviour_L2; + $customer_behaviour_actual_score = ($l1_general/100) * ($customer_behaviour_L2/100) * $customer_behaviour[$score_questions['general']['customer_behaviour']]; $customer_behaviour_max_score = ($l1_general/100) * ($customer_behaviour_L2/100) * max($customer_behaviour); $score_questions['general']['customer_behaviour'] = array('l1_weightage' => $l1_general,'l2_weightage' => $customer_behaviour_L2,'distributed_weightage' => $general_distribute_level_weightage,'answer' => $score_questions['general']['customer_behaviour'],'attributed_score' => $customer_behaviour_actual_score, 'max_score' => $customer_behaviour_max_score,'score_band'=>$customer_behaviour[$score_questions['general']['customer_behaviour']],'max_score_band' => max($customer_behaviour)); - - //######1.5 neibourhood_check_as_per_pd_officer - - $neibourhood_check_as_per_pd_officer_actual_score = ($l1_general/100) * ($neibourhood_check_as_per_pd_officer_L2/100) * $neibourhood_check_as_per_pd_officer[$score_questions['general']['neibourhood_check_as_per_pd_officer'] != "" || $score_questions['general']['neibourhood_check_as_per_pd_officer'] != null ?$score_questions['general']['neibourhood_check_as_per_pd_officer']: "Negative" ]; - - $neibourhood_check_as_per_pd_officer_max_score = ($l1_general/100) * ($neibourhood_check_as_per_pd_officer_L2/100) * max($neibourhood_check_as_per_pd_officer); - - $score_questions['general']['neibourhood_check_as_per_pd_officer'] = array('l1_weightage' => $l1_general,'l2_weightage' => $neibourhood_check_as_per_pd_officer_L2,'distributed_weightage' => $general_distribute_level_weightage,'answer' => $score_questions['general']['neibourhood_check_as_per_pd_officer'],'attributed_score' => $neibourhood_check_as_per_pd_officer_actual_score, 'max_score' => $neibourhood_check_as_per_pd_officer_max_score,'score_band'=>$neibourhood_check_as_per_pd_officer[$score_questions['general']['neibourhood_check_as_per_pd_officer'] != "" || $score_questions['general']['neibourhood_check_as_per_pd_officer'] != null ?$score_questions['general']['neibourhood_check_as_per_pd_officer']: "Negative" ],'max_score_band' => max($neibourhood_check_as_per_pd_officer)); - + //######1.6 was_the_company_name_board_sighted + + $was_the_company_name_board_sighted_L2 = $general_distribute_level_weightage ? ($was_the_company_name_board_sighted_L2 + ($was_the_company_name_board_sighted_L2 / (100 - $general_distribute_level_weightage ))) : $was_the_company_name_board_sighted_L2; + $was_the_company_name_board_sighted_actual_score = ($l1_general/100) * ($was_the_company_name_board_sighted_L2/100) * $was_the_company_name_board_sighted[$score_questions['general']['was_the_company_name_board_sighted']]; $was_the_company_name_board_sighted_max_score = ($l1_general/100) * ($was_the_company_name_board_sighted_L2/100) * max($was_the_company_name_board_sighted); @@ -133,6 +165,9 @@ class PDSCORE $score_questions['general']['was_the_company_name_board_sighted'] = array('l1_weightage' => $l1_general,'l2_weightage' => $was_the_company_name_board_sighted_L2,'distributed_weightage' => $general_distribute_level_weightage,'answer' => $score_questions['general']['was_the_company_name_board_sighted'],'attributed_score' => $was_the_company_name_board_sighted_actual_score, 'max_score' => $was_the_company_name_board_sighted_max_score,'score_band'=>$was_the_company_name_board_sighted[$score_questions['general']['was_the_company_name_board_sighted']],'max_score_band' => max($was_the_company_name_board_sighted)); //######1.7 otp_done + + $otp_done_L2 = $general_distribute_level_weightage ? ($otp_done_L2 + ($otp_done_L2 / (100 - $general_distribute_level_weightage ))) : $otp_done_L2; + $otp_done_actual_score = ($l1_general/100) * ($otp_done_L2/100) * $otp_done[$score_questions['general']['otp_done']]; $otp_done_max_score = ($l1_general/100) * ($otp_done_L2/100) * max($otp_done); @@ -140,6 +175,9 @@ class PDSCORE $score_questions['general']['otp_done'] = array('l1_weightage' => $l1_general,'l2_weightage' => $otp_done_L2,'distributed_weightage' => $general_distribute_level_weightage,'answer' => $score_questions['general']['otp_done'],'attributed_score' => $otp_done_actual_score, 'max_score' => $otp_done_max_score,'score_band'=>$otp_done[$score_questions['general']['otp_done']],'max_score_band' => max($otp_done)); //######1.8 qualification + + $qualification_L2 = $general_distribute_level_weightage ? ($qualification_L2 + ($qualification_L2 / (100 - $general_distribute_level_weightage ))) : $qualification_L2; + $qualification_actual_score = ($l1_general/100) * ($qualification_L2/100) * $qualification['id_score'][$score_questions['general']['qualification']]; $qualification_max_score = ($l1_general/100) * ($qualification_L2/100) * max($qualification['id_score']); @@ -148,11 +186,15 @@ class PDSCORE $score_questions['general']['qualification'] = array('l1_weightage' => $l1_general,'l2_weightage' => $qualification_L2,'distributed_weightage' => $general_distribute_level_weightage,'answer' => $keys[($score_questions['general']['qualification']-1)],'attributed_score' => $qualification_actual_score, 'max_score' => $qualification_max_score,'score_band'=>$qualification['id_score'][$score_questions['general']['qualification']],'max_score_band' => max($qualification['id_score'])); //######1.9 value of assets as a % of Loan Amount + //print_r($personal_asset_grid); + + $value_of_other_assets_L2 = $general_distribute_level_weightage ? ($value_of_other_assets_L2 + ($value_of_other_assets_L2 / (100 - $general_distribute_level_weightage ))) : $value_of_other_assets_L2; + $asset_calculation_details = array(); $actual_value_of_assets = $score_questions['general']['value_of_other_assets']; $asset_calculation_details['actual_value_of_assets'] = $actual_value_of_assets; - //echo 'actual_value_of_assets -'.$actual_value_of_assets; + //echo 'actual_value_of_assets -'.$actual_value_of_assets;die(); $loan_amount = $pd_master_details[0]['loan_amount']; $asset_calculation_details['loan_amount'] = $loan_amount; @@ -274,7 +316,7 @@ class PDSCORE //######2.1 Business Certificates - $cerificates_L2 = 10; + $cerificates_L2 = $business_distribute_level_weightage ? ($cerificates_L2 + ($cerificates_L2 / (100 - $business_distribute_level_weightage ))) : $cerificates_L2; //find out no of not applicable cases @@ -287,8 +329,11 @@ class PDSCORE } } + $business_certificates_distribution = $cerificates_L2 / $business_certificates_distribution_count; + // echo $cerificates_L2.'---';echo $business_certificates_distribution_count; + // echo $business_certificates_distribution; $certificate_actual_score = 0; $certificate_max_score = 0; @@ -355,9 +400,10 @@ class PDSCORE $business_seasonality_L2 = $business_distribute_level_weightage ? ($business_seasonality_L2 + ($business_seasonality_L2 / (100 - $business_distribute_level_weightage ))) : $business_seasonality_L2 ; $business_seasonality_actual_score = ($l1_business/100) * ($business_seasonality_L2/100) * $business_seasonality[ $score_questions['business']['business_seasonality'] ]; + $business_seasonality_max_score = ($l1_business/100) * ($business_seasonality_L2/100) * max($business_seasonality); - $score_questions['business']['business_seasonality'] = array('l1_weightage' => $l1_business,'l2_weightage' => round($business_seasonality_L2,2),'answer' => $score_questions['business']['business_seasonality'],'attributed_score' => round($no_of_years_business_run_actual_score), 'max_score' => round($no_of_years_business_run_max_score,2),'distributed_weightage' => $business_distribute_level_weightage,'score_band' => $business_seasonality[ $score_questions['business']['business_seasonality'] ],'max_score_band' => max($business_seasonality)); + $score_questions['business']['business_seasonality'] = array('l1_weightage' => $l1_business,'l2_weightage' => round($business_seasonality_L2,2),'answer' => $score_questions['business']['business_seasonality'],'attributed_score' => round($business_seasonality_actual_score,2), 'max_score' => round($business_seasonality_max_score,2),'distributed_weightage' => $business_distribute_level_weightage,'score_band' => $business_seasonality[ $score_questions['business']['business_seasonality'] ],'max_score_band' => max($business_seasonality)); //######2.3 employees_total $employees_total_actual_score = 0; diff --git a/api/application/models/PD_Model.php b/api/application/models/PD_Model.php index af69eb5b..accedb6b 100644 --- a/api/application/models/PD_Model.php +++ b/api/application/models/PD_Model.php @@ -1264,14 +1264,14 @@ class PD_Model extends SPARQ_Model { $gross_profit_calculation_type = $this->selectCustomRecords($fields,$where_condition_array,PDASSESSEDINCOMEESTIMATIONOFGROSSPROFITTYPE); //get sales_calculated_by_itemwise details - $fields = array('sci_id','sales_item','sales_qty','UOM.name as uom_name','fk_uom_id','FREQUENCY.name as frequency_name','rate_per_unit','fk_frequency_id','annual_sale_value','margin_final_value','margin_per','margin_per_uom','uom_other','comments'); + $fields = array('sci_id','sales_item','sales_qty','UOM.name as uom_name','fk_uom_id','FREQUENCY.name as frequency_name','rate_per_unit','fk_frequency_id','annual_sale_value','margin_final_value','margin_per','margin_per_uom','uom_other','comments','sales_type'); $table = SALESCALCULATEDBYITEMWISE.' as SALESCALCULATEDBYITEMWISE'; $where_condition_array = array('fk_pd_id'=>$pdid,'SALESCALCULATEDBYITEMWISE.isactive'=>1); $joins = array( array('table'=>FREQUENCY.' as FREQUENCY','condition'=>'SALESCALCULATEDBYITEMWISE.fk_frequency_id = FREQUENCY.frequency_id','jointype'=>'INNER JOIN'), - array('table'=>UOM.' as UOM','condition'=>'SALESCALCULATEDBYITEMWISE.fk_uom_id = UOM.uom_id','jointype'=>'INNER JOIN')); + array('table'=>UOM.' as UOM','condition'=>'SALESCALCULATEDBYITEMWISE.fk_uom_id = UOM.uom_id','jointype'=>'LEFT')); $sales_calculated_by_itemwise = $this->getJoinRecords($fields,$table,$joins,$where_condition_array); - + //print_r($this->db->last_query()); //get sales_items_by_monthwise details @@ -1398,7 +1398,7 @@ class PD_Model extends SPARQ_Model { return $return_data; } - public function getScoreableQuestionToDispaly($pdid) + public function getScoreableQuestionToDispaly() { $this->db->SELECT('question,key'); diff --git a/api/application/views/report_templates/JSONTOREPORT.php b/api/application/views/report_templates/JSONTOREPORT.php index 645bb866..723b720f 100644 --- a/api/application/views/report_templates/JSONTOREPORT.php +++ b/api/application/views/report_templates/JSONTOREPORT.php @@ -147,12 +147,14 @@ defined('BASEPATH') OR exit('No direct script access allowed'); "; echo "
"; echo "

"; +// ########################### End of Master Details Section #################################### + + + +// ########################### Score Card Section ############################################### + echo "

Executive Summary

"; - // echo "General Section Score :".number_format($pd_score['score_summary']['general']['score_band'],2,'.','.')."
"; - // echo "Business Section Score :".number_format($pd_score['score_summary']['business']['score_band'],2,'.','.')."
"; - // echo "Final Remarks Score :".number_format($pd_score['score_summary']['final_remarks']['score_band'],2,'.','.')."
"; - // echo "Final PD Score :".number_format($pd_score['score_summary']['overall_score']['final_score'],2,'.','.')."
"; - //print_r($pd_score); + ?> @@ -160,26 +162,27 @@ defined('BASEPATH') OR exit('No direct script access allowed');
General Section Score
Final Remarks Score
Final PD Score (Over all Acutal score () / over all Maximum Score ( )) * 100)
+
"; - //####################### CHART ############################# + echo '

'; - //######################### CHART ########################### - - //####################General Section Statred######################## + } else { echo "Score Chart Not Generated"; } echo "
"; echo "
"; + //######################### CHART ########################### ?> '; echo " General Questions L1(". $pd_score['general']['otp_done']['l1_weightage']."%) L2 Answer Score Attributed Score Max Score"; foreach($pd_score['general'] as $key => $general) @@ -197,6 +200,8 @@ defined('BASEPATH') OR exit('No direct script access allowed'); echo '

'; + + // *** Asset Caculation Score Table echo ''; echo ""; @@ -217,16 +222,19 @@ defined('BASEPATH') OR exit('No direct script access allowed'); echo '
Asset Value Calculaitons
'; + echo '


'; - + // *** Final Remarks Questions Score Table echo ''; echo ""; foreach($pd_score['final_remarks'] as $key => $final_remark) { - $question = MYUTIL::findQuestionByKey($score_questions_display,$key); + $span = '('.$final_remark['l1_weightage'].'% * '. $final_remark['l2_weightage'].'% * '.$final_remark['score_band'].')'; + $max_span = '('.$final_remark['l1_weightage'].'% * '. $final_remark['l2_weightage'].'% * '.$final_remark['max_score_band'].')'; + echo ''.''; } @@ -234,8 +242,10 @@ defined('BASEPATH') OR exit('No direct script access allowed'); echo '
Final Remarks Questions L1(". $pd_score['final_remarks']['pd_officer_recommandations']['l1_weightage']."%) L2Answer ScoreAttributed Score Max Score
'.$question.''.$final_remark['l2_weightage'].'%'.$final_remark['answer'].''.$final_remark['score_band'].''.$final_remark['attributed_score'].'
'.$span.'
'.$final_remark['max_score'].'
'.$max_span.'
'; echo '


'; - + print_r($pd_score['business']); echo ''; + + // *** Business Section Questions Score Table echo ""; $certificates = array(); foreach($pd_score['business'] as $key => $business) @@ -259,6 +269,9 @@ defined('BASEPATH') OR exit('No direct script access allowed'); echo ""; echo '
Business Questions L1(". $pd_score['business']['no_of_years_business_run']['l1_weightage']."%) L2Answer Score Attributed ScoreMax Score
Business Section Sum of Attributed Score | Sum of Max Score ".number_format($pd_score['score_summary']['business']['actual_score'],2,'.',',')." ".number_format($pd_score['score_summary']['business']['max_score'],2,'.',',')."
'; + + + // *** Business Certificates Score Table echo ''; echo '

'; @@ -271,19 +284,19 @@ defined('BASEPATH') OR exit('No direct script access allowed'); $index++; if($index <=7) { - + $question = MYUTIL::findQuestionByKey($score_questions_display,$key); $span = '('.$cerificate['l1_weightage'].'% * '. $cerificate['l2_weightage'].'% * '.$cerificate['score_band'].')'; $max_span = '('.$cerificate['l1_weightage'].'% * '. $cerificate['l2_weightage'].'% * '.$cerificate['max_score_band'].')'; - echo ''.''.$key.''.$cerificate['answer'].''.$cerificate['score_band'].''.round($cerificate['attributed_score'],3).'
'.$span.''.round($cerificate['max_score'],3).'
'.$max_span.''; + echo ''.''.$question.''.$cerificate['answer'].''.$cerificate['score_band'].''.round($cerificate['attributed_score'],3).'
'.$span.''.round($cerificate['max_score'],3).'
'.$max_span.''; } } echo ""; - +// ########################### End Of Score Card Section ######################################### - +// ####################### General Section Statred ############################--> $general_form = json_decode($pd_processed_forms[18][0]['processed_json'],true); $persons_met = "Default"; $all_company_details = null; @@ -291,15 +304,107 @@ defined('BASEPATH') OR exit('No direct script access allowed'); { $all_company_details = $general_form['companies']; } - // echo MYUTIL::findCompanyName($all_company_details,2); - //print_r($all_company_details); - //print_r($pd_score['overall_score']['final_score']); + ?> + + +
+

General Section Information

+
+ + + + +
Person(s) Met              $individual) + { + if($individual['is_person_met'] == true) + { + $applicant_name = array_key_exists('pd_co_applicant_id_master',$individual) ? $individual['pd_co_applicant_id_master'] : "Not Available" ; + echo '
'.$individual['applicant_title_name_master'] . $applicant_name ; + + foreach($general_form['company_with_relationships'] as $company_with_relationship) + { + if($individual['pd_co_applicant_id'] == $company_with_relationship['applicant_name']) + { + //FInd Company Name from JSON + echo '
'.$company_with_relationship['company_relationship_master'] .' Of '.$company_with_relationship['company_name'] . '
'; + } + } + + foreach($general_form['persons_with_relationships'] as $persons_with_relationship) + { + if($individual['pd_co_applicant_id'] == $persons_with_relationship['pd_co_applicant_id'] && $persons_with_relationship['relationship'] != null) + { + echo '
'. isset($persons_with_relationship['relationship_master']) ? $persons_with_relationship['relationship_master'] : "NA" .' Of '.$persons_with_relationship['relation_to_master'] . '
'; + //print_r($persons_with_relationship); + } + } + + + + } + } + ?> +
+ + +

Loan Applicants

+ + + + $individual) + { + + if($individual['is_applicant'] == true) + { + $applicant_name = array_key_exists('pd_co_applicant_id_master',$individual) ? $individual['pd_co_applicant_id_master'] : "YYYY" ; + echo ""; + } + } ?> +
".$individual['applicant_title_name_master'].$applicant_name.""; + + foreach($general_form['company_with_relationships'] as $company_with_relationship) + { + if($individual['pd_co_applicant_id'] == $company_with_relationship['applicant_name']) + { + //FInd Company Name from JSON + + echo "
"; + print_r($company_with_relationship['company_relationship_master'] .' Of '.$company_with_relationship['company_name']); + } + } + + foreach($general_form['persons_with_relationships'] as $persons_with_relationship) + { + //print_r($persons_with_relationship); + if($individual['pd_co_applicant_id'] == $persons_with_relationship['pd_co_applicant_id'] && $persons_with_relationship['relationship'] != null) + { + echo "

"; + $RSNA = isset($persons_with_relationship['relation_to_master']) ? $persons_with_relationship['relation_to_master'] : "RRRR"; + print_r($persons_with_relationship['relationship_master'] .' Of '. $RSNA); + //print_r($persons_with_relationship); + } + } + + echo "
+ + +

PD Officer's Note (About General Section) :

+ + + + + + - + \ No newline at end of file diff --git a/api/application/views/report_templates/chart.png b/api/application/views/report_templates/chart.png index b56bad20035728d60b2ccd018cf6ccad6479b618..5e6bfc2d18cd1e0b3bfe860c1e7b5343dcd90c6a 100644 GIT binary patch literal 19470 zcmd?RRa6{Jv<5mraM$1-g1ZwSI0S;bTY|fW!GaF1L4sQ#xVsDv!3pjb+}*j&f6jTo z>%LwVEY@^a@2cLleSbA!%8D}RD8wir5C~mPR#FuNg4G6rU<{EEfGaw)Ci=iXWJg&Y z7Z3=e=k*Wf2NMPf2t)~zlN3|;Og~)y=B@s3S>*X(*xYE2bFh+uQBNEv`4fH(?1HX7 z3QXsM$nj5OJJh;5AK&^J-MX}=`cryF*^>GhMtRuqd`)->BscirAO*_mKb#53CW9hF zcTaJ0DYOaZ@d6gdTrTAeY=&P`o5tR=3+()SSVH|M`Tybv&wKJCX6zRo3~8#@(d%85 z%^+%O>RiWee<|Q|K05+4@R2&0!x$U*VTgo@fIuL!CTQBPqfyMDuQyc*;Rt}6ab1L! zz)c8V-~W#uC7^ocmr=32Zv@W|xDWJZFyu@r3nvnXNm1GjWhj~@JE+@u=G*v`Y&^(x zQjG7Y_oDz7cBu>h(JJd9u!&*Qvzx1Ne|Md7ab|47D?xz$I{>)PJ@TOhDZ(Wl;i+{$ ze$??tz;G~pO4h_8E(bhPurd z7{IO;XsvYe^($akAvT~knxU%GW=@qw@+0V%#7JL zZYVLt$KFFjY{HHErPEN}v#AG@qGqh9DB-2c=&bfYbZOs^x6>n*r9hVgqirIQLAK^9 zPOXabN(`X{U9$vz<`1VWN1@roW0ULwA6@}vYEBsBjR_!EpFc5qzKOwi_0_~|S&rU6 zceedq3p2x5`i)%sa#ue;j5!`sgh?7GB}qkzO!rrPi(o0VUoctwBmPX{B_G_l%Rvl8 z7IbZlZ51$Eyy;ucUcSg;th!^WBCXNSE9mAv$5Hn%w#ZX&4KgsR>sr&yZA19??_W`I z?YE~T26l^lDp5Xst0%N;MAt`MYE^7Ff;fb^hUCkY$pWP%SULd#cz^WD1r@|g6m5oG zByC=>FlcqX%f8~k7X262^H8;eQ53$Ook+V`VBKU0&yOzy`nO2i54xC<74N90*^RNo zzRu6}!%yUG`)!%LoT?HYq{*{3{poQrk4uLa za4$z!m5VHM^<^g-?YF?PF#CNG(9!;zOT?fH+|`EB+OhVw zrHh-`Xeo(ZlgS5wnq8}uEUoNpBa@4W{h%By!r{A9KhzW!O}%~sc6c?3%WEz4@Roo? zHiiLxPYUM;BGN=n<)C>trm6y$4=Q7buL?1+a*uLJP?%{bFKPP9vvD4GI<75v}RJeIK>u23Wk`SeXb&j7AHNjhT`E!IN!If~fcVOX0a1 zZk7{ZnC2)L*uik&Ur_kGxxlv^OcZ<@p|-;~9v^avCVTCro}8RL3{FK*icLSU(W5eG zOM>(Ont@VGzF8i^{rnzn#x57?iAW2EH`Laf5n{iqn}Rixm$U{17A3dbNs9=zlE3h! zmm=)3%EE@oSh4@GHT@#Zc=15R&~Rg3vk2{=zVQ4?8qYjkN*0fKWwRWXSbv1Y*mcb1 zpj<+b0Dn}Nq8tQG3|b0!s2t!*m~3_v@~#N!oyCdMoePx0qn)14EPzoC=223=dirQX zr1?Pw0ko{OHnT~<&P{nynl93RR!~p?_d{csM>gYC)T$68=+!;z{b2+f{LfhQ>-}?l zJ=+KnywaOuDlY0I^H~86ftSLX{)#mbFgF&?0>vdYk#Pt0qLaZ)#EC>Wumz3~*EUed}w-H$m5c2{@t1B z8X$7t{?{#S0w(eQqtmKHnt;cO^A$+@xmHxuX;RZ^RS{V8jJFiEvu1A{&{Bo%?7}s^ zgvQMWQ^pdjs|zYbjUR%a{};674#%oBo8{Et_hudoStp$T#g74&UGiHy0lJ4I^%8bi zEKMkkN_We%>;w&EZ)6aa2`L)#rilV6rrEILgrAfoUM}E0W$~;3hSi((k2~*Dk{Xc( zAIxzyDrWjGjf2wd{nv+yWXsBYMEtUk-Le*yW&LS|C))1G&+k#R5-p^z?2!0f{3myL#ejexg%uwMJ%jdVVk5L>D# zdvzU6PREwROV_z(E$%9hJMN6czx?n}Z7vBO_T)EZ3ldt#F}|fGOyI;8xc?-HK|*oq z6(%bLEO~&fyk3)AkJ<9~@9%l;6icBPVuD_8LbxoN$#Jb=7?tA>#np#QBr23mUg0sJz{x5fni8O%D&F?*XI)Ti?#ka;Xk? zL`XEy<-}07?!lNJtm&!~`0L95U&QO=Ax1DB=hG0v&TGzJz@t zu7$`8=?H}n((Kz7<0UP)-)#o2Ixwic{?iGz5b>ePiq5!r#LeJY8hde8G*Ve5JZHj6 zddtIWV!&+V6;C4A%xb9_^S-AMW(7We26zaB zjG>v{~Iba@hDRhZkE^LQD6%LNT>LYr1mUfKr$JO^773Az$RKo`bwtiGBqynSq zV%;q#*+*?J&_)Zs?9El}Hh5--YCL2uR~%g~aw&y<4=ilHPp)#rPVF9lEKcypSn_e& zSo9=*nu}LAy~wC1gIA<}Uc~Jjyh;8UIG@RTtv*YypLNZj_S1N=5k|)M5^l~u6K*H# z<;|wOPbgDcf;l3!t`hb7UqqAJ9YXFTZ`2+44m2&jyxqy3YTJ{>D~r*77Lh)~vnBCY zFYuY;{R8no<-q+g8b*Blts$X0(<1w~40vvo7hgPesjiu`Uw`S1TybbI}6SbOYt zz&_jSkL7OX#fQ%lvzHNH7Lt8DwU@1k?rUn;&a3hwTN)kDVi4r#p*Pfnr-ZNBc_5bP zbwT|d%G8wLnQ_7%7wv6S13q-0`#|w4oc z*wWHp#Z@f-bNriI!U+>c9;!1*WXIe$(U=Jnp6ec1KJz!&b|^1kgXwo<5}3m^C|*%5 zu-Om5Oc5{}I9I9R`(F=CJlC1(eTdrZf7GlsPyA zI62_cI+}{0Lu1yfJCOtfufu3z65SD3v z@gpKCca=`{JGl)Z``C+7>%$9kq(<>^=^rMPP*@?ZKCsX5yPKYnwC0!XyB2;+&kQ|T z68?zT9*+MF%%pY-#VVHPz)8^-kKO*weQK61Ege^iJ(>z0H?x#3~%%K>I3fvs~+f zG}AF+Wt}cwvx=k!=Mw2{H;RM}4uL(39{KcFMoKtK5YZ}Z4hJ8yD3a~$y#b8r7y-{6 z#QF!(YsOkYd+pG)^O2{gGt%mQ(Twzmaj@`peE!?#YhodCM=105 zZSGxXFT3wKcE6MgVQif71K-9=M%1s3gK=-qwB3Nw3qi!oHcLx~98de4aj3tPn8|88 zFh_H=T-kfv0(5n4!C~9U~S8UbCTSH*7 zXC$L#55AvCkD$KgtO%BnuJp#~iH)NZn&S*_?us#)p`4rG>509^v|7CU!fRkkHY!(O z%C3=22KvKAEwf%ty%$W*oz2d!=f2PBtF>;HV_I69D~#M9ZkQv5ctjN6Mecp8v6%R& zP-BvQhS(FC!Me6uBLOfpJ8ufFBsCHS5(S4j$>IOsT(_2ni zd%iv)#3B2#1bxJF2Lb|w!Q~l*g9xT|!wv#fy|i8Dfrxh4r0b?gWXsg%H)mR+une4v zt^$%`z5Y^LY&z0U9r6>8k2UPqx}_1d{xI@s3wiyW98WP2r4IC^`t(a6A0EJrB0wd6 ze&mk)0hUY_e;QYUP97h1K6A(X38va1>WOSuaAlAz26EhenTNfpZX*=HLM*lACA)TT1wtf8_zK(yFCz-fChlk0Q!iEuOn*8u%442H>- zpE_Z}y*EL&@zM9Ro+_9IfjO647lSP5>Gyl%(qhuv&U}V@B<-AU;7Ya;ni?#Qg9-?z z6TT7(oBm+NfP}lClj*+;ez%>MAdANMIe9GduJ`&dAN9L2ByAgEcNob-58Yp<=Q!-7 zhIO>RdCULQQfU0aTh^5U59D)c99%Keqd@7$W7=o4 zSpoTZm#A^@?2(v}`5>fEPV}Sq=!r2T65jx0BKC}cYHubrBWwNkrX9|fenP2n!>$YK z?Q?~ioI91%i!;BWlFY?A=fpoObRsx{z34;NjoTL%iOm@Dpb0NkSAougWJ)bp_b!-`Ox~=@rcuZ+z#jYR5xxo8!n4T+Zd;PAyZr4MttNRvFi*$ z2sW#fr7$O|pEV5L?EMkDuqdTPlgKP*0+#1~>^I&^UL*|N9`cI`V)FBEXEm_1v!iEa z?b{wnJL`RGlwDqqA)SYfOQ!(knbi-}b7;didbyts)Z^bHfFlTQyT13DT6RIqZx);= zi2XxY*=5w-C;&;nW5(HF+q=F>Hu5Fvxb0Xq*bFpy+WOT z>VBVxY0|RUf~JMH!7q^WxA1Q|eY7Vr;!h8_-QBw8s~J6~n`IA7!gA1BAf^cPa_{fi zf=$J51I9i5pj}wV6lIG(f7L$xK*ci|f_vBXuY@+_Zp4=|5H$X0c;H(jG-%Y#)(-pC zW!>$NL51mNA0OhhqKyrceaDl#q_ni@dROp1o_uq^UJ#!9!oh)w&m}gY=qj+oD4Z+Q zXh!HXGP&l@-uzL0PP3zZ-$^4MLd1=t$RZH1K)|LV|^2>J^1gh&vOk9M$jXy zDwJ;%!nFR7S| zvwjMu1#)aCIWvmMj=SIYX7DkoX(KFQIrPj@w{X*sLMOh`ZHBp4O2*CSXhcS|vpilR zoZ?`2A}_o_t_OHZ?mCKO{CcO*#L+RP+JE=)I$?Y7c6H}sh^_yu%B)4?<+e`O*7s9J zYG*pLlC?23cbs~N|8Cg1(a7&}Q&opPZn&&k=~ph143V~ji$IF`(;M)Rx=`l4t!A0s zBpbj*BKuId_vB!_NkqLwJME-yFTZve4rA*?82@KFyIL8k^(UK(z{4it1p%}13F6zx z&UXE8|9%wLeZB`w9aZP_9Ar~e2W2yJxwy7s(NT){SBE1!Xz~1fJOv9AWa;2;+Pm~Z zFK9NNoaWH3GkqQf_vU(ZlD>B=x8uur z%xeg5M-p+dFCVzm#;F1k1b10gAMC@^4Fa3~p4%i4K9pF+G4GvBd3*IB9S;0CzJDAs z@(DNSMbr@fHDTFf^nCtSBS!4Lpkvh(g~&qm8OefNA5EgI`NX&-uCr3CORl=z9@E`6 z*o7<|n@n%r`@90+q;uhZzt8R2yA%$yko|rtA0YMrENE~IGb;RumH*YP-|#lSU+=5e zW2zjNNb|k*)O$C8z^)mIVUtW7QDBC>*Wo7x?|gh7mLE87U`+UOd%;%kWWDT&rLRhXn~VuB2e zwvzK4*|`Ixw3lG+O?bn0Xzisnz4=N&zWXo&)}Flujz7q@r7NAT5PJ8f9n)&N+KIrwzQ)4&Fr5Ysbn$QL}ntlzkyf1Uy|MI zf-h#wvP^fp+$_-gFk-p_9ehyF@^XEAjY1-oHfB5Lw|ZtbcZzf)I)LeH7d4}VH5c#L zFg6~^Pr463?tV41%)@pJYl03rIXT7F;;?8FDzVfwCJ=}}-o%-oET?$`Ty+UqbxqmkOF8dAwDf>oAyq?0NJ|~e@eIO1 z8G5Ylfw849vP21fA1_IyohG5dXK`O&;i`gs+d_Zn&Whg>4BzA`~`T^gZ;_a%%pJc6AzMW z;>5QVC-=P^V~kxJq^rU@)9*TZe|`eVifwnn4&PjQ&a>caH`JqPf(Eqx`%!)sKXhMq z-%qZtd7Z(V^xu#)B&Y;|Z;=Kz`z46E2>P5hvD`X?AC5`U zJEB0Z=<(Pu^N{{o&77Skk|LR_Yn;-v*1O|_M+%f3Utwb?ik#tz;=R{<(+Vi+n8zda z7gp~#7iwVdj)S+2F(-&(%N@_i{aizVe#WXslC(>>bfC8ekpp44*j!&2H&p*(30NoY z{(;@Ft?e>dM%G$pU7NC(OrMV^>LVuHy7pg8DnOF0R{PFacLdn2-elbOx$7l#kH^J0 z=>j>&+1E=CYG$I)|*y&jvbn@SvF;BjIU`WmAxp3zsoxxr`FmNs@_%vZqC1;?sE)^R!<;V z#Wo-t{4$qSE2MVTMcAllgmwBmX#xpX{Vnc9jWZ09O@UMRASx~6UYB#!^WM?B4n6)z zLXyWjWT1XC&|VL7-Fh{V;nsOWvX)QiY-!0u9aBr~Yjm$2lXJ-9P?!9+9{Fa8gOte(Ct9|Ma?2R zJ?-FydgS-4X1U^=fc7z^qWVaw(fNHUrGXcbX}d4}hQ;v5;av`~B84eZ6pVPvgzzJrkGQw;X7R~>+ z-L0>KP*R7+q&fdz-kl1{CI>1C-4Z}WA$IX1y=>j3gPg-Sn0n~CT7m@%K_T)4dR&rX5$-Dr&sBR7VhG#!?^0<+th4^zA>qC6cPOgvGM5qXa*(m|$QI8wxi!~&lW1ev0xjyuz4xE~W$Rfq#;!^$FqH@}1 zrv17DLMWFiKvH+8)3$}^_nbNnSBCI7&;SB*ybzjK4K=m@o)*<}Um82J zA6-6DCP9ESC#Chdxa4O;q((B!l4T^1ks*k{T~_7pv~_eu_e^Sy)4eusX4*sa{t(C3 zQgXOW^4H>-_MtT>7<d3*RWIOkd+^By(poZu&4ORZCZay(& zo06Cz?Z zZghk_GB;IEimLxYu@Pxqx~v&bV zD!TS9mmYnZ`VJ$%`C2y!wvbu{3Z*+n$(4gacw?cwV4qbx57zns^OVHrcP=eXkLy`b zl5+3ou@VCE)SH>=5?jGWPItr8Rt_Lrr!K1(G`QO}wE061-H(;5H0&-4O zd?UnvJ!(qO)A{!(4aF++OeYP4<#ibFXYYqVNmVzpu}= zv(5}5p!ktzW_)}7fwqFBuTk_7xytIVWU?emglrS66JL2Cc*2)ki8*Kyi>W!Ebr#U#)1kX#)0Qvn^1^6}-Pg|inj(ezfm?hxr|Xc` z1M@;YpV=YvFh;vzzSg4e9X1at_kTlD|Dl8UAHj*9&sEV%d-K640;e;0bso$0 zxNxO$zJ_i(`!;OUpC{Ip*~`_QV!72YP5fbUR(e8W%KH>VjB*k@HI=U%K{a3u3TTZj zwz(wi@!jF2#UBpEBl3NCnV{s?8-KiWfy}j_sgxPPUyWOYVD@*|(?d@zI-?p?BM zc7JWfbWVCWpe3f(uxf5#K@jZ`%kxxiO(I$HZ zRP5+Tz=Mnx#l9NCoU10_J;1wU3Wef&tio)bnW5AXHk-=@-~}0xe7i-GTz2DAXkZR7 zpIXr-#gTCrnrH>{Psnhhf8*{d1he>G{#D7MPTgJ=w7#v2qIB%mAn3!gioZvbJRJUAKkE?tT4x z_mitwbh!8yON4Rrjv?X3hE%cyF`dxQ@$-oUNELHnXW5E)2gPX0_rh?pxyxINVlueh z6pq`DmkcIbVAlAwU&e-y60u#*6^O)WK(09#Ci;SW-prFbG)}-{kN*iLe}1;}vYUd6 zv$tZ}9s&X#_f?G7KbiE9e}hx@)cKzGR^R{q=;z-3lh(q0-i&y$F3go?aw0xUzp%L9 zQ8lqyr(_dfVvQG?zJI3Ln-VHO(`s*A_7`hfbU%(%h$h4=X9d?>}jW>yrqTOvXvtYUGz(abr`p ze_(~e9Off<2>lfCCFaoZ^Ph0DA6N2oP$1r31!L{(PoZliT=cE=pIF)SWq07{j%X8J z$x9ORw`j$PpWw^?blmXh_|kYjO9>bM0COjkVGxt)oPUgmr1VBpPld_NubfrGOBn@IT5|6L zJy~`u2Z4}I{`gylcK*WW;_G~2G;MDBs2@KZA6Gen2{ONb#Z!C{j5h+q$-$%Y&xF5; z#q!wmfp#(0(i$zE&@}99ZLGfV7uoY5Am2P4=th2?J$6P5JhNKTom*^@&R$_Rj$2(i zI^w_Bq!6=KyQ%*;$9ajN=xj@B>UZ5i*z%|&>Eup{{8fQ8W-h>ELU0qlF%r40y~FR^ z{4nbS^7Kh@%csWxQNyTV5(%@uY*Bq_#OIYqFn0^FRI<1jP$u#fYI+zA-sa>u5OmYdByu$H!egL(o~D2tsRz>f5CM#ia`=`zU0l#SGztO_H{Zs(`QWG zd-HvA@r-ZfAZO*lmfYh3)bFgH&5x~_6ondr`Ftq#(Dm_dK) z16g-}50#+dd@MdI7Xl3QUsBcPu1c$#UW8_0&FqcRVBx9f$R;dfp0OD;*LT{E{(Du| z7^|K8z%2oG*lvMn=iKTCWC_>WU28}Pt$273-{x`ubQvlKgG|%(V7FDDv4jm1uQqd0 z?fkvZQvJ0Zy?`!Gez7bb0`tDw!P%yz-`A!Wr8Smr!==1<_Q(01*xFsqi2^K!jq|w! zWzPdld>e;n3UR-_Y_#k?dl@-5o_)Q?G*IPmJzD?ICRYjmO-+HVH0I4+%nr=W(Xo(g zSGj=vi{xmb3)RTyWeRK#AS+dc;Qe#t2LNXHMl<9{MHxg5N`1?ISp~`(rnOD_^rGH` zh{VJQPfJ5IZ2b|*?MPwEFD7Ba+FNSNX(XYf<)B>=eIkOD@UyWB)5hFNJR+j7j;E`4 zgm80z7_7u$+bZ*`?!6l)1Kt3D3=? ze!R$fkrWp{(O7*j%@l+cU3|9Fcl;I~{^NJy@8$2GA8ytYHv7HG^|@%HEPGC@{oZ;? zN5 z!6hptTE=6fKgB9X!0hyN@2|F2+uQeezHquTnjtLj8|WA4!urLIr+TNSf;Ly1;QPFO z%(lko8%89BaNhJLLm&Ods5u8|oAIb~6f*>aqtYT&st?}H9UMU*oW?!3Z}h$0P=1XP zlT=4QngRcJJI$d!ebwu8^~b$~ zcU2L}M*j7H5!)s2)@dA@m&Jt2N$eljPbnxv?@}~g5t4H&OGsu{hEDK7+73ysL*kL( zM`YISkK7$5H7nDDebS|?dQpMsg~6m9eFlN?G)vO&NgdIWMg>SnoX&+B zppN^13Wx`stvr~t-}p{^!3riMS|ph@bLeWxMcqqah7(fCgpO{$54xd@>XEf=w1q=# z4dri#pA}gAvs3rBoYtH7X2}(m|CE5 ze}oSY|7voFvO!iCpQObmfZ(lCCD34^TF+&(8m(ak;bQqFoHdX>-yp*gcapdQ-$0rV zQ7NnMzKtN=Qr*kxA2g9WY0Y?3Y~qVDh_KT2a0)<0@Mq)>ot7Pp)*=MVq?2&m%g9S< ziQy4A;}UFa{36O7@*g_tyQYyjJx(^to&JYqpvb1ke-;Yohh=~O4|Mkm6;F!%*K3rd zlGhQ5*deGo&Wfyk&l@TuS4G&ttjM#ytHDkqsa=egmR4d;b@1SW{h;Z!7$vf-jlcv7 z2y0*n1V%p8yn$pV6E)}I!Jfm6dTXd7q^jcy&H@#OK_MVWzzLJG>5Hjy3=>>Yd5J_- zZ$QXQQZ_lbNHbjpRK_ z4En|g?We(sOKuEJ&TyoDyXO5O50t-phg`;&1 zYdera5&FYaUI6a?vL7K~&-_5u90_%8e^58kPZSb>XLxCV#qJJaTH(dMBCwH#j`W3M zZ4&B+)$QO;(V!gnk09n2{zplC7W2jT9e^s-?e*dor9=|5S8z`^1H{Usnv-Mv?wRD z*Q`@!|M{5{t+3bjC7ZZ`q#Bk?r<#`PY*vZ#IyVB=ArgWxg2zK%Lv|w(57)s=X3HOS zr9qHBHMgMo-SQ)xq2OiwE~h0H@NQiIE<*ocHk?%gUv)NKM?y(g<>sx)EsxG0JV{9j zPAXn9ty*vJz?et#GGP4QoRHt**d3pe)LizZ@;S~pX}S_^0d1^|BJdSO?9ZQ)$vLb# zAs>SDLIB~3KWWtq4uDuz{_6KZ-ArR6yS&)f)2%ddKrcR8FkEEB`fO>+rio+%orJMa z!__C5iD0Fnr)>Z$M|8BXHG<5@{o+x>aI8Xt9C}t_g6i=)$XVcuifc^F+|U*4cuMqs zBH(4QNay9L0Bb-5I9mih(jXiS9@7qjaa-Xe&E}Jjj*|G3_1yK35W-ET8s3!-p@8m& zAKy6HDZXEMItMXElLo7~!~Yhn`Z*q?h1tf~jCKwOrnM&g7WSQu^W_g&o6O}S8$e6|w^C)b>dP&t2d_alW0k($tWD() z!xY)HxVWzW5VFfzE0zS4SGC!_XB7JF><0d=q~!BJnBG*K#d^~vTPMN5~tUCGB* zr+ak%F2`Ty{3cKov+MXP_H@B_&1grCO>2s>AOARHZXk?GQi%ry9pn*gnzzCAYVh#S z=jWZ}KUH=|Z&ZW>&5fru4Lbcn&V?(%>teR}AQPoWf;bv!NO=$hfohZ=t;SJ^)ZPcp z{ASkXde(I{q3{cuwn?!GSOCq44BsH+mn@$jNq2cBRWlkjallf(4!tZr7I2v~AtvY0 zJaw0|2=jIP+10FMayG;9M4pM^JuYBeRY2rFFR}WF`vCD%Gpsq+uK<9~CPhv!zW+5~ z(T>;&+0V6Ny0LI+nsKO6KGt#&#~3~GqqVxa&Hq~pezLfZU=8$!U>W$+&A(zKzErwD zm;yj3M+)c9ftGzhzFM!*xiB9q0H68|en9?n7v)c)+K}02n7rYK^NdJ%R4l(c{M;c* zYIuE)4HRa=c96|j(9TM6;5&&v(e`^pU#>^KT=}yc^6ABfJX?pDgSA@yt$zwv2ZHqb zg2h2FH;8dxGK_w+keuBvFru*Gwy zM6E~`+p%CV-nH@X?B@Inskr|+cJT8JsPYxvXGc^z!&yqtv0fGMJDj4$cZ4{E2~#JY z{X97a@I=9>^b&Z!J`)uxuGvWTjZ(=p`Xx)@eC=LvQVHRb$r~!K<+v}3{keB8aocj@ z?nBb0dV26BK)F>j^&U-*x+3q>dX#O!Jd?8K{Ml;-so4+@Wc+EQZzFh*EK9vyrb=pF zV#uCvslb70(GrP^xe@*>*#NM2)T*8MG!@Xto;x5{j*PP4v!=6MXh`<#iYrY1!z7jp zVE)hG?%3h{>j3ce?1SaUB{y|BG;Nd;)|<#>&K(-I>3%p>7xu-av-Qk9_~XvQ!Yc@>_b>wNqFx(n#P()OeNpdF>IoJ?gdaQD zPiH7qv?F+>H??qm;jPxzdzzI^|90^}qXk7*b_xr=dF7N&7ab>6_87|i=X%9ypB;> z-QP?~`!%n;<3on$Nv1&zmlS{Ke(M%EYQEq2vUCxQ@2^Jk3G|-tSyGZ#L7p7P03I8D zLgKAxkSv3$D^Zug8Z^X=L^64zS1=JZ9ePkSNm!{K7qDeKO7`Om|4W+y1aXSBd+8gb zeGT?i^RS|#NQPie$Q`o2>770Ysl{y*8BO0DwRj~uln`fUP#Vc-K>hI%6#cFlBKzBM z3_=`_dnEJmgeifwT#^_8v;D~(eNX$cY?Ye>6LaRsD?|m zwLAhiQNj!jj9CfQcQr&zFgb6>KxvFF4i?t_#F-ik3q^r`tw3A@BLpoQ?%WmiquL-T zIxM67ZW5@J?t)fQu)?5ucYMsZkRF5-Y$k6MhWar!9ka4&vZyJ{NYKYZ-Uu0YDH z3Xc<763Qe>ID3ozJD@-L-yy3@Z+`&_OvXw$&jawuKKMGDmTE8a0f=8Ei7%g!SNmsv zmi?Ru=>**5SZXOy4Ww0YYLm9u$P!NOw=HUaJ9N zl}a&)HsD`&C#K1jd2<8(Wy|af4LUz}R@Yb6G2JzV=V~>G*)2oQ*xo0g$fv;C-n$dCyF!Uf~Rf3Sb^45_Ke+^KyPW!;Ii8jU(8tXmmNy#E4kRywyhJu zq88a%5LHS74R4O>A$W%DUa7V&O{A}QH$^IhPJbKzBWk`f_l=Mt3eO;fJ*(CSwxM+O zAEP7?h;UeV90dU0d@9T;CD#0Y9={2q=2 z8mNxV{zuM-ah95laFrs7XUHjSZX93|5Nj5Jq_MK(xY^RO?+D#kw+@ zJ^d81k5FFZ;4NQc)(xR|)fe5k&n6pMa|^@AF7~=V9S+TvAIC>1Rjz(Ooxs2Rtmzcn z+UXzXvcs@QhrKu1T6NJ3Pf_r#;V7g&N%}VTbN6g4dyhXp_0MS1@2{{xqUSw=dRV`( zL84R$cN(01D1`o^#^kBbZ?pY8Za)B^RlHAW8p}ROCePAb{ z?r}qVWPR;K2%c-+UY~#F30blEm|u>mj1R<6UK|Txuj89quNG-f^zmeL>5fe5{vP8w zw^ij5YU;_HgOOPpgg`yqk{!w`WfYAS5vxbw3`ldQKR%OUt zee3VjSSpQw6#w+GTM_yn=lp@!GEzb&5hA&C`HT$!NZ-`@o;B^_1jT+GB|nFHQs+Js z(!x#V{e{`3QUCU^L7HrXgkabv?qA|n0gRGO_bGc-vPd6~OAo1J%AOTXA49bOpzpD{ zgn<}|hzVh(+1E!I;SkkDt|*b2Alu00;oKma^d;IzYd^U>Pjt%3BZ zfdCo%eM2G~_JlIwJDOiIO2EbOx<6%=>Gc4qLk?pr{h{OKTzM>NIzA;=WXXKECK~70 ziFYin1nT)x2rIcqRa%T(k;UH2xd282Co4Rv{kZb^W z&y1=83$PIhdAYFwNDw%0w zT`(Be644UCL$6EuXKfRhv%=aOxfV~0wt3401S@}3w8R5w zfmy2mXx29CN+o001B@*GH-HT-t6-=-J_8PWDZILYJ!Nro*gldzAP+5Ca&)1~34a~; z1bH^RRNd#Eco(Zwr=7_n79Vo`9^6z>6;wyhVi291Yin*{@!)C5TOE;twNN~)9;TC zW2M?PoewNfNvO;h4`F_|v3TJ;ks_(7-0f@6RUtq@O*XmMewyo8J-ACt&KWNWBP&TV zb;f@9F6%?o%_*6T<=VgSx-J5s_Zc5^a46-#PHDfdKB1wUZJoS1S|HRcGNOBpl63h; z%cW8^iE0R6yU7`OdpI>n&M+pG+X7ir(^fj?Mon`W)XO=O{=@KlWxrGHI5{$x+no9` zx~l~gu+vGJI%T;`NQ_$HM16DGK+VekQt7&c&xhv5JE8IBhwFqCz_*V-2s**^s_SfUBz!zppJEny zemrD%6nHSqv4*$G0t)ga5S`N;s3N~ZU`DsDD1l2?1f=oDS$r7quzzB1kzVscjaj}p^1#t+@fl!og^ zJVMPr1&-t`J+eN@wEEP5%GA{D+sJ;ZWH+{o{rjuKA0Lbjr)gQ-doJ{Yc z=Gwf1oWtB?{uzbB#tQqlMXidFJWslFCeHuNmy6)jHdnxbrkzt%TlC=02XkY{p&ut5 z88$vE0H`<_pntSklUkTbouw5X5hgkA0-3<}!dx3pClR<|YUu>e4LeE&L`D%a0h3!h z@iI{jr@7$<~PKVAFLO>f&4Jx{aIpBJvn*VJ*YL+JRkVC6uY=Bbs=SF#L*@d&m_`EKDPTFto&K^3 za<2GWg_G#Z;0k4a2jEL0ZqmP})E)ltN2pCEkc*`~5tX7R^K!{|kyDY2r3?dX&8Wa7 z&ov(*urGbzG>u?@vQ;oufD4Pb1cTR32~|(YB(>{7t2hC{@<2P&WHh}Q-UinDSMB)w ztHMT!9gv;KgY@*1GXfZ5aj4{aw!#y4@@@*dw_qecI>RpXjN1yBlx6s0Y8G?Gn^S_4Wq zQX%s~%oo*SWvNvE-?>QRqw8M0Vc#{8EsPCnqTM>)lv!&($5Z)^eU)}=AR_>K&s%qA z)-hG}r^g_o*8F%1brDRo{d|#s>j}67>?<6$y@REx4SS;dgwONZkCyKJ{Yg=t-geWJ zBuJOKOl!JFhzO;=>dCIpfd!Nh0Qt&J_E;j9V6}rT)+#-zb zq^3R!`*G=J?>xwA(vJa<*w8(~jPBh3e_A>7f3~wVj>o>&GDR)bN^7UIW8!u)LOY>D zsMtbi#aL^7sUj8odZSEBX(%miLR*y(j7lw;(pGe0ZzBz&qZryj6b+h-IeK4n|APC= z_owG|p67ecdA{d4-*Z0i!fx@<>So4m1;JlmWF#P-kuVKQ7r|C-yzMm$c|Gn2FZ#*l zQZi+K9eRT*(su-(o%v#^?x)J2iH~2SKmbwWic!`7unx<-nNYXHUxHYP?d@jc7~^6F zQbIKXom<;?7;y#Vk53Ufm(&oX1w#vUYNM6_S+>+cu03=!xd z6z2ILv$$B+%6HG@*CeG^!Pwh=UG}3NhmoWh!QMzm?nxY zQsV_{g0bED`Zf^*{dX=L{koq;b|i7PI?+}SAjM+5^%|X(*c$wh?Xj>>DsFIa=gZD^-6A&{kGefY~Hyh>8GLDDerler)<6ckK({ zHt3+j9!TLcj_os9_O00aR?Lc)5`j}+%6Ow=^L*+i1z4Mvoz&PZD?a8*Iue7?C@#q=ideT2^u4P1Ho{|-eH=O{x8c{oiE6VRkqE((a@>g|-ak2u z>Z|-GXK91-2J$U_Wg7ef9nAJmUJ@o#iplf3^C&fHQZmfY(spmtoq=^cv|E8>Vqxz; z0e*#tl_*P83?~+bfM{tK8?@-eOP3;1?gK2G&?!*1ZG}_DE_L{!Z zC`_V&2V@6it3Ll+q_t$7ab>CmCON|-N=xWter8xFqtwu~x7NVyWcVxRgem7#ZMVjH z#ejMwQXFW-NAKOz*w$<$ROOyVVSBo5SfVss(IfXh&Lji z0d?1#9pOFg90sbeWvA+Pg*S1qiTdJBx_I@?n9sV;R+NF+m=RzwlfVk7kI#{HPKVzleqklj ziN^nmET=4f=w7g^5n5pgZgx|@Y4SDmYVvpU@vfCO#je^0v!-|K!;jqB?-)F(O?JQs zX{`b}e(l{{M1MB^VEqfG-v)fWk-gjP+xB~d*`qi;jIf=6=_~7@(Y&83w^huFPCGww zK+efbLytrETr0DSVsUS?xY2qSTlUw5_}eOt0OHZt z*1lVqSz&7j%8-Pu_7C3~@`>XH!4tp>xt ze?l-FkRAJ2rW~6HIaA@LEEbNL$$zzAV=El;Yip}B=A#S52C)T${CM|sasC1RlROpY zLc)rSFL96w6M52UPN?*P6<2=d64_&T*tc+E3>p&d7RG>*PfRV{CW@mA=N<4t^>$Sz zn_dj9_#>T1qvBf^Cg%IAyAm?B^03AO6Jmnrpp=591t|lPM4%dpO3gF}lQWc!uDHcv z6?K}2gof_yE%V{3Kb}-{IFltO|E+A6eO#644^#O>twVV|U0#;12#y6_>=A;Z^~>YW z0l`BPqAe{SZ*T4b!44gZlYX*3y7uLW&nUJ$g%-@!-MMl;io>F&Q3+F1y5cZE+`7E~ z_*q;5a?~YI43aBn4#~92l7grh(jkyuNezg7#WQh;>^J{6qZF~r@E=>;_FkL?fG>!X M!+B)m*}&|-0T;4Kv;Y7A literal 19178 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 n08r3~wMRY3|CuVOasSX+B|rK4E_X*Duaajp<#f