current_user_serial = $_SESSION[self::USER_SERIAL] ?? 0; $this->current_user_id = $_SESSION[self::USER_ID] ?? ""; $this->current_user_name = $_SESSION[self::USER_NAME] ?? ""; $this->current_user_email = $_SESSION[self::USER_EMAIL] ?? ""; } // ====================== // Consolidation Sequence // ====================== public function consolidationSequence() { set_time_limit(0); $step = filter_input(INPUT_POST, "step") ?: "prompt"; switch ($step) { case "prompt": $content = $this->applyXSL("", $this->getXSL("consolidationAlert")); $this->displayContent($content); break; case "run": $sql_insert = "insert into rdiconsolidations ( rdiconsolidation_permit_facts_id, rdiconsolidation_entry_date_str, rdiconsolidation_entry_date, rdiconsolidation_permit_number, rdiconsolidation_permit_date_str, rdiconsolidation_permit_date, rdiconsolidation_project_addr, rdiconsolidation_sub_div_name, rdiconsolidation_project_type, rdiconsolidation_company, rdiconsolidation_address, rdiconsolidation_city, rdiconsolidation_state, rdiconsolidation_zip, rdiconsolidation_phone, rdiconsolidation_project_city, rdiconsolidation_project_state, rdiconsolidation_size, rdiconsolidation_units, rdiconsolidation_building_type, rdiconsolidation_value, rdiconsolidation_work_type, rdiconsolidation_county, rdiconsolidation_lot, rdiconsolidation_dist_ll, rdiconsolidation_ct1, rdiconsolidation_owner_name, rdiconsolidation_owner_address, rdiconsolidation_owner_city, rdiconsolidation_owner_state, rdiconsolidation_owner_zip, rdiconsolidation_owner_phone, rdiconsolidation_ytd_permits, rdiconsolidation_ytd_value, rdiconsolidation_12mth_prev_permits, rdiconsolidation_date ) values ( :rdiconsolidation_permit_facts_id, :rdiconsolidation_entry_date_str, :rdiconsolidation_entry_date, :rdiconsolidation_permit_number, :rdiconsolidation_permit_date_str, :rdiconsolidation_permit_date, :rdiconsolidation_project_addr, :rdiconsolidation_sub_div_name, :rdiconsolidation_project_type, :rdiconsolidation_company, :rdiconsolidation_address, :rdiconsolidation_city, :rdiconsolidation_state, :rdiconsolidation_zip, :rdiconsolidation_phone, :rdiconsolidation_project_city, :rdiconsolidation_project_state, :rdiconsolidation_size, :rdiconsolidation_units, :rdiconsolidation_building_type, :rdiconsolidation_value, :rdiconsolidation_work_type, :rdiconsolidation_county, :rdiconsolidation_lot, :rdiconsolidation_dist_ll, :rdiconsolidation_ct1, :rdiconsolidation_owner_name, :rdiconsolidation_owner_address, :rdiconsolidation_owner_city, :rdiconsolidation_owner_state, :rdiconsolidation_owner_zip, :rdiconsolidation_owner_phone, :rdiconsolidation_ytd_permits, :rdiconsolidation_ytd_value, :rdiconsolidation_12mth_prev_permits, :rdiconsolidation_date ) "; $connection = $this->connect(); $connection->beginTransaction(); $statement = $connection->prepare($sql_insert); $rdi_records = $this->getRdiTable(); $rdi_record_count = $rdi_records->count(); $processed_record_count = 0; foreach ($rdi_records as $record) { $rdiconsolidation_permit_facts_id = (integer) $record->permit_facts_id ?: 0; $rdiconsolidation_entry_date_str = (integer) $record->entry_date_str ?: ""; $rdiconsolidation_entry_date = (string) $record->entry_date ?: "0000-00-00"; $rdiconsolidation_permit_number = (string) $record->permit_number ?: ""; $rdiconsolidation_permit_date_str = (string) $record->permit_date_str ?: ""; $rdiconsolidation_permit_date = (string) $record->permit_date ?: "0000-00-00"; $rdiconsolidation_project_addr = (string) $record->project_addr ?: ""; $rdiconsolidation_sub_div_name = (string) $record->sub_div_name ?: ""; $rdiconsolidation_project_type = (string) $record->project_type ?: ""; $rdiconsolidation_company = (string) $record->company ?: ""; $rdiconsolidation_address = (string) $record->address ?: ""; $rdiconsolidation_city = (string) $record->city ?: ""; $rdiconsolidation_state = (string) $record->state ?: ""; $rdiconsolidation_zip = (string) $record->zip ?: ""; $rdiconsolidation_phone = (string) $record->phone ?: ""; $rdiconsolidation_project_city = (string) $record->project_city ?: ""; $rdiconsolidation_project_state = (string) $record->project_state ?: ""; $rdiconsolidation_size = (integer) $record->size ?: 0; $rdiconsolidation_units = (integer) $record->units ?: 0; $rdiconsolidation_building_type = (integer) $record->building_type ?: 0; $rdiconsolidation_value = (integer) $record->value ?: 0; $rdiconsolidation_work_type = (integer) $record->work_type ?: 0; $rdiconsolidation_county = (string) $record->county ?: ""; $rdiconsolidation_lot = (string) $record->lot ?: ""; $rdiconsolidation_dist_ll = (string) $record->dist_ll ?: ""; $rdiconsolidation_ct1 = (integer) $record->ct1 ?: 0; $rdiconsolidation_owner_name = (string) $record->owner_name ?: ""; $rdiconsolidation_owner_address = (string) $record->owner_address ?: ""; $rdiconsolidation_owner_city = (string) $record->owner_city ?: ""; $rdiconsolidation_owner_state = (string) $record->owner_state ?: ""; $rdiconsolidation_owner_zip = (string) $record->owner_zip ?: ""; $rdiconsolidation_owner_phone = (string) $record->owner_phone ?: ""; $rdiconsolidation_ytd_permits = (integer) $record->ytd_permits ?: 0; $rdiconsolidation_ytd_value = (integer) $record->ytd_value ?: 0; $rdiconsolidation_12mth_prev_permits = (integer) $record->{"12mth_prev_permits"} ?: 0; $rdiconsolidation_date = date("Y-m-d"); $statement->bindValue(":rdiconsolidation_permit_facts_id", $rdiconsolidation_permit_facts_id); $statement->bindValue(":rdiconsolidation_entry_date_str", $rdiconsolidation_entry_date_str); $statement->bindValue(":rdiconsolidation_entry_date", $rdiconsolidation_entry_date); $statement->bindValue(":rdiconsolidation_permit_number", $rdiconsolidation_permit_number); $statement->bindValue(":rdiconsolidation_permit_date_str", $rdiconsolidation_permit_date_str); $statement->bindValue(":rdiconsolidation_permit_date", $rdiconsolidation_permit_date); $statement->bindValue(":rdiconsolidation_project_addr", $rdiconsolidation_project_addr); $statement->bindValue(":rdiconsolidation_sub_div_name", $rdiconsolidation_sub_div_name); $statement->bindValue(":rdiconsolidation_project_type", $rdiconsolidation_project_type); $statement->bindValue(":rdiconsolidation_company", $rdiconsolidation_company); $statement->bindValue(":rdiconsolidation_address", $rdiconsolidation_address); $statement->bindValue(":rdiconsolidation_city", $rdiconsolidation_city); $statement->bindValue(":rdiconsolidation_state", $rdiconsolidation_state); $statement->bindValue(":rdiconsolidation_zip", $rdiconsolidation_zip); $statement->bindValue(":rdiconsolidation_phone", $rdiconsolidation_phone); $statement->bindValue(":rdiconsolidation_project_city", $rdiconsolidation_project_city); $statement->bindValue(":rdiconsolidation_project_state", $rdiconsolidation_project_state); $statement->bindValue(":rdiconsolidation_size", $rdiconsolidation_size); $statement->bindValue(":rdiconsolidation_units", $rdiconsolidation_units); $statement->bindValue(":rdiconsolidation_building_type", $rdiconsolidation_building_type); $statement->bindValue(":rdiconsolidation_value", $rdiconsolidation_value); $statement->bindValue(":rdiconsolidation_work_type", $rdiconsolidation_work_type); $statement->bindValue(":rdiconsolidation_county", $rdiconsolidation_county); $statement->bindValue(":rdiconsolidation_lot", $rdiconsolidation_lot); $statement->bindValue(":rdiconsolidation_dist_ll", $rdiconsolidation_dist_ll); $statement->bindValue(":rdiconsolidation_ct1", $rdiconsolidation_ct1); $statement->bindValue(":rdiconsolidation_owner_name", $rdiconsolidation_owner_name); $statement->bindValue(":rdiconsolidation_owner_address", $rdiconsolidation_owner_address); $statement->bindValue(":rdiconsolidation_owner_city", $rdiconsolidation_owner_city); $statement->bindValue(":rdiconsolidation_owner_state", $rdiconsolidation_owner_state); $statement->bindValue(":rdiconsolidation_owner_zip", $rdiconsolidation_owner_zip); $statement->bindValue(":rdiconsolidation_owner_phone", $rdiconsolidation_owner_phone); $statement->bindValue(":rdiconsolidation_ytd_permits", $rdiconsolidation_ytd_permits); $statement->bindValue(":rdiconsolidation_ytd_value", $rdiconsolidation_ytd_value); $statement->bindValue(":rdiconsolidation_12mth_prev_permits", $rdiconsolidation_12mth_prev_permits); $statement->bindValue(":rdiconsolidation_date", $rdiconsolidation_date); if (!$statement->execute()) { $connection->rollBack(); $this->debug($connection->errorInfo()[2]); } $processed_record_count++; } if ($processed_record_count !== $rdi_record_count) { $connection->rollBack(); $XSLParms["CONSOLIDATION_ERROR"] = "Record Counts Did not match. Rolling Back Database. Contact Support."; } else { $connection->commit(); $this->executeSQL("truncate rdis"); } $XSLParms["RDI-RECORD-COUNT"] = $rdi_record_count; $XSLParms["PROCESSED-RECORD-COUNT"] = $processed_record_count; $content = $this->applyXSL("", $this->getXSL("consolidationResults"), $XSLParms); $this->displayContent($content); break; default: $this->displayHome(); } } // ==================== // Return an RDI Object // ==================== public function getRdiTable() { $SQL = "SELECT * FROM rdis"; return $this->getTable("rdis", $SQL); } } ?>