private static PdfPTable createQuittingTimes() throws DocumentException { PdfPTable timesTable = new PdfPTable(3); timesTable.setWidthPercentage(85.0f); timesTable.setHeaderRows(1); PdfPCell employmentTimeHeading = new PdfPCell(); employmentTimeHeading.addElement( PdfHelper.lastLineParagraphBold("Efter uafbrudt beskæftigelse:")); timesTable.addCell(employmentTimeHeading); PdfPCell employerHeading = new PdfPCell(); employerHeading.addElement(PdfHelper.lastLineParagraphBold("Bruger")); timesTable.addCell(employerHeading); PdfPCell employeeHeading = new PdfPCell(); employeeHeading.addElement(PdfHelper.lastLineParagraphBold("Hjælper")); timesTable.addCell(employeeHeading); addQuittingTimes(timesTable, "0-7 mdr.", "Ingen", "Ingen"); addQuittingTimes(timesTable, "7-12 mdr.", "7 dage", "3 dage"); addQuittingTimes(timesTable, "1-3 år", "21 dage", "7 dage"); addQuittingTimes(timesTable, "3-6 år", "49 dage", "28 dage"); addQuittingTimes(timesTable, "6-9 år", "70 dage", "28 dage"); return timesTable; }
private static void addQuittingTimes( PdfPTable table, String employmentTime, String employerWarning, String employeeWarning) { PdfPCell timeCell = new PdfPCell(); timeCell.addElement(PdfHelper.lastLineParagraph(employmentTime)); table.addCell(timeCell); PdfPCell employerCell = new PdfPCell(); employerCell.addElement(PdfHelper.lastLineParagraph(employerWarning)); table.addCell(employerCell); PdfPCell employeeCell = new PdfPCell(); employeeCell.addElement(PdfHelper.lastLineParagraph(employeeWarning)); table.addCell(employeeCell); }
@Override protected void handleModelPart( Document document, User user, Helper helper, Employment employment) { try { document.add(PdfHelper.createHeading2("Kontraktforhold")); document.add(createEmploymentDetails(employment)); document.add(PdfHelper.createPhrase("")); String paymentFirst = "Aflønning:"; String paymentContent = "Sker efter aftale i BPA-ordningen " + "i Aarhus Kommune. Lønnen udbetales via lønmodtagers cpr-nr. " + "til NemKonto. Lønudbetaling optjenes for en kalendermåned " + "og udbetales den 16. i måneden efter. Der optjenes 12.5% " + "i feriegodtgørelse af den optjente løn, som udbetales via " + "et feriekort."; document.add(PdfHelper.createRuleParagraph(paymentFirst, paymentContent)); String agreementFirst = "Ansættelsesaftale:"; String agreementContent = "Træder i kraft ved " + "ansættelse. Derefter er den gældende indtil den " + "opsiges af en af parterne til ophør ved " + "varslingsperiodens udløb."; document.add(PdfHelper.createRuleParagraph(agreementFirst, agreementContent)); // TABLE PdfPTable middleSection = new PdfPTable(2); middleSection.setWidthPercentage(100.0f); middleSection.setSpacingBefore(10.0f); PdfPCell quittingTimes = new PdfPCell(); quittingTimes.setBorder(0); quittingTimes.addElement(PdfHelper.lastLineParagraphBold("Opsigelsesvarsler")); quittingTimes.addElement(createQuittingTimes()); middleSection.addCell(quittingTimes); PdfPTable deathTable = new PdfPTable(1); deathTable.setWidthPercentage(85.0f); PdfPCell deathClause = new PdfPCell(); deathClause.addElement( new Paragraph( "I tilfælde af arbejdsgiverens død eller " + "akut indlæggelse på hospital eller institution " + "afgives de nævnte opsigelsesvarsler på klientens " + "vegne af Aarhus Kommunes Socialforvaltning, der " + "over klientkontoen også udreder løn i perioden, " + "mod at arbejdstageren stiller sig til rådighed " + "efter forvaltningens anvisning.", PdfHelper.NORMALTEXT)); deathTable.addCell(deathClause); PdfPCell deathCell = new PdfPCell(); deathCell.setBorder(0); deathCell.addElement(deathTable); middleSection.addCell(deathCell); document.add(middleSection); document.add( PdfHelper.createRuleParagraph( "", "Undertegnede medarbejder erklærer" + " herved, at være gjort bekendt med, og at være " + "indforstået med ovenstående ansættelsesbetingelser, samt " + "ovenstående regler om sygefravær.")); document.newPage(); document.add(PdfHelper.createHeading2("Kontraktforhold (fortsat)")); String wowOfSilenceFirst = "Tavshedspligt:"; String wowOfSilenceContent = "Som medarbejder ansat under " + "hjælpe-/kontaktpersonordningen har du tavshedspligt med " + "hensyn til din arbejdsgivers rent private forhold som " + "religion, om politiske, foreningsmæssige, seksuelle og " + "strafbare forhold, samt oplysninger om helbredsforhold, " + "sociale problemer og misbrug af nydelsesmidler og " + "lignende. Brud på denne tavshedspligt betragtes som " + "strafbart og kan medføre øjeblikkelig afskedigelse. " + "Denne tavshedspligt ophører ikke vej tjenestens ophør."; document.add(PdfHelper.createRuleParagraph(wowOfSilenceFirst, wowOfSilenceContent)); document.add( PdfHelper.createRuleParagraph( "", "Inden underskrift bedes " + "bemærket: Løn- og ansættelsesvilkår er under " + "forbeholdt af godkendelse i Personaleafdelingen i " + "Magistratsafdelingen.")); document.add( PdfHelper.createRuleParagraph( "Anmeldelse af sygdom:", "Fravær, der skyldes sygdom, graviditetsgener, " + "tilskadekomst i tjenesten eller eget barns sygdom, " + "skal anmeldes til tjenestestedet straks ved arbejdstids " + "begyndelse den første fraværsdag. Anmeldelse, der " + "modtages senere end 2 timer efter arbejdstids " + "begyndelse, betragtes som for sen " + "anmeldelse/misligholdelse af ansættelsesforholdet. I de " + "tilfælde, hvor der ikke er ret til sygedagpenge fra " + "arbejdsgiveren, skal medarbejderen endvidere anmelde " + "sygefraværet til dagpengekontoret i bopælskommunen " + "(i Aarhus til dit socialcenter). Ved ansættelsen skal " + "medarbejderen have oplyst, hvortil fraværet skal " + "anmeldes (tjenestested, afdeling, telefonnummer, " + "lokalnummer m.v.).")); document.add( PdfHelper.createRuleParagraph( "Arbejdsskade:", "Kommer en medarbejder til skade i " + "arbejdstiden, skal dette anmeldes til tjenestedets " + "leder, også selv om arbejdsskaden ikke medfører " + "sygefravær.")); document.add( PdfHelper.createRuleParagraph("Kronisk sygdom skal oplyses ved " + "ansættelsen.", "")); document.add( PdfHelper.createRuleParagraph( "Underretning i henhold " + "til Persondataloven:", "Som et nødvendigt led i din ansættelse foretager " + "Aarhus Kommune elektronisk behandling af dine " + "personoplysninger, som beskrevet i Persondataloven, " + "Lov nr. 429 af 31. maj 2000. Behandlingerne sker som led " + "i kommunens løn- og personaleadministration. " + "De personoplysninger, der er tale om, omfatter ud over " + "almindelige oplysninger til brug for lønudbetaling og sædvanlig " + "personaleadministration, også oplysninger om dine " + "helbredsmæssige forhold. Oplysningerne registreres i din" + " personalesag og kommunens løn- og personalesystem" + " (evt. Esdh-system). Du kan få indsigt i, gøre" + " indsigelser mod eller opdatere de registrerede" + " oplysninger ved at kontakte Personaleafdelingen" + " i Magistratsafdelingen.")); document.add( PdfHelper.createRuleParagraph( "Inden indsendelse til Lønhuset:", "Blanketten skal underskrives og kopi udleveres til " + "medarbejder. Kopi af blanketten opbevares i " + "institutionen.")); } catch (DocumentException e) { String message = "Generation of the employment details part of the pdf failed."; logger.fatal(message, e); throw new RuntimeException(message, e); } }
private static PdfPTable createEmploymentDetails(Employment employment) { PdfPTable employeeTable = new PdfPTable(4); employeeTable.setWidthPercentage(100.0f); PdfPCell startDateHeadingCell = new PdfPCell(); startDateHeadingCell.addElement(PdfHelper.lastLineParagraphBold("Startdato")); employeeTable.addCell(startDateHeadingCell); PdfPCell startDateCell = new PdfPCell(); startDateCell.addElement(PdfHelper.lastLineParagraph(employment.getStartDate().toString())); employeeTable.addCell(startDateCell); PdfPCell positionHeadingCell = new PdfPCell(); positionHeadingCell.addElement(PdfHelper.lastLineParagraphBold("Stilling")); employeeTable.addCell(positionHeadingCell); PdfPCell positionCell = new PdfPCell(); positionCell.addElement(PdfHelper.lastLineParagraph(employment.getEmploymentType().name())); employeeTable.addCell(positionCell); PdfPCell endDateHeadingCell = new PdfPCell(); endDateHeadingCell.addElement(PdfHelper.lastLineParagraphBold("Slutdato")); employeeTable.addCell(endDateHeadingCell); PdfPCell endDateCell = new PdfPCell(); if (employment.getStopDate() == null) endDateCell.addElement(PdfHelper.paragraph("")); else { endDateCell.addElement(PdfHelper.paragraph(employment.getStopDate().toString())); } employeeTable.addCell(endDateCell); PdfPCell workTimeHeadingCell = new PdfPCell(); workTimeHeadingCell.addElement(PdfHelper.paragraphBold("Ca. arbejdstid per uge")); employeeTable.addCell(workTimeHeadingCell); PdfPCell workTimeCell = new PdfPCell(); Element workTime = null; if (employment.getHours() == 0) workTime = PdfHelper.lastLineParagraph(""); else workTime = PdfHelper.lastLineParagraph(employment.getHours() + ""); workTimeCell.addElement(workTime); employeeTable.addCell(workTimeCell); PdfPCell trialHeadingCell = new PdfPCell(); trialHeadingCell.addElement(PdfHelper.lastLineParagraphBold("3 mdrs. prøvetid")); employeeTable.addCell(trialHeadingCell); PdfPCell trialCell = new PdfPCell(); if (employment.getTrial()) trialCell.addElement(PdfHelper.lastLineParagraph("Ja")); else trialCell.addElement(PdfHelper.lastLineParagraph("Nej")); employeeTable.addCell(trialCell); PdfPCell taxInformationHeadingCell = new PdfPCell(); taxInformationHeadingCell.addElement(PdfHelper.paragraphBold("Rekvirer skattekort")); employeeTable.addCell(taxInformationHeadingCell); PdfPCell taxInformationCell = new PdfPCell(); taxInformationCell.addElement(PdfHelper.lastLineParagraph(employment.getTaxationForm().name())); employeeTable.addCell(taxInformationCell); return employeeTable; }