GIGA report
Wed May 25 2022 13:08:21 GMT+0000 (UTC)
Saved by @igor #drupal #pseudo-field #form-render
function ced_giga_report() { /** @var \Drupal\halo_entity_cfp\Entity\Cfp[] $cfps */ $cfps = \Drupal::entityTypeManager()->getStorage('cfp')->loadByProperties([ 'state' => ['under_contracting', 'reject', 'project_implementation'], ]); $first_key = key($cfps); $writer = Box\Spout\Writer\Common\Creator\WriterEntityFactory::createXLSXWriter(); $file_system = \Drupal::service('file_system'); $temp_path = 'public://ced_giga_report.xlsx'; $temp_path = $file_system->realpath($temp_path); $writer->openToFile($temp_path); foreach ($cfps as $key => $cfp) { $applicant = $cfp->getApplicantEntity(); $row = []; $row['operational_number'] = $cfp->label(); $row['company_name'] = $applicant->label(); $row['vat_number'] = $applicant->get('vat_number')->value; $row['company_registration_number'] = $applicant->get('company_registration_number')->value; $date = $applicant->get('company_establishment_date')->date; $row['company_establishment_date'] = $date ? $date->format('Y.m.d') : ''; $row['entitled_to_vat_refund'] = ((bool) $applicant->get('entitled_to_vat_refund')->value) ? 'Igen' : 'Nem'; $row['main_company_address'] = $applicant->get('main_company_address') ->isEmpty() ? '' : address_basic_view($applicant->get('main_company_address') ->first()); // Bank account. $bank_account_item = $applicant->get('bank_account_details'); for ($i = 0; $i < 2; $i++) { /** @var \Drupal\halo_entity_bank_account\Entity\BankAccountEntity $bank_account */ $bank_account = $bank_account_item->get($i)->entity ?? FALSE; $index = $i + 1; if ($bank_account) { $row["bank_account_name_$index"] = $bank_account->getName(); $row["bank_address_address_$index"] = $bank_account->getAddress(); $row["bank_account_number_$index"] = $bank_account->getAccountNumber(); } else { $row["bank_account_name_$index"] = ''; $row["bank_address_address_$index"] = ''; $row["bank_account_number_$index"] = ''; } } $company_representative_item = $applicant->get('company_representative'); for ($i = 0;$i < 4;$i++) { $index = $i + 1; /** @var \Drupal\halo_entity_person\Entity\PersonEntity $company_representative */ $company_representative = $company_representative_item->get($i)->entity ?? FALSE; if ($company_representative) { $row["company_representative_last_name_$index"] = $company_representative->getLastName(); $row["company_representative_first_name_$index"] = $company_representative->getFirstName(); $row["company_representative_assignment_$index"] = $company_representative->getAssignment(); $row["company_representative_representation_type_$index"] = $company_representative->getRepresentationTypeLabel(); $row["company_representative_phone_1_$index"] = $company_representative->getPhone1(); $row["company_representative_email_$index"] = $company_representative->getEmail(); } else { $row["company_representative_last_name_$index"] = ''; $row["company_representative_first_name_$index"] = ''; $row["company_representative_assignment_$index"] = ''; $row["company_representative_representation_type_$index"] = ''; $row["company_representative_phone_1_$index"] = ''; $row["company_representative_email_$index"] = ''; } } $contact_person_items = $applicant->get('contact_person'); for ($i = 0;$i < 3;$i++) { $index = $i + 1; /** @var \Drupal\halo_entity_person\Entity\PersonEntity $ontact_person */ $contact_person = $contact_person_items->get($i)->entity ?? FALSE; if ($contact_person) { $row["contact_person_last_name_$index"] = $contact_person->getLastName(); $row["contact_person_first_name_$index"] = $contact_person->getFirstName(); $row["contact_person_assignment_$index"] = $contact_person->getAssignment(); $row["contact_person_phone_1_$index"] = $contact_person->getPhone1(); $row["contact_person_email_$index"] = $contact_person->getEmail(); } else { $row["contact_person_last_name_$index"] = ''; $row["contact_person_first_name_$index"] = ''; $row["contact_person_assignment_$index"] = ''; $row["contact_person_phone_1_$index"] = ''; $row["contact_person_email_$index"] = ''; } } if ($first_key === $key) { $writer->addRow(\Box\Spout\Writer\Common\Creator\WriterEntityFactory::createRowFromArray(array_keys($row))); } $writer->addRow(\Box\Spout\Writer\Common\Creator\WriterEntityFactory::createRowFromArray($row)); } $writer->close(); }
Comments