String fileLink =
ReportFactory.createReport(IReport.EMPLOYEE_HIRING_LETTER, name)
.addParam("EmployeeName", employee.getUser().getFullName())
.addParam(
"EmployeeNationality",
translateTransleatableValue(Locale.ITALY, employee.getNationality().getName()))
.addParam("EmployeeExtraEU", employee.getNationality().getExtraEUCitizenship())
.addParam("EmployeeCityBirth", employee.getBirthCity().getName())
.addParam("EmployeeCityProvBirth", employee.getBirthCity().getDepartment().getCode())
.addParam(
"EmployeeBirthCountry",
translateTransleatableValue(Locale.ITALY, employee.getBirthCountry().getName()))
.addParam(
"EmployeeBirthDate",
employee.getBirthDate().format(DateTimeFormatter.ofPattern(DATE_FORMAT)))
.addParam("EmployeeAddressCity", defaultAddress.getAddress().getCity().getName())
.addParam(
"EmployeeAddressZipCode",
defaultAddress.getAddress().getAddressL6().replaceAll("\\D+", ""))
.addParam("EmployeeAddressStreet", defaultAddress.getAddress().getAddressL4())
.addParam(
"EmployeeAddressProv",
defaultAddress.getAddress().getCity().getDepartment().getCode())
.addParam("EmployeePhone", employee.getContactPartner().getMobilePhone())
.addParam("EmployeeSocialSecurityNumber", employee.getSocialSecurityNumber())
.addParam("EmployeeIBAN", employeeBankDetail.getIban())
.addParam("EmployeeDocumentInformation", documentInformationLine)
.addParam(
"EmployeeCompanyName",
employee.getEmploymentContractList().get(0).getPayCompany().getName())
.addParam(
"EmployeeHiringStartDate",
employee
.getEmploymentContractList()
.get(0)
.getStartDate()
.format(DateTimeFormatter.ofPattern(DATE_FORMAT)))
.addParam(
"EmployeeEducationQualificationType",
employee.getEducationQualificationType().getName())
.addParam(
"EmployeeEducationQualificationName", employee.getEducationQualificationName())
.addParam(
"EmployeeEducationPositionCorrelation", employee.getEducationPositionCorrelation())
.addParam("EmployeeEmail", employee.getContactPartner().getEmailAddress().getAddress())
.addParam(
"EmployeeExtraPensionFundName",
employee.getExtraPensionFundName() != null
? employee.getExtraPensionFundName()
: BLANK_LINE)
.addParam(
"EmployeeExtraPensionFundStartDate",
employee.getExtraPensionFundStartDate() != null
? employee
.getExtraPensionFundStartDate()
.format(DateTimeFormatter.ofPattern(DATE_FORMAT))
: BLANK_LINE)
.addParam("EmployeeEmploymentType", employmentContract.getEmployment().getName())
.addParam("EmployeeDisability", employee.getDisability())
.addParam("EmployeeHiringType", employmentContract.getHiringType().getName())
.addParam(
"EmployeeHiringExtraInfo",
tutorNameIfAvailable != null
? employmentExtraInfoIfAvailabe + " Tutor: " + tutorNameIfAvailable
: employmentExtraInfoIfAvailabe)
.addParam("EmployeeContractDurationType", employeeContractDurationType)
.addParam("EmployeeShiftRooster", employmentContract.getShiftAvailable())
.addParam("EmployeeNightShift", employmentContract.getNightShiftAvailable())
.addParam("EmployeeWeeklyPlanningName", employee.getWeeklyPlanning().getName())
.addParam("EmployeePosition", employmentContract.getPosition().getName())
.addParam("EmployeeAlreadySamePosition", employee.getAlreadyWorkedSamePosition())
.addParam(
"EmployeeAlreadySamePositionDescription",
employee.getAlreadyWorkedSamePosition()
? employee.getAlreadyWorkedSamePositionDescription()
: BLANK_LINE)
.addParam("EmployeeContractType", employeeContractType)
.addParam("EmployeeGrossYearSalary", employeeGrossAnnualSalary)
.addParam(
"EmployeeHiringDepartmentINAILPosition", employeeHiringDepartmentINAILPosition)
.addParam(
"EmployeeContractGrossSalaryRiassorbibili", employmentContract.getRiassorbibili())
.addParam(
"EmployeeCompanyDepartmentAddress",
employmentContract.getCompanyDepartment().getMainAddress().getAddressL4())
.addParam(
"EmployeeCompanyDepartmentCity",
employmentContract.getCompanyDepartment().getMainAddress().getCity().getName())
.addParam(
"EmployeeCompanyDepartmentCityProv",
employmentContract
.getCompanyDepartment()
.getMainAddress()
.getCity()
.getDepartment()
.getCode())
.addParam("EmployeeHiringNote", employeeHiringNote)
.generate()
.getFileLink();
return fileLink;