Java tutorial
/******************************************************************************* * HELIUM V, Open Source ERP software for sustained success * at small and medium-sized enterprises. * Copyright (C) 2004 - 2014 HELIUM V IT-Solutions GmbH * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published * by the Free Software Foundation, either version 3 of theLicense, or * (at your option) any later version. * * According to sec. 7 of the GNU Affero General Public License, version 3, * the terms of the AGPL are supplemented with the following terms: * * "HELIUM V" and "HELIUM 5" are registered trademarks of * HELIUM V IT-Solutions GmbH. The licensing of the program under the * AGPL does not imply a trademark license. Therefore any rights, title and * interest in our trademarks remain entirely with us. If you want to propagate * modified versions of the Program under the name "HELIUM V" or "HELIUM 5", * you may only do so if you have a written permission by HELIUM V IT-Solutions * GmbH (to acquire a permission please contact HELIUM V IT-Solutions * at trademark@heliumv.com). * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * Contact: developers@heliumv.com ******************************************************************************/ package com.lp.server.personal.ejbfac; import java.math.BigDecimal; import java.rmi.RemoteException; import java.sql.Date; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.TreeMap; import javax.ejb.Stateless; import javax.persistence.EntityExistsException; import javax.persistence.EntityManager; import javax.persistence.NoResultException; import javax.persistence.PersistenceContext; import javax.persistence.Query; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRField; import org.hibernate.Session; import org.hibernate.criterion.MatchMode; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import com.lp.server.partner.service.BankDto; import com.lp.server.partner.service.PartnerDtoSmall; import com.lp.server.partner.service.PartnerFac; import com.lp.server.partner.service.PartnerbankDto; import com.lp.server.personal.ejb.Angehoerigenart; import com.lp.server.personal.ejb.Angehoerigenartspr; import com.lp.server.personal.ejb.AngehoerigenartsprPK; import com.lp.server.personal.ejb.Artikelzulage; import com.lp.server.personal.ejb.Bereitschaftart; import com.lp.server.personal.ejb.Bereitschafttag; import com.lp.server.personal.ejb.Beruf; import com.lp.server.personal.ejb.Betriebskalender; import com.lp.server.personal.ejb.Eintrittaustritt; import com.lp.server.personal.ejb.Fahrzeug; import com.lp.server.personal.ejb.Fahrzeugkosten; import com.lp.server.personal.ejb.Familienstand; import com.lp.server.personal.ejb.Familienstandspr; import com.lp.server.personal.ejb.FamilienstandsprPK; import com.lp.server.personal.ejb.Feiertag; import com.lp.server.personal.ejb.Gleitzeitsaldo; import com.lp.server.personal.ejb.Kollektiv; import com.lp.server.personal.ejb.Kollektivuestd; import com.lp.server.personal.ejb.Kollektivuestd50; import com.lp.server.personal.ejb.Lohnart; import com.lp.server.personal.ejb.Lohnartstundenfaktor; import com.lp.server.personal.ejb.Lohngruppe; import com.lp.server.personal.ejb.Lohnstundenart; import com.lp.server.personal.ejb.Pendlerpauschale; import com.lp.server.personal.ejb.Personal; import com.lp.server.personal.ejb.Personalangehoerige; import com.lp.server.personal.ejb.Personalart; import com.lp.server.personal.ejb.Personalartspr; import com.lp.server.personal.ejb.PersonalartsprPK; import com.lp.server.personal.ejb.Personalfunktion; import com.lp.server.personal.ejb.Personalfunktionspr; import com.lp.server.personal.ejb.PersonalfunktionsprPK; import com.lp.server.personal.ejb.Personalgehalt; import com.lp.server.personal.ejb.Personalgruppe; import com.lp.server.personal.ejb.Personalgruppekosten; import com.lp.server.personal.ejb.Personalverfuegbarkeit; import com.lp.server.personal.ejb.Personalzeiten; import com.lp.server.personal.ejb.Personalzeitmodell; import com.lp.server.personal.ejb.Religion; import com.lp.server.personal.ejb.Religionspr; import com.lp.server.personal.ejb.ReligionsprPK; import com.lp.server.personal.ejb.Schichtzeitmodell; import com.lp.server.personal.ejb.Signatur; import com.lp.server.personal.ejb.Stundenabrechnung; import com.lp.server.personal.ejb.Urlaubsanspruch; import com.lp.server.personal.ejb.Zulage; import com.lp.server.personal.fastlanereader.generated.FLRPersonal; import com.lp.server.personal.fastlanereader.generated.FLRPersonalverfuegbarkeit; import com.lp.server.personal.service.AngehoerigenartDto; import com.lp.server.personal.service.AngehoerigenartDtoAssembler; import com.lp.server.personal.service.AngehoerigenartsprDto; import com.lp.server.personal.service.AngehoerigenartsprDtoAssembler; import com.lp.server.personal.service.ArtikelzulageDto; import com.lp.server.personal.service.ArtikelzulageDtoAssembler; import com.lp.server.personal.service.BereitschaftartDto; import com.lp.server.personal.service.BereitschaftartDtoAssembler; import com.lp.server.personal.service.BereitschafttagDto; import com.lp.server.personal.service.BereitschafttagDtoAssembler; import com.lp.server.personal.service.BerufDto; import com.lp.server.personal.service.BerufDtoAssembler; import com.lp.server.personal.service.BetriebskalenderDto; import com.lp.server.personal.service.BetriebskalenderDtoAssembler; import com.lp.server.personal.service.EintrittaustrittDto; import com.lp.server.personal.service.EintrittaustrittDtoAssembler; import com.lp.server.personal.service.FahrzeugDto; import com.lp.server.personal.service.FahrzeugDtoAssembler; import com.lp.server.personal.service.FahrzeugkostenDto; import com.lp.server.personal.service.FahrzeugkostenDtoAssembler; import com.lp.server.personal.service.FamilienstandDto; import com.lp.server.personal.service.FamilienstandDtoAssembler; import com.lp.server.personal.service.FamilienstandsprDto; import com.lp.server.personal.service.FamilienstandsprDtoAssembler; import com.lp.server.personal.service.FeiertagDto; import com.lp.server.personal.service.FeiertagDtoAssembler; import com.lp.server.personal.service.GleitzeitsaldoDto; import com.lp.server.personal.service.GleitzeitsaldoDtoAssembler; import com.lp.server.personal.service.KollektivDto; import com.lp.server.personal.service.KollektivDtoAssembler; import com.lp.server.personal.service.Kollektivuestd50Dto; import com.lp.server.personal.service.Kollektivuestd50DtoAssembler; import com.lp.server.personal.service.KollektivuestdDto; import com.lp.server.personal.service.KollektivuestdDtoAssembler; import com.lp.server.personal.service.LohnartDto; import com.lp.server.personal.service.LohnartDtoAssembler; import com.lp.server.personal.service.LohnartstundenfaktorDto; import com.lp.server.personal.service.LohnartstundenfaktorDtoAssembler; import com.lp.server.personal.service.LohngruppeDto; import com.lp.server.personal.service.LohngruppeDtoAssembler; import com.lp.server.personal.service.LohnstundenartDto; import com.lp.server.personal.service.LohnstundenartDtoAssembler; import com.lp.server.personal.service.PendlerpauschaleDto; import com.lp.server.personal.service.PendlerpauschaleDtoAssembler; import com.lp.server.personal.service.PersonalDto; import com.lp.server.personal.service.PersonalDtoAssembler; import com.lp.server.personal.service.PersonalFac; import com.lp.server.personal.service.PersonalangehoerigeDto; import com.lp.server.personal.service.PersonalangehoerigeDtoAssembler; import com.lp.server.personal.service.PersonalartDto; import com.lp.server.personal.service.PersonalartDtoAssembler; import com.lp.server.personal.service.PersonalartsprDto; import com.lp.server.personal.service.PersonalartsprDtoAssembler; import com.lp.server.personal.service.PersonalfunktionDto; import com.lp.server.personal.service.PersonalfunktionDtoAssembler; import com.lp.server.personal.service.PersonalfunktionsprDto; import com.lp.server.personal.service.PersonalfunktionsprDtoAssembler; import com.lp.server.personal.service.PersonalgehaltDto; import com.lp.server.personal.service.PersonalgehaltDtoAssembler; import com.lp.server.personal.service.PersonalgruppeDto; import com.lp.server.personal.service.PersonalgruppeDtoAssembler; import com.lp.server.personal.service.PersonalgruppekostenDto; import com.lp.server.personal.service.PersonalgruppekostenDtoAssembler; import com.lp.server.personal.service.PersonalverfuegbarkeitDto; import com.lp.server.personal.service.PersonalverfuegbarkeitDtoAssembler; import com.lp.server.personal.service.PersonalzeitenDto; import com.lp.server.personal.service.PersonalzeitenDtoAssembler; import com.lp.server.personal.service.PersonalzeitmodellDto; import com.lp.server.personal.service.PersonalzeitmodellDtoAssembler; import com.lp.server.personal.service.PersonalzutrittsklasseDto; import com.lp.server.personal.service.ReligionDto; import com.lp.server.personal.service.ReligionDtoAssembler; import com.lp.server.personal.service.ReligionsprDto; import com.lp.server.personal.service.ReligionsprDtoAssembler; import com.lp.server.personal.service.SchichtzeitmodellDto; import com.lp.server.personal.service.SchichtzeitmodellDtoAssembler; import com.lp.server.personal.service.StundenabrechnungDto; import com.lp.server.personal.service.StundenabrechnungDtoAssembler; import com.lp.server.personal.service.UrlaubsanspruchDto; import com.lp.server.personal.service.UrlaubsanspruchDtoAssembler; import com.lp.server.personal.service.ZeiterfassungFac; import com.lp.server.personal.service.ZeitstiftDto; import com.lp.server.personal.service.ZulageDto; import com.lp.server.personal.service.ZulageDtoAssembler; import com.lp.server.system.pkgenerator.PKConst; import com.lp.server.system.pkgenerator.bl.PKGeneratorObj; import com.lp.server.system.service.MandantDto; import com.lp.server.system.service.ParameterFac; import com.lp.server.system.service.ParametermandantDto; import com.lp.server.system.service.TheClientDto; import com.lp.server.util.LPReport; import com.lp.server.util.fastlanereader.FLRSessionFactory; import com.lp.server.util.report.JasperPrintLP; import com.lp.util.EJBExceptionLP; import com.lp.util.EJBExceptionLPwoRollback; import com.lp.util.Helper; import com.lp.util.LPDatenSubreport; import com.lp.util.report.PersonRpt; @Stateless public class PersonalFacBean extends LPReport implements PersonalFac { @PersistenceContext private EntityManager em; private Personalart personalart; private Personalfunktion personalfunktion; private Object[][] data = null; private static int REPORT_PERSONALLISTE_PERSONALNUMMER = 0; private static int REPORT_PERSONALLISTE_AUSWEISNUMMER = 1; private static int REPORT_PERSONALLISTE_NAME = 2; private static int REPORT_PERSONALLISTE_VORNAME = 3; private static int REPORT_PERSONALLISTE_ART = 4; private static int REPORT_PERSONALLISTE_KOSTENSTELLE = 5; private static int REPORT_PERSONALLISTE_ZUTRITTSKLASSE = 6; private static int REPORT_PERSONALLISTE_BILD = 7; private static int REPORT_PERSONALLISTE_GEBURTSTAG = 8; private static int REPORT_PERSONALLISTE_ALTER = 9; private static int REPORT_PERSONALLISTE_SUBREPORT_BANKVERBINDUNG = 10; private static int REPORT_PERSONALLISTE_EINTRITTSDATUM_ZUM_STICHTAG = 11; private static int REPORT_PERSONALLISTE_ZEITMODELL_ZUM_STICHTAG = 12; private static int REPORT_PERSONALLISTE_FAMILIENASTAND = 13; private static int REPORT_PERSONALLISTE_GEBURTSORT = 14; private static int REPORT_PERSONALLISTE_SOZIALVERSNR = 15; private static int REPORT_PERSONALLISTE_SOZIALVERSICHERER = 16; private static int REPORT_PERSONALLISTE_STAATSANGEHOERIGKEIT = 17; private static int REPORT_PERSONALLISTE_RELIGION = 18; private static int REPORT_PERSONALLISTE_KOLLEKTIV = 19; private static int REPORT_PERSONALLISTE_BERUF = 20; private static int REPORT_PERSONALLISTE_PENDLERPAUSCHALE = 21; private static int REPORT_PERSONALLISTE_LOHNGRUPPE = 22; private static int REPORT_PERSONALLISTE_FIRMENZUGEHOERIGKEIT = 23; private static int REPORT_PERSONALLISTE_UNTERSCHRIFTSFUNKTION = 24; private static int REPORT_PERSONALLISTE_UNTERSCHRIFTSTEXT = 25; private static int REPORT_PERSONALLISTE_KEINE_UEBERSTUNDENAUSZAHLUNG = 26; private static int REPORT_PERSONALLISTE_ABSENDER_DURCHWAHL = 27; private static int REPORT_PERSONALLISTE_ABSENDER_EMAIL = 28; private static int REPORT_PERSONALLISTE_ABSENDER_FAXDW = 29; private static int REPORT_PERSONALLISTE_ABSENDER_DIREKTFAX = 30; private static int REPORT_PERSONALLISTE_ABSENDER_HANDY = 31; private static int REPORT_PERSONALLISTE_KURZZEICHEN = 32; private static int REPORT_PERSONALLISTE_KURZBEZEICHNUNG = 33; private static int REPORT_PERSONALLISTE_TITEL = 34; private static int REPORT_PERSONALLISTE_VORNAME2 = 35; private static int REPORT_PERSONALLISTE_GESCHLECHT = 36; private static int REPORT_PERSONALLISTE_STRASSE = 37; private static int REPORT_PERSONALLISTE_PERSONALGRUPPE = 38; private static int REPORT_PERSONALLISTE_ORT = 39; private static int REPORT_PERSONALLISTE_PERSONALFUNKTION = 40; private static int REPORT_PERSONALLISTE_HEIMATKOSTENSTELLE = 41; private static int REPORT_PERSONALLISTE_TELEFON = 42; private static int REPORT_PERSONALLISTE_FAX = 43; private static int REPORT_PERSONALLISTE_EMAIL = 44; private static int REPORT_PERSONALLISTE_HOMEPAGE = 45; private static int REPORT_PERSONALLISTE_HANDY = 46; private static int REPORT_PERSONALLISTE_SUBREPORT_ANGEHOERIGE = 47; private static int REPORT_PERSONALLISTE_ANZAHL_SPALTEN = 48; /** * Legt einen neuen Personal-Datensatz an * * @param personalDto * PersonalDto * @param theClientDto * String * @throws EJBExceptionLP * @return Integer */ public Integer createPersonal(PersonalDto personalDto, TheClientDto theClientDto) throws EJBExceptionLP { if (personalDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalDto == null")); } if (personalDto.getCPersonalnr() == null || personalDto.getKostenstelleIIdStamm() == null || personalDto.getPersonalartCNr() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "personalDto.getIPersonalnr() == null || personalDto.getKostenstelleIIdStamm() == null || personalDto.getPersonalartCNr() == null")); } if (personalDto.getMandantCNr() == null) { personalDto.setMandantCNr(theClientDto.getMandant()); } try { Query query = em.createNamedQuery("PersonalfindByCPersonalnrMandantCNr"); query.setParameter(1, personalDto.getCPersonalnr()); query.setParameter(2, personalDto.getMandantCNr()); Personal doppelt = (Personal) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONAL.UK")); } catch (NoResultException ex1) { // nothing here } pruefePersonalnummer(personalDto.getCPersonalnr(), theClientDto); if (personalDto.getCAusweis() != null) { // try { Query query1 = em.createNamedQuery("PersonalfindByCAusweis"); query1.setParameter(1, personalDto.getCAusweis()); Collection<?> cl = query1.getResultList(); // if (! cl.isEmpty()) { PersonalDto[] dtos = assemblePersonalDtos(cl, true); if (dtos != null && dtos.length > 0) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PERSONAL_DUPLICATE_AUSWEIS, new Exception("PERS_PERSONAL.C_AUSWEIS")); // } // } // catch (FinderException ex1) { // nothing here // } } } if (personalDto.getPartnerIId() == null) { if (personalDto.getPartnerDto() != null) { try { personalDto.getPartnerDto().setPartnerartCNr(PartnerFac.PARTNERART_PERSON); try { personalDto.getPartnerDto().setLocaleCNrKommunikation(theClientDto.getLocMandantAsString()); } catch (Exception ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex); } personalDto.setPartnerIId( getPartnerFac().createPartner(personalDto.getPartnerDto(), theClientDto)); } catch (RemoteException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex); } } else { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("FEHLER_FELD_DARF_NICHT_NULL_SEIN")); } } else { try { if (personalDto.getPartnerDto() != null) { getPartnerFac().updatePartner(personalDto.getPartnerDto(), theClientDto); } } catch (RemoteException ex1) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex1); } } try { Query query2 = em.createNamedQuery("PersonalfindByPartnerIIdMandantCNr"); query2.setParameter(1, personalDto.getPartnerIId()); query2.setParameter(2, personalDto.getMandantCNr()); Personal doppelt1 = (Personal) query2.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONAL.UK")); } catch (NoResultException ex1) { } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_PERSONAL); personalDto.setIId(pk); try { Personal personal = new Personal(personalDto.getIId(), personalDto.getPartnerIId(), personalDto.getMandantCNr(), personalDto.getCPersonalnr(), personalDto.getPersonalartCNr(), personalDto.getKostenstelleIIdStamm()); em.persist(personal); em.flush(); if (personalDto.getBAnwesenheitsliste() == null) { personalDto.setBAnwesenheitsliste(personal.getBAnwesenheitsliste()); } if (personalDto.getBMaennlich() == null) { personalDto.setBMaennlich(personal.getBMaennlich()); } if (personalDto.getBUeberstundenausbezahlt() == null) { personalDto.setBUeberstundenausbezahlt(personal.getBUeberstundenausbezahlt()); } if (personalDto.getBVersteckt() == null) { personalDto.setBVersteckt(personal.getBVersteckt()); } if (personalDto.getBAnwesenheitTerminal() == null) { personalDto.setBAnwesenheitTerminal(personal.getBAnwesenheitTerminal()); } if (personalDto.getBAnwesenheitalleterminal() == null) { personalDto.setBAnwesenheitalleterminal(personal.getBAnwesenheitalleterminal()); } setPersonalFromPersonalDto(personal, personalDto); personal.setPersonalIIdAnlegen(theClientDto.getIDPersonal()); personal.setPersonalIIdAendern(theClientDto.getIDPersonal()); } catch (Exception e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, e); } return personalDto.getIId(); } private void pruefePersonalnummer(String cNr, TheClientDto theClientDto) throws EJBExceptionLP { if (cNr == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("cNr == null")); } String gueltigeZeichen = ""; try { ParametermandantDto parameter = getParameterFac().getMandantparameter(theClientDto.getMandant(), ParameterFac.KATEGORIE_PERSONAL, ParameterFac.PARAMETER_PERSONALNUMMER_ZEICHENSATZ); gueltigeZeichen = parameter.getCWert(); for (int i = 0; i < cNr.length(); i++) { boolean bErlaubt = false; char c = cNr.charAt(i); for (int j = 0; j < gueltigeZeichen.length(); j++) { if (c == gueltigeZeichen.charAt(j)) { bErlaubt = true; break; } } if (bErlaubt == false) { ArrayList<Object> l = new ArrayList<Object>(); l.add(new Character(c)); l.add(cNr); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PERSONAL_ZEICHEN_IN_PERSONALNUMMER_NICHT_ERLAUBT, l, new Exception("FEHLER_PERSONAL_ZEICHEN_IN_PERSONALNUMMER_NICHT_ERLAUBT")); } } } catch (RemoteException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex); } } public void removePersonal(PersonalDto personalDto, TheClientDto theClientDto) throws EJBExceptionLP { myLogger.entry(); if (personalDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalDto == null")); } if (personalDto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalDto.getIId() == null")); } try { Personal personal = em.find(Personal.class, personalDto.getIId()); if (personal == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(personal); em.flush(); } catch (Exception e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } /** * Schreibt Änderungen im Personaldatensatz zurück * * @param personalDto * PersonalDto * @param theClientDto * User-ID * @throws EJBExceptionLP */ public void updatePersonal(PersonalDto personalDto, TheClientDto theClientDto) throws EJBExceptionLP { if (personalDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalDto == null")); } if (personalDto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalDto.getIId() == null")); } if (personalDto.getBAnwesenheitsliste() == null || personalDto.getBMaennlich() == null || personalDto.getBUeberstundenausbezahlt() == null || personalDto.getBVersteckt() == null || personalDto.getPartnerIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "personalDto.getBAnwesenheitsliste() == null || personalDto.getBMaennlich() == null || personalDto.getBUeberstundenausbezahlt() == null || personalDto.getBVersteckt() == null || personalDto.getPartnerIId() == null ")); } Integer iId = personalDto.getIId(); // try { Personal personal = em.find(Personal.class, iId); if (personal == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { getPartnerFac().updatePartner(personalDto.getPartnerDto(), theClientDto); } catch (RemoteException ex1) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex1); } try { Query query = em.createNamedQuery("PersonalfindByCPersonalnrMandantCNr"); query.setParameter(1, personalDto.getCPersonalnr()); query.setParameter(2, theClientDto.getMandant()); Integer iIdVorhanden = ((Personal) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONAL.UK")); } } catch (javax.persistence.NoResultException ex) { // } pruefePersonalnummer(personalDto.getCPersonalnr(), theClientDto); if (personalDto.getCAusweis() != null) { // try { Query query1 = em.createNamedQuery("PersonalfindByCAusweis"); query1.setParameter(1, personalDto.getCAusweis()); Collection<?> cl = query1.getResultList(); // if (! cl.isEmpty()) { PersonalDto[] dtos = assemblePersonalDtos(cl, true); if (dtos != null && dtos.length > 0) { if (dtos[0].getIId().equals(iId) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PERSONAL_DUPLICATE_AUSWEIS, new Exception("PERS_PERSONAL.C_AUSWEIS")); } } // } // catch (FinderException ex1) { // nothing here // } } try { Query query2 = em.createNamedQuery("PersonalfindByPartnerIIdMandantCNr"); query2.setParameter(1, personalDto.getPartnerIId()); query2.setParameter(2, theClientDto.getMandant()); Personal doppelt = (Personal) query2.getSingleResult(); if (doppelt != null) { Integer iIdVorhanden = doppelt.getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONAL.UK")); } } } catch (javax.persistence.NoResultException ex) { // } // Wenn Person einem Zeitstift zugeordnet ist und der Ausweis ungleich // 3stellig ist, dann Fehler ZeitstiftDto[] zeitstiftDtos = null; try { zeitstiftDtos = getZeiterfassungFac().zeitstiftFindByPersonalIId(iId); } catch (RemoteException ex3) { throwEJBExceptionLPRespectOld(ex3); } if (zeitstiftDtos != null && zeitstiftDtos.length > 0) { for (int i = 0; i < zeitstiftDtos.length; i++) { if (personalDto.getCAusweis() == null || personalDto.getCAusweis().length() != 3) { if (zeitstiftDtos[i].getCTyp().equals(ZeiterfassungFac.ZEITSTIFT_TYP_F630)) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_AUSWEISNUMMER_ZESTIFT, new Exception("FEHLER_AUSWEISNUMMER_ZESTIFT")); } } } } setPersonalFromPersonalDto(personal, personalDto); personal.setTAendern(new java.sql.Timestamp(System.currentTimeMillis())); personal.setPersonalIIdAendern(theClientDto.getIDPersonal()); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } /** * Datet nur X_KOMMENTAR up * * @param personalDto * personalDto * @param theClientDto * der aktuelle Benutzer * @throws EJBExceptionLP */ public void updatePersonalKommentar(PersonalDto personalDto, TheClientDto theClientDto) throws EJBExceptionLP { if (personalDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalDto == null")); } if (personalDto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalDto.getIId() == null")); } // try { Personal personal = em.find(Personal.class, personalDto.getIId()); if (personal == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } personal.setXKommentar(personalDto.getXKommentar()); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, // ex); // } } public PartnerDtoSmall partnerDtoSmallFindByPersonalIId(Integer personalIId, TheClientDto theClientDto) throws EJBExceptionLP { // check2(cNrUserI); if (personalIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalIId == null")); } PartnerDtoSmall partnerDtoSmall = null; try { Personal personal = em.find(Personal.class, personalIId); if (personal == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } partnerDtoSmall = getPartnerFac().partnerFindByPrimaryKeySmall(personal.getPartnerIId(), theClientDto); partnerDtoSmall.setCPersonalnummer(personal.getCPersonalnr()); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // ex); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } return partnerDtoSmall; } /** * Holt einen Personaldatensatz und den dazugehörigen Partner- * Datensatz * * @param iId * Integer * @throws EJBExceptionLP * @return PersonalDto */ public PersonalDto personalFindByPrimaryKeySmall(Integer iId) throws EJBExceptionLP { if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } PersonalDto personalDto = personalFindByPrimaryKeySmallOhneExc(iId); if (personalDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return personalDto; } public PersonalDto personalFindByPrimaryKeySmallOhneExc(Integer iId) { if (iId == null) { return null; } Personal personal = em.find(Personal.class, iId); if (personal == null) { return null; } return assemblePersonalDto(personal); } /** * Holt einen Personaldatensatz und den dazugehörigen Partner- * Datensatz * * @param iId * Integer * @param theClientDto * String * @throws EJBExceptionLP * @return PersonalDto * @throws EJBExceptionLP */ public PersonalDto personalFindByPrimaryKey(Integer iId, TheClientDto theClientDto) throws EJBExceptionLP { // check2(idUser); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Personal personal = em.find(Personal.class, iId); if (personal == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } PersonalDto personalDto = assemblePersonalDto(personal); if (personalDto.getBerufIId() != null) { Beruf beruf = em.find(Beruf.class, personalDto.getBerufIId()); if (beruf == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } personalDto.setBerufDto(assembleBerufDto(beruf)); } if (personalDto.getKollektivIId() != null) { Kollektiv kollektiv = em.find(Kollektiv.class, personalDto.getKollektivIId()); if (kollektiv == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } personalDto.setKollektivDto(assembleKollektivDto(kollektiv)); } if (personalDto.getLohngruppeIId() != null) { Lohngruppe lohngruppe = em.find(Lohngruppe.class, personalDto.getLohngruppeIId()); if (lohngruppe == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } personalDto.setLohngruppeDto(assembleLohngruppeDto(lohngruppe)); } if (personalDto.getPendlerpauschaleIId() != null) { personalDto.setPendlerpauschaleDto(assemblePendlerpauschaleDto( em.find(Pendlerpauschale.class, personalDto.getPendlerpauschaleIId()))); } if (personalDto.getReligionIId() != null) { Religion religion = em.find(Religion.class, personalDto.getReligionIId()); if (religion == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } personalDto.setReligionDto(assembleReligionDto(religion)); } try { if (personalDto.getPartnerIIdSozialversicherer() != null) { personalDto.setPartnerDto_Sozialversicherer(getPartnerFac() .partnerFindByPrimaryKey(personalDto.getPartnerIIdSozialversicherer(), theClientDto)); } if (personalDto.getPartnerIIdFirma() != null) { personalDto.setPartnerDto_Firma( getPartnerFac().partnerFindByPrimaryKey(personalDto.getPartnerIIdFirma(), theClientDto)); } if (personalDto.getLandplzortIIdGeburt() != null) { personalDto.setLandplzortDto_Geburtsort( getSystemFac().landplzortFindByPrimaryKey(personalDto.getLandplzortIIdGeburt())); } if (personalDto.getLandIIdStaatsangehoerigkeit() != null) { personalDto.setLandDto( getSystemFac().landFindByPrimaryKey(personalDto.getLandIIdStaatsangehoerigkeit())); } if (personalDto.getKostenstelleIIdAbteilung() != null) { personalDto.setKostenstelleDto_Abteilung( getSystemFac().kostenstelleFindByPrimaryKey(personalDto.getKostenstelleIIdAbteilung())); } if (personalDto.getKostenstelleIIdStamm() != null) { personalDto.setKostenstelleDto_Stamm( getSystemFac().kostenstelleFindByPrimaryKey(personalDto.getKostenstelleIIdStamm())); } personalDto.setPartnerDto( getPartnerFac().partnerFindByPrimaryKey(personalDto.getPartnerIId(), theClientDto)); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } return personalDto; // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } private void setPersonalFromPersonalDto(Personal personal, PersonalDto personalDto) { personal.setPartnerIId(personalDto.getPartnerIId()); personal.setMandantCNr(personalDto.getMandantCNr()); personal.setCPersonalnr(personalDto.getCPersonalnr()); personal.setPersonalartCNr(personalDto.getPersonalartCNr()); personal.setCAusweis(personalDto.getCAusweis()); personal.setBMaennlich(personalDto.getBMaennlich()); personal.setFamilienstandCNr(personalDto.getFamilienstandCNr()); personal.setKollektivIId(personalDto.getKollektivIId()); personal.setBerufIId(personalDto.getBerufIId()); personal.setLohngruppeIId(personalDto.getLohngruppeIId()); personal.setLandIIdStaatsangehoerigkeit(personalDto.getLandIIdStaatsangehoerigkeit()); personal.setBUeberstundenausbezahlt(personalDto.getBUeberstundenausbezahlt()); personal.setReligionIId(personalDto.getReligionIId()); personal.setLandplzortIIdGeburt(personalDto.getLandplzortIIdGeburt()); personal.setTGeburtsdatum(personalDto.getTGeburtsdatum()); personal.setCSozialversnr(personalDto.getCSozialversnr()); personal.setPartnerIIdSozialversicherer(personalDto.getPartnerIIdSozialversicherer()); personal.setPartnerIIdFirma(personalDto.getPartnerIIdFirma()); personal.setKostenstelleIIdAbteilung(personalDto.getKostenstelleIIdAbteilung()); personal.setKostenstelleIIdStamm(personalDto.getKostenstelleIIdStamm()); personal.setBAnwesenheitsliste(personalDto.getBAnwesenheitsliste()); personal.setBAnwesenheitTerminal(personalDto.getBAnwesenheitTerminal()); personal.setBAnwesenheitalleterminal(personalDto.getBAnwesenheitalleterminal()); personal.setCKurzzeichen(personalDto.getCKurzzeichen()); personal.setPendlerpauschaleIId(personalDto.getPendlerpauschaleIId()); personal.setCUnterschriftsfunktion(personalDto.getCUnterschriftsfunktion()); personal.setCUnterschriftstext(personalDto.getCUnterschriftstext()); personal.setXKommentar(personalDto.getXKommentar()); personal.setBVersteckt(personalDto.getBVersteckt()); personal.setPersonalfunktionCNr(personalDto.getPersonalfunktionCNr()); personal.setPersonalIIdAnlegen(personalDto.getPersonalIIdAnlegen()); personal.setPersonalIIdAendern(personalDto.getPersonalIIdAendern()); personal.setCDirektfax(personalDto.getCDirektfax()); personal.setCEmail(personalDto.getCEmail()); personal.setCFax(personalDto.getCFax()); personal.setCHandy(personalDto.getCHandy()); personal.setCTelefon(personalDto.getCTelefon()); personal.setPersonalgruppeIId(personalDto.getPersonalgruppeIId()); personal.setCImapbenutzer(personalDto.getCImapbenutzer()); personal.setCImapkennwort(personalDto.getCImapkennwort()); em.merge(personal); em.flush(); } protected PersonalDto assemblePersonalDto(Personal personal) { return PersonalDtoAssembler.createDto(personal); } private PersonalDto[] assemblePersonalDtos(Collection<?> personals, boolean bPlusVersteckte) { List<PersonalDto> list = new ArrayList<PersonalDto>(); if (personals != null) { Iterator<?> iterator = personals.iterator(); while (iterator.hasNext()) { Personal personal = (Personal) iterator.next(); if (bPlusVersteckte == true) { list.add(assemblePersonalDto(personal)); } else { if (Helper.short2boolean(personal.getBVersteckt()) == false) { list.add(assemblePersonalDto(personal)); } } } } PersonalDto[] returnArray = new PersonalDto[list.size()]; return (PersonalDto[]) list.toArray(returnArray); } /** * Legt einen neue Lohngruppe an * * @param lohngruppeDto * LohngruppeDto * @param theClientDto * String * @throws EJBExceptionLP * @return Integer */ public Integer createLohngruppe(LohngruppeDto lohngruppeDto, TheClientDto theClientDto) throws EJBExceptionLP { if (lohngruppeDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("lohngruppeDto == null")); } if (lohngruppeDto.getCBez() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("lohngruppeDto.getCBez() == null")); } try { Query query = em.createNamedQuery("LohngruppefindByCBez"); query.setParameter(1, lohngruppeDto.getCBez()); Lohngruppe doppelt = (Lohngruppe) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_LOHNGRUPPE.C_BEZ")); } catch (NoResultException ex1) { } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_LOHNGRUPPE); lohngruppeDto.setIId(pk); try { Lohngruppe lohngruppe = new Lohngruppe(lohngruppeDto.getIId(), lohngruppeDto.getCBez()); em.persist(lohngruppe); em.flush(); setLohngruppeFromLohngruppeDto(lohngruppe, lohngruppeDto); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } return lohngruppeDto.getIId(); } /** * Entfernt eine vorhandene Lohngruppe * * @param iId * Integer * @throws EJBExceptionLP */ public void removeLohngruppe(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("iId == null")); } try { Lohngruppe lohngruppe = em.find(Lohngruppe.class, iId); if (lohngruppe == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(lohngruppe); em.flush(); } catch (Exception e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } /** * Speichert änderungen einer Lohngruppe * * @param lohngruppeDto * LohngruppeDto * @throws EJBExceptionLP */ public void updateLohngruppe(LohngruppeDto lohngruppeDto) throws EJBExceptionLP { myLogger.entry(); if (lohngruppeDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("lohngruppeDto == null")); } if (lohngruppeDto.getIId() == null || lohngruppeDto.getCBez() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("lohngruppeDto.getIId() == null || lohngruppeDto.getCBez() == null")); } Integer iId = lohngruppeDto.getIId(); // try { Lohngruppe lohngruppe = em.find(Lohngruppe.class, iId); if (lohngruppe == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("LohngruppefindByCBez"); query.setParameter(1, lohngruppeDto.getCBez()); Integer iIdVorhanden = ((Lohngruppe) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_LOHNGRUPPE.C_BEZ")); } } catch (NoResultException ex) { // } setLohngruppeFromLohngruppeDto(lohngruppe, lohngruppeDto); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, // ex); // } } /** * Holt eine bestimmte Lohngruppe * * @param iId * Integer * @throws EJBExceptionLP * @return LohngruppeDto */ public LohngruppeDto lohngruppeFindByPrimaryKey(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } try { Lohngruppe lohngruppe = em.find(Lohngruppe.class, iId); if (lohngruppe == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assembleLohngruppeDto(lohngruppe); } catch (Exception e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, e); } } private void setLohngruppeFromLohngruppeDto(Lohngruppe lohngruppe, LohngruppeDto lohngruppeDto) { lohngruppe.setCBez(lohngruppeDto.getCBez()); em.merge(lohngruppe); em.flush(); } private LohngruppeDto assembleLohngruppeDto(Lohngruppe lohngruppe) { return LohngruppeDtoAssembler.createDto(lohngruppe); } private LohngruppeDto[] assembleLohngruppeDtos(Collection<?> lohngruppes) { List<LohngruppeDto> list = new ArrayList<LohngruppeDto>(); if (lohngruppes != null) { Iterator<?> iterator = lohngruppes.iterator(); while (iterator.hasNext()) { Lohngruppe lohngruppe = (Lohngruppe) iterator.next(); list.add(assembleLohngruppeDto(lohngruppe)); } } LohngruppeDto[] returnArray = new LohngruppeDto[list.size()]; return (LohngruppeDto[]) list.toArray(returnArray); } public Integer createReligion(ReligionDto religionDto, TheClientDto theClientDto) throws EJBExceptionLP { if (religionDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("religionDto == null")); } if (religionDto.getCNr() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("religionDto.getCNr() == null")); } try { Query query = em.createNamedQuery("ReligionfindByCNr"); query.setParameter(1, religionDto.getCNr()); Religion doppelt = (Religion) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_RELIGION.C_NR")); } catch (NoResultException ex1) { // nothing here } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_RELIGION); religionDto.setIId(pk); Religion religion = new Religion(religionDto.getIId(), religionDto.getCNr()); em.persist(religion); em.flush(); setReligionFromReligionDto(religion, religionDto); // flrsort: 4 wenn jeder haupteintrag einen spreintrag hat - null // gilt auch - // dann kommen beim sortieren der bezeichnung auch alle! // if (religionDto.getReligionsprDto() != null) { String sprache = theClientDto.getLocUiAsString(); Religionspr religionspr = new Religionspr(sprache, religionDto.getIId()); em.persist(religionspr); em.flush(); setReligionsprFromReligionsprDto(religionspr, religionDto.getReligionsprDto()); // } return religionDto.getIId(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } } public void removeReligion(ReligionDto religionDto) throws EJBExceptionLP { myLogger.entry(); if (religionDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("religionDto == null")); } if (religionDto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("religionDto.getIId() == null")); } try { // try { Query query = em.createNamedQuery("ReligionsprfindByReligionIId"); query.setParameter(1, religionDto.getIId()); Collection<?> allReligionspr = query.getResultList(); Iterator<?> iter = allReligionspr.iterator(); while (iter.hasNext()) { Religionspr religionsprTemp = (Religionspr) iter.next(); em.remove(religionsprTemp); } // } // catch (RemoveException ex) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEIM_LOESCHEN, ex); // } Religion religion = em.find(Religion.class, religionDto.getIId()); if (religion == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(religion); em.flush(); } catch (Exception e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void updateReligion(ReligionDto religionDto, TheClientDto theClientDto) throws EJBExceptionLP { if (religionDto != null) { Integer iId = religionDto.getIId(); Religion religion = null; // try { religion = em.find(Religion.class, iId); if (religion == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } // } // catch (FinderException ex1) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, ex1); // } try { Query query = em.createNamedQuery("ReligionfindByCNr"); query.setParameter(1, religionDto.getCNr()); Integer iIdVorhanden = ((Religion) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_RELIGION.CNR")); } } catch (NoResultException ex) { // } setReligionFromReligionDto(religion, religionDto); if (religionDto.getReligionsprDto() != null) { // try { Religionspr religionspr = em.find(Religionspr.class, new ReligionsprPK(theClientDto.getLocUiAsString(), iId)); if (religionspr == null) { religionspr = null; try { religionspr = new Religionspr(theClientDto.getLocUiAsString(), iId); em.persist(religionspr); em.flush(); } catch (EntityExistsException ex3) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, ex3); } setReligionsprFromReligionsprDto(religionspr, religionDto.getReligionsprDto()); } setReligionsprFromReligionsprDto(religionspr, religionDto.getReligionsprDto()); // } // catch (FinderException ex) { // Religionspr religionspr = null; // try { // religionspr = new // Religionspr(getTheClient(idUser).getLocUiAsString(), iId); // em.persist(religionspr); // } // catch (CreateException ex3) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEIM_ANLEGEN, ex3); // } // setReligionsprFromReligionsprDto(religionspr, // religionDto.getReligionsprDto()); // } } } } public ReligionDto religionFindByPrimaryKey(Integer iId, TheClientDto theClientDto) throws EJBExceptionLP { if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Religion religion = em.find(Religion.class, iId); if (religion == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } ReligionDto religionDto = assembleReligionDto(religion); ReligionsprDto religionsprDto = null; // try { String sprache = theClientDto.getLocUiAsString(); Religionspr religionspr = em.find(Religionspr.class, new ReligionsprPK(sprache, iId)); if (religionspr != null) { religionsprDto = assembleReligionsprDto(religionspr); } // } // catch (FinderException ex) { // } if (religionsprDto == null) { // try { String konzernsprache = theClientDto.getLocKonzernAsString(); Religionspr temp = em.find(Religionspr.class, new ReligionsprPK(konzernsprache, iId)); if (temp != null) { religionsprDto = assembleReligionsprDto(temp); } // } // catch (FinderException ex) { // } } religionDto.setReligionsprDto(religionsprDto); return religionDto; // } // catch (Exception e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } private void setReligionFromReligionDto(Religion religion, ReligionDto religionDto) { religion.setCNr(religionDto.getCNr()); em.merge(religion); em.flush(); } private ReligionDto assembleReligionDto(Religion religion) { return ReligionDtoAssembler.createDto(religion); } private ReligionDto[] assembleReligionDtos(Collection<?> religions) { List<ReligionDto> list = new ArrayList<ReligionDto>(); if (religions != null) { Iterator<?> iterator = religions.iterator(); while (iterator.hasNext()) { Religion religion = (Religion) iterator.next(); list.add(assembleReligionDto(religion)); } } ReligionDto[] returnArray = new ReligionDto[list.size()]; return (ReligionDto[]) list.toArray(returnArray); } private void setReligionsprFromReligionsprDto(Religionspr religionspr, ReligionsprDto religionsprDto) { religionspr.setCBez(religionsprDto.getCBez()); em.merge(religionspr); em.flush(); } private ReligionsprDto assembleReligionsprDto(Religionspr religionspr) { return ReligionsprDtoAssembler.createDto(religionspr); } private ReligionsprDto[] assembleReligionsprDtos(Collection<?> religionsprs) { List<ReligionsprDto> list = new ArrayList<ReligionsprDto>(); if (religionsprs != null) { Iterator<?> iterator = religionsprs.iterator(); while (iterator.hasNext()) { Religionspr religionspr = (Religionspr) iterator.next(); list.add(assembleReligionsprDto(religionspr)); } } ReligionsprDto[] returnArray = new ReligionsprDto[list.size()]; return (ReligionsprDto[]) list.toArray(returnArray); } private void setPersonalartsprFromPersonalartsprDto(Personalartspr personalartspr, PersonalartsprDto personalartsprDto) { personalartspr.setCBez(personalartsprDto.getCBez()); em.merge(personalartspr); em.flush(); } private PersonalartsprDto assemblePersonalartsprDto(Personalartspr personalartspr) { return PersonalartsprDtoAssembler.createDto(personalartspr); } private PersonalartsprDto[] assemblePersonalartsprDtos(Collection<?> personalartsprs) { List<PersonalartsprDto> list = new ArrayList<PersonalartsprDto>(); if (personalartsprs != null) { Iterator<?> iterator = personalartsprs.iterator(); while (iterator.hasNext()) { Personalartspr personalartspr = (Personalartspr) iterator.next(); list.add(assemblePersonalartsprDto(personalartspr)); } } PersonalartsprDto[] returnArray = new PersonalartsprDto[list.size()]; return (PersonalartsprDto[]) list.toArray(returnArray); } private void setPersonalartFromPersonalartDto(Personalart personalart, PersonalartDto personalartDto) { em.merge(personalart); em.flush(); } private PersonalartDto assemblePersonalartDto(Personalart personalart) { return PersonalartDtoAssembler.createDto(personalart); } private PersonalartDto[] assemblePersonalartDtos(Collection<?> personalarts) { List<PersonalartDto> list = new ArrayList<PersonalartDto>(); if (personalarts != null) { Iterator<?> iterator = personalarts.iterator(); while (iterator.hasNext()) { Personalart personalart = (Personalart) iterator.next(); list.add(assemblePersonalartDto(personalart)); } } PersonalartDto[] returnArray = new PersonalartDto[list.size()]; return (PersonalartDto[]) list.toArray(returnArray); } private void setAngehoerigenartFromAngehoerigenartDto(Angehoerigenart angehoerigenart, AngehoerigenartDto angehoerigenartDto) { angehoerigenart.setISort(angehoerigenartDto.getISort()); em.merge(angehoerigenart); em.flush(); } private AngehoerigenartDto assembleAngehoerigenartDto(Angehoerigenart angehoerigenart) { return AngehoerigenartDtoAssembler.createDto(angehoerigenart); } private AngehoerigenartDto[] assembleAngehoerigenartDtos(Collection<?> angehoerigenarts) { List<AngehoerigenartDto> list = new ArrayList<AngehoerigenartDto>(); if (angehoerigenarts != null) { Iterator<?> iterator = angehoerigenarts.iterator(); while (iterator.hasNext()) { Angehoerigenart angehoerigenart = (Angehoerigenart) iterator.next(); list.add(assembleAngehoerigenartDto(angehoerigenart)); } } AngehoerigenartDto[] returnArray = new AngehoerigenartDto[list.size()]; return (AngehoerigenartDto[]) list.toArray(returnArray); } private void setFamilienstandFromFamilienstandDto(Familienstand familienstand, FamilienstandDto familienstandDto) { familienstand.setISort(familienstandDto.getISort()); em.merge(familienstand); em.flush(); } private FamilienstandDto assembleFamilienstandDto(Familienstand familienstand) { return FamilienstandDtoAssembler.createDto(familienstand); } private FamilienstandDto[] assembleFamilienstandDtos(Collection<?> familienstands) { List<FamilienstandDto> list = new ArrayList<FamilienstandDto>(); if (familienstands != null) { Iterator<?> iterator = familienstands.iterator(); while (iterator.hasNext()) { Familienstand familienstand = (Familienstand) iterator.next(); list.add(assembleFamilienstandDto(familienstand)); } } FamilienstandDto[] returnArray = new FamilienstandDto[list.size()]; return (FamilienstandDto[]) list.toArray(returnArray); } public Integer createPersonalangehoerige(PersonalangehoerigeDto personalangehoerigeDto, TheClientDto theClientDto) throws EJBExceptionLP { if (personalangehoerigeDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("partnerkommunikationDto == null")); } if (personalangehoerigeDto.getPersonalIId() == null || personalangehoerigeDto.getAngehoerigenartCNr() == null || personalangehoerigeDto.getCVorname() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "personalangehoerigeDto.getPersonalPartnerIId() == null || personalangehoerigeDto.getAngehoerigenartCNr() == null || personalangehoerigeDto.getCVorname() == null")); } try { Query query = em.createNamedQuery("PersonalangehoerigefindByPersonalIIdAngegoerigenartCNrCVorname"); query.setParameter(1, personalangehoerigeDto.getPersonalIId()); query.setParameter(2, personalangehoerigeDto.getAngehoerigenartCNr()); query.setParameter(3, personalangehoerigeDto.getCVorname()); Personalangehoerige doppelt = (Personalangehoerige) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONALANGEHOERIGE.UK")); } catch (NoResultException ex1) { } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_PERSONALANGEHOERIGE); personalangehoerigeDto.setIId(pk); Personalangehoerige personalangehoerige = new Personalangehoerige(personalangehoerigeDto.getIId(), personalangehoerigeDto.getPersonalIId(), personalangehoerigeDto.getAngehoerigenartCNr(), personalangehoerigeDto.getCVorname()); em.persist(personalangehoerige); em.flush(); setPersonalangehoerigeFromPersonalangehoerigeDto(personalangehoerige, personalangehoerigeDto); } catch (Exception e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } return personalangehoerigeDto.getIId(); } public void removePersonalangehoerige(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } try { Personalangehoerige personalangehoerige = em.find(Personalangehoerige.class, iId); if (personalangehoerige == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(personalangehoerige); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void updatePersonalangehoerige(PersonalangehoerigeDto personalangehoerigeDto) throws EJBExceptionLP { if (personalangehoerigeDto != null) { Integer iId = personalangehoerigeDto.getIId(); // try { Personalangehoerige personalangehoerige = em.find(Personalangehoerige.class, iId); if (personalangehoerige == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } setPersonalangehoerigeFromPersonalangehoerigeDto(personalangehoerige, personalangehoerigeDto); // } // catch (FinderException ex) { // throw new // EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ex); // } } } public PersonalangehoerigeDto personalangehoerigeFindByPrimaryKey(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Personalangehoerige personalangehoerige = em.find(Personalangehoerige.class, iId); if (personalangehoerige == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } PersonalangehoerigeDto personalangehoerigeDto = assemblePersonalangehoerigeDto(personalangehoerige); return personalangehoerigeDto; // } // catch (Exception e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } private void setPersonalangehoerigeFromPersonalangehoerigeDto(Personalangehoerige personalangehoerige, PersonalangehoerigeDto personalangehoerigeDto) { personalangehoerige.setPersonalIId(personalangehoerigeDto.getPersonalIId()); personalangehoerige.setAngehoerigenartCNr(personalangehoerigeDto.getAngehoerigenartCNr()); personalangehoerige.setCVorname(personalangehoerigeDto.getCVorname()); personalangehoerige.setCName(personalangehoerigeDto.getCName()); personalangehoerige.setTGeburtsdatum(personalangehoerigeDto.getTGeburtsdatum()); personalangehoerige.setCSozialversnr(personalangehoerigeDto.getCSozialversnr()); em.merge(personalangehoerige); em.flush(); } private PersonalangehoerigeDto assemblePersonalangehoerigeDto(Personalangehoerige personalangehoerige) { return PersonalangehoerigeDtoAssembler.createDto(personalangehoerige); } private PersonalangehoerigeDto[] assemblePersonalangehoerigeDtos(Collection<?> personalangehoeriges) { List<PersonalangehoerigeDto> list = new ArrayList<PersonalangehoerigeDto>(); if (personalangehoeriges != null) { Iterator<?> iterator = personalangehoeriges.iterator(); while (iterator.hasNext()) { Personalangehoerige personalangehoerige = (Personalangehoerige) iterator.next(); list.add(assemblePersonalangehoerigeDto(personalangehoerige)); } } PersonalangehoerigeDto[] returnArray = new PersonalangehoerigeDto[list.size()]; return (PersonalangehoerigeDto[]) list.toArray(returnArray); } public Integer createKollektiv(KollektivDto kollektivDto, TheClientDto theClientDto) throws EJBExceptionLP { if (kollektivDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("kollektivDto == null")); } if (kollektivDto.getCBez() == null || kollektivDto.getBUestdverteilen() == null || kollektivDto.getBVerbraucheuestd() == null || kollektivDto.getBUestdabsollstderbracht() == null || kollektivDto.getNFaktoruestd100() == null || kollektivDto.getNFaktoruestd50() == null || kollektivDto.getNFaktormehrstd() == null || kollektivDto.getNFaktoruestd200() == null || kollektivDto.getN200prozentigeab() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "kollektivDto.getCBez() == null || kollektivDto.getBUestdverteilen() == null || kollektivDto.getBUestdabsollstderbracht() == null || kollektivDto.getBVerbraucheuestd() == null || kollektivDto.getNFaktoruestd100() == null || kollektivDto.getNFaktoruestd50() == null || kollektivDto.getNFaktormehrstd() == null || kollektivDto.getNFaktoruestd200() == null || kollektivDto.getN200prozentigeab() == null")); } try { Query query = em.createNamedQuery("KollektivfindByCBez"); query.setParameter(1, kollektivDto.getCBez()); Kollektiv doppelt = (Kollektiv) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_KOLLEKTIV.C_BEZ")); } catch (NoResultException ex1) { // nothing here } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_KOLLEKTIV); kollektivDto.setIId(pk); try { Kollektiv kollektiv = new Kollektiv(kollektivDto.getIId(), kollektivDto.getCBez(), kollektivDto.getBVerbraucheuestd(), kollektivDto.getNFaktoruestd50(), kollektivDto.getNFaktoruestd100(), kollektivDto.getNFaktormehrstd(), kollektivDto.getBUestdabsollstderbracht(), kollektivDto.getBUestdverteilen(), kollektivDto.getNFaktoruestd200(), kollektivDto.getN200prozentigeab()); em.persist(kollektiv); em.flush(); setKollektivFromKollektivDto(kollektiv, kollektivDto); } catch (Exception e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } return kollektivDto.getIId(); } public void removeKollektiv(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("iId == null")); } try { Kollektiv kollektiv = em.find(Kollektiv.class, iId); if (kollektiv == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(kollektiv); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void removeLohnart(Integer iId) { try { Lohnart lohnart = em.find(Lohnart.class, iId); if (lohnart == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(lohnart); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void removeLohnartstundenfaktor(Integer iId) { try { Lohnartstundenfaktor lohnartstundenfaktor = em.find(Lohnartstundenfaktor.class, iId); if (lohnartstundenfaktor == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(lohnartstundenfaktor); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void removeLohnstundenart(String cNr) { try { Lohnart lohnart = em.find(Lohnart.class, cNr); if (lohnart == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(lohnart); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void updateKollektiv(KollektivDto kollektivDto) throws EJBExceptionLP { myLogger.entry(); if (kollektivDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("kollektivDto == null")); } if (kollektivDto.getIId() == null || kollektivDto.getCBez() == null || kollektivDto.getNFaktoruestd100() == null || kollektivDto.getBUestdabsollstderbracht() == null || kollektivDto.getBUestdverteilen() == null || kollektivDto.getNFaktoruestd50() == null || kollektivDto.getNFaktormehrstd() == null || kollektivDto.getNFaktoruestd200() == null || kollektivDto.getN200prozentigeab() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "kollektivDto.getIId() == null || kollektivDto.getBUestdverteilen() == null || kollektivDto.getBUestdabsollstderbracht() == null || kollektivDto.getCBez() == null || kollektivDto.getNFaktoruestd100() == null || kollektivDto.getNFaktoruestd50() == null || kollektivDto.getNFaktormehrstd() == null || kollektivDto.getNFaktoruestd200() == null || kollektivDto.getN200prozentigeab() == null")); } Integer iId = kollektivDto.getIId(); // try { Kollektiv kollektiv = em.find(Kollektiv.class, iId); if (kollektiv == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("KollektivfindByCBez"); query.setParameter(1, kollektivDto.getCBez()); Integer iIdVorhanden = ((Kollektiv) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_KOLLEKTIV.C_BEZ")); } } catch (NoResultException ex) { // } setKollektivFromKollektivDto(kollektiv, kollektivDto); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, // ex); // } } public void updateLohnart(LohnartDto lohnartDto) { Integer iId = lohnartDto.getIId(); // try { Lohnart kollektiv = em.find(Lohnart.class, iId); if (kollektiv == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("LohnartfindByILohnart"); query.setParameter(1, lohnartDto.getILohnart()); Integer iIdVorhanden = ((Lohnart) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_KOLLEKTIV.C_BEZ")); } } catch (NoResultException ex) { // } setLohnartFromLohnartDto(kollektiv, lohnartDto); } public void updateLohnartstundenfaktor(LohnartstundenfaktorDto lohnartstundenfaktorDto) { Integer iId = lohnartstundenfaktorDto.getIId(); // try { Lohnartstundenfaktor lohnartstundenfaktor = em.find(Lohnartstundenfaktor.class, iId); if (lohnartstundenfaktor == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("LohnartstundenfaktorfindByLohnartIIdLohnstundenartCNrTagesartIId"); query.setParameter(1, lohnartstundenfaktor.getLohnartIId()); query.setParameter(2, lohnartstundenfaktor.getLohnstundenartCNr()); query.setParameter(3, lohnartstundenfaktor.getTagesartIId()); Integer iIdVorhanden = ((Lohnartstundenfaktor) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_LOHNARTSTUNDENFAKTOR.UK")); } } catch (NoResultException ex) { // } setLohnartstundenfaktorFromLohnartstundenfaktorDto(lohnartstundenfaktor, lohnartstundenfaktorDto); } public void updateLohnstundenart(LohnstundenartDto lohnstundenartDto) { String cNr = lohnstundenartDto.getCNr(); // try { Lohnstundenart lohnstundenart = em.find(Lohnstundenart.class, cNr); if (lohnstundenart == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } setLohnstundenartFromLohnstundenartDto(lohnstundenart, lohnstundenartDto); } public Map getAllSprFamilienstaende(String cNrSpracheI) throws EJBExceptionLP { myLogger.entry(); TreeMap<Object, Object> tmArten = new TreeMap<Object, Object>(); // try { Query query = em.createNamedQuery("FamilienstandfindAll"); Collection<?> clArten = query.getResultList(); // if (clArten.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, null); // } Iterator<?> itArten = clArten.iterator(); while (itArten.hasNext()) { Familienstand familienstandTemp = (Familienstand) itArten.next(); Object key = familienstandTemp.getCNr(); Object value = null; // try { Familienstandspr familienstandspr = em.find(Familienstandspr.class, new FamilienstandsprPK(cNrSpracheI, familienstandTemp.getCNr())); if (familienstandspr == null) { // fuer locale und C_NR keine Bezeichnu g vorhanden ... value = familienstandTemp.getCNr(); } else { value = familienstandspr.getCBez(); } // } // catch (FinderException ex1) { // fuer locale und C_NR keine Bezeichnu g vorhanden ... // value = familienstandTemp.getCNr(); // } tmArten.put(key, value); } // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, ex); // } return tmArten; } public HashMap getAllKurzzeichen() throws EJBExceptionLP { Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRPersonal.class); List<?> results = crit.list(); Iterator<?> resultListIterator = results.iterator(); HashMap<Integer, String> h = new HashMap<Integer, String>(); while (resultListIterator.hasNext()) { FLRPersonal fehlmenge = (FLRPersonal) resultListIterator.next(); h.put(fehlmenge.getI_id(), fehlmenge.getC_kurzzeichen()); } session.close(); return h; } public Map getAllSprangehoerigenarten(String cNrSpracheI) throws EJBExceptionLP { myLogger.entry(); TreeMap<Object, Object> tmArten = new TreeMap<Object, Object>(); // try { Query query = em.createNamedQuery("AngehoerigenartfindAll"); Collection<?> clArten = query.getResultList(); // if (clArten.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, null); // } Iterator<?> itArten = clArten.iterator(); while (itArten.hasNext()) { Angehoerigenart angehoerigenartTemp = (Angehoerigenart) itArten.next(); Object key = angehoerigenartTemp.getCNr(); Object value = null; // try { Angehoerigenartspr angehoerigenartspr = em.find(Angehoerigenartspr.class, new AngehoerigenartsprPK(cNrSpracheI, angehoerigenartTemp.getCNr())); if (angehoerigenartspr == null) { // fuer locale und C_NR keine Bezeichnug vorhanden ... value = angehoerigenartTemp.getCNr(); } else { value = angehoerigenartspr.getCBez(); } // } // catch (FinderException ex1) { // fuer locale und C_NR keine Bezeichnug vorhanden ... // value = angehoerigenartTemp.getCNr(); // } tmArten.put(key, value); } // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, ex); // } return tmArten; } /** * uselocalspr: 0 Hole alle Personalarten nach Spr. * * @param cNrSpracheI * String * @throws EJBExceptionLP * @return Map */ public Map getAllSprPersonalarten(String cNrSpracheI) throws EJBExceptionLP { myLogger.entry(); TreeMap<Object, Object> tmArten = new TreeMap<Object, Object>(); // try { Query query = em.createNamedQuery("PersonalartfindAll"); Collection<?> clArten = query.getResultList(); // if (clArten.isEmpty() ) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, null); // } Iterator<?> itArten = clArten.iterator(); while (itArten.hasNext()) { Personalart personalartTemp = (Personalart) itArten.next(); Object key = personalartTemp.getCNr(); Object value = null; // try { Personalartspr personalartspr = em.find(Personalartspr.class, new PersonalartsprPK(cNrSpracheI, personalartTemp.getCNr())); if (personalartspr == null) { // fuer locale und C_NR keine Bezeichnu g vorhanden ... value = personalartTemp.getCNr(); } else { value = personalartspr.getCBez(); } // } // catch (FinderException ex1) { // fuer locale und C_NR keine Bezeichnu g vorhanden ... // value = personalartTemp.getCNr(); // } tmArten.put(key, value); } // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, ex); // } return tmArten; } public PersonalDto[] getAllPersonenOhneEintragInEintrittAustritt(TheClientDto theClientDto, Boolean bPlusVersteckte, Integer iOption) throws EJBExceptionLP { PersonalDto[] personalDtos = null; if (iOption.intValue() == ZeiterfassungFac.REPORT_SONDERZEITENLISTE_OPTION_ALLE_PERSONEN) { personalDtos = personalFindByMandantCNr(theClientDto.getMandant(), bPlusVersteckte); } else if (iOption.intValue() == ZeiterfassungFac.REPORT_SONDERZEITENLISTE_OPTION_ALLE_ARBEITER) { personalDtos = personalFindAllArbeiterEinesMandanten(theClientDto.getMandant(), bPlusVersteckte); } else if (iOption.intValue() == ZeiterfassungFac.REPORT_SONDERZEITENLISTE_OPTION_ALLE_ANGESTELLTE) { personalDtos = personalFindAllAngestellteEinesMandanten(theClientDto.getMandant(), bPlusVersteckte); } else { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, new Exception("OPTION NICHT VERFUEGBAR")); } for (int i = 0; i < personalDtos.length; i++) { } List<PersonalDto> list = new ArrayList<PersonalDto>(); for (int i = 0; i < personalDtos.length; i++) { // try { Query query = em.createNamedQuery("EintrittaustrittfindByPersonalIId"); query.setParameter(1, personalDtos[i].getIId()); Collection<?> cl = query.getResultList(); // if (! cl.isEmpty()) { if (assembleEintrittaustrittDtos(cl).length < 1) { list.add(personalFindByPrimaryKey(personalDtos[i].getIId(), theClientDto)); } // } // catch (FinderException ex) { // nix da // } } PersonalDto[] returnArray = new PersonalDto[list.size()]; return (PersonalDto[]) list.toArray(returnArray); } /** * uselocalspr: 0 Hole alle Personalfunktionen nach Spr. * * @param cNrSpracheI * String * @throws EJBExceptionLP * @return Map */ public Map getAllSprPersonalfunktionen(String cNrSpracheI) throws EJBExceptionLP { myLogger.entry(); TreeMap<Object, Object> tmArten = new TreeMap<Object, Object>(); // try { Query query = em.createNamedQuery("PersonalfunktionfindAll"); Collection<?> clArten = query.getResultList(); // if (clArten.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, null); // } Iterator<?> itArten = clArten.iterator(); while (itArten.hasNext()) { Personalfunktion personalfunktionTemp = (Personalfunktion) itArten.next(); Object key = personalfunktionTemp.getCNr(); Object value = null; // try { Personalfunktionspr personalfunktionspr = em.find(Personalfunktionspr.class, new PersonalfunktionsprPK(cNrSpracheI, personalfunktionTemp.getCNr())); if (personalfunktionspr == null) { // fuer locale und C_NR keine Bezeichnug vorhanden ... value = personalfunktionTemp.getCNr(); } else { value = personalfunktionspr.getCBez(); } // } // catch (FinderException ex1) { // fuer locale und C_NR keine Bezeichnug vorhanden ... // value = personalfunktionTemp.getCNr(); // } tmArten.put(key, value); } // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, ex); // } return tmArten; } public KollektivDto kollektivFindByPrimaryKey(Integer iId) throws EJBExceptionLP { if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Kollektiv kollektiv = em.find(Kollektiv.class, iId); if (kollektiv == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assembleKollektivDto(kollektiv); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } private void setKollektivFromKollektivDto(Kollektiv kollektiv, KollektivDto kollektivDto) { kollektiv.setCBez(kollektivDto.getCBez()); kollektiv.setBVerbraucheuestdt(kollektivDto.getBVerbraucheuestd()); kollektiv.setBUestdabsollstderbracht(kollektivDto.getBUestdabsollstderbracht()); kollektiv.setNNormalstunden(kollektivDto.getNNormalstunden()); kollektiv.setNFaktoruestd100(kollektivDto.getNFaktoruestd100()); kollektiv.setNFaktoruestd50(kollektivDto.getNFaktoruestd50()); kollektiv.setNFaktormehrstd(kollektivDto.getNFaktormehrstd()); kollektiv.setUBlockzeitab(kollektivDto.getUBlockzeitab()); kollektiv.setUBlockzeitbis(kollektivDto.getUBlockzeitbis()); kollektiv.setBUestdverteilen(kollektivDto.getBUestdverteilen()); kollektiv.setNFaktoruestd200(kollektivDto.getNFaktoruestd200()); kollektiv.setN200prozentigeab(kollektivDto.getN200prozentigeab()); em.merge(kollektiv); em.flush(); } private KollektivDto assembleKollektivDto(Kollektiv kollektiv) { return KollektivDtoAssembler.createDto(kollektiv); } private KollektivDto[] assembleKollektivDtos(Collection<?> kollektivs) { List<KollektivDto> list = new ArrayList<KollektivDto>(); if (kollektivs != null) { Iterator<?> iterator = kollektivs.iterator(); while (iterator.hasNext()) { Kollektiv kollektiv = (Kollektiv) iterator.next(); list.add(assembleKollektivDto(kollektiv)); } } KollektivDto[] returnArray = new KollektivDto[list.size()]; return (KollektivDto[]) list.toArray(returnArray); } public Integer createPendlerpauschale(PendlerpauschaleDto pendlerpauschaleDto, TheClientDto theClientDto) throws EJBExceptionLP { if (pendlerpauschaleDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("pendlerpauschaleDto == null")); } if (pendlerpauschaleDto.getCBez() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("pendlerpauschaleDto.getCBez() == null")); } try { Query query = em.createNamedQuery("PendlerpauschalefindByCBez"); query.setParameter(1, pendlerpauschaleDto.getCBez()); Pendlerpauschale doppelt = (Pendlerpauschale) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PENDLERPAUSCHALE.C_BEZ")); } catch (NoResultException ex1) { } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_PENDLERPAUSCHALE); pendlerpauschaleDto.setIId(pk); try { Pendlerpauschale pendlerpauschale = new Pendlerpauschale(pendlerpauschaleDto.getIId(), pendlerpauschaleDto.getCBez()); em.persist(pendlerpauschale); em.flush(); setPendlerpauschaleFromPendlerpauschaleDto(pendlerpauschale, pendlerpauschaleDto); } catch (Exception e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } return pendlerpauschaleDto.getIId(); } public void removePendlerpauschale(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("iId == null")); } try { Pendlerpauschale pendlerpauschale = em.find(Pendlerpauschale.class, iId); if (pendlerpauschale == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(pendlerpauschale); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void updatePendlerpauschale(PendlerpauschaleDto pendlerpauschaleDto) throws EJBExceptionLP { myLogger.entry(); if (pendlerpauschaleDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("pendlerpauschaleDto == null")); } if (pendlerpauschaleDto.getIId() == null || pendlerpauschaleDto.getCBez() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("pendlerpauschaleDto.getIId() == null || pendlerpauschaleDto.getCBez() == null")); } Integer iId = pendlerpauschaleDto.getIId(); // try { Pendlerpauschale pendlerpauschale = em.find(Pendlerpauschale.class, iId); if (pendlerpauschale == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("PendlerpauschalefindByCBez"); query.setParameter(1, pendlerpauschaleDto.getCBez()); Integer iIdVorhanden = ((Pendlerpauschale) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PENDLERPAUSCHALE.C_BEZ")); } } catch (NoResultException ex) { // } setPendlerpauschaleFromPendlerpauschaleDto(pendlerpauschale, pendlerpauschaleDto); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public PendlerpauschaleDto pendlerpauschaleFindByPrimaryKey(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Pendlerpauschale pendlerpauschale = em.find(Pendlerpauschale.class, iId); if (pendlerpauschale == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assemblePendlerpauschaleDto(pendlerpauschale); // } // catch (Exception e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } private void setPendlerpauschaleFromPendlerpauschaleDto(Pendlerpauschale pendlerpauschale, PendlerpauschaleDto pendlerpauschaleDto) { pendlerpauschale.setCBez(pendlerpauschaleDto.getCBez()); em.merge(pendlerpauschale); em.flush(); } private PendlerpauschaleDto assemblePendlerpauschaleDto(Pendlerpauschale pendlerpauschale) { return PendlerpauschaleDtoAssembler.createDto(pendlerpauschale); } private PendlerpauschaleDto[] assemblePendlerpauschaleDtos(Collection<?> pendlerpauschales) { List<PendlerpauschaleDto> list = new ArrayList<PendlerpauschaleDto>(); if (pendlerpauschales != null) { Iterator<?> iterator = pendlerpauschales.iterator(); while (iterator.hasNext()) { Pendlerpauschale pendlerpauschale = (Pendlerpauschale) iterator.next(); list.add(assemblePendlerpauschaleDto(pendlerpauschale)); } } PendlerpauschaleDto[] returnArray = new PendlerpauschaleDto[list.size()]; return (PendlerpauschaleDto[]) list.toArray(returnArray); } private void setFamilienstandsprFromFamilienstandsprDto(Familienstandspr familienstandspr, FamilienstandsprDto familienstandsprDto) { familienstandspr.setCBez(familienstandsprDto.getCBez()); em.merge(familienstandspr); em.flush(); } private FamilienstandsprDto assembleFamilienstandsprDto(Familienstandspr familienstandspr) { return FamilienstandsprDtoAssembler.createDto(familienstandspr); } private FamilienstandsprDto[] assembleFamilienstandsprDtos(Collection<?> familienstandsprs) { List<FamilienstandsprDto> list = new ArrayList<FamilienstandsprDto>(); if (familienstandsprs != null) { Iterator<?> iterator = familienstandsprs.iterator(); while (iterator.hasNext()) { Familienstandspr familienstandspr = (Familienstandspr) iterator.next(); list.add(assembleFamilienstandsprDto(familienstandspr)); } } FamilienstandsprDto[] returnArray = new FamilienstandsprDto[list.size()]; return (FamilienstandsprDto[]) list.toArray(returnArray); } public Integer createBeruf(BerufDto berufDto, TheClientDto theClientDto) throws EJBExceptionLP { if (berufDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("berufDto == null")); } if (berufDto.getCBez() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("berufDto.getCBez() == null")); } try { Query query = em.createNamedQuery("BeruffindByCBez"); query.setParameter(1, berufDto.getCBez()); Beruf doppelt = (Beruf) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_BERUF.C_BEZ")); } catch (NoResultException ex1) { } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_BERUF); berufDto.setIId(pk); try { Beruf beruf = new Beruf(berufDto.getIId(), berufDto.getCBez()); em.persist(beruf); em.flush(); setBerufFromBerufDto(beruf, berufDto); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } return berufDto.getIId(); } public Map getAllLohnstundenarten() { myLogger.entry(); TreeMap<Object, Object> tmArten = new TreeMap<Object, Object>(); // try { Query query = em.createNamedQuery("LohnstundenartfindAll"); Collection<?> clArten = query.getResultList(); // if (clArten.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, null); // } Iterator<?> itArten = clArten.iterator(); while (itArten.hasNext()) { Lohnstundenart artikelartTemp = (Lohnstundenart) itArten.next(); Object key = artikelartTemp.getCNr(); Object value = null; if (artikelartTemp.getCBez() == null) { value = artikelartTemp.getCNr(); } else { value = artikelartTemp.getCBez(); } // } // catch (FinderException ex1) { // fuer locale und C_NR keine Bezeichnu g vorhanden ... // value = artikelartTemp.getCNr(); // } tmArten.put(key, value); } // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, ex); // } return tmArten; } public Integer createLohnart(LohnartDto lohnartDto) { try { Query query = em.createNamedQuery("LohnartfindByILohnart"); query.setParameter(1, lohnartDto.getILohnart()); Lohnart doppelt = (Lohnart) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_LOHNART.I_LOHNART")); } catch (NoResultException ex1) { } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_LOHNART); lohnartDto.setIId(pk); try { Lohnart lohnart = new Lohnart(lohnartDto.getIId(), lohnartDto.getILohnart(), lohnartDto.getCBez(), lohnartDto.getCTyp(), lohnartDto.getTaetigkeitIIdNl()); em.persist(lohnart); em.flush(); setLohnartFromLohnartDto(lohnart, lohnartDto); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } return lohnartDto.getIId(); } public Integer createLohnartstundenfaktor(LohnartstundenfaktorDto lohnartstundenfaktorDto) { try { Query query = em.createNamedQuery("LohnartstundenfaktorfindByLohnartIIdLohnstundenartCNrTagesartIId"); query.setParameter(1, lohnartstundenfaktorDto.getLohnartIId()); query.setParameter(2, lohnartstundenfaktorDto.getLohnstundenartCNr()); query.setParameter(3, lohnartstundenfaktorDto.getTagesartIId()); Lohnartstundenfaktor doppelt = (Lohnartstundenfaktor) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_LOHNARTSTUNDENFAKTOR.UK")); } catch (NoResultException ex1) { } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_LOHNARTSTUNDENFAKTOR); lohnartstundenfaktorDto.setIId(pk); try { Lohnartstundenfaktor lohnart = new Lohnartstundenfaktor(lohnartstundenfaktorDto.getIId(), lohnartstundenfaktorDto.getLohnartIId(), lohnartstundenfaktorDto.getLohnstundenartCNr(), lohnartstundenfaktorDto.getFFaktor()); em.persist(lohnart); em.flush(); setLohnartstundenfaktorFromLohnartstundenfaktorDto(lohnart, lohnartstundenfaktorDto); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } return lohnartstundenfaktorDto.getIId(); } public void createLohnstundenart(LohnstundenartDto lohnstundenartDto) { try { Lohnstundenart ls = em.find(Lohnstundenart.class, lohnstundenartDto.getCNr()); if (ls != null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_LOHNSTUNDENART.UK")); } } catch (NoResultException ex1) { } try { Lohnstundenart lohnstundenart = new Lohnstundenart(lohnstundenartDto.getCNr(), lohnstundenartDto.getCBez()); em.persist(lohnstundenart); em.flush(); setLohnstundenartFromLohnstundenartDto(lohnstundenart, lohnstundenartDto); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } } public void removeBeruf(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("iId == null")); } try { Beruf beruf = em.find(Beruf.class, iId); if (beruf == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(beruf); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void updateBeruf(BerufDto berufDto) throws EJBExceptionLP { if (berufDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("berufDto == null")); } if (berufDto.getIId() == null || berufDto.getCBez() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("berufDto.getIId() == null || berufDto.getCBez() == null")); } Integer iId = berufDto.getIId(); // try { Beruf beruf = em.find(Beruf.class, iId); if (beruf == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("BeruffindByCBez"); query.setParameter(1, berufDto.getCBez()); Integer iIdVorhanden = ((Beruf) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_BERUF.C_BEZ")); } } catch (NoResultException ex) { // } setBerufFromBerufDto(beruf, berufDto); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, // ex); // } } public BerufDto berufFindByPrimaryKey(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Beruf beruf = em.find(Beruf.class, iId); if (beruf == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assembleBerufDto(beruf); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public LohnartDto lohnartFindByPrimaryKey(Integer iId) { Lohnart lohnart = em.find(Lohnart.class, iId); if (lohnart == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assembleLohnartDto(lohnart); } public LohnartstundenfaktorDto lohnartstundenfaktorFindByPrimaryKey(Integer iId) { Lohnartstundenfaktor lohnartstundenfaktor = em.find(Lohnartstundenfaktor.class, iId); if (lohnartstundenfaktor == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assembleLohnartstundenfaktorDto(lohnartstundenfaktor); } public LohnstundenartDto lohnstundenartFindByPrimaryKey(Integer iId) { Lohnstundenart lohnstundenart = em.find(Lohnstundenart.class, iId); if (lohnstundenart == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assembleLohnstundenartDto(lohnstundenart); } private void setBerufFromBerufDto(Beruf beruf, BerufDto berufDto) { beruf.setCBez(berufDto.getCBez()); em.merge(beruf); em.flush(); } private void setLohnartFromLohnartDto(Lohnart lohnart, LohnartDto lohnartDto) { lohnart.setCBez(lohnartDto.getCBez()); lohnart.setCFormel(lohnartDto.getCBez()); lohnart.setCKommentar(lohnartDto.getcKommentar()); lohnart.setCTyp(lohnartDto.getCTyp()); lohnart.setILohnart(lohnartDto.getILohnart()); lohnart.setPersonalartCNr(lohnartDto.getPersonalartCNr()); lohnart.setTaetigkeitIIdNl(lohnartDto.getTaetigkeitIIdNl()); em.merge(lohnart); em.flush(); } private void setLohnartstundenfaktorFromLohnartstundenfaktorDto(Lohnartstundenfaktor lohnartstundenfaktor, LohnartstundenfaktorDto lohnartstundenfaktorDto) { lohnartstundenfaktor.setFFaktor(lohnartstundenfaktorDto.getFFaktor()); lohnartstundenfaktor.setLohnartIId(lohnartstundenfaktorDto.getLohnartIId()); lohnartstundenfaktor.setLohnstundenartCNr(lohnartstundenfaktorDto.getLohnstundenartCNr()); lohnartstundenfaktor.setTagesartIId(lohnartstundenfaktorDto.getTagesartIId()); em.merge(lohnartstundenfaktor); em.flush(); } private void setLohnstundenartFromLohnstundenartDto(Lohnstundenart lohnstundenart, LohnstundenartDto lohnstundenartDto) { lohnstundenart.setCBez(lohnstundenartDto.getCBez()); lohnstundenart.setCNr(lohnstundenartDto.getCNr()); em.merge(lohnstundenart); em.flush(); } private BerufDto assembleBerufDto(Beruf beruf) { return BerufDtoAssembler.createDto(beruf); } private LohnstundenartDto assembleLohnstundenartDto(Lohnstundenart lohnstundenart) { return LohnstundenartDtoAssembler.createDto(lohnstundenart); } private LohnartDto assembleLohnartDto(Lohnart lohnart) { return LohnartDtoAssembler.createDto(lohnart); } private LohnartstundenfaktorDto assembleLohnartstundenfaktorDto(Lohnartstundenfaktor lohnartstundenfaktor) { return LohnartstundenfaktorDtoAssembler.createDto(lohnartstundenfaktor); } private BerufDto[] assembleBerufDtos(Collection<?> berufs) { List<BerufDto> list = new ArrayList<BerufDto>(); if (berufs != null) { Iterator<?> iterator = berufs.iterator(); while (iterator.hasNext()) { Beruf beruf = (Beruf) iterator.next(); list.add(assembleBerufDto(beruf)); } } BerufDto[] returnArray = new BerufDto[list.size()]; return (BerufDto[]) list.toArray(returnArray); } public Integer createEintrittaustritt(EintrittaustrittDto eintrittaustrittDto, TheClientDto theClientDto) throws EJBExceptionLP { if (eintrittaustrittDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("eintrittaustrittDto == null")); } if (eintrittaustrittDto.getPersonalIId() == null || eintrittaustrittDto.getTEintritt() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "eintrittaustrittDto.getPersonalIId() == null || eintrittaustrittDto.getDEintritt() == null")); } try { Query query = em.createNamedQuery("EintrittaustrittfindByPersonalIIdTEintritt"); query.setParameter(1, eintrittaustrittDto.getPersonalIId()); query.setParameter(2, eintrittaustrittDto.getTEintritt()); Eintrittaustritt doppelt = (Eintrittaustritt) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_EINTRITTAUSTRITT.UK")); } catch (NoResultException ex1) { } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_EINTRITTAUSTRITT); eintrittaustrittDto.setIId(pk); Eintrittaustritt eintrittaustritt = new Eintrittaustritt(eintrittaustrittDto.getIId(), eintrittaustrittDto.getPersonalIId(), eintrittaustrittDto.getTEintritt()); em.persist(eintrittaustritt); em.flush(); setEintrittaustrittFromEintrittaustrittDto(eintrittaustritt, eintrittaustrittDto); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } return eintrittaustrittDto.getIId(); } public void removeEintrittaustritt(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("iId == null")); } try { Eintrittaustritt eintrittaustritt = em.find(Eintrittaustritt.class, iId); if (eintrittaustritt == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(eintrittaustritt); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void updateEintrittaustritt(EintrittaustrittDto eintrittaustrittDto) throws EJBExceptionLP { if (eintrittaustrittDto != null) { Integer iId = eintrittaustrittDto.getIId(); // try { Eintrittaustritt eintrittaustritt = em.find(Eintrittaustritt.class, iId); if (eintrittaustritt == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } setEintrittaustrittFromEintrittaustrittDto(eintrittaustritt, eintrittaustrittDto); // } // catch (FinderException ex) { // throw new // EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ex); // } } } public PersonRpt getPersonRpt(Integer personalIId, TheClientDto theClientDto) { PersonalDto personalDto = personalFindByPrimaryKey(personalIId, theClientDto); Integer partnerIId_Mandant = null; ; try { partnerIId_Mandant = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto) .getPartnerIId(); } catch (RemoteException e1) { throwEJBExceptionLPRespectOld(e1); } PersonRpt personRpt = new PersonRpt(); personRpt.setPersonalIId(personalIId); personRpt.setSTitel(personalDto.getPartnerDto().getCTitel()); personRpt.setSVorname(personalDto.getPartnerDto().getCName2vornamefirmazeile2()); personRpt.setSNachname(personalDto.getPartnerDto().getCName1nachnamefirmazeile1()); personRpt.setSEmail(personalDto.getCEmail()); personRpt.setSDirektfax(personalDto.getCDirektfax()); if (personalDto.getCTelefon() != null) { personRpt.setSTelefonDWFirma(personalDto.getCTelefon()); try { String kommDto = getPartnerFac().enrichNumber(partnerIId_Mandant, PartnerFac.KOMMUNIKATIONSART_TELEFON, theClientDto, null, true); String sNummerMitDurchwahl = kommDto + " - " + personalDto.getCTelefon(); personRpt.setSTelefonFirmaMitDurchwahlBearbeiter(sNummerMitDurchwahl); } catch (Exception e) { // Gibt halt keine Nummer } } if (personalDto.getCFax() != null) { personRpt.setSFaxDWFirma(personalDto.getCFax()); try { String kommDto = getPartnerFac().enrichNumber(partnerIId_Mandant, PartnerFac.KOMMUNIKATIONSART_FAX, theClientDto, null, true); String sNummerMitDurchwahl = kommDto + " - " + personalDto.getCFax(); personRpt.setSFaxFirmaMitDurchwahlBearbeiter(sNummerMitDurchwahl); } catch (Exception e) { // Gibt halt keine Nummer } } personRpt.setSMobil(personalDto.getCHandy()); // Firmentelefon = Telefonnnummer des Mandanten try { MandantDto mandantDto = getMandantFac().mandantFindByPrimaryKey(theClientDto.getMandant(), theClientDto); personRpt.setSTelefonFirma(mandantDto.getPartnerDto().getCTelefon()); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } return personRpt; } public EintrittaustrittDto eintrittaustrittFindByPrimaryKey(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Eintrittaustritt eintrittaustritt = em.find(Eintrittaustritt.class, iId); if (eintrittaustritt == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } EintrittaustrittDto eintrittaustrittDto = assembleEintrittaustrittDto(eintrittaustritt); return eintrittaustrittDto; // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public Boolean istPersonalAusgetreten(Integer personalIId, java.sql.Timestamp tsZeitpunkt, TheClientDto theClientDto) { myLogger.entry(); if (personalIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalIId == null")); } boolean bAusgetreten = true; // try { Query query = em.createNamedQuery("EintrittaustrittfindLetztenEintrittBisDatum"); query.setParameter(1, personalIId); query.setParameter(2, tsZeitpunkt); EintrittaustrittDto[] eintrittaustrittDtos = assembleEintrittaustrittDtos(query.getResultList()); if (eintrittaustrittDtos.length > 0) { EintrittaustrittDto eintrittaustrittDto = eintrittaustrittDtos[0]; if (eintrittaustrittDto.getTAustritt() != null) { if (eintrittaustrittDto.getTAustritt().after(tsZeitpunkt) == true) { bAusgetreten = false; } } else { bAusgetreten = false; } } // } // catch (FinderException ex) { // // } return new Boolean(bAusgetreten); } public EintrittaustrittDto eintrittaustrittFindLetztenEintrittBisDatum(Integer personalIId, java.sql.Timestamp dSucheBis) throws EJBExceptionLP { myLogger.entry(); if (personalIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalIId == null")); } EintrittaustrittDto letzterEintritt = null; // try { Query query = em.createNamedQuery("EintrittaustrittfindLetztenEintrittBisDatum"); query.setParameter(1, personalIId); query.setParameter(2, dSucheBis); EintrittaustrittDto[] eintrittaustrittDto = assembleEintrittaustrittDtos(query.getResultList()); if (eintrittaustrittDto.length > 0) { letzterEintritt = eintrittaustrittDto[0]; } else { ArrayList<Object> al = new ArrayList<Object>(); al.add(personalIId); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PERSONAL_FEHLER_BEI_EINTRITTSDATUM, al, new Exception("FEHLER_PERSONAL_FEHLER_BEI_EINTRITTSDATUM" + " personalIId=" + personalIId)); } return letzterEintritt; // } // catch (FinderException e) { // throw new EJBExceptionLP(e); // } } public EintrittaustrittDto eintrittaustrittFindByPersonalIIdDEintritt(Integer personalIId, java.sql.Timestamp dEintritt) throws EJBExceptionLP { myLogger.entry(); if (personalIId == null || dEintritt == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalIId == null || dEintritt == null")); } // try { Query query = em.createNamedQuery("EintrittaustrittfindByPersonalIIdTEintritt"); query.setParameter(1, personalIId); query.setParameter(2, dEintritt); Eintrittaustritt eintrittaustritt = (Eintrittaustritt) query.getSingleResult(); if (eintrittaustritt == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } EintrittaustrittDto eintrittaustrittDto = assembleEintrittaustrittDto(eintrittaustritt); return eintrittaustrittDto; // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } private void setEintrittaustrittFromEintrittaustrittDto(Eintrittaustritt eintrittaustritt, EintrittaustrittDto eintrittaustrittDto) { eintrittaustritt.setPersonalIId(eintrittaustrittDto.getPersonalIId()); eintrittaustritt.setTEintritt(eintrittaustrittDto.getTEintritt()); eintrittaustritt.setTAustritt(eintrittaustrittDto.getTAustritt()); eintrittaustritt.setCAustrittsgrund(eintrittaustrittDto.getCAustrittsgrund()); em.merge(eintrittaustritt); em.flush(); } private EintrittaustrittDto assembleEintrittaustrittDto(Eintrittaustritt eintrittaustritt) { return EintrittaustrittDtoAssembler.createDto(eintrittaustritt); } private EintrittaustrittDto[] assembleEintrittaustrittDtos(Collection<?> eintrittaustritts) { List<EintrittaustrittDto> list = new ArrayList<EintrittaustrittDto>(); if (eintrittaustritts != null) { Iterator<?> iterator = eintrittaustritts.iterator(); while (iterator.hasNext()) { Eintrittaustritt eintrittaustritt = (Eintrittaustritt) iterator.next(); list.add(assembleEintrittaustrittDto(eintrittaustritt)); } } EintrittaustrittDto[] returnArray = new EintrittaustrittDto[list.size()]; return (EintrittaustrittDto[]) list.toArray(returnArray); } private void setAngehoerigenartsprFromAngehoerigenartsprDto(Angehoerigenartspr angehoerigenartspr, AngehoerigenartsprDto angehoerigenartsprDto) { angehoerigenartspr.setCBez(angehoerigenartsprDto.getCBez()); em.merge(angehoerigenartspr); em.flush(); } private AngehoerigenartsprDto assembleAngehoerigenartsprDto(Angehoerigenartspr angehoerigenartspr) { return AngehoerigenartsprDtoAssembler.createDto(angehoerigenartspr); } private AngehoerigenartsprDto[] assembleAngehoerigenartsprDtos(Collection<?> angehoerigenartsprs) { List<AngehoerigenartsprDto> list = new ArrayList<AngehoerigenartsprDto>(); if (angehoerigenartsprs != null) { Iterator<?> iterator = angehoerigenartsprs.iterator(); while (iterator.hasNext()) { Angehoerigenartspr angehoerigenartspr = (Angehoerigenartspr) iterator.next(); list.add(assembleAngehoerigenartsprDto(angehoerigenartspr)); } } AngehoerigenartsprDto[] returnArray = new AngehoerigenartsprDto[list.size()]; return (AngehoerigenartsprDto[]) list.toArray(returnArray); } /** * Holt einen Personaldatensatz und den dazugehörigen Partner- * Datensatz anhand der Personalnummer * * @param cPersonalnr * die Personalnummer * @param mandantCNr * Mandant * @throws EJBExceptionLP * @return PersonalDto */ public PersonalDto personalFindByCPersonalnrMandantCNr(String cPersonalnr, String mandantCNr) throws EJBExceptionLP { try { Query query = em.createNamedQuery("PersonalfindByCPersonalnrMandantCNr"); query.setParameter(1, cPersonalnr); query.setParameter(2, mandantCNr); Personal personal = (Personal) query.getSingleResult(); if (personal == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, ""); } return assemblePersonalDto(personal); } catch (NoResultException ex) { return null; } } /** * Holt einen Personaldatensatz und den dazugehörigen Partner- * Datensatz anhand der Personalnummer * * @param cPersonalnr * die Personalnummer * @param mandantCNr * Mandant * @throws EJBExceptionLP * @return PersonalDto */ public PersonalDto personalFindByCPersonalnrMandantCNrOhneExc(String cPersonalnr, String mandantCNr) throws EJBExceptionLP { PersonalDto personalDto = null; try { Query query = em.createNamedQuery("PersonalfindByCPersonalnrMandantCNr"); query.setParameter(1, cPersonalnr); query.setParameter(2, mandantCNr); Personal personal = (Personal) query.getSingleResult(); personalDto = assemblePersonalDto(personal); } catch (NoResultException ex) { // nothing here. } return personalDto; } /** * Holt Alle Personen die eine Ausweisnummer definiert haben, sortiert nach * Personalnr * * @throws EJBExceptionLP * @return PersonalDto[] */ public PersonalDto[] personalFindByCAusweisSortiertNachPersonalnr() throws EJBExceptionLP { // try { Query query = em.createNamedQuery("PersonalfindByCAusweisSortiertNachIPersonalnr"); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, // null); // } return assemblePersonalDtos(cl, true); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, // ex); // } } /** * Suche nach Ausweisnummer * * @throws EJBExceptionLP * @return PersonalDto[] * @param cAusweis * String */ public PersonalDto personalFindByCAusweis(String cAusweis) throws EJBExceptionLP { Query query = em.createNamedQuery("PersonalfindByCAusweis"); query.setParameter(1, cAusweis); Collection<?> cl = query.getResultList(); PersonalDto[] personalDtos = assemblePersonalDtos(cl, true); if (personalDtos.length > 0) { return personalDtos[0]; } else { return null; } } /** * Holt Alle Personen die eine Ausweisnummer definiert haben, sortiert nach * Ausweisnummer * * @throws EJBExceptionLP * @return PersonalDto[] */ public PersonalDto[] personalFindByCAusweisSortiertNachCAusweis() throws EJBExceptionLP { // try { Query query = em.createNamedQuery("PersonalfindByCAusweisSortiertNachCAusweis"); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, // null); // } return assemblePersonalDtos(cl, true); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, // ex); // } } /** * Holt einen Personaldatensatz und den dazugehörigen Partner- * Datensatz anhand des Mandanten und der PartnerIId * * @param partnerIId * Integer * @param mandantCNr * String * @throws EJBExceptionLP * @return PersonalDto */ public PersonalDto personalFindByPartnerIIdMandantCNr(Integer partnerIId, String mandantCNr) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("PersonalfindByPartnerIIdMandantCNr"); query.setParameter(1, partnerIId); query.setParameter(2, mandantCNr); Personal personal = (Personal) query.getSingleResult(); if (personal == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, ""); } return assemblePersonalDto(personal); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, ex); // } } public PersonalDto[] personalFindByPersonalgruppeIdMandantCNr(Integer personalgruppe, String mandantCNr, boolean bPlusVersteckte) { // try { Query query = em.createNamedQuery("PersonalfindByPersonalgruppeIIdMandantCNr"); query.setParameter(1, personalgruppe); query.setParameter(2, mandantCNr); Collection<?> cl = query.getResultList(); return assemblePersonalDtos(cl, bPlusVersteckte); } public PersonalDto personalFindByPartnerIIdMandantCNrOhneExc(Integer partnerIId, String mandantCNr) { try { Query query = em.createNamedQuery("PersonalfindByPartnerIIdMandantCNr"); query.setParameter(1, partnerIId); query.setParameter(2, mandantCNr); Personal personal = (Personal) query.getSingleResult(); return assemblePersonalDto(personal); } catch (NoResultException ex1) { return null; } } /** * Holt alle Personaldatensätze, die als Sozialversicherer den * übergebenen Partner haben * * @param partnerIId * Integer - Sozialversicherer * @param mandantCNr * String * @return PersonalDto * @throws RemoteException * @throws EJBExceptionLP */ public PersonalDto[] personalFindBySozialversichererPartnerIIdMandantCNr(Integer partnerIId, String mandantCNr) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("PersonalfindBySozialversichererPartnerIIdMandantCNr"); query.setParameter(1, partnerIId); query.setParameter(2, mandantCNr); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, null); // } return assemblePersonalDtos(cl, true); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, ex); // } } public PersonalDto[] personalFindBySozialversichererPartnerIIdMandantCNrOhneExc(Integer partnerIId, String mandantCNr) throws EJBExceptionLP { PersonalDto[] aPersonalDtos = null; try { Query query = em.createNamedQuery("PersonalfindBySozialversichererPartnerIIdMandantCNr"); query.setParameter(1, partnerIId); query.setParameter(2, mandantCNr); Collection<?> cl = query.getResultList(); // if (! cl.isEmpty()) { aPersonalDtos = assemblePersonalDtos(cl, true); // } } catch (Throwable ex) { myLogger.warn("PersonalFindBySozialversichererPartnerIIdMandantCNrOhneExc", ex); } return aPersonalDtos; } /** * Holt alle Personaldatensätze, die bei Firma die übergebe * PartnerId eingetragen haben * * @param partnerIId * Integer * @param mandantCNr * String * @return PersonalDto[] * @throws RemoteException * @throws EJBExceptionLP */ public PersonalDto[] personalFindByFirmaPartnerIIdMandantCNr(Integer partnerIId, String mandantCNr) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("PersonalfindByFirmaPartnerIIdMandantCNr"); query.setParameter(1, partnerIId); query.setParameter(2, mandantCNr); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, null); // } return assemblePersonalDtos(cl, true); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, ex); // } } public PersonalDto[] personalFindByFirmaPartnerIIdMandantCNrOhneExc(Integer partnerIId, String mandantCNr) throws EJBExceptionLP { PersonalDto[] aPersonalDtos = null; try { Query query = em.createNamedQuery("PersonalfindByFirmaPartnerIIdMandantCNr"); query.setParameter(1, partnerIId); query.setParameter(2, mandantCNr); Collection<?> cl = query.getResultList(); // if (! cl.isEmpty()) { aPersonalDtos = assemblePersonalDtos(cl, true); // } } // catch (javax.ejb.ObjectNotFoundException ex) { // // nothing // } catch (Throwable ex) { myLogger.warn("personalFindByFirmaPartnerIIdMandantCNrOhneExc", ex); } return aPersonalDtos; } /** * Holt alle Personen eines Mandanten einer gewissen Personalfunktion des * Mandanten und der PartnerIId * * @param mandantCNr * String * @param personalfunktionCNr * "Geschesftsfuehrer" * @throws EJBExceptionLP * @return PersonalDto[] */ public PersonalDto[] personalFindByMandantCNrPersonalfunktionCNr(String mandantCNr, String personalfunktionCNr) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("PersonalfindByMandantCNrPersonalfunktionCNr"); query.setParameter(1, mandantCNr); query.setParameter(2, personalfunktionCNr); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, null); // } return assemblePersonalDtos(cl, true); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, ex); // } } /** * Holt alle Personen eines Mandanten des Mandanten und der PartnerIId * * @param mandantCNr * String * @param bPlusVersteckte * Boolean * @throws EJBExceptionLP * @return PersonalDto[] */ public PersonalDto[] personalFindByMandantCNr(String mandantCNr, Boolean bPlusVersteckte) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("PersonalfindByMandantCNr"); query.setParameter(1, mandantCNr); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // null); // } return assemblePersonalDtos(cl, bPlusVersteckte.booleanValue()); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // e); // } } /** * Holt alle Angestellte eines Mandanten des Mandanten und der PartnerIId * * @param mandantCNr * String * @param bPlusVersteckte * Boolean * @throws EJBExceptionLP * @return PersonalDto[] */ public PersonalDto[] personalFindAllAngestellteEinesMandanten(String mandantCNr, Boolean bPlusVersteckte) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("PersonalfindByMandantCNrPersonalartCNr"); query.setParameter(1, mandantCNr); query.setParameter(2, PersonalFac.PERSONALART_ANGESTELLTER); Collection<?> personals = query.getResultList(); // if (personals.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // null); // } List<PersonalDto> list = new ArrayList<PersonalDto>(); if (personals != null) { Iterator<?> iterator = personals.iterator(); while (iterator.hasNext()) { Personal personal = (Personal) iterator.next(); if (bPlusVersteckte.booleanValue() == true) { list.add(assemblePersonalDto(personal)); } else { if (Helper.short2boolean(personal.getBVersteckt()) == false) { list.add(assemblePersonalDto(personal)); } } } } query = em.createNamedQuery("PersonalfindByMandantCNrPersonalartCNr"); query.setParameter(1, mandantCNr); query.setParameter(2, PersonalFac.PERSONALART_LEHRLING_ANGESTELLTER); personals = query.getResultList(); // if (! personals.isEmpty()) { Iterator<?> iterator = personals.iterator(); while (iterator.hasNext()) { Personal personal = (Personal) iterator.next(); if (bPlusVersteckte.booleanValue() == true) { list.add(assemblePersonalDto(personal)); } else { if (Helper.short2boolean(personal.getBVersteckt()) == false) { list.add(assemblePersonalDto(personal)); } } } // } PersonalDto[] returnArray = new PersonalDto[list.size()]; return (PersonalDto[]) list.toArray(returnArray); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // e); // } } public PersonalDto[] personalFindAllPersonenMeinerAbteilung(Integer kostenstelleIIdAbteilung, String mandantCNr, Boolean bPlusVersteckte) { Query query = em.createNamedQuery("PersonalfindByMandantCNrKostenstelleIIdAbteilung"); query.setParameter(1, mandantCNr); query.setParameter(2, kostenstelleIIdAbteilung); Collection<?> personals = query.getResultList(); List<PersonalDto> list = new ArrayList<PersonalDto>(); if (personals != null) { Iterator<?> iterator = personals.iterator(); while (iterator.hasNext()) { Personal personal = (Personal) iterator.next(); if (bPlusVersteckte.booleanValue() == true) { list.add(assemblePersonalDto(personal)); } else { if (Helper.short2boolean(personal.getBVersteckt()) == false) { list.add(assemblePersonalDto(personal)); } } } } PersonalDto[] returnArray = new PersonalDto[list.size()]; return (PersonalDto[]) list.toArray(returnArray); } /** * Holt alle Angestellte eines Mandanten des Mandanten und der PartnerIId * * @param mandantCNr * String * @param bPlusVersteckte * Boolean * @throws EJBExceptionLP * @return PersonalDto[] */ public PersonalDto[] personalFindAllArbeiterEinesMandanten(String mandantCNr, Boolean bPlusVersteckte) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("PersonalfindByMandantCNrPersonalartCNr"); query.setParameter(1, mandantCNr); query.setParameter(2, PersonalFac.PERSONALART_ARBEITER); Collection<?> personals = query.getResultList(); List<PersonalDto> list = new ArrayList<PersonalDto>(); if (personals != null) { Iterator<?> iterator = personals.iterator(); while (iterator.hasNext()) { Personal personal = (Personal) iterator.next(); if (bPlusVersteckte.booleanValue() == true) { list.add(assemblePersonalDto(personal)); } else { if (Helper.short2boolean(personal.getBVersteckt()) == false) { list.add(assemblePersonalDto(personal)); } } } } query = em.createNamedQuery("PersonalfindByMandantCNrPersonalartCNr"); query.setParameter(1, mandantCNr); query.setParameter(2, PersonalFac.PERSONALART_LEHRLING_ARBEITER); personals = query.getResultList(); if (personals != null) { Iterator<?> iterator = personals.iterator(); while (iterator.hasNext()) { Personal personal = (Personal) iterator.next(); if (bPlusVersteckte.booleanValue() == true) { list.add(assemblePersonalDto(personal)); } else { if (Helper.short2boolean(personal.getBVersteckt()) == false) { list.add(assemblePersonalDto(personal)); } } } } PersonalDto[] returnArray = new PersonalDto[list.size()]; return (PersonalDto[]) list.toArray(returnArray); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // e); // } } public void createPersonalart(PersonalartDto personalartDto, TheClientDto theClientDto) throws EJBExceptionLP { if (personalartDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalartDto == null")); } if (personalartDto.getCNr() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalartDto.getCNr() == null")); } try { Personalart partnerart = new Personalart(personalartDto.getCNr()); em.persist(personalart); em.flush(); setPersonalartFromPersonalartDto(partnerart, personalartDto); if (personalartDto.getPersonalartsprDto() != null) { Personalartspr personalartspr = new Personalartspr(theClientDto.getLocMandantAsString(), personalartDto.getCNr()); em.persist(personalartspr); em.flush(); setPersonalartsprFromPersonalartsprDto(personalartspr, personalartDto.getPersonalartsprDto()); } } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, e); } } public void createPersonalfunktion(PersonalfunktionDto personalfunktionDto, TheClientDto theClientDto) throws EJBExceptionLP { if (personalfunktionDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalfunktionDto == null")); } if (personalfunktionDto.getCNr() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalfunktionDto.getCNr() == null")); } try { Personalfunktion partnerart = new Personalfunktion(personalfunktionDto.getCNr()); em.persist(personalfunktion); em.flush(); setPersonalfunktionFromPersonalfunktionDto(partnerart, personalfunktionDto); if (personalfunktionDto.getPersonalfunktionsprDto() != null) { Personalfunktionspr personalfunktionspr = new Personalfunktionspr( theClientDto.getLocMandantAsString(), personalfunktionDto.getCNr()); em.persist(personalfunktionspr); em.flush(); setPersonalfunktionsprFromPersonalfunktionsprDto(personalfunktionspr, personalfunktionDto.getPersonalfunktionsprDto()); } } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } } public void createFamilienstand(FamilienstandDto familienstandDto, TheClientDto theClientDto) throws EJBExceptionLP { if (familienstandDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalartDto == null")); } if (familienstandDto.getCNr() == null || familienstandDto.getISort() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalartDto.getCNr() == null || familienstandDto.getISort() == null")); } try { Familienstand familienstand = new Familienstand(familienstandDto.getCNr(), familienstandDto.getISort()); em.persist(familienstand); em.flush(); setFamilienstandFromFamilienstandDto(familienstand, familienstandDto); if (familienstandDto.getFamilienstandsprDto() != null) { Familienstandspr familienstandspr = new Familienstandspr(theClientDto.getLocMandantAsString(), familienstandDto.getCNr()); em.persist(familienstandspr); em.flush(); setFamilienstandsprFromFamilienstandsprDto(familienstandspr, familienstandDto.getFamilienstandsprDto()); } } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } } public void createAngehoerigenart(AngehoerigenartDto angehoerigenartDto, TheClientDto theClientDto) throws EJBExceptionLP { if (angehoerigenartDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("angehoerigenartDto == null")); } if (angehoerigenartDto.getCNr() == null || angehoerigenartDto.getISort() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("angehoerigenartDto.getCNr() == null || angehoerigenartDto.getISort() == null")); } try { Angehoerigenart angehoerigenart = new Angehoerigenart(angehoerigenartDto.getCNr(), angehoerigenartDto.getISort()); em.persist(angehoerigenart); em.flush(); setAngehoerigenartFromAngehoerigenartDto(angehoerigenart, angehoerigenartDto); if (angehoerigenartDto.getAngehoerigenartsprDto() != null) { Angehoerigenartspr angehoerigenartspr = new Angehoerigenartspr(theClientDto.getLocMandantAsString(), angehoerigenartDto.getCNr()); em.persist(angehoerigenartspr); em.flush(); setAngehoerigenartsprFromAngehoerigenartsprDto(angehoerigenartspr, angehoerigenartDto.getAngehoerigenartsprDto()); } } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } } public void removePersonalart(String cNr) throws EJBExceptionLP { // try { Personalart toRemove = em.find(Personalart.class, cNr); if (toRemove == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { em.remove(toRemove); em.flush(); } catch (EntityExistsException er) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, er); } // } // catch (RemoveException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, ex); // } } public void removePersonalart(PersonalartDto personalartDto) throws EJBExceptionLP { if (personalartDto != null) { String cNr = personalartDto.getCNr(); removePersonalart(cNr); } } public void updatePersonalart(PersonalartDto personalartDto) throws EJBExceptionLP { if (personalartDto != null) { String cNr = personalartDto.getCNr(); // try { Personalart personalart = em.find(Personalart.class, cNr); if (personalart == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } setPersonalartFromPersonalartDto(personalart, personalartDto); // } // catch (FinderException ex) { // throw new // EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ex); // } } } public void updatePersonalarts(PersonalartDto[] personalartDtos) throws EJBExceptionLP { if (personalartDtos != null) { for (int i = 0; i < personalartDtos.length; i++) { updatePersonalart(personalartDtos[i]); } } } public PersonalartDto personalartFindByPrimaryKey(String cNr, TheClientDto theClientDto) { // try { Personalart personalart = em.find(Personalart.class, cNr); if (personalart == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } PersonalartDto personalartDto = assemblePersonalartDto(personalart); PersonalartsprDto personalartsprDto = null; // try { Personalartspr personalartspr = em.find(Personalartspr.class, new PersonalartsprPK(theClientDto.getLocUiAsString(), cNr)); if (personalartspr != null) { personalartsprDto = assemblePersonalartsprDto(personalartspr); } if (personalartsprDto == null) { } // } // catch (FinderException ex) { // } if (personalartsprDto == null) { // try { Personalartspr temp = em.find(Personalartspr.class, new PersonalartsprPK(theClientDto.getLocKonzernAsString(), cNr)); if (temp != null) { personalartsprDto = assemblePersonalartsprDto(temp); } if (personalartsprDto == null) { } // } // catch (FinderException ex) { // } } personalartDto.setPersonalartsprDto(personalartsprDto); return personalartDto; // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, // ex); // } } private void setPersonalfunktionsprFromPersonalfunktionsprDto(Personalfunktionspr personalfunktionspr, PersonalfunktionsprDto personalfunktionsprDto) { personalfunktionspr.setCBez(personalfunktionsprDto.getCBez()); em.merge(personalfunktionspr); em.flush(); } private PersonalfunktionsprDto assemblePersonalfunktionsprDto(Personalfunktionspr personalfunktionspr) { return PersonalfunktionsprDtoAssembler.createDto(personalfunktionspr); } private PersonalfunktionsprDto[] assemblePersonalfunktionsprDtos(Collection<?> personalfunktionsprs) { List<PersonalfunktionsprDto> list = new ArrayList<PersonalfunktionsprDto>(); if (personalfunktionsprs != null) { Iterator<?> iterator = personalfunktionsprs.iterator(); while (iterator.hasNext()) { Personalfunktionspr personalfunktionspr = (Personalfunktionspr) iterator.next(); list.add(assemblePersonalfunktionsprDto(personalfunktionspr)); } } PersonalfunktionsprDto[] returnArray = new PersonalfunktionsprDto[list.size()]; return (PersonalfunktionsprDto[]) list.toArray(returnArray); } public void createPersonalfunktion(PersonalfunktionDto personalfunktionDto) throws EJBExceptionLP { if (personalfunktionDto == null) { return; } try { Personalfunktion personalfunktion = new Personalfunktion(personalfunktionDto.getCNr()); em.persist(personalfunktion); em.flush(); setPersonalfunktionFromPersonalfunktionDto(personalfunktion, personalfunktionDto); } catch (EntityExistsException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, ex); } } public void removePersonalfunktion(String cNr) throws EJBExceptionLP { // try { Personalfunktion toRemove = em.find(Personalfunktion.class, cNr); if (toRemove == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { em.remove(toRemove); em.flush(); } catch (EntityExistsException er) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, er); } // } // catch (RemoveException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, ex); // } } public void removePersonalfunktion(PersonalfunktionDto personalfunktionDto) throws EJBExceptionLP { if (personalfunktionDto != null) { String cNr = personalfunktionDto.getCNr(); removePersonalfunktion(cNr); } } public void updatePersonalfunktion(PersonalfunktionDto personalfunktionDto) throws EJBExceptionLP { if (personalfunktionDto != null) { String cNr = personalfunktionDto.getCNr(); // try { Personalfunktion personalfunktion = em.find(Personalfunktion.class, cNr); if (personalfunktion == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } setPersonalfunktionFromPersonalfunktionDto(personalfunktion, personalfunktionDto); // } // catch (FinderException ex) { // throw new // EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ex); // } } } public void updatePersonalfunktions(PersonalfunktionDto[] personalfunktionDtos) throws EJBExceptionLP { if (personalfunktionDtos != null) { for (int i = 0; i < personalfunktionDtos.length; i++) { updatePersonalfunktion(personalfunktionDtos[i]); } } } public PersonalfunktionDto personalfunktionFindByPrimaryKey(String cNr) throws EJBExceptionLP { // try { Personalfunktion personalfunktion = em.find(Personalfunktion.class, cNr); if (personalfunktion == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assemblePersonalfunktionDto(personalfunktion); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, // ex); // } } public PersonalfunktionDto[] personalfunktionFindAll() throws EJBExceptionLP { // try { Query query = em.createNamedQuery("PersonalfunktionfindAll"); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDALL,""); // } return assemblePersonalfunktionDtos(cl); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDALL, ex); // } } private void setPersonalfunktionFromPersonalfunktionDto(Personalfunktion personalfunktion, PersonalfunktionDto personalfunktionDto) { em.merge(personalfunktion); em.flush(); } private PersonalfunktionDto assemblePersonalfunktionDto(Personalfunktion personalfunktion) { return PersonalfunktionDtoAssembler.createDto(personalfunktion); } private PersonalfunktionDto[] assemblePersonalfunktionDtos(Collection<?> personalfunktions) { List<PersonalfunktionDto> list = new ArrayList<PersonalfunktionDto>(); if (personalfunktions != null) { Iterator<?> iterator = personalfunktions.iterator(); while (iterator.hasNext()) { Personalfunktion personalfunktion = (Personalfunktion) iterator.next(); list.add(assemblePersonalfunktionDto(personalfunktion)); } } PersonalfunktionDto[] returnArray = new PersonalfunktionDto[list.size()]; return (PersonalfunktionDto[]) list.toArray(returnArray); } public String getNextPersonalnummer(TheClientDto theClientDto) throws EJBExceptionLP { return generiereNeuePersonalnummer(theClientDto); } private Comparator<FLRPersonal> getHvPersonalnummerComparator() { return new Comparator<FLRPersonal>() { @Override public int compare(FLRPersonal first, FLRPersonal second) { String p1 = first.getC_personalnummer(); String p2 = second.getC_personalnummer(); if (p1.length() < p2.length()) return -1; if (p1.length() > p2.length()) return 1; return p1.compareTo(p2); } }; } private FLRPersonal getLetztesFLRPersonal(List<FLRPersonal> allePersonen) { if (allePersonen == null || allePersonen.size() == 0) return null; Collections.sort(allePersonen, getHvPersonalnummerComparator()); return allePersonen.get(allePersonen.size() - 1); } private String generiereNeuePersonalnummer(TheClientDto theClientDto) { String beginnArtikelnummer = ""; Session session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRPersonal.class); crit.add(Restrictions.like("c_personalnummer", beginnArtikelnummer, MatchMode.START)); crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); crit.addOrder(Order.desc("c_personalnummer")); // crit.setMaxResults(1); // List<?> results = crit.list(); // Iterator<?> resultListIterator = results.iterator(); // if (results.size() > 0) { // FLRPersonal flrArtikel = (FLRPersonal) resultListIterator.next(); FLRPersonal flrArtikel = getLetztesFLRPersonal(crit.list()); if (flrArtikel != null) { String letzteArtikelnummer = flrArtikel.getC_personalnummer(); int iStartZahl = -1; int iEndeZahl = -1; boolean bEndeFound = false; int i = beginnArtikelnummer.length(); while (i < letzteArtikelnummer.length()) { char c = letzteArtikelnummer.charAt(i); // wenn 0-9 if (c > 47 && c < 58) { iStartZahl = i; iEndeZahl = iStartZahl; for (int j = i; j < letzteArtikelnummer.length(); j++) { char d = letzteArtikelnummer.charAt(j); if (d > 47 && d < 58) { iEndeZahl = j; if (j == letzteArtikelnummer.length() - 1) { bEndeFound = true; } } else { bEndeFound = true; break; } } } i++; if (bEndeFound) { break; } } if (iStartZahl >= 0 && iEndeZahl >= 0) { String zahlenteil = letzteArtikelnummer.substring(iStartZahl, iEndeZahl + 1); long zahl = new Long(zahlenteil); zahl++; // Neue Artikelnummer zusammenbauen String neueArtNr = letzteArtikelnummer.substring(0, iStartZahl) + zahl + letzteArtikelnummer.substring(iEndeZahl + 1); return neueArtNr; } } session.close(); return beginnArtikelnummer; } public Integer getArtikelIIdHoechsterWertPersonalverfuegbarkeit(Integer personaIId) throws EJBExceptionLP { Session session = FLRSessionFactory.getFactory().openSession(); Integer artikelIId = null; org.hibernate.Criteria crit = session.createCriteria(FLRPersonalverfuegbarkeit.class); crit.add(Restrictions.eq(PersonalFac.FLR_PERSONALVERFUEGBARKEIT_PERSONAL_I_ID, personaIId)); crit.addOrder(Order.desc(PersonalFac.FLR_PERSONALVERFUEGBARKEIT_F_ANTEILPROZENT)); crit.setMaxResults(1); List<?> resultList = crit.list(); if (resultList.size() > 0) { Iterator<?> resultListIterator = resultList.iterator(); FLRPersonalverfuegbarkeit personal = (FLRPersonalverfuegbarkeit) resultListIterator.next(); artikelIId = personal.getArtikel_i_id(); } return artikelIId; } public Integer createPersonalzeiten(PersonalzeitenDto personalzeitenDto, TheClientDto theClientDto) throws EJBExceptionLP { if (personalzeitenDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalzeitenDto == null")); } if (personalzeitenDto.getPersonalIId() == null || personalzeitenDto.getTVon() == null || personalzeitenDto.getTBis() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "personalzeitenDto.getPersonalIId() == null || personalzeitenDto.getDVon() == null || personalzeitenDto.getDBis() == null")); } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_PERSONALZEITEN); personalzeitenDto.setIId(pk); try { Personalzeiten personalzeiten = new Personalzeiten(personalzeitenDto.getIId(), personalzeitenDto.getPersonalIId(), personalzeitenDto.getTVon(), personalzeitenDto.getTBis()); em.persist(personalzeiten); em.flush(); setPersonalzeitenFromPersonalzeitenDto(personalzeiten, personalzeitenDto); } catch (EntityExistsException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, ex); } return personalzeitenDto.getIId(); } public void removePersonalzeiten(Integer iId) throws EJBExceptionLP { // try { Personalzeiten toRemove = em.find(Personalzeiten.class, iId); if (toRemove == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { em.remove(toRemove); em.flush(); } catch (EntityExistsException er) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, er); } // } // catch (RemoveException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, ex); // } } public void removePersonalzeiten(PersonalzeitenDto personalzeitenDto) throws EJBExceptionLP { if (personalzeitenDto != null) { Integer iId = personalzeitenDto.getIId(); removePersonalzeiten(iId); } } public void updatePersonalzeiten(PersonalzeitenDto personalzeitenDto) throws EJBExceptionLP { if (personalzeitenDto != null) { Integer iId = personalzeitenDto.getIId(); // try { Personalzeiten personalzeiten = em.find(Personalzeiten.class, iId); if (personalzeiten == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } setPersonalzeitenFromPersonalzeitenDto(personalzeiten, personalzeitenDto); // } // catch (FinderException ex) { // throw new // EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ex); // } } } public void updatePersonalzeitens(PersonalzeitenDto[] personalzeitenDtos) throws EJBExceptionLP { if (personalzeitenDtos != null) { for (int i = 0; i < personalzeitenDtos.length; i++) { updatePersonalzeiten(personalzeitenDtos[i]); } } } public PersonalzeitenDto personalzeitenFindByPrimaryKey(Integer iId) throws EJBExceptionLP { // try { Personalzeiten personalzeiten = em.find(Personalzeiten.class, iId); if (personalzeiten == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assemblePersonalzeitenDto(personalzeiten); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } private void setPersonalzeitenFromPersonalzeitenDto(Personalzeiten personalzeiten, PersonalzeitenDto personalzeitenDto) { personalzeiten.setPersonalIId(personalzeitenDto.getPersonalIId()); personalzeiten.setTVon(personalzeitenDto.getTVon()); personalzeiten.setTBis(personalzeitenDto.getTBis()); personalzeiten.setCBemerkung(personalzeitenDto.getCBemerkung()); em.merge(personalzeiten); em.flush(); } private PersonalzeitenDto assemblePersonalzeitenDto(Personalzeiten personalzeiten) { return PersonalzeitenDtoAssembler.createDto(personalzeiten); } private PersonalzeitenDto[] assemblePersonalzeitenDtos(Collection<?> personalzeitens) { List<PersonalzeitenDto> list = new ArrayList<PersonalzeitenDto>(); if (personalzeitens != null) { Iterator<?> iterator = personalzeitens.iterator(); while (iterator.hasNext()) { Personalzeiten personalzeiten = (Personalzeiten) iterator.next(); list.add(assemblePersonalzeitenDto(personalzeiten)); } } PersonalzeitenDto[] returnArray = new PersonalzeitenDto[list.size()]; return (PersonalzeitenDto[]) list.toArray(returnArray); } public Integer createPersonalgehalt(PersonalgehaltDto personalgehaltDto, TheClientDto theClientDto) throws EJBExceptionLP { if (personalgehaltDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalgehaltDto == null")); } if (personalgehaltDto.getPersonalIId() == null || personalgehaltDto.getIJahr() == null || personalgehaltDto.getIMonat() == null || personalgehaltDto.getBUestdauszahlen() == null || personalgehaltDto.getNUestdpuffer() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "personalgehaltDto.getPersonalIId() == null || personalgehaltDto.getIJahr() == null || personalgehaltDto.getIMonat() == null || personalgehaltDto.getBUestdauszahlen() == null || personalgehaltDto.getNUestdpuffer() == null")); } try { Query query = em.createNamedQuery("PersonalgehaltfindByPersonalIIdIJahrIMonat"); query.setParameter(1, personalgehaltDto.getPersonalIId()); query.setParameter(2, personalgehaltDto.getIJahr()); query.setParameter(3, personalgehaltDto.getIMonat()); Personalgehalt doppelt = (Personalgehalt) query.getSingleResult(); if (doppelt != null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONALGEHALT.UK")); } } catch (NoResultException ex1) { // nothing here } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_PERSONALGEHALT); personalgehaltDto.setIId(pk); personalgehaltDto.setPersonalIIdAendern(theClientDto.getIDPersonal()); personalgehaltDto.setTAendern(new java.sql.Timestamp(System.currentTimeMillis())); Personalgehalt personalgehalt = new Personalgehalt(personalgehaltDto.getIId(), personalgehaltDto.getPersonalIId(), personalgehaltDto.getNGehalt(), personalgehaltDto.getFUestpauschale(), personalgehaltDto.getNStundensatz(), personalgehaltDto.getPersonalIIdAendern(), personalgehaltDto.getIJahr(), personalgehaltDto.getIMonat(), personalgehaltDto.getBUestdauszahlen(), personalgehaltDto.getNUestdpuffer()); em.persist(personalgehalt); em.flush(); if (personalgehaltDto.getBAlleinerzieher() == null) { personalgehaltDto.setBAlleinerzieher(personalgehalt.getBAlleinerzieher()); } if (personalgehaltDto.getBAlleinverdiener() == null) { personalgehaltDto.setBAlleinverdiener(personalgehalt.getBAlleinverdiener()); } if (personalgehaltDto.getBKksgebbefreit() == null) { personalgehaltDto.setBKksgebbefreit(personalgehalt.getBKksgebbefreit()); } if (personalgehaltDto.getBStundensatzFixiert() == null) { personalgehaltDto.setBStundensatzFixiert(personalgehalt.getBStundensatzFixiert()); } if (personalgehaltDto.getNKmgeld1() == null) { personalgehaltDto.setNKmgeld1(personalgehalt.getNKmgeld1()); } if (personalgehaltDto.getFBiskilometer() == null) { personalgehaltDto.setFBiskilometer(personalgehalt.getFBiskilometer()); } if (personalgehaltDto.getNKmgeld2() == null) { personalgehaltDto.setNKmgeld2(personalgehalt.getNKmgeld2()); } if (personalgehaltDto.getNKmgeld2() == null) { personalgehaltDto.setNKmgeld2(personalgehalt.getNKmgeld2()); } if (personalgehaltDto.getFVerfuegbarkeit() == null) { personalgehaltDto.setFVerfuegbarkeit(personalgehalt.getFVerfuegbarkeit()); } if (personalgehaltDto.getNGehalt() == null) { personalgehaltDto.setNGehalt(personalgehalt.getNGehalt()); } if (personalgehaltDto.getFUestpauschale() == null) { personalgehaltDto.setFUestpauschale(personalgehalt.getFUestpauschale()); } if (personalgehaltDto.getNStundensatz() == null) { personalgehaltDto.setNStundensatz(personalgehalt.getNStundensatz()); } setPersonalgehaltFromPersonalgehaltDto(personalgehalt, personalgehaltDto); return personalgehaltDto.getIId(); } catch (EntityExistsException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, ex); } } public void removePersonalgehalt(PersonalgehaltDto personalgehaltDto) throws EJBExceptionLP { myLogger.entry(); if (personalgehaltDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalgehaltDto == null")); } if (personalgehaltDto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("personalgehaltDto.getIId() == nulll")); } try { Personalgehalt personalgehalt = em.find(Personalgehalt.class, personalgehaltDto.getIId()); if (personalgehalt == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(personalgehalt); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void updatePersonalgehalt(PersonalgehaltDto personalgehaltDto, TheClientDto theClientDto) throws EJBExceptionLP { if (personalgehaltDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalgehaltDto == null")); } if (personalgehaltDto.getIId() == null || personalgehaltDto.getPersonalIId() == null || personalgehaltDto.getIJahr() == null || personalgehaltDto.getIMonat() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "personalgehaltDto.getIId() == null || personalgehaltDto.getPersonalIId() == null || personalgehaltDto.getIJahr() == null || personalgehaltDto.getIMonat() == null")); } if (personalgehaltDto.getFBiskilometer() == null || personalgehaltDto.getFUestpauschale() == null || personalgehaltDto.getFVerfuegbarkeit() == null || personalgehaltDto.getNGehalt() == null || personalgehaltDto.getNKmgeld1() == null || personalgehaltDto.getNKmgeld2() == null || personalgehaltDto.getNStundensatz() == null || personalgehaltDto.getBAlleinerzieher() == null || personalgehaltDto.getBAlleinverdiener() == null || personalgehaltDto.getBKksgebbefreit() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "personalgehaltDto.getFBiskilometer() == null || personalgehaltDto.getFUestpauschale() == null || personalgehaltDto.getFVerfuegbarkeit() == null || personalgehaltDto.getNGehalt() == null || personalgehaltDto.getNKmgeld1() == null || personalgehaltDto.getNKmgeld2() == null || personalgehaltDto.getNStundensatz() == null || personalgehaltDto.getBAlleinerzieher() == null || personalgehaltDto.getBAlleinverdiener() == null || personalgehaltDto.getBKksgebbefreit() == null")); } Integer iId = personalgehaltDto.getIId(); // try { Personalgehalt personalgehalt = em.find(Personalgehalt.class, iId); if (personalgehalt == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("PersonalgehaltfindByPersonalIIdIJahrIMonat"); query.setParameter(1, personalgehaltDto.getPersonalIId()); query.setParameter(2, personalgehaltDto.getIJahr()); query.setParameter(3, personalgehaltDto.getIMonat()); Integer iIdVorhanden = ((Personalgehalt) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONALGEHALT.UK")); } } catch (NoResultException ex) { // } personalgehaltDto.setPersonalIIdAendern(theClientDto.getIDPersonal()); personalgehaltDto.setTAendern(new java.sql.Timestamp(System.currentTimeMillis())); setPersonalgehaltFromPersonalgehaltDto(personalgehalt, personalgehaltDto); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public PersonalgehaltDto personalgehaltFindByPrimaryKey(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Personalgehalt personalgehalt = em.find(Personalgehalt.class, iId); if (personalgehalt == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } PersonalgehaltDto personalgehaltDto = assemblePersonalgehaltDto(personalgehalt); return personalgehaltDto; // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } private void setPersonalgehaltFromPersonalgehaltDto(Personalgehalt personalgehalt, PersonalgehaltDto personalgehaltDto) { personalgehalt.setPersonalIId(personalgehaltDto.getPersonalIId()); personalgehalt.setIJahr(personalgehaltDto.getIJahr()); personalgehalt.setIMonat(personalgehaltDto.getIMonat()); personalgehalt.setNGehalt(personalgehaltDto.getNGehalt()); personalgehalt.setFUestpauschale(personalgehaltDto.getFUestpauschale()); personalgehalt.setNStundensatz(personalgehaltDto.getNStundensatz()); personalgehalt.setFVerfuegbarkeit(personalgehaltDto.getFVerfuegbarkeit()); personalgehalt.setNKmgeld1(personalgehaltDto.getNKmgeld1()); personalgehalt.setNUestdpuffer(personalgehaltDto.getNUestdpuffer()); personalgehalt.setFBiskilometer(personalgehaltDto.getFBiskilometer()); personalgehalt.setNKmgeld2(personalgehaltDto.getNKmgeld2()); personalgehalt.setBKksgebbefreit(personalgehaltDto.getBKksgebbefreit()); personalgehalt.setBUestdauszahlen(personalgehaltDto.getBUestdauszahlen()); personalgehalt.setCGrundkksgebbefreit(personalgehaltDto.getCGrundkksgebbefreit()); personalgehalt.setBAlleinverdiener(personalgehaltDto.getBAlleinverdiener()); personalgehalt.setBAlleinerzieher(personalgehaltDto.getBAlleinerzieher()); personalgehalt.setPersonalIIdAendern(personalgehaltDto.getPersonalIIdAendern()); personalgehalt.setTAendern(personalgehaltDto.getTAendern()); personalgehalt.setFLeistungswert(personalgehaltDto.getFLeistungswert()); personalgehalt.setBStundensatzFixiert(personalgehaltDto.getBStundensatzFixiert()); personalgehalt.setNGehaltBruttobrutto(personalgehaltDto.getNGehaltBruttobrutto()); personalgehalt.setNGehaltNetto(personalgehaltDto.getNGehaltNetto()); personalgehalt.setNPraemieBruttobrutto(personalgehaltDto.getNPraemieBruttobrutto()); personalgehalt.setNLohnmittelstundensatz(personalgehaltDto.getNLohnmittelstundensatz()); personalgehalt.setFFaktorLohnmittelstundensatz(personalgehaltDto.getFFaktorLohnmittelstundensatz()); personalgehalt.setFKalkIstJahresstunden(personalgehaltDto.getFKalkIstJahresstunden()); personalgehalt.setNAufschlagLohnmittelstundensatz(personalgehaltDto.getNAufschlagLohnmittelstundensatz()); em.merge(personalgehalt); em.flush(); } private PersonalgehaltDto assemblePersonalgehaltDto(Personalgehalt personalgehalt) { return PersonalgehaltDtoAssembler.createDto(personalgehalt); } private PersonalgehaltDto[] assemblePersonalgehaltDtos(Collection<?> personalgehalts) { List<PersonalgehaltDto> list = new ArrayList<PersonalgehaltDto>(); if (personalgehalts != null) { Iterator<?> iterator = personalgehalts.iterator(); while (iterator.hasNext()) { Personalgehalt personalgehalt = (Personalgehalt) iterator.next(); list.add(assemblePersonalgehaltDto(personalgehalt)); } } PersonalgehaltDto[] returnArray = new PersonalgehaltDto[list.size()]; return (PersonalgehaltDto[]) list.toArray(returnArray); } public Integer createPersonalzeitmodell(PersonalzeitmodellDto personalzeitmodellDto) throws EJBExceptionLP { myLogger.entry(); if (personalzeitmodellDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalzeitmodellDto == null")); } if (personalzeitmodellDto.getPersonalIId() == null || personalzeitmodellDto.getZeitmodellIId() == null || personalzeitmodellDto.getTGueltigab() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "personalzeitmodellDto.getPersonalIId() == null || personalzeitmodellDto.getZeitmodellIId() == null || personalzeitmodellDto.getDGueltigab() == null")); } personalzeitmodellDto.setTGueltigab(Helper.cutTimestamp(personalzeitmodellDto.getTGueltigab())); try { Query query = em.createNamedQuery("PersonalzeitmodellfindByPersonalIIdTDatum"); query.setParameter(1, personalzeitmodellDto.getPersonalIId()); query.setParameter(2, personalzeitmodellDto.getTGueltigab()); Personalzeitmodell doppelt = (Personalzeitmodell) query.getSingleResult(); if (doppelt != null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONALZEITMODELL.UK")); } } catch (NoResultException ex1) { // nothing here } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_PERSONALZEITMODELL); personalzeitmodellDto.setIId(pk); try { Personalzeitmodell personalzeitmodell = new Personalzeitmodell(personalzeitmodellDto.getIId(), personalzeitmodellDto.getPersonalIId(), personalzeitmodellDto.getZeitmodellIId(), personalzeitmodellDto.getTGueltigab()); em.persist(personalzeitmodell); em.flush(); setPersonalzeitmodellFromPersonalzeitmodellDto(personalzeitmodell, personalzeitmodellDto); } catch (EntityExistsException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, ex); } return personalzeitmodellDto.getIId(); } public Integer createSchichtzeitmodell(SchichtzeitmodellDto schichtzeitmodellDto) { if (schichtzeitmodellDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("schichtzeitmodellDto == null")); } if (schichtzeitmodellDto.getPersonalIId() == null || schichtzeitmodellDto.getZeitmodellIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "schichtzeitmodellDto.getPersonalIId() == null || schichtzeitmodellDto.getZeitmodellIId()")); } try { Query query = em.createNamedQuery("SchichtzeitmodellfindByPersonalIIdZeitmodellIId"); query.setParameter(1, schichtzeitmodellDto.getPersonalIId()); query.setParameter(2, schichtzeitmodellDto.getZeitmodellIId()); Personalzeitmodell doppelt = (Personalzeitmodell) query.getSingleResult(); if (doppelt != null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_SCHICHTZEITMODELL.UK")); } } catch (NoResultException ex1) { // nothing here } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_SCHICHTZEITMODELL); schichtzeitmodellDto.setIId(pk); try { Schichtzeitmodell personalzeitmodell = new Schichtzeitmodell(schichtzeitmodellDto.getIId(), schichtzeitmodellDto.getPersonalIId(), schichtzeitmodellDto.getZeitmodellIId()); em.persist(personalzeitmodell); em.flush(); setSchichtzeitmodellFromSchichtzeitmodellDto(personalzeitmodell, schichtzeitmodellDto); } catch (EntityExistsException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, ex); } return schichtzeitmodellDto.getIId(); } public void removePersonalzeitmodell(PersonalzeitmodellDto personalzeitmodellDto) throws EJBExceptionLP { myLogger.entry(); if (personalzeitmodellDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalzeitmodellDto == null")); } if (personalzeitmodellDto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalzeitmodellDto.getIId() == null")); } // try { Personalzeitmodell personalzeitmodell = null; try { personalzeitmodell = em.find(Personalzeitmodell.class, personalzeitmodellDto.getIId()); if (personalzeitmodell == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, ex); // } em.remove(personalzeitmodell); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void removeSchichtzeitmodell(SchichtzeitmodellDto schichtzeitmodellDto) { Schichtzeitmodell schichtzeitmodell = null; try { schichtzeitmodell = em.find(Schichtzeitmodell.class, schichtzeitmodellDto.getIId()); em.remove(schichtzeitmodell); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void updatePersonalzeitmodell(PersonalzeitmodellDto personalzeitmodellDto) throws EJBExceptionLP { myLogger.entry(); if (personalzeitmodellDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalzeitmodellDto == null")); } if (personalzeitmodellDto.getIId() == null || personalzeitmodellDto.getPersonalIId() == null || personalzeitmodellDto.getZeitmodellIId() == null || personalzeitmodellDto.getTGueltigab() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_IN_DTO_IS_NULL, new Exception( "personalzeitmodellDto.getIId() == null || personalzeitmodellDto.getPersonalIId() == null || personalzeitmodellDto.getZeitmodellIId() == null || personalzeitmodellDto.getDGueltigab() == null")); } personalzeitmodellDto.setTGueltigab(Helper.cutTimestamp(personalzeitmodellDto.getTGueltigab())); Integer iId = personalzeitmodellDto.getIId(); // try { Personalzeitmodell personalzeitmodell = em.find(Personalzeitmodell.class, iId); if (personalzeitmodell == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("PersonalzeitmodellfindByPersonalIIdTDatum"); query.setParameter(1, personalzeitmodellDto.getPersonalIId()); query.setParameter(2, personalzeitmodellDto.getTGueltigab()); Integer iIdVorhanden = ((Personalzeitmodell) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONALZEITMODELL.UK")); } } catch (NoResultException ex) { // } setPersonalzeitmodellFromPersonalzeitmodellDto(personalzeitmodell, personalzeitmodellDto); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public void updateSchichtzeitmodell(SchichtzeitmodellDto schichtzeitmodellDto) { if (schichtzeitmodellDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("schichtzeitmodellDto == null")); } if (schichtzeitmodellDto.getIId() == null || schichtzeitmodellDto.getPersonalIId() == null || schichtzeitmodellDto.getZeitmodellIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_IN_DTO_IS_NULL, new Exception( "schichtzeitmodellDto.getIId() == null || schichtzeitmodellDto.getPersonalIId() == null || schichtzeitmodellDto.getZeitmodellIId() == null")); } Integer iId = schichtzeitmodellDto.getIId(); // try { Schichtzeitmodell schichtzeitmodell = em.find(Schichtzeitmodell.class, iId); try { Query query = em.createNamedQuery("SchichtzeitmodellfindByPersonalIIdZeitmodellIId"); query.setParameter(1, schichtzeitmodellDto.getPersonalIId()); query.setParameter(2, schichtzeitmodellDto.getZeitmodellIId()); Integer iIdVorhanden = ((Schichtzeitmodell) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_SCHICHTZEITMODELL.UK")); } } catch (NoResultException ex) { // } setSchichtzeitmodellFromSchichtzeitmodellDto(schichtzeitmodell, schichtzeitmodellDto); } public void updatePersonalzeitmodells(PersonalzeitmodellDto[] personalzeitmodellDtos) throws EJBExceptionLP { if (personalzeitmodellDtos != null) { for (int i = 0; i < personalzeitmodellDtos.length; i++) { updatePersonalzeitmodell(personalzeitmodellDtos[i]); } } } public PersonalzeitmodellDto personalzeitmodellFindByPrimaryKey(Integer iId, TheClientDto theClientDto) throws EJBExceptionLP { if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Personalzeitmodell personalzeitmodell = em.find(Personalzeitmodell.class, iId); if (personalzeitmodell == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } PersonalzeitmodellDto personalzeitmodellDto = assemblePersonalzeitmodellDto(personalzeitmodell); try { personalzeitmodellDto.setZeitmodellDto(getZeiterfassungFac() .zeitmodellFindByPrimaryKey(personalzeitmodellDto.getZeitmodellIId(), theClientDto)); } catch (RemoteException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex); } return personalzeitmodellDto; // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public SchichtzeitmodellDto schichtzeitmodellFindByPrimaryKey(Integer iId, TheClientDto theClientDto) { if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Schichtzeitmodell schichtzeitmodell = em.find(Schichtzeitmodell.class, iId); if (schichtzeitmodell == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } SchichtzeitmodellDto personalzeitmodellDto = assembleSchichtzeitmodellDto(schichtzeitmodell); return personalzeitmodellDto; } public PersonalzeitmodellDto personalzeitmodellFindByPersonalIIdTDatumOhneExc(Integer personalIId, Timestamp tDatum) throws EJBExceptionLP { PersonalzeitmodellDto personalzeitmodellDto = null; try { personalzeitmodellDto = personalzeitmodellFindByPersonalIIdTDatum(personalIId, tDatum); } catch (Throwable t) { myLogger.warn("personalzeitmodellFindByPersonalIIdZeitmodellIIdTDatumOhneExc", t); } return personalzeitmodellDto; } public int getAnzahlDerZeitmodelleEinerPerson(Integer personalIId) { Query query = em.createNamedQuery("PersonalzeitmodellAnzahlfindByPersonalIId"); query.setParameter(1, personalIId); Long i = (Long) query.getSingleResult(); return i.intValue(); } public PersonalzeitmodellDto personalzeitmodellFindByPersonalIIdTDatum(Integer personalIId, Timestamp tDatum) throws EJBExceptionLP { if (personalIId == null || tDatum == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalIId == null || zeitmodellIId == null || tDatum == null")); } // try { Query query = em.createNamedQuery("PersonalzeitmodellfindByPersonalIIdTDatum"); query.setParameter(1, personalIId); query.setParameter(2, tDatum); Personalzeitmodell personalzeitmodell = (Personalzeitmodell) query.getSingleResult(); if (personalzeitmodell == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, ""); } PersonalzeitmodellDto personalzeitmodellDto = assemblePersonalzeitmodellDto(personalzeitmodell); return personalzeitmodellDto; // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // e); // } } public PersonalzeitmodellDto personalzeitmodellFindZeitmodellZuDatum(Integer personalIId, java.sql.Timestamp dDatum, TheClientDto theClientDto) throws EJBExceptionLP { if (personalIId == null || dDatum == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalIId == null || dDatum == null")); } Query query = em.createNamedQuery("PersonalzeitmodellfindZeitmodellZuDatum"); query.setParameter(1, personalIId); query.setParameter(2, dDatum); PersonalzeitmodellDto[] personalzeitmodellDtos = assemblePersonalzeitmodellDtos(query.getResultList()); PersonalzeitmodellDto personalzeitmodellDto = null; if (personalzeitmodellDtos.length > 0) { personalzeitmodellDto = personalzeitmodellDtos[0]; } if (personalzeitmodellDto != null) { try { personalzeitmodellDto.setZeitmodellDto(getZeiterfassungFac() .zeitmodellFindByPrimaryKey(personalzeitmodellDto.getZeitmodellIId(), theClientDto)); } catch (RemoteException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER, ex); } } return personalzeitmodellDto; // } // catch (FinderException e) { // return null; // } } private void setPersonalzeitmodellFromPersonalzeitmodellDto(Personalzeitmodell personalzeitmodell, PersonalzeitmodellDto personalzeitmodellDto) { personalzeitmodell.setPersonalIId(personalzeitmodellDto.getPersonalIId()); personalzeitmodell.setZeitmodellIId(personalzeitmodellDto.getZeitmodellIId()); personalzeitmodell.setTGueltigab(personalzeitmodellDto.getTGueltigab()); em.merge(personalzeitmodell); em.flush(); } private void setSchichtzeitmodellFromSchichtzeitmodellDto(Schichtzeitmodell schichtzeitmodell, SchichtzeitmodellDto schichtzeitmodellDto) { schichtzeitmodell.setPersonalIId(schichtzeitmodellDto.getPersonalIId()); schichtzeitmodell.setZeitmodellIId(schichtzeitmodellDto.getZeitmodellIId()); em.merge(schichtzeitmodell); em.flush(); } private PersonalzeitmodellDto assemblePersonalzeitmodellDto(Personalzeitmodell personalzeitmodell) { return PersonalzeitmodellDtoAssembler.createDto(personalzeitmodell); } private SchichtzeitmodellDto assembleSchichtzeitmodellDto(Schichtzeitmodell personalzeitmodell) { return SchichtzeitmodellDtoAssembler.createDto(personalzeitmodell); } private PersonalzeitmodellDto[] assemblePersonalzeitmodellDtos(Collection<?> personalzeitmodells) { List<PersonalzeitmodellDto> list = new ArrayList<PersonalzeitmodellDto>(); if (personalzeitmodells != null) { Iterator<?> iterator = personalzeitmodells.iterator(); while (iterator.hasNext()) { Personalzeitmodell personalzeitmodell = (Personalzeitmodell) iterator.next(); list.add(assemblePersonalzeitmodellDto(personalzeitmodell)); } } PersonalzeitmodellDto[] returnArray = new PersonalzeitmodellDto[list.size()]; return (PersonalzeitmodellDto[]) list.toArray(returnArray); } public Integer createBetriebskalender(BetriebskalenderDto betriebskalenderDto, TheClientDto theClientDto) throws EJBExceptionLP { if (betriebskalenderDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("betriebskalenderDto == null")); } betriebskalenderDto.setTDatum(Helper.cutTimestamp(betriebskalenderDto.getTDatum())); if (betriebskalenderDto.getTDatum() == null || betriebskalenderDto.getTagesartIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "betriebskalenderDto.getDDatum() == null || betriebskalenderDto.getTagesartIId() == null")); } try { Query query = em.createNamedQuery("BetriebskalenderfindByMandantCNrTDatum"); query.setParameter(1, theClientDto.getMandant()); query.setParameter(2, betriebskalenderDto.getTDatum()); Betriebskalender doppelt = (Betriebskalender) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_BETRIEBSKALENDER.UK")); } catch (NoResultException ex) { } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_BETRIEBSKALENDER); betriebskalenderDto.setIId(pk); betriebskalenderDto.setTAendern(new java.sql.Timestamp(System.currentTimeMillis())); betriebskalenderDto.setPersonalIIdAendern(theClientDto.getIDPersonal()); betriebskalenderDto.setMandantCNr(theClientDto.getMandant()); Betriebskalender betriebskalender = new Betriebskalender(betriebskalenderDto.getIId(), betriebskalenderDto.getMandantCNr(), betriebskalenderDto.getTDatum(), betriebskalenderDto.getTagesartIId(), betriebskalenderDto.getPersonalIIdAendern()); em.persist(betriebskalender); em.flush(); setBetriebskalenderFromBetriebskalenderDto(betriebskalender, betriebskalenderDto); } catch (EntityExistsException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, ex); } return betriebskalenderDto.getIId(); } public Integer createFeiertag(FeiertagDto feiertagDto, TheClientDto theClientDto) { try { Query query = em.createNamedQuery("FeiertagfindByMandantCNr"); query.setParameter(1, theClientDto.getMandant()); Collection cl = query.getResultList(); /* * throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, * new Exception("PERS_BETRIEBSKALENDER.UK")); */ } catch (NoResultException ex) { } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_FEIERTAG); feiertagDto.setIId(pk); feiertagDto.setMandantCNr(theClientDto.getMandant()); Feiertag feiertag = new Feiertag(feiertagDto.getIId(), feiertagDto.getMandantCNr(), feiertagDto.getCBez(), feiertagDto.getTagesartIId()); em.persist(feiertag); em.flush(); setFeiertagFromFeiertagDto(feiertag, feiertagDto); } catch (EntityExistsException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, ex); } return feiertagDto.getIId(); } public void removeBetriebskalender(BetriebskalenderDto betriebskalenderDto) throws EJBExceptionLP { myLogger.entry(); if (betriebskalenderDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("betriebskalenderDto == null")); } if (betriebskalenderDto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("betriebskalenderDto.getIId() == null")); } try { Betriebskalender betriebskalender = em.find(Betriebskalender.class, betriebskalenderDto.getIId()); if (betriebskalender == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(betriebskalender); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void removeFeiertag(FeiertagDto feiertagDto) { Feiertag feiertag = em.find(Feiertag.class, feiertagDto.getIId()); em.remove(feiertag); em.flush(); } public void updateBetriebskalender(BetriebskalenderDto betriebskalenderDto, TheClientDto theClientDto) throws EJBExceptionLP { if (betriebskalenderDto != null) { Integer iId = betriebskalenderDto.getIId(); betriebskalenderDto.setTDatum(Helper.cutTimestamp(betriebskalenderDto.getTDatum())); Betriebskalender betriebskalender = em.find(Betriebskalender.class, iId); if (betriebskalender == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("BetriebskalenderfindByMandantCNrTDatumReligionIId"); query.setParameter(1, theClientDto.getMandant()); query.setParameter(2, betriebskalenderDto.getTDatum()); query.setParameter(3, betriebskalenderDto.getReligionIId()); Integer iIdVorhanden = ((Betriebskalender) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_BETRIEBSKALENDER.UK")); } } catch (NoResultException ex) { } betriebskalenderDto.setMandantCNr(theClientDto.getMandant()); betriebskalenderDto.setTAendern(new java.sql.Timestamp(System.currentTimeMillis())); betriebskalenderDto.setPersonalIIdAendern(theClientDto.getIDPersonal()); setBetriebskalenderFromBetriebskalenderDto(betriebskalender, betriebskalenderDto); // } // catch (FinderException ex) { // throw new // EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ex); // } } } public void feiertageAusVorlageFuerJahrEintragen(Integer iJahr, TheClientDto theClientDto) { Query query = em.createNamedQuery("FeiertagfindByMandantCNr"); query.setParameter(1, theClientDto.getMandant()); Collection cl = query.getResultList(); java.sql.Timestamp tOstersonntag = Helper.berechneOstersonntag(iJahr); Iterator it = cl.iterator(); while (it.hasNext()) { Feiertag ftg = (Feiertag) it.next(); java.sql.Timestamp datum = null; if (ftg.getIOffsetOstersonntag() != null) { Calendar c = Calendar.getInstance(); c.setTimeInMillis(tOstersonntag.getTime()); c.add(Calendar.DATE, ftg.getIOffsetOstersonntag()); datum = Helper.cutTimestamp(new Timestamp(c.getTimeInMillis())); } else { Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, iJahr); c.set(Calendar.MONTH, ftg.getiMonat()); c.set(Calendar.DAY_OF_MONTH, ftg.getiTag()); datum = Helper.cutTimestamp(new Timestamp(c.getTimeInMillis())); } Query queryUK = em.createNamedQuery("BetriebskalenderfindByMandantCNrTDatum"); queryUK.setParameter(1, theClientDto.getMandant()); queryUK.setParameter(2, datum); Collection cl2 = queryUK.getResultList(); if (cl2.size() == 0) { BetriebskalenderDto bkDto = new BetriebskalenderDto(); bkDto.setCBez(ftg.getCBez()); bkDto.setTDatum(datum); bkDto.setTagesartIId(ftg.getTagesartIId()); bkDto.setReligionIId(ftg.getReligionIId()); createBetriebskalender(bkDto, theClientDto); } } } public void updateFeiertag(FeiertagDto feiertagDto, TheClientDto theClientDto) { Integer iId = feiertagDto.getIId(); Feiertag feiertag = em.find(Feiertag.class, iId); try { Query query = em.createNamedQuery("FeiertagfindByMandantCNr"); query.setParameter(1, theClientDto.getMandant()); Collection cl = query.getResultList(); /* * if (iId.equals(iIdVorhanden) == false) { throw new * EJBExceptionLP( EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new * Exception("PERS_BETRIEBSKALENDER.UK")); } */ } catch (NoResultException ex) { } feiertagDto.setMandantCNr(theClientDto.getMandant()); setFeiertagFromFeiertagDto(feiertag, feiertagDto); } public BetriebskalenderDto betriebskalenderFindByPrimaryKey(Integer iId, TheClientDto theClientDto) throws EJBExceptionLP { // try { Betriebskalender betriebskalender = em.find(Betriebskalender.class, iId); if (betriebskalender == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } BetriebskalenderDto dto = assembleBetriebskalenderDto(betriebskalender); if (dto.getReligionIId() != null) { dto.setReligionDto(religionFindByPrimaryKey(dto.getReligionIId(), theClientDto)); } return dto; // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public FeiertagDto feiertagFindByPrimaryKey(Integer iId, TheClientDto theClientDto) { Feiertag feiertag = em.find(Feiertag.class, iId); FeiertagDto dto = FeiertagDtoAssembler.createDto(feiertag); return dto; } public BetriebskalenderDto betriebskalenderFindByMandantCNrDDatum(java.sql.Timestamp dDatum, String mandantCNr, TheClientDto theClientDto) { try { Query query = em.createNamedQuery("BetriebskalenderfindByMandantCNrTDatum"); query.setParameter(1, mandantCNr); query.setParameter(2, dDatum); // @todo getSingleResult oder getResultList ? Betriebskalender betriebskalender = (Betriebskalender) query.getSingleResult(); BetriebskalenderDto dto = assembleBetriebskalenderDto(betriebskalender); return dto; } catch (NoResultException e) { return null; } } public BetriebskalenderDto[] betriebskalenderFindByMandantCNrTagesartCNr(String tagesartCNr, TheClientDto theClientDto) throws EJBExceptionLP { Integer tagesartIId = getZeiterfassungFac().tagesartFindByCNr(tagesartCNr, theClientDto).getIId(); Query query = em.createNamedQuery("BetriebskalenderfindByMandantCNrTagesartCNr"); query.setParameter(1, theClientDto.getMandant()); query.setParameter(2, tagesartIId); Collection<?> cl = query.getResultList(); BetriebskalenderDto[] dtos = assembleBetriebskalenderDtos(cl); return dtos; } public BetriebskalenderDto betriebskalenderFindByMandantCNrDDatumReligionIId(java.sql.Timestamp dDatum, String mandantCNr, Integer religionIId) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("BetriebskalenderfindByMandantCNrTDatumReligionIId"); query.setParameter(1, mandantCNr); query.setParameter(2, dDatum); query.setParameter(3, religionIId); Betriebskalender betriebskalender = (Betriebskalender) query.getSingleResult(); if (betriebskalender == null) { return null; } BetriebskalenderDto dto = assembleBetriebskalenderDto(betriebskalender); return dto; // } // catch (FinderException e) { // return null; // } } private void setBetriebskalenderFromBetriebskalenderDto(Betriebskalender betriebskalender, BetriebskalenderDto betriebskalenderDto) { betriebskalender.setMandantCNr(betriebskalenderDto.getMandantCNr()); betriebskalender.setCBez(betriebskalenderDto.getCBez()); betriebskalender.setTDatum(betriebskalenderDto.getTDatum()); betriebskalender.setReligionIId(betriebskalenderDto.getReligionIId()); betriebskalender.setTagesartIId(betriebskalenderDto.getTagesartIId()); betriebskalender.setPersonalIIdAendern(betriebskalenderDto.getPersonalIIdAendern()); betriebskalender.setTAendern(betriebskalenderDto.getTAendern()); em.merge(betriebskalender); em.flush(); } private void setFeiertagFromFeiertagDto(Feiertag feiertag, FeiertagDto feiertagDto) { feiertag.setMandantCNr(feiertagDto.getMandantCNr()); feiertag.setCBez(feiertagDto.getCBez()); feiertag.setiTag(feiertagDto.getiTag()); feiertag.setiMonat(feiertagDto.getiMonat()); feiertag.setReligionIId(feiertagDto.getReligionIId()); feiertag.setTagesartIId(feiertagDto.getTagesartIId()); feiertag.setIOffsetOstersonntag(feiertagDto.getIOffsetOstersonntag()); em.merge(feiertag); em.flush(); } private BetriebskalenderDto assembleBetriebskalenderDto(Betriebskalender betriebskalender) { return BetriebskalenderDtoAssembler.createDto(betriebskalender); } private BetriebskalenderDto[] assembleBetriebskalenderDtos(Collection<?> betriebskalenders) { List<BetriebskalenderDto> list = new ArrayList<BetriebskalenderDto>(); if (betriebskalenders != null) { Iterator<?> iterator = betriebskalenders.iterator(); while (iterator.hasNext()) { Betriebskalender betriebskalender = (Betriebskalender) iterator.next(); list.add(assembleBetriebskalenderDto(betriebskalender)); } } BetriebskalenderDto[] returnArray = new BetriebskalenderDto[list.size()]; return (BetriebskalenderDto[]) list.toArray(returnArray); } public Integer createUrlaubsanspruch(UrlaubsanspruchDto urlaubsanspruchDto, TheClientDto theClientDto) throws EJBExceptionLP { if (urlaubsanspruchDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("urlaubsanspruchDto == null")); } if (urlaubsanspruchDto.getIJahr() == null || urlaubsanspruchDto.getFTage() == null || urlaubsanspruchDto.getFStunden() == null || urlaubsanspruchDto.getPersonalIId() == null || urlaubsanspruchDto.getBGesperrt() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "urlaubsanspruchDto.getIJahr() == null || urlaubsanspruchDto.getFTage() == null || urlaubsanspruchDto.getFStunden() == null || urlaubsanspruchDto.getPersonalIId() == null || urlaubsanspruchDto.getBGesperrt() == null")); } if (urlaubsanspruchDto.getFTagezusaetzlich() == null || urlaubsanspruchDto.getFStundenzusaetzlich() == null || urlaubsanspruchDto.getFJahresurlaubinwochen() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "urlaubsanspruchDto.getFTagezusaetzlich() == null || urlaubsanspruchDto.getFStundenzusaetzlich() == null || urlaubsanspruchDto.getFJahresurlaubinwochen() == null")); } try { Query query = em.createNamedQuery("UrlaubsanspruchfindByPersonalIIdIJahr"); query.setParameter(1, urlaubsanspruchDto.getPersonalIId()); query.setParameter(2, urlaubsanspruchDto.getIJahr()); Urlaubsanspruch doppelt = (Urlaubsanspruch) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_URLAUBSANSPRUCH.UK")); } catch (NoResultException ex1) { // nothing here } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_URLAUBSANSPRUCH); urlaubsanspruchDto.setIId(pk); urlaubsanspruchDto.setPersonalIIdAendern(theClientDto.getIDPersonal()); urlaubsanspruchDto.setTAendern(new java.sql.Timestamp(System.currentTimeMillis())); Urlaubsanspruch urlaubsanspruch = new Urlaubsanspruch(urlaubsanspruchDto.getIId(), urlaubsanspruchDto.getPersonalIId(), urlaubsanspruchDto.getIJahr(), urlaubsanspruchDto.getFTage(), urlaubsanspruchDto.getFStunden(), urlaubsanspruchDto.getPersonaIIdAendern(), urlaubsanspruchDto.getFStundenzusaetzlich(), urlaubsanspruchDto.getFTagezusaetzlich(), urlaubsanspruchDto.getBGesperrt(), urlaubsanspruchDto.getFJahresurlaubinwochen()); em.persist(urlaubsanspruch); em.flush(); setUrlaubsanspruchFromUrlaubsanspruchDto(urlaubsanspruch, urlaubsanspruchDto); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } return urlaubsanspruchDto.getIId(); } public void removeUrlaubsanspruch(UrlaubsanspruchDto urlaubsanspruchDto) throws EJBExceptionLP { myLogger.entry(); if (urlaubsanspruchDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("urlaubsanspruchDto == null")); } if (urlaubsanspruchDto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("urlaubsanspruchDto.getIId() == nulll")); } try { Urlaubsanspruch urlaubsanspruch = em.find(Urlaubsanspruch.class, urlaubsanspruchDto.getIId()); if (urlaubsanspruch == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(urlaubsanspruch); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void updateUrlaubsanspruch(UrlaubsanspruchDto urlaubsanspruchDto, TheClientDto theClientDto) throws EJBExceptionLP { if (urlaubsanspruchDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("urlaubsanspruchDto == null")); } if (urlaubsanspruchDto.getIId() == null || urlaubsanspruchDto.getIJahr() == null || urlaubsanspruchDto.getFTage() == null || urlaubsanspruchDto.getFStunden() == null || urlaubsanspruchDto.getPersonalIId() == null || urlaubsanspruchDto.getBGesperrt() == null || urlaubsanspruchDto.getFJahresurlaubinwochen() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "urlaubsanspruchDto.getIId() == null || urlaubsanspruchDto.getIJahr() == null || urlaubsanspruchDto.getFTage() == null || urlaubsanspruchDto.getFStunden() == null || urlaubsanspruchDto.getPersonalIId() == null || urlaubsanspruchDto.getBGesperrt() == null || urlaubsanspruchDto.getFJahresurlaubinwochen() == null")); } if (urlaubsanspruchDto.getFTagezusaetzlich() == null || urlaubsanspruchDto.getFStundenzusaetzlich() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "urlaubsanspruchDto.getFTagezusaetzlich() == null || urlaubsanspruchDto.getFStundenzusaetzlich() == null")); } Integer iId = urlaubsanspruchDto.getIId(); // try { Urlaubsanspruch urlaubsanspruch = em.find(Urlaubsanspruch.class, iId); if (urlaubsanspruch == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("UrlaubsanspruchfindByPersonalIIdIJahr"); query.setParameter(1, urlaubsanspruchDto.getPersonalIId()); query.setParameter(2, urlaubsanspruchDto.getIJahr()); Integer iIdVorhanden = ((Urlaubsanspruch) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_URLAUBSANSPRUCH.UK")); } } catch (NoResultException ex) { // } urlaubsanspruchDto.setPersonalIIdAendern(theClientDto.getIDPersonal()); urlaubsanspruchDto.setTAendern(new java.sql.Timestamp(System.currentTimeMillis())); setUrlaubsanspruchFromUrlaubsanspruchDto(urlaubsanspruch, urlaubsanspruchDto); } public UrlaubsanspruchDto urlaubsanspruchFindByPrimaryKey(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Urlaubsanspruch urlaubsanspruch = (Urlaubsanspruch) em.find(Urlaubsanspruch.class, iId); if (urlaubsanspruch == null) { // @ToDo null Pruefung? throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assembleUrlaubsanspruchDto(urlaubsanspruch); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public UrlaubsanspruchDto[] urlaubsanspruchFindLetztenUrlaubsanspruch(Integer personalIId, Integer iJahr) throws EJBExceptionLP { myLogger.entry(); if (personalIId == null || iJahr == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalIId == null || iJahr == null")); } // try { Query query = em.createNamedQuery("UrlaubsanspruchfindLetztenUrlaubsanspruch"); query.setParameter(1, personalIId); query.setParameter(2, iJahr); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // null); // } return assembleUrlaubsanspruchDtos(query.getResultList()); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public UrlaubsanspruchDto urlaubsanspruchFindByPersonalIIdIJahr(Integer personalIId, Integer iJahr) throws EJBExceptionLP { try { Query query = em.createNamedQuery("UrlaubsanspruchfindByPersonalIIdIJahr"); query.setParameter(1, personalIId); query.setParameter(2, iJahr); Urlaubsanspruch urlaubsanspruch = (Urlaubsanspruch) query.getSingleResult(); return assembleUrlaubsanspruchDto(urlaubsanspruch); } catch (NoResultException e) { return null; } } public UrlaubsanspruchDto[] urlaubsanspruchFindByPersonalIIdIJahrGroesser(Integer personalIId, Integer iJahr) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("UrlaubsanspruchfindByPersonalIIdIJahrGroesser"); query.setParameter(1, personalIId); query.setParameter(2, iJahr); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // return null; // } return assembleUrlaubsanspruchDtos(cl); // } // catch (FinderException e) { // return null; // } } public UrlaubsanspruchDto[] urlaubsanspruchFindByPersonalIIdIJahrKleiner(Integer personalIId, Integer iJahr) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("UrlaubsanspruchfindByPersonalIIdIJahrKleiner"); query.setParameter(1, personalIId); query.setParameter(2, iJahr); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // return null; // } return assembleUrlaubsanspruchDtos(cl); // } // catch (FinderException e) { // return null; // } } private void setUrlaubsanspruchFromUrlaubsanspruchDto(Urlaubsanspruch urlaubsanspruch, UrlaubsanspruchDto urlaubsanspruchDto) { urlaubsanspruch.setPersonalIId(urlaubsanspruchDto.getPersonalIId()); urlaubsanspruch.setIJahr(urlaubsanspruchDto.getIJahr()); urlaubsanspruch.setFTage(urlaubsanspruchDto.getFTage()); urlaubsanspruch.setFStunden(urlaubsanspruchDto.getFStunden()); urlaubsanspruch.setFTagezusaetzlich(urlaubsanspruchDto.getFTagezusaetzlich()); urlaubsanspruch.setFStundenzusaetzlich(urlaubsanspruchDto.getFStundenzusaetzlich()); urlaubsanspruch.setPersonalIIdAendern(urlaubsanspruchDto.getPersonaIIdAendern()); urlaubsanspruch.setTAendern(urlaubsanspruchDto.getTAendern()); urlaubsanspruch.setFResturlaubjahresendestunden(urlaubsanspruchDto.getFResturlaubjahresendestunden()); urlaubsanspruch.setFResturlaubjahresendetage(urlaubsanspruchDto.getFResturlaubjahresendetage()); urlaubsanspruch.setBGesperrt(urlaubsanspruchDto.getBGesperrt()); urlaubsanspruch.setFJahresurlaubinwochen(urlaubsanspruchDto.getFJahresurlaubinwochen()); em.merge(urlaubsanspruch); em.flush(); } private UrlaubsanspruchDto assembleUrlaubsanspruchDto(Urlaubsanspruch urlaubsanspruch) { return UrlaubsanspruchDtoAssembler.createDto(urlaubsanspruch); } private UrlaubsanspruchDto[] assembleUrlaubsanspruchDtos(Collection<?> urlaubsanspruchs) { List<UrlaubsanspruchDto> list = new ArrayList<UrlaubsanspruchDto>(); if (urlaubsanspruchs != null) { Iterator<?> iterator = urlaubsanspruchs.iterator(); while (iterator.hasNext()) { Urlaubsanspruch urlaubsanspruch = (Urlaubsanspruch) iterator.next(); list.add(assembleUrlaubsanspruchDto(urlaubsanspruch)); } } UrlaubsanspruchDto[] returnArray = new UrlaubsanspruchDto[list.size()]; return (UrlaubsanspruchDto[]) list.toArray(returnArray); } public Integer createGleitzeitsaldo(GleitzeitsaldoDto gleitzeitsaldoDto, TheClientDto theClientDto) throws EJBExceptionLP { if (gleitzeitsaldoDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("gleitzeitsaldoDto == null")); } if (gleitzeitsaldoDto.getIJahr() == null || gleitzeitsaldoDto.getIMonat() == null || gleitzeitsaldoDto.getPersonalIId() == null || gleitzeitsaldoDto.getNSaldo() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "gleitzeitsaldoDto.getIJahr() == null || gleitzeitsaldoDto.getIMonat() == null || gleitzeitsaldoDto.getPersonalIId() == null || gleitzeitsaldoDto.getNSaldo() == null")); } // try { Query query = em.createNamedQuery("GleitzeitsaldofindByPersonalIIdIJahrIMonat"); query.setParameter(1, gleitzeitsaldoDto.getPersonalIId()); query.setParameter(2, gleitzeitsaldoDto.getIJahr()); query.setParameter(3, gleitzeitsaldoDto.getIMonat()); try { Gleitzeitsaldo doppelt = (Gleitzeitsaldo) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_GLEITZEITSALDO.UK")); } catch (NoResultException e) { // nix } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_GLEITZEITSALDO); gleitzeitsaldoDto.setIId(pk); gleitzeitsaldoDto.setPersonalIIdAendern(theClientDto.getIDPersonal()); gleitzeitsaldoDto.setTAendern(new java.sql.Timestamp(System.currentTimeMillis())); Gleitzeitsaldo gleitzeitsaldo = new Gleitzeitsaldo(gleitzeitsaldoDto.getIId(), gleitzeitsaldoDto.getPersonalIId(), gleitzeitsaldoDto.getIJahr(), gleitzeitsaldoDto.getIMonat(), gleitzeitsaldoDto.getPersonalIIdAendern(), gleitzeitsaldoDto.getNSaldo()); em.persist(gleitzeitsaldo); em.flush(); if (gleitzeitsaldoDto.getBGesperrt() == null) { gleitzeitsaldoDto.setBGesperrt(gleitzeitsaldo.getBGesperrt()); } if (gleitzeitsaldoDto.getNSaldomehrstunden() == null) { gleitzeitsaldoDto.setNSaldomehrstunden(gleitzeitsaldo.getNSaldomehrstunden()); } if (gleitzeitsaldoDto.getNSaldouestfrei100() == null) { gleitzeitsaldoDto.setNSaldouestfrei100(gleitzeitsaldo.getNSaldouestfrei100()); } if (gleitzeitsaldoDto.getNSaldouestfrei50() == null) { gleitzeitsaldoDto.setNSaldouestfrei50(gleitzeitsaldo.getNSaldouestfrei50()); } if (gleitzeitsaldoDto.getNSaldouestpflichtig100() == null) { gleitzeitsaldoDto.setNSaldouestpflichtig100(gleitzeitsaldo.getNSaldouestpflichtig100()); } if (gleitzeitsaldoDto.getNSaldouestpflichtig50() == null) { gleitzeitsaldoDto.setNSaldouestpflichtig50(gleitzeitsaldo.getNSaldouestpflichtig50()); } if (gleitzeitsaldoDto.getNSaldouest200() == null) { gleitzeitsaldoDto.setNSaldouest200(gleitzeitsaldo.getNSaldouest200()); } setGleitzeitsaldoFromGleitzeitsaldoDto(gleitzeitsaldo, gleitzeitsaldoDto); return gleitzeitsaldoDto.getIId(); } catch (EntityExistsException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, ex); } } public void removeGleitzeitsaldo(GleitzeitsaldoDto gleitzeitsaldoDto) throws EJBExceptionLP { myLogger.entry(); if (gleitzeitsaldoDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("gleitzeitsaldoDto == null")); } if (gleitzeitsaldoDto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("gleitzeitsaldoDto.getIId() == nulll")); } try { Gleitzeitsaldo gleitzeitsaldo = em.find(Gleitzeitsaldo.class, gleitzeitsaldoDto.getIId()); if (gleitzeitsaldo == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(gleitzeitsaldo); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void updateGleitzeitsaldo(GleitzeitsaldoDto gleitzeitsaldoDto, TheClientDto theClientDto) throws EJBExceptionLP { if (gleitzeitsaldoDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("gleitzeitsaldoDto == null")); } if (gleitzeitsaldoDto.getIId() == null || gleitzeitsaldoDto.getIJahr() == null || gleitzeitsaldoDto.getIMonat() == null || gleitzeitsaldoDto.getPersonalIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "gleitzeitsaldoDto.getIId() == null || gleitzeitsaldoDto.getIJahr() == null || gleitzeitsaldoDto.getIMonat() == null || gleitzeitsaldoDto.getPersonalIId() == null")); } if (gleitzeitsaldoDto.getNSaldomehrstunden() == null || // gleitzeitsaldoDto.getNSaldouestdpauschale() == null || gleitzeitsaldoDto.getNSaldouestfrei100() == null || gleitzeitsaldoDto.getNSaldouestfrei50() == null || gleitzeitsaldoDto.getNSaldouestpflichtig100() == null || gleitzeitsaldoDto.getNSaldouestpflichtig50() == null || gleitzeitsaldoDto.getNSaldo() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "gleitzeitsaldoDto.getNSaldomehrst() == null || gleitzeitsaldoDto.getNSaldouestdpauschale() == null || gleitzeitsaldoDto.getNSaldouestfrei100() == null || gleitzeitsaldoDto.getNSaldouestfrei50() == null || gleitzeitsaldoDto.getNSaldouestpflichtig100() == null || gleitzeitsaldoDto.getNSaldouestpflichtig50() == null")); } Integer iId = gleitzeitsaldoDto.getIId(); // try { Gleitzeitsaldo gleitzeitsaldo = em.find(Gleitzeitsaldo.class, iId); if (gleitzeitsaldo == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } // try { Query query = em.createNamedQuery("GleitzeitsaldofindByPersonalIIdIJahrIMonat"); query.setParameter(1, gleitzeitsaldoDto.getPersonalIId()); query.setParameter(2, gleitzeitsaldoDto.getIJahr()); query.setParameter(3, gleitzeitsaldoDto.getIMonat()); Integer iIdVorhanden = ((Gleitzeitsaldo) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_GLEITZEITSALDO.UK")); } // } // catch (FinderException ex) { // // } gleitzeitsaldoDto.setPersonalIIdAendern(theClientDto.getIDPersonal()); gleitzeitsaldoDto.setTAendern(new java.sql.Timestamp(System.currentTimeMillis())); setGleitzeitsaldoFromGleitzeitsaldoDto(gleitzeitsaldo, gleitzeitsaldoDto); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public GleitzeitsaldoDto gleitzeitsaldoFindByPrimaryKey(Integer iId) throws EJBExceptionLP { // try { Gleitzeitsaldo gleitzeitsaldo = em.find(Gleitzeitsaldo.class, iId); if (gleitzeitsaldo == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assembleGleitzeitsaldoDto(gleitzeitsaldo); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public GleitzeitsaldoDto gleitzeitsaldoFindByPersonalIIdIJahrIMonat(Integer personalIId, Integer iJahr, Integer iMonat) throws EJBExceptionLP { try { Query query = em.createNamedQuery("GleitzeitsaldofindByPersonalIIdIJahrIMonat"); query.setParameter(1, personalIId); query.setParameter(2, iJahr); query.setParameter(3, iMonat); Gleitzeitsaldo gleitzeitsaldo = (Gleitzeitsaldo) query.getSingleResult(); // if (gleitzeitsaldo==null) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // null); // } return assembleGleitzeitsaldoDto(gleitzeitsaldo); } catch (NoResultException e) { throw new EJBExceptionLPwoRollback(EJBExceptionLP.FEHLER_BEI_FIND, e); } } public GleitzeitsaldoDto gleitzeitsaldoFindLetztenGleitzeitsaldo(Integer personalIId, Integer iJahr, Integer iMonat) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("GleitzeitsaldofindLetztenGleitzeitsaldo"); query.setParameter(1, personalIId); query.setParameter(2, iJahr); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // null); // } GleitzeitsaldoDto[] dtos = assembleGleitzeitsaldoDtos(cl); GleitzeitsaldoDto dto = null; for (int i = 0; i < dtos.length; i++) { if (dtos[i].getIJahr().intValue() == iJahr.intValue()) { if (dtos[i].getIMonat().intValue() < iMonat.intValue()) { dto = dtos[i]; break; } } else { dto = dtos[0]; break; } } return dto; // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // e); // } } private void setGleitzeitsaldoFromGleitzeitsaldoDto(Gleitzeitsaldo gleitzeitsaldo, GleitzeitsaldoDto gleitzeitsaldoDto) { gleitzeitsaldo.setPersonalIId(gleitzeitsaldoDto.getPersonalIId()); gleitzeitsaldo.setIJahr(gleitzeitsaldoDto.getIJahr()); gleitzeitsaldo.setIMonat(gleitzeitsaldoDto.getIMonat()); gleitzeitsaldo.setNSaldomehrstunden(Helper.rundeKaufmaennisch(gleitzeitsaldoDto.getNSaldomehrstunden(), 4)); gleitzeitsaldo.setNSaldouestfrei50(Helper.rundeKaufmaennisch(gleitzeitsaldoDto.getNSaldouestfrei50(), 4)); gleitzeitsaldo.setNSaldouestpflichtig50( Helper.rundeKaufmaennisch(gleitzeitsaldoDto.getNSaldouestpflichtig50(), 4)); gleitzeitsaldo.setNSaldouestfrei100(Helper.rundeKaufmaennisch(gleitzeitsaldoDto.getNSaldouestfrei100(), 4)); gleitzeitsaldo.setNSaldouest200(Helper.rundeKaufmaennisch(gleitzeitsaldoDto.getNSaldouest200(), 4)); gleitzeitsaldo.setNSaldouestpflichtig100( Helper.rundeKaufmaennisch(gleitzeitsaldoDto.getNSaldouestpflichtig100(), 4)); gleitzeitsaldo.setNSaldo(Helper.rundeKaufmaennisch(gleitzeitsaldoDto.getNSaldo(), 4)); gleitzeitsaldo.setBGesperrt(gleitzeitsaldoDto.getBGesperrt()); gleitzeitsaldo.setPersonalIIdAendern(gleitzeitsaldoDto.getPersonalIIdAendern()); gleitzeitsaldo.setTAendern(gleitzeitsaldoDto.getTAendern()); gleitzeitsaldo.setTAbrechnungsstichtag(gleitzeitsaldoDto.getDAbrechnungstichtag()); em.merge(gleitzeitsaldo); em.flush(); } private GleitzeitsaldoDto assembleGleitzeitsaldoDto(Gleitzeitsaldo gleitzeitsaldo) { return GleitzeitsaldoDtoAssembler.createDto(gleitzeitsaldo); } private GleitzeitsaldoDto[] assembleGleitzeitsaldoDtos(Collection<?> gleitzeitsaldos) { List<GleitzeitsaldoDto> list = new ArrayList<GleitzeitsaldoDto>(); if (gleitzeitsaldos != null) { Iterator<?> iterator = gleitzeitsaldos.iterator(); while (iterator.hasNext()) { Gleitzeitsaldo gleitzeitsaldo = (Gleitzeitsaldo) iterator.next(); list.add(assembleGleitzeitsaldoDto(gleitzeitsaldo)); } } GleitzeitsaldoDto[] returnArray = new GleitzeitsaldoDto[list.size()]; return (GleitzeitsaldoDto[]) list.toArray(returnArray); } public Integer createFahrzeug(FahrzeugDto dto, TheClientDto theClientDto) { try { Query query = em.createNamedQuery("FahrzeugfindByMandantCNrCBez"); query.setParameter(1, dto.getMandantCNr()); query.setParameter(2, dto.getCBez()); Fahrzeug doppelt = (Fahrzeug) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_FAHRUEZG.UK")); } catch (NoResultException ex1) { // nothing here } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_FAHRZEUG); dto.setIId(pk); Fahrzeug bean = new Fahrzeug(dto.getIId(), dto.getMandantCNr(), dto.getCBez(), dto.getCKennzeichen()); em.persist(bean); em.flush(); setFahrzeugFromFahrzeugDto(bean, dto); return dto.getIId(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, e); } } private void setFahrzeugFromFahrzeugDto(Fahrzeug bean, FahrzeugDto dto) { bean.setCBez(dto.getCBez()); bean.setCKennzeichen(dto.getCKennzeichen()); bean.setMandantCNr(dto.getMandantCNr()); em.merge(bean); em.flush(); } public void updateFahrzeug(FahrzeugDto dto, TheClientDto theClientDto) { Fahrzeug fahrzeug = em.find(Fahrzeug.class, dto.getIId()); try { Query query = em.createNamedQuery("FahrzeugfindByMandantCNrCBez"); query.setParameter(1, dto.getMandantCNr()); query.setParameter(2, dto.getCBez()); // @todo getSingleResult oder getResultList ? Integer iIdVorhanden = ((Fahrzeug) query.getSingleResult()).getIId(); if (fahrzeug.getIId().equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_FAHRZEUG.UK")); } } catch (NoResultException ex) { } setFahrzeugFromFahrzeugDto(fahrzeug, dto); } public FahrzeugDto fahrzeugFindByPrimaryKey(Integer iId) { Fahrzeug ialle = em.find(Fahrzeug.class, iId); if (ialle == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return FahrzeugDtoAssembler.createDto(ialle); } public void removeFahrzeug(FahrzeugDto dto) { Fahrzeug toRemove = em.find(Fahrzeug.class, dto.getIId()); try { em.remove(toRemove); em.flush(); } catch (EntityExistsException er) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, er); } } public Integer createFahrzeugkosten(FahrzeugkostenDto dto) { dto.setTGueltigab(Helper.cutTimestamp(dto.getTGueltigab())); try { Query query = em.createNamedQuery("FahrzeugkostenfindByFahrzeugIIdTGueltigab"); query.setParameter(1, dto.getFahrzeugIId()); query.setParameter(2, dto.getTGueltigab()); Fahrzeugkosten doppelt = (Fahrzeugkosten) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_FAHRUEZGKOSTEN.UK")); } catch (NoResultException ex1) { // nothing here } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_FAHRZEUGKOSTEN); dto.setIId(pk); Fahrzeugkosten bean = new Fahrzeugkosten(dto.getIId(), dto.getFahrzeugIId(), dto.getTGueltigab(), dto.getNKmkosten()); em.persist(bean); em.flush(); setFahrzeugkostenFromFahrzeugkostenDto(bean, dto); return dto.getIId(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, e); } } private void setFahrzeugkostenFromFahrzeugkostenDto(Fahrzeugkosten bean, FahrzeugkostenDto dto) { bean.setFahrzeugIId(dto.getFahrzeugIId()); bean.setNKmkosten(dto.getNKmkosten()); bean.setTGueltigab(dto.getTGueltigab()); em.merge(bean); em.flush(); } public void updateFahrzeugkosten(FahrzeugkostenDto dto) { Fahrzeugkosten fahrzeugkosten = em.find(Fahrzeugkosten.class, dto.getIId()); dto.setTGueltigab(Helper.cutTimestamp(dto.getTGueltigab())); try { Query query = em.createNamedQuery("FahrzeugkostenfindByFahrzeugIIdTGueltigab"); query.setParameter(1, dto.getFahrzeugIId()); query.setParameter(2, dto.getTGueltigab()); // @todo getSingleResult oder getResultList ? Integer iIdVorhanden = ((Fahrzeugkosten) query.getSingleResult()).getIId(); if (fahrzeugkosten.getIId().equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_FAHRZEUGKOSTEN.UK")); } } catch (NoResultException ex) { } setFahrzeugkostenFromFahrzeugkostenDto(fahrzeugkosten, dto); } public FahrzeugkostenDto fahrzeugkostenFindByPrimaryKey(Integer iId) { Fahrzeugkosten ialle = em.find(Fahrzeugkosten.class, iId); if (ialle == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return FahrzeugkostenDtoAssembler.createDto(ialle); } public void removeFahrzeugkosten(FahrzeugkostenDto dto) { Fahrzeugkosten toRemove = em.find(Fahrzeugkosten.class, dto.getIId()); try { em.remove(toRemove); em.flush(); } catch (EntityExistsException er) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, er); } } public Integer createStundenabrechnung(StundenabrechnungDto stundenabrechnungDto, TheClientDto theClientDto) throws EJBExceptionLP { if (stundenabrechnungDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("stundenabrechnungDto == null")); } if (stundenabrechnungDto.getPersonalIId() == null || stundenabrechnungDto.getTDatum() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "stundenabrechnungDto.getPersonalIId() == null || stundenabrechnungDto.getDDatum() == null")); } try { Query query = em.createNamedQuery("StundenabrechnungfindByPersonalIIdTDatum"); query.setParameter(1, stundenabrechnungDto.getPersonalIId()); query.setParameter(2, stundenabrechnungDto.getTDatum()); Stundenabrechnung doppelt = (Stundenabrechnung) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_STUNDENABRECHNUNG.UK")); } catch (NoResultException ex1) { // nothing here } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_STUNDENABRECHNUNG); stundenabrechnungDto.setIId(pk); stundenabrechnungDto.setPersonalIIdAendern(theClientDto.getIDPersonal()); stundenabrechnungDto.setTAendern(new java.sql.Timestamp(System.currentTimeMillis())); Stundenabrechnung stundenabrechnung = new Stundenabrechnung(stundenabrechnungDto.getIId(), stundenabrechnungDto.getPersonalIId(), stundenabrechnungDto.getTDatum(), stundenabrechnungDto.getPersonalIIdAendern()); em.persist(stundenabrechnung); em.flush(); if (stundenabrechnungDto.getNMehrstunden() == null) { stundenabrechnungDto.setNMehrstunden(stundenabrechnung.getNMehrstunden()); } if (stundenabrechnungDto.getNQualifikationspraemie() == null) { stundenabrechnungDto.setNQualifikationspraemie(stundenabrechnung.getNQualifikationspraemie()); } if (stundenabrechnungDto.getNUestfrei100() == null) { stundenabrechnungDto.setNUestfrei100(stundenabrechnung.getNUestfrei100()); } if (stundenabrechnungDto.getNUestfrei50() == null) { stundenabrechnungDto.setNUestfrei50(stundenabrechnung.getNUestfrei50()); } if (stundenabrechnungDto.getNGutstunden() == null) { stundenabrechnungDto.setNGutstunden(stundenabrechnung.getNGutstunden()); } if (stundenabrechnungDto.getNUestpflichtig100() == null) { stundenabrechnungDto.setNUestpflichtig100(stundenabrechnung.getNUestpflichtig100()); } if (stundenabrechnungDto.getNUestpflichtig50() == null) { stundenabrechnungDto.setNUestpflichtig50(stundenabrechnung.getNUestpflichtig50()); } if (stundenabrechnungDto.getNNormalstunden() == null) { stundenabrechnungDto.setNNormalstunden(stundenabrechnung.getNNormalstunden()); } if (stundenabrechnungDto.getNUest200() == null) { stundenabrechnungDto.setNUest200(stundenabrechnung.getNUest200()); } setStundenabrechnungFromStundenabrechnungDto(stundenabrechnung, stundenabrechnungDto); return stundenabrechnungDto.getIId(); } catch (EntityExistsException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, ex); } } public void removeStundenabrechnung(StundenabrechnungDto stundenabrechnungDto) throws EJBExceptionLP { myLogger.entry(); if (stundenabrechnungDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("stundenabrechnungDto == null")); } if (stundenabrechnungDto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("stundenabrechnungDto.getIId() == nulll")); } try { Stundenabrechnung stundenabrechnung = em.find(Stundenabrechnung.class, stundenabrechnungDto.getIId()); if (stundenabrechnung == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(stundenabrechnung); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void updateStundenabrechnung(StundenabrechnungDto stundenabrechnungDto, TheClientDto theClientDto) throws EJBExceptionLP { if (stundenabrechnungDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("stundenabrechnungDto == null")); } if (stundenabrechnungDto.getPersonalIId() == null || stundenabrechnungDto.getTDatum() == null || stundenabrechnungDto.getNNormalstunden() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "stundenabrechnungDto.getPersonalIId() == null || stundenabrechnungDto.getDDatum() == null || stundenabrechnungDto.getNNormalstunden() == null")); } if (stundenabrechnungDto.getNMehrstunden() == null) { stundenabrechnungDto.setNMehrstunden(new BigDecimal(0)); } if (stundenabrechnungDto.getNQualifikationspraemie() == null) { stundenabrechnungDto.setNQualifikationspraemie(new BigDecimal(0)); } if (stundenabrechnungDto.getNUestfrei100() == null) { stundenabrechnungDto.setNUestfrei100(new BigDecimal(0)); } if (stundenabrechnungDto.getNUestfrei50() == null) { stundenabrechnungDto.setNUestfrei50(new BigDecimal(0)); } if (stundenabrechnungDto.getNGutstunden() == null) { stundenabrechnungDto.setNGutstunden(new BigDecimal(0)); } if (stundenabrechnungDto.getNUestpflichtig100() == null) { stundenabrechnungDto.setNUestpflichtig100(new BigDecimal(0)); } if (stundenabrechnungDto.getNUestpflichtig50() == null) { stundenabrechnungDto.setNUestpflichtig50(new BigDecimal(0)); } if (stundenabrechnungDto.getNUest200() == null) { stundenabrechnungDto.setNUest200(new BigDecimal(0)); } Integer iId = stundenabrechnungDto.getIId(); // try { Stundenabrechnung stundenabrechnung = em.find(Stundenabrechnung.class, iId); if (stundenabrechnung == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("StundenabrechnungfindByPersonalIIdTDatum"); query.setParameter(1, stundenabrechnungDto.getPersonalIId()); query.setParameter(2, stundenabrechnungDto.getTDatum()); Integer iIdVorhanden = ((Stundenabrechnung) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_STUNDENABRECHNUNG.UK")); } } catch (NoResultException ex) { // } stundenabrechnungDto.setPersonalIIdAendern(theClientDto.getIDPersonal()); stundenabrechnungDto.setTAendern(new java.sql.Timestamp(System.currentTimeMillis())); setStundenabrechnungFromStundenabrechnungDto(stundenabrechnung, stundenabrechnungDto); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public StundenabrechnungDto stundenabrechnungFindByPrimaryKey(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Stundenabrechnung stundenabrechnung = em.find(Stundenabrechnung.class, iId); if (stundenabrechnung == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assembleStundenabrechnungDto(stundenabrechnung); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, // ex); // } } public StundenabrechnungDto stundenabrechnungFindByPersonalIIdDDatum(Integer personalIId, Timestamp dDatum) throws EJBExceptionLP { Query query = em.createNamedQuery("StundenabrechnungfindByPersonalIIdTDatum"); query.setParameter(1, personalIId); query.setParameter(2, dDatum); Stundenabrechnung stundenabrechnung = (Stundenabrechnung) query.getSingleResult(); if (stundenabrechnung == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, ""); } return assembleStundenabrechnungDto(stundenabrechnung); } public StundenabrechnungDto[] stundenabrechnungFindByPersonalIIdIJahrIMonat(Integer personalIId, Integer iJahr, Integer iMonat) throws EJBExceptionLP { Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, iJahr.intValue()); c.set(Calendar.MONTH, iMonat.intValue()); c.set(Calendar.DAY_OF_MONTH, 1); c.set(Calendar.HOUR_OF_DAY, 0); c.set(Calendar.MINUTE, 0); c.set(Calendar.SECOND, 0); c.set(Calendar.MILLISECOND, 0); Timestamp tVon = new Timestamp(c.getTime().getTime()); c.set(Calendar.DAY_OF_MONTH, Helper.ermittleAnzahlTageEinesMonats(iJahr, iMonat)); Timestamp tBis = new Timestamp(c.getTime().getTime()); Query query = em.createNamedQuery("StundenabrechnungfindByPersonalIIdTDatumVonTDatumBis"); query.setParameter(1, personalIId); query.setParameter(2, tVon); query.setParameter(3, tBis); Collection<?> cl = query.getResultList(); return assembleStundenabrechnungDtos(cl); } private void setStundenabrechnungFromStundenabrechnungDto(Stundenabrechnung stundenabrechnung, StundenabrechnungDto stundenabrechnungDto) { stundenabrechnung.setPersonalIId(stundenabrechnungDto.getPersonalIId()); stundenabrechnung.setTDatum(stundenabrechnungDto.getTDatum()); stundenabrechnung.setNMehrstunden(stundenabrechnungDto.getNMehrstunden()); stundenabrechnung.setNUestfrei50(stundenabrechnungDto.getNUestfrei50()); stundenabrechnung.setNUestpflichtig50(stundenabrechnungDto.getNUestpflichtig50()); stundenabrechnung.setNUestfrei100(stundenabrechnungDto.getNUestfrei100()); stundenabrechnung.setNUest200(stundenabrechnungDto.getNUest200()); stundenabrechnung.setNUestpflichtig100(stundenabrechnungDto.getNUestpflichtig100()); stundenabrechnung.setNGutstunden(stundenabrechnungDto.getNGutstunden()); stundenabrechnung.setNNormalstunden(stundenabrechnungDto.getNNormalstunden()); stundenabrechnung.setNQualifikationspraemie(stundenabrechnungDto.getNQualifikationspraemie()); stundenabrechnung.setCKommentar(stundenabrechnungDto.getCKommentar()); stundenabrechnung.setTAendern(stundenabrechnungDto.getTAendern()); stundenabrechnung.setPersonalIIdAendern(stundenabrechnungDto.getPersonalIIdAendern()); em.merge(stundenabrechnung); em.flush(); } private StundenabrechnungDto assembleStundenabrechnungDto(Stundenabrechnung stundenabrechnung) { return StundenabrechnungDtoAssembler.createDto(stundenabrechnung); } private StundenabrechnungDto[] assembleStundenabrechnungDtos(Collection<?> stundenabrechnungs) { List<StundenabrechnungDto> list = new ArrayList<StundenabrechnungDto>(); if (stundenabrechnungs != null) { Iterator<?> iterator = stundenabrechnungs.iterator(); while (iterator.hasNext()) { Stundenabrechnung stundenabrechnung = (Stundenabrechnung) iterator.next(); list.add(assembleStundenabrechnungDto(stundenabrechnung)); } } StundenabrechnungDto[] returnArray = new StundenabrechnungDto[list.size()]; return (StundenabrechnungDto[]) list.toArray(returnArray); } public PersonalgehaltDto personalgehaltFindByPersonalIIdDGueltigab(Integer personalIId, Integer iJahr, Integer iMonat) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("PersonalgehaltfindByPersonalIIdIJahrIMonat"); query.setParameter(1, personalIId); query.setParameter(2, iJahr); query.setParameter(3, iMonat); Personalgehalt personalgehalt = (Personalgehalt) query.getSingleResult(); if (personalgehalt == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, ""); } return assemblePersonalgehaltDto(personalgehalt); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, e); // } } public PersonalgehaltDto personalgehaltFindLetztePersonalgehalt(Integer personalIId, Integer iJahr, Integer iMonat) throws EJBExceptionLP { // try { Query query2 = em.createNamedQuery("PersonalgehaltfindLetztePersonalgehalt"); query2.setParameter(1, personalIId); query2.setParameter(2, new Integer(iJahr.intValue() - 1)); query2.setParameter(3, new Integer(Calendar.DECEMBER)); PersonalgehaltDto[] dtos = assemblePersonalgehaltDtos(query2.getResultList()); Query query = em.createNamedQuery("PersonalgehaltfindByPersonalIIdIJahrMonat"); query.setParameter(1, personalIId); query.setParameter(2, iJahr); query.setParameter(3, iMonat); // @todo getSingleResult oder getResultList ? PersonalgehaltDto[] dtos2 = assemblePersonalgehaltDtos(query.getResultList()); if (dtos2.length > 0) { return dtos2[0]; } if (dtos.length > 0) { return dtos[0]; } else { return null; } // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, e); // } } public JasperPrintLP printPersonalliste(java.sql.Timestamp tsStichtag, boolean bMitBarcodes, boolean bMitVersteckten, int iOptionSortierung, TheClientDto theClientDto) { if (tsStichtag != null) { tsStichtag = Helper.cutTimestamp(tsStichtag); } Session session = null; String sSortierung = ""; try { session = FLRSessionFactory.getFactory().openSession(); org.hibernate.Criteria crit = session.createCriteria(FLRPersonal.class) .createAlias(PersonalFac.FLR_PERSONAL_FLRPARTNER, "p") .add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant())); if (bMitVersteckten == false) { crit.add(Restrictions.eq(PersonalFac.FLR_PERSONAL_B_VERSTECKT, Helper.boolean2Short(false))); } if (iOptionSortierung == PersonalFac.REPORT_PERSONALLISTE_OPTION_SORTIERUNG_AUSWEIS) { crit.addOrder(Order.asc(PersonalFac.FLR_PERSONAL_C_AUSWEIS)); sSortierung = getTextRespectUISpr("lp.ausweis", theClientDto.getMandant(), theClientDto.getLocUi()); } else if (iOptionSortierung == PersonalFac.REPORT_PERSONALLISTE_OPTION_SORTIERUNG_NAME) { crit.addOrder(Order.asc("p." + PartnerFac.FLR_PARTNER_NAME1NACHNAMEFIRMAZEILE1)); sSortierung = getTextRespectUISpr("lp.name", theClientDto.getMandant(), theClientDto.getLocUi()); } else if (iOptionSortierung == PersonalFac.REPORT_PERSONALLISTE_OPTION_SORTIERUNG_PERSONALNUMMER) { crit.addOrder(Order.asc(PersonalFac.FLR_PERSONAL_C_PERSONALNUMMER)); sSortierung = getTextRespectUISpr("lp.personalnr", theClientDto.getMandant(), theClientDto.getLocUi()); } List<?> resultList = crit.list(); Iterator<?> resultListIterator = resultList.iterator(); ArrayList<Object[]> alDaten = new ArrayList<Object[]>(); while (resultListIterator.hasNext()) { FLRPersonal personal = (FLRPersonal) resultListIterator.next(); if (tsStichtag == null || istPersonalAusgetreten(personal.getI_id(), tsStichtag, theClientDto) .booleanValue() == false) { Object[] dataHelp = new Object[REPORT_PERSONALLISTE_ANZAHL_SPALTEN]; PersonalDto personalDto = getPersonalFac().personalFindByPrimaryKey(personal.getI_id(), theClientDto); dataHelp[REPORT_PERSONALLISTE_PERSONALNUMMER] = personal.getC_personalnummer(); dataHelp[REPORT_PERSONALLISTE_NAME] = personal.getFlrpartner().getC_name1nachnamefirmazeile1(); dataHelp[REPORT_PERSONALLISTE_VORNAME] = personal.getFlrpartner() .getC_name2vornamefirmazeile2(); dataHelp[REPORT_PERSONALLISTE_GEBURTSTAG] = personal.getT_geburtsdatum(); try { if (tsStichtag == null) { dataHelp[REPORT_PERSONALLISTE_EINTRITTSDATUM_ZUM_STICHTAG] = eintrittaustrittFindLetztenEintrittBisDatum( personal.getI_id(), new Timestamp(System.currentTimeMillis())).getTEintritt(); } else { dataHelp[REPORT_PERSONALLISTE_EINTRITTSDATUM_ZUM_STICHTAG] = eintrittaustrittFindLetztenEintrittBisDatum( personal.getI_id(), tsStichtag).getTEintritt(); } } catch (Exception e) { // Kein Eintrittsdatum } PersonalzeitmodellDto pzDto = null; if (tsStichtag == null) { pzDto = personalzeitmodellFindZeitmodellZuDatum(personal.getI_id(), new Timestamp(System.currentTimeMillis()), theClientDto); } else { pzDto = personalzeitmodellFindZeitmodellZuDatum(personal.getI_id(), tsStichtag, theClientDto); } if (pzDto != null && pzDto.getZeitmodellDto() != null) { dataHelp[REPORT_PERSONALLISTE_ZEITMODELL_ZUM_STICHTAG] = pzDto.getZeitmodellDto() .getBezeichnung(); } if (personalDto.getBerufDto() != null) { dataHelp[REPORT_PERSONALLISTE_BERUF] = personalDto.getBerufDto().getCBez(); } if (personalDto.getReligionDto() != null) { dataHelp[REPORT_PERSONALLISTE_RELIGION] = personalDto.getReligionDto().getCNr(); } if (personalDto.getKollektivDto() != null) { dataHelp[REPORT_PERSONALLISTE_KOLLEKTIV] = personalDto.getKollektivDto().getCBez(); } dataHelp[REPORT_PERSONALLISTE_FAMILIENASTAND] = personalDto.getFamilienstandCNr(); if (personalDto.getLohngruppeDto() != null) { dataHelp[REPORT_PERSONALLISTE_LOHNGRUPPE] = personalDto.getLohngruppeDto().getCBez(); } if (personalDto.getLandplzortDto_Geburtsort() != null) { dataHelp[REPORT_PERSONALLISTE_GEBURTSORT] = personalDto.getLandplzortDto_Geburtsort() .formatLandPlzOrt(); } if (personalDto.getPendlerpauschaleDto() != null) { dataHelp[REPORT_PERSONALLISTE_PENDLERPAUSCHALE] = personalDto.getPendlerpauschaleDto() .getCBez(); } if (personalDto.getPartnerDto_Sozialversicherer() != null) { dataHelp[REPORT_PERSONALLISTE_SOZIALVERSICHERER] = personalDto .getPartnerDto_Sozialversicherer().formatAnrede(); } if (personalDto.getPartnerDto_Firma() != null) { dataHelp[REPORT_PERSONALLISTE_FIRMENZUGEHOERIGKEIT] = personalDto.getPartnerDto_Firma() .formatAnrede(); } if (personalDto.getLandDto() != null) { dataHelp[REPORT_PERSONALLISTE_STAATSANGEHOERIGKEIT] = personalDto.getLandDto().getCName(); } if (personalDto.getKostenstelleDto_Stamm() != null) { dataHelp[REPORT_PERSONALLISTE_HEIMATKOSTENSTELLE] = personalDto.getKostenstelleDto_Stamm() .getCBez(); } if (Helper.short2boolean(personalDto.getBMaennlich())) { dataHelp[REPORT_PERSONALLISTE_GESCHLECHT] = "M"; } else { dataHelp[REPORT_PERSONALLISTE_GESCHLECHT] = "W"; } dataHelp[REPORT_PERSONALLISTE_SOZIALVERSNR] = personalDto.getCSozialversnr(); dataHelp[REPORT_PERSONALLISTE_UNTERSCHRIFTSFUNKTION] = personalDto.getCUnterschriftsfunktion(); dataHelp[REPORT_PERSONALLISTE_UNTERSCHRIFTSTEXT] = personalDto.getCUnterschriftstext(); dataHelp[REPORT_PERSONALLISTE_KEINE_UEBERSTUNDENAUSZAHLUNG] = Helper .short2Boolean(personalDto.getBUeberstundenausbezahlt()); dataHelp[REPORT_PERSONALLISTE_VORNAME2] = personalDto.getPartnerDto() .getCName3vorname2abteilung(); dataHelp[REPORT_PERSONALLISTE_TITEL] = personalDto.getPartnerDto().getCTitel(); dataHelp[REPORT_PERSONALLISTE_STRASSE] = personalDto.getPartnerDto().getCStrasse(); dataHelp[REPORT_PERSONALLISTE_KURZBEZEICHNUNG] = personalDto.getPartnerDto().getCKbez(); dataHelp[REPORT_PERSONALLISTE_KURZZEICHEN] = personalDto.getCKurzzeichen(); dataHelp[REPORT_PERSONALLISTE_ABSENDER_DURCHWAHL] = personalDto.getCTelefon(); dataHelp[REPORT_PERSONALLISTE_ABSENDER_EMAIL] = personalDto.getCEmail(); dataHelp[REPORT_PERSONALLISTE_ABSENDER_HANDY] = personalDto.getCHandy(); dataHelp[REPORT_PERSONALLISTE_ABSENDER_FAXDW] = personalDto.getCFax(); dataHelp[REPORT_PERSONALLISTE_ABSENDER_DIREKTFAX] = personalDto.getCDirektfax(); dataHelp[REPORT_PERSONALLISTE_PERSONALFUNKTION] = personalDto.getPersonalfunktionCNr(); if (personalDto.getPersonalgruppeIId() != null) { dataHelp[REPORT_PERSONALLISTE_PERSONALGRUPPE] = personalgruppeFindByPrimaryKey( personalDto.getPersonalgruppeIId()).getCBez(); } dataHelp[REPORT_PERSONALLISTE_TELEFON] = personalDto.getPartnerDto().getCTelefon(); dataHelp[REPORT_PERSONALLISTE_EMAIL] = personalDto.getPartnerDto().getCEmail(); dataHelp[REPORT_PERSONALLISTE_HANDY] = personalDto.getPartnerDto().getCHandy(); dataHelp[REPORT_PERSONALLISTE_FAX] = personalDto.getPartnerDto().getCFax(); dataHelp[REPORT_PERSONALLISTE_HOMEPAGE] = personalDto.getPartnerDto().getCHomepage(); if (personalDto.getPartnerDto().getLandplzortDto() != null) { dataHelp[REPORT_PERSONALLISTE_ORT] = personalDto.getPartnerDto().getLandplzortDto() .formatLandPlzOrt(); } if (personal.getT_geburtsdatum() != null) { Calendar cGeb = Calendar.getInstance(); cGeb.setTimeInMillis(personal.getT_geburtsdatum().getTime()); dataHelp[REPORT_PERSONALLISTE_ALTER] = Calendar.getInstance().get(Calendar.YEAR) - cGeb.get(Calendar.YEAR); } dataHelp[REPORT_PERSONALLISTE_BILD] = Helper .byteArrayToImage(personalDto.getPartnerDto().getOBild()); dataHelp[REPORT_PERSONALLISTE_AUSWEISNUMMER] = personal.getC_ausweis(); dataHelp[REPORT_PERSONALLISTE_ART] = personal.getPersonalart_c_nr(); dataHelp[REPORT_PERSONALLISTE_KOSTENSTELLE] = personal.getFlrkostenstelleabteilung() == null ? null : personal.getFlrkostenstelleabteilung().getC_nr(); PersonalzutrittsklasseDto dto = null; if (tsStichtag == null) { java.sql.Timestamp tHeute = Helper .cutTimestamp(new java.sql.Timestamp(System.currentTimeMillis())); dto = getZutrittscontrollerFac().personalzutrittsklasseFindZutrittsklasseZuDatum( personal.getI_id(), tHeute, theClientDto); } else { dto = getZutrittscontrollerFac().personalzutrittsklasseFindZutrittsklasseZuDatum( personal.getI_id(), tsStichtag, theClientDto); } if (dto != null) { dataHelp[REPORT_PERSONALLISTE_ZUTRITTSKLASSE] = dto.getZutrittsklasseDto().getCNr(); } Query query = em.createNamedQuery("PersonalangehoerigefindByPersonalIId"); query.setParameter(1, personal.getI_id()); Collection<?> cl = query.getResultList(); PersonalangehoerigeDto[] personalangehoerigeDtos = assemblePersonalangehoerigeDtos(cl); if (personalangehoerigeDtos.length > 0) { String[] fieldnames = new String[] { "Name", "Vorname", "Geburtsdatum", "Art", "Sozialversicherungsnr" }; Object[][] dataSub = new Object[personalangehoerigeDtos.length][fieldnames.length]; for (int i = 0; i < personalangehoerigeDtos.length; i++) { dataSub[i][0] = personalangehoerigeDtos[i].getCName(); dataSub[i][1] = personalangehoerigeDtos[i].getCVorname(); dataSub[i][2] = personalangehoerigeDtos[i].getTGeburtsdatum(); dataSub[i][3] = personalangehoerigeDtos[i].getAngehoerigenartCNr(); dataSub[i][4] = personalangehoerigeDtos[i].getCSozialversnr(); } dataHelp[REPORT_PERSONALLISTE_SUBREPORT_ANGEHOERIGE] = new LPDatenSubreport(dataSub, fieldnames); } PartnerbankDto[] bankverbindungDtos = getBankFac() .partnerbankFindByPartnerIId(personal.getFlrpartner().getI_id(), theClientDto); if (bankverbindungDtos.length > 0) { String[] fieldnames = new String[] { "Iban", "Kontonummer", "Blz", "Bic", "Bank" }; Object[][] dataSub = new Object[bankverbindungDtos.length][fieldnames.length]; for (int i = 0; i < bankverbindungDtos.length; i++) { BankDto bankDto = getBankFac() .bankFindByPrimaryKey(bankverbindungDtos[i].getBankPartnerIId(), theClientDto); dataSub[i][0] = bankverbindungDtos[i].getCIban(); dataSub[i][1] = bankverbindungDtos[i].getCKtonr(); dataSub[i][2] = bankDto.getCBlz(); dataSub[i][3] = bankDto.getCBic(); dataSub[i][4] = bankDto.getPartnerDto().formatAnrede(); } dataHelp[REPORT_PERSONALLISTE_SUBREPORT_BANKVERBINDUNG] = new LPDatenSubreport(dataSub, fieldnames); } alDaten.add(dataHelp); } } if (iOptionSortierung == PersonalFac.REPORT_PERSONALLISTE_OPTION_SORTIERUNG_GEBURTSTAG) { for (int i = alDaten.size() - 1; i > 0; --i) { for (int j = 0; j < i; ++j) { java.util.Date d = (java.util.Date) alDaten.get(j)[REPORT_PERSONALLISTE_GEBURTSTAG]; java.util.Date d1 = (java.util.Date) alDaten.get(j + 1)[REPORT_PERSONALLISTE_GEBURTSTAG]; int dayOfYear = 0; if (d != null) { Calendar c = Calendar.getInstance(); c.setTimeInMillis(d.getTime()); dayOfYear = c.get(Calendar.DAY_OF_YEAR); } int dayOfYear1 = 0; if (d1 != null) { Calendar c = Calendar.getInstance(); c.setTimeInMillis(d1.getTime()); dayOfYear1 = c.get(Calendar.DAY_OF_YEAR); } if (dayOfYear > dayOfYear1) { Object[] h = alDaten.get(j); alDaten.set(j, alDaten.get(j + 1)); alDaten.set(j + 1, h); } } } sSortierung = getTextRespectUISpr("pers.geburtstag", theClientDto.getMandant(), theClientDto.getLocUi()); } session.close(); data = new Object[alDaten.size()][REPORT_PERSONALLISTE_ANZAHL_SPALTEN]; for (int i = 0; i < alDaten.size(); i++) { data[i] = alDaten.get(i); } } catch (Exception e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, e); } // Erstellung des Reports JasperPrintLP print = null; index = -1; HashMap<String, Object> parameter = new HashMap<String, Object>(); parameter.put("P_SORTIERUNG", sSortierung); parameter.put("P_STICHTAG", tsStichtag); parameter.put("P_MITVERSTECKTEN", new Boolean(bMitVersteckten)); if (bMitBarcodes == true) { initJRDS(parameter, PersonalFac.REPORT_MODUL, PersonalFac.REPORT_BARCODELISTE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); } else { initJRDS(parameter, PersonalFac.REPORT_MODUL, PersonalFac.REPORT_PERSONALLISTE, theClientDto.getMandant(), theClientDto.getLocUi(), theClientDto); } print = getReportPrint(); return print; } /** * Methode fuer JRDataSource * * @return boolean * @throws JRException */ public boolean next() throws JRException { index++; return (index < data.length); } public Object getFieldValue(JRField field) throws JRException { Object value = null; String fieldName = field.getName(); if ("Personalnummer".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_PERSONALNUMMER]; } else if ("Ausweisnummer".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_AUSWEISNUMMER]; } else if ("Name".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_NAME]; } else if ("Vorname".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_VORNAME]; } else if ("Bild".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_BILD]; } else if ("Art".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_ART]; } else if ("Kostenstelle".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_KOSTENSTELLE]; } else if ("Zutrittsklasse".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_ZUTRITTSKLASSE]; } else if ("Geburtsdatum".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_GEBURTSTAG]; } else if ("Alter".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_ALTER]; } else if ("SubreportBankverbindung".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_SUBREPORT_BANKVERBINDUNG]; } else if ("EintrittsdatumZumStichtag".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_EINTRITTSDATUM_ZUM_STICHTAG]; } else if ("ZeitmodellZumStichtag".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_ZEITMODELL_ZUM_STICHTAG]; } else if ("Familienstand".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_FAMILIENASTAND]; } else if ("Geburtsort".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_GEBURTSORT]; } else if ("Sozialversnr".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_SOZIALVERSNR]; } else if ("Sozialversicherer".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_SOZIALVERSICHERER]; } else if ("Staatsangehoerigkeit".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_STAATSANGEHOERIGKEIT]; } else if ("Religion".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_RELIGION]; } else if ("Kollektiv".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_KOLLEKTIV]; } else if ("Beruf".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_BERUF]; } else if ("Pendlerpauschale".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_PENDLERPAUSCHALE]; } else if ("Lohngruppe".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_LOHNGRUPPE]; } else if ("Firmenzugehoerigkeit".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_FIRMENZUGEHOERIGKEIT]; } else if ("Unterschriftsfunktion".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_UNTERSCHRIFTSFUNKTION]; } else if ("Unterschriftstext".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_UNTERSCHRIFTSTEXT]; } else if ("Ueberstundenauszahlung".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_KEINE_UEBERSTUNDENAUSZAHLUNG]; } else if ("AbsenderDurchwahl".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_ABSENDER_DURCHWAHL]; } else if ("AbsenderEmail".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_ABSENDER_EMAIL]; } else if ("AbsenderFaxDW".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_ABSENDER_FAXDW]; } else if ("AbsenderDirektfax".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_ABSENDER_DIREKTFAX]; } else if ("AbsenderHandy".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_ABSENDER_HANDY]; } else if ("Kurzzeichen".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_KURZZEICHEN]; } else if ("Kurzbezeichnung".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_KURZBEZEICHNUNG]; } else if ("Titel".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_TITEL]; } else if ("Vorname2".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_VORNAME2]; } else if ("Geschlecht".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_GESCHLECHT]; } else if ("Strasse".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_STRASSE]; } else if ("Personalgruppe".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_PERSONALGRUPPE]; } else if ("Ort".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_ORT]; } else if ("Personalfunktion".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_PERSONALFUNKTION]; } else if ("Heimatkostenstelle".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_HEIMATKOSTENSTELLE]; } else if ("Telefon".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_TELEFON]; } else if ("Fax".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_FAX]; } else if ("Email".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_EMAIL]; } else if ("Homepage".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_HOMEPAGE]; } else if ("Handy".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_HANDY]; } else if ("SubreportAngehoerige".equals(fieldName)) { value = data[index][REPORT_PERSONALLISTE_SUBREPORT_ANGEHOERIGE]; } return value; } public Integer createZulage(ZulageDto zulageDto) throws EJBExceptionLP { if (zulageDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("zulageDto == null")); } if (zulageDto.getCBez() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception("zulageDto.getCBez() == null")); } try { Query query = em.createNamedQuery("ZulagefindByCBez"); query.setParameter(1, zulageDto.getCBez()); Zulage doppelt = (Zulage) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_ZULAGE.C_BEZ")); } catch (NoResultException ex1) { } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_ZULAGE); zulageDto.setIId(pk); try { Zulage zulage = new Zulage(zulageDto.getIId(), zulageDto.getCBez()); em.persist(zulage); em.flush(); setZulageFromZulageDto(zulage, zulageDto); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, e); } return zulageDto.getIId(); } public void removeZulage(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("iId == null")); } try { Zulage zulage = em.find(Zulage.class, iId); if (zulage == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(zulage); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void removeZulage(ZulageDto zulageDto) throws EJBExceptionLP { if (zulageDto != null) { Integer iId = zulageDto.getIId(); removeZulage(iId); } } public void updateZulage(ZulageDto zulageDto) throws EJBExceptionLP { if (zulageDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("zulageDto == null")); } if (zulageDto.getIId() == null || zulageDto.getCBez() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("zulageDto.getIId() == null || zulageDto.getCBez() == null")); } Integer iId = zulageDto.getIId(); // try { Zulage zulage = em.find(Zulage.class, iId); if (zulage == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("ZulagefindByCBez"); query.setParameter(1, zulageDto.getCBez()); Integer iIdVorhanden = ((Zulage) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_ZULAGE.C_BEZ")); } } catch (NoResultException ex) { // } setZulageFromZulageDto(zulage, zulageDto); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, // ex); // } } public ZulageDto zulageFindByPrimaryKey(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Zulage zulage = em.find(Zulage.class, iId); if (zulage == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assembleZulageDto(zulage); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } private void setZulageFromZulageDto(Zulage zulage, ZulageDto zulageDto) { zulage.setCBez(zulageDto.getCBez()); em.merge(zulage); em.flush(); } private ZulageDto assembleZulageDto(Zulage zulage) { return ZulageDtoAssembler.createDto(zulage); } private ZulageDto[] assembleZulageDtos(Collection<?> zulages) { List<ZulageDto> list = new ArrayList<ZulageDto>(); if (zulages != null) { Iterator<?> iterator = zulages.iterator(); while (iterator.hasNext()) { Zulage zulage = (Zulage) iterator.next(); list.add(assembleZulageDto(zulage)); } } ZulageDto[] returnArray = new ZulageDto[list.size()]; return (ZulageDto[]) list.toArray(returnArray); } public Integer createArtikelzulage(ArtikelzulageDto artikelzulageDto) throws EJBExceptionLP { if (artikelzulageDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("artikelzulageDto == null")); } if (artikelzulageDto.getArtikelIId() == null || artikelzulageDto.getZulageIId() == null || artikelzulageDto.getTGueltigab() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "artikelzulageDto.getArtikelIId() == null || artikelzulageDto.getZulageIId() == null || artikelzulageDto.getTGueltigab() == null")); } Query query = em.createNamedQuery("ArtikelzulagefindByArtikelIIdZulageIIdTGueltigab"); query.setParameter(1, artikelzulageDto.getArtikelIId()); query.setParameter(2, artikelzulageDto.getZulageIId()); query.setParameter(3, artikelzulageDto.getTGueltigab()); try { Artikelzulage doppelt = (Artikelzulage) query.getSingleResult(); if (doppelt != null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_ARTIKELZULAGE.UC")); } } catch (NoResultException ex1) { // nothing here } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_ARTIKELZULAGE); artikelzulageDto.setIId(pk); try { Artikelzulage artikelzulage = new Artikelzulage(artikelzulageDto.getIId(), artikelzulageDto.getArtikelIId(), artikelzulageDto.getZulageIId(), artikelzulageDto.getTGueltigab()); em.persist(artikelzulage); em.flush(); setArtikelzulageFromArtikelzulageDto(artikelzulage, artikelzulageDto); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, e); } return artikelzulageDto.getIId(); } public void removeArtikelzulage(Integer iId) throws EJBExceptionLP { if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("iId == null")); } try { Artikelzulage artikelzulage = em.find(Artikelzulage.class, iId); if (artikelzulage == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(artikelzulage); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void removeArtikelzulage(ArtikelzulageDto artikelzulageDto) throws EJBExceptionLP { if (artikelzulageDto != null) { Integer iId = artikelzulageDto.getIId(); removeArtikelzulage(iId); } } public void schichtzeitenVorausplanen(Integer personalIId, Integer zeitmodellIId1, Integer zeitmodellIId2, Integer zeitmodellIId3, Integer zeitmodellIId4, Integer iKwVon, Integer iKwBis, Integer iJahrVon, Integer iJahrBis, String tagesartCNrSchichtwechsel) { if (personalIId == null || zeitmodellIId1 == null || zeitmodellIId2 == null || iKwVon == null || iKwBis == null || iJahrVon == null || iJahrBis == null || tagesartCNrSchichtwechsel == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "personalIId == null || zeitmodellIId1 == null || zeitmodellIId2 == null || tVon == null || tBis == null || iJahrVon == null || iJahrBis == null || tagesartCNrSchichtwechsel == null")); } Calendar cBis = Calendar.getInstance(); cBis.set(Calendar.YEAR, iJahrBis); cBis.set(Calendar.WEEK_OF_YEAR, iKwBis); Calendar cAktuelleWoche = Calendar.getInstance(); cAktuelleWoche.set(Calendar.YEAR, iJahrVon); cAktuelleWoche.set(Calendar.WEEK_OF_YEAR, iKwVon); if (tagesartCNrSchichtwechsel.equals(ZeiterfassungFac.TAGESART_MONTAG)) { cAktuelleWoche.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); } else if (tagesartCNrSchichtwechsel.equals(ZeiterfassungFac.TAGESART_DIENSTAG)) { cAktuelleWoche.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); } else if (tagesartCNrSchichtwechsel.equals(ZeiterfassungFac.TAGESART_MITTWOCH)) { cAktuelleWoche.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY); } else if (tagesartCNrSchichtwechsel.equals(ZeiterfassungFac.TAGESART_DONNERSTAG)) { cAktuelleWoche.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY); } else if (tagesartCNrSchichtwechsel.equals(ZeiterfassungFac.TAGESART_FREITAG)) { cAktuelleWoche.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY); } else if (tagesartCNrSchichtwechsel.equals(ZeiterfassungFac.TAGESART_SAMSTAG)) { cAktuelleWoche.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); } else if (tagesartCNrSchichtwechsel.equals(ZeiterfassungFac.TAGESART_SONNTAG)) { cAktuelleWoche.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); } int iAnzahlSchichten = 0; if (zeitmodellIId1 != null && zeitmodellIId2 != null && zeitmodellIId3 != null && zeitmodellIId4 != null) { iAnzahlSchichten = 4; } else if (zeitmodellIId1 != null && zeitmodellIId2 != null && zeitmodellIId3 != null) { iAnzahlSchichten = 3; } else if (zeitmodellIId1 != null && zeitmodellIId2 != null) { iAnzahlSchichten = 2; } int iAktuelleSchicht = 1; while (cBis.getTime().after(cAktuelleWoche.getTime())) { // Eintragen fuer aktuelle Wochen Timestamp tAktuell = Helper.cutTimestamp(new Timestamp(cAktuelleWoche.getTimeInMillis())); try { Query query = em.createNamedQuery("PersonalzeitmodellfindByPersonalIIdTDatum"); query.setParameter(1, personalIId); query.setParameter(2, tAktuell); Personalzeitmodell personalzeitmodell = (Personalzeitmodell) query.getSingleResult(); // Wenns schon ein Zeitmodell gibt an diesem Tag, dann // auslassen } catch (NoResultException ex) { PersonalzeitmodellDto personalzeitmodellDto = new PersonalzeitmodellDto(); personalzeitmodellDto.setPersonalIId(personalIId); personalzeitmodellDto.setTGueltigab(tAktuell); if (iAktuelleSchicht == 1) { personalzeitmodellDto.setZeitmodellIId(zeitmodellIId1); } else if (iAktuelleSchicht == 2) { personalzeitmodellDto.setZeitmodellIId(zeitmodellIId2); } else if (iAktuelleSchicht == 3) { personalzeitmodellDto.setZeitmodellIId(zeitmodellIId3); } else if (iAktuelleSchicht == 4) { personalzeitmodellDto.setZeitmodellIId(zeitmodellIId4); } personalzeitmodellDto.setPersonalIId(personalIId); createPersonalzeitmodell(personalzeitmodellDto); } cAktuelleWoche.add(Calendar.WEEK_OF_YEAR, 1); // // cAktuelleWoche.set(Calendar.WEEK_OF_YEAR, // cAktuelleWoche.get(Calendar.WEEK_OF_YEAR) + 1); iAktuelleSchicht++; if (iAktuelleSchicht > iAnzahlSchichten) { iAktuelleSchicht = 1; } } } public void updateArtikelzulage(ArtikelzulageDto artikelzulageDto) throws EJBExceptionLP { if (artikelzulageDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("artikelzulageDto == null")); } if (artikelzulageDto.getIId() == null || artikelzulageDto.getArtikelIId() == null || artikelzulageDto.getZulageIId() == null || artikelzulageDto.getTGueltigab() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "artikelzulageDto.getIId() == null || artikelzulageDto.getArtikelIId() == null || artikelzulageDto.getZulageIId() == null || artikelzulageDto.getTGueltigab() == null")); } Integer iId = artikelzulageDto.getIId(); // try { Artikelzulage artikelzulage = em.find(Artikelzulage.class, iId); if (artikelzulage == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("ArtikelzulagefindByArtikelIIdZulageIIdTGueltigab"); query.setParameter(1, artikelzulageDto.getArtikelIId()); query.setParameter(2, artikelzulageDto.getZulageIId()); query.setParameter(3, artikelzulageDto.getTGueltigab()); Integer iIdVorhanden = ((Artikelzulage) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_ZULAGE.C_BEZ")); } } catch (NoResultException ex) { // nix } setArtikelzulageFromArtikelzulageDto(artikelzulage, artikelzulageDto); // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, // ex); // } } public ArtikelzulageDto artikelzulageFindByPrimaryKey(Integer iId) throws EJBExceptionLP { myLogger.entry(); if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Artikelzulage artikelzulage = em.find(Artikelzulage.class, iId); if (artikelzulage == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assembleArtikelzulageDto(artikelzulage); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } private void setArtikelzulageFromArtikelzulageDto(Artikelzulage artikelzulage, ArtikelzulageDto artikelzulageDto) { artikelzulage.setArtikelIId(artikelzulageDto.getArtikelIId()); artikelzulage.setZulageIId(artikelzulageDto.getZulageIId()); artikelzulage.setTGueltigab(artikelzulageDto.getTGueltigab()); em.merge(artikelzulage); em.flush(); } private ArtikelzulageDto assembleArtikelzulageDto(Artikelzulage artikelzulage) { return ArtikelzulageDtoAssembler.createDto(artikelzulage); } private ArtikelzulageDto[] assembleArtikelzulageDtos(Collection<?> artikelzulages) { List<ArtikelzulageDto> list = new ArrayList<ArtikelzulageDto>(); if (artikelzulages != null) { Iterator<?> iterator = artikelzulages.iterator(); while (iterator.hasNext()) { Artikelzulage artikelzulage = (Artikelzulage) iterator.next(); list.add(assembleArtikelzulageDto(artikelzulage)); } } ArtikelzulageDto[] returnArray = new ArtikelzulageDto[list.size()]; return (ArtikelzulageDto[]) list.toArray(returnArray); } public Integer createPersonalverfuegbarkeit(PersonalverfuegbarkeitDto personalverfuegbarkeitDto) throws EJBExceptionLP { if (personalverfuegbarkeitDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalverfuegbarkeitDto == null")); } if (personalverfuegbarkeitDto.getPersonalIId() == null || personalverfuegbarkeitDto.getArtikelIId() == null || personalverfuegbarkeitDto.getFAnteilprozent() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "personalverfuegbarkeitDto.getPersonalIId() == null || personalverfuegbarkeitDto.getArtikelIId() == null || personalverfuegbarkeitDto.getFAnteilprozent() == null")); } try { Query query = em.createNamedQuery("PersonalverfuegbarkeitfindByPersonalIIdArtikelIId"); query.setParameter(1, personalverfuegbarkeitDto.getPersonalIId()); query.setParameter(2, personalverfuegbarkeitDto.getArtikelIId()); // @todo getSingleResult oder getResultList ? Personalverfuegbarkeit doppelt = (Personalverfuegbarkeit) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONALVERFUEGBARKEIT.UK")); } catch (NoResultException ex1) { // nothing here } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_PERSONALVERFUEGBARKEIT); personalverfuegbarkeitDto.setIId(pk); try { Personalverfuegbarkeit personalverfuegbarkeit = new Personalverfuegbarkeit( personalverfuegbarkeitDto.getIId(), personalverfuegbarkeitDto.getPersonalIId(), personalverfuegbarkeitDto.getArtikelIId(), personalverfuegbarkeitDto.getFAnteilprozent()); em.persist(personalverfuegbarkeit); em.flush(); setPersonalverfuegbarkeitFromPersonalverfuegbarkeitDto(personalverfuegbarkeit, personalverfuegbarkeitDto); } catch (EntityExistsException ex) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, ex); } return personalverfuegbarkeitDto.getIId(); } public Double getAuslastungEinerPerson(Integer personalIId) throws EJBExceptionLP { double wert = 0; // try { Query query = em.createNamedQuery("PersonalverfuegbarkeitfindByPersonalIId"); query.setParameter(1, personalIId); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // null); // } PersonalverfuegbarkeitDto[] dtos = assemblePersonalverfuegbarkeitDtos(cl); for (int i = 0; i < dtos.length; i++) { wert += dtos[i].getFAnteilprozent(); } // } // catch (FinderException ex) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // ex); // } return wert; } public void removePersonalverfuegbarkeit(Integer iId) throws EJBExceptionLP { // try { Personalverfuegbarkeit toRemove = em.find(Personalverfuegbarkeit.class, iId); if (toRemove == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { em.remove(toRemove); em.flush(); } catch (EntityExistsException er) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, er); } // } // catch (Exception e) { // throw new EJBException(e.getMessage()); // } } public void removePersonalverfuegbarkeit(PersonalverfuegbarkeitDto personalverfuegbarkeitDto) throws EJBExceptionLP { if (personalverfuegbarkeitDto != null) { Integer iId = personalverfuegbarkeitDto.getIId(); removePersonalverfuegbarkeit(iId); } } public void updatePersonalverfuegbarkeit(PersonalverfuegbarkeitDto personalverfuegbarkeitDto) throws EJBExceptionLP { if (personalverfuegbarkeitDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalverfuegbarkeitDto == null")); } if (personalverfuegbarkeitDto.getIId() == null || personalverfuegbarkeitDto.getPersonalIId() == null || personalverfuegbarkeitDto.getArtikelIId() == null || personalverfuegbarkeitDto.getFAnteilprozent() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_DARF_NICHT_NULL_SEIN, new Exception( "personalverfuegbarkeitDto.getIId() == null || personalverfuegbarkeitDto.getPersonalIId() == null || personalverfuegbarkeitDto.getArtikelIId() == null || personalverfuegbarkeitDto.getFAnteilprozent() == null")); } Integer iId = personalverfuegbarkeitDto.getIId(); // try { try { Query query = em.createNamedQuery("PersonalverfuegbarkeitfindByPersonalIIdArtikelIId"); query.setParameter(1, personalverfuegbarkeitDto.getPersonalIId()); query.setParameter(2, personalverfuegbarkeitDto.getArtikelIId()); Integer iIdVorhanden = ((Personalverfuegbarkeit) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONALVERFUEGBARKEIT.UK")); } } catch (NoResultException ex) { // } Personalverfuegbarkeit personalverfuegbarkeit = em.find(Personalverfuegbarkeit.class, iId); if (personalverfuegbarkeit == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } setPersonalverfuegbarkeitFromPersonalverfuegbarkeitDto(personalverfuegbarkeit, personalverfuegbarkeitDto); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public PersonalverfuegbarkeitDto personalverfuegbarkeitFindByPrimaryKey(Integer iId) throws EJBExceptionLP { if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } // try { Personalverfuegbarkeit personalverfuegbarkeit = em.find(Personalverfuegbarkeit.class, iId); if (personalverfuegbarkeit == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assemblePersonalverfuegbarkeitDto(personalverfuegbarkeit); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public PersonalverfuegbarkeitDto[] personalverfuegbarkeitFindByPersonalIId(Integer personalIId) throws EJBExceptionLP { if (personalIId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalIId == null")); } // try { Query query = em.createNamedQuery("PersonalverfuegbarkeitfindByPersonalIId"); query.setParameter(1, personalIId); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // null); // } return assemblePersonalverfuegbarkeitDtos(cl); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } private void setPersonalverfuegbarkeitFromPersonalverfuegbarkeitDto( Personalverfuegbarkeit personalverfuegbarkeit, PersonalverfuegbarkeitDto personalverfuegbarkeitDto) { personalverfuegbarkeit.setPersonalIId(personalverfuegbarkeitDto.getPersonalIId()); personalverfuegbarkeit.setArtikelIId(personalverfuegbarkeitDto.getArtikelIId()); personalverfuegbarkeit.setFAnteilprozent(personalverfuegbarkeitDto.getFAnteilprozent()); em.merge(personalverfuegbarkeit); em.flush(); } private PersonalverfuegbarkeitDto assemblePersonalverfuegbarkeitDto( Personalverfuegbarkeit personalverfuegbarkeit) { return PersonalverfuegbarkeitDtoAssembler.createDto(personalverfuegbarkeit); } private PersonalverfuegbarkeitDto[] assemblePersonalverfuegbarkeitDtos(Collection<?> personalverfuegbarkeits) { List<PersonalverfuegbarkeitDto> list = new ArrayList<PersonalverfuegbarkeitDto>(); if (personalverfuegbarkeits != null) { Iterator<?> iterator = personalverfuegbarkeits.iterator(); while (iterator.hasNext()) { Personalverfuegbarkeit personalverfuegbarkeit = (Personalverfuegbarkeit) iterator.next(); list.add(assemblePersonalverfuegbarkeitDto(personalverfuegbarkeit)); } } PersonalverfuegbarkeitDto[] returnArray = new PersonalverfuegbarkeitDto[list.size()]; return (PersonalverfuegbarkeitDto[]) list.toArray(returnArray); } public Integer createKollektivuestd(KollektivuestdDto kollektivuestdDto) throws EJBExceptionLP { if (kollektivuestdDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("kollektivuestdDto == null")); } if (kollektivuestdDto.getTagesartIId() == null || kollektivuestdDto.getKollektivIId() == null || kollektivuestdDto.getBRestdestages() == null || kollektivuestdDto.getUAb() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "kollektivuestdDto.getTagesartIId() == null || kollektivuestdDto.getKollektivIId() == null || kollektivuestdDto.getBRestdestages() == null || kollektivuestdDto.getUAb() == null")); } if (Helper.short2Boolean(kollektivuestdDto.getBRestdestages()) == true) { kollektivuestdDto.setUBis(null); } else { if (kollektivuestdDto.getUBis() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("kollektivuestdDto.getUBis()")); } } try { Query query = em.createNamedQuery("KollektivuestdfindByKollektivIIdTagesartIId"); query.setParameter(1, kollektivuestdDto.getKollektivIId()); query.setParameter(2, kollektivuestdDto.getTagesartIId()); // @todo getSingleResult oder getResultList ? Kollektivuestd doppelt = (Kollektivuestd) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_KOLLEKTIVUESTD.UK")); } catch (NoResultException ex1) { // nothing here } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_KOLLEKTIVUESTD); kollektivuestdDto.setIId(pk); try { Kollektivuestd kollektivuestd = new Kollektivuestd(kollektivuestdDto.getIId(), kollektivuestdDto.getKollektivIId(), kollektivuestdDto.getBRestdestages(), kollektivuestdDto.getTagesartIId(), kollektivuestdDto.getUAb(), kollektivuestdDto.getBUnterignorieren()); em.persist(kollektivuestd); em.flush(); setKollektivuestdFromKollektivuestdDto(kollektivuestd, kollektivuestdDto); return kollektivuestdDto.getIId(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } } public void removeKollektivuestd(KollektivuestdDto kollektivuestdDto) throws EJBExceptionLP { if (kollektivuestdDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("kollektivuestdDto == null")); } if (kollektivuestdDto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("kollektivuestdDto.getIId() == null")); } try { Kollektivuestd kollektivuestd = em.find(Kollektivuestd.class, kollektivuestdDto.getIId()); if (kollektivuestd == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } em.remove(kollektivuestd); em.flush(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void updateKollektivuestd(KollektivuestdDto kollektivuestdDto) throws EJBExceptionLP { if (kollektivuestdDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("kollektivuestdDto == null")); } if (kollektivuestdDto.getIId() == null || kollektivuestdDto.getTagesartIId() == null || kollektivuestdDto.getKollektivIId() == null || kollektivuestdDto.getBRestdestages() == null || kollektivuestdDto.getUAb() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "kollektivuestdDto.getIId() == null || kollektivuestdDto.getTagesartIId() == null || kollektivuestdDto.getKollektivIId() == null || kollektivuestdDto.getBRestdestages() == null || kollektivuestdDto.getUAb() == null")); } if (Helper.short2Boolean(kollektivuestdDto.getBRestdestages()) == true) { kollektivuestdDto.setUBis(null); } else { if (kollektivuestdDto.getUBis() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("kollektivuestdDto.getUBis()")); } } Integer iId = kollektivuestdDto.getIId(); // try { // try { Query query = em.createNamedQuery("KollektivuestdfindByKollektivIIdTagesartIId"); query.setParameter(1, kollektivuestdDto.getKollektivIId()); query.setParameter(2, kollektivuestdDto.getTagesartIId()); Integer iIdVorhanden = ((Kollektivuestd) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_KOLLEKTIVUESTD.UK")); } // } // catch (FinderException ex) { // // } Kollektivuestd kollektivuestd = em.find(Kollektivuestd.class, iId); if (kollektivuestd == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } setKollektivuestdFromKollektivuestdDto(kollektivuestd, kollektivuestdDto); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public KollektivuestdDto kollektivuestdFindByPrimaryKey(Integer iId) throws EJBExceptionLP { // try { Kollektivuestd kollektivuestd = em.find(Kollektivuestd.class, iId); if (kollektivuestd == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assembleKollektivuestdDto(kollektivuestd); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public KollektivuestdDto[] kollektivuestdFindByKollektivIId(Integer kollektivId) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("KollektivuestdfindByKollektivIId"); query.setParameter(1, kollektivId); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // null); // } return assembleKollektivuestdDtos(cl); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // e); // } } private void setKollektivuestdFromKollektivuestdDto(Kollektivuestd kollektivuestd, KollektivuestdDto kollektivuestdDto) { kollektivuestd.setKollektivIId(kollektivuestdDto.getKollektivIId()); kollektivuestd.setUBis(kollektivuestdDto.getUBis()); kollektivuestd.setUAb(kollektivuestdDto.getUAb()); kollektivuestd.setBRestdestages(kollektivuestdDto.getBRestdestages()); kollektivuestd.setTagesartIId(kollektivuestdDto.getTagesartIId()); kollektivuestd.setBUnterignorieren(kollektivuestdDto.getBUnterignorieren()); em.merge(kollektivuestd); em.flush(); } private KollektivuestdDto assembleKollektivuestdDto(Kollektivuestd kollektivuestd) { return KollektivuestdDtoAssembler.createDto(kollektivuestd); } private KollektivuestdDto[] assembleKollektivuestdDtos(Collection<?> kollektivuestds) { List<KollektivuestdDto> list = new ArrayList<KollektivuestdDto>(); if (kollektivuestds != null) { Iterator<?> iterator = kollektivuestds.iterator(); while (iterator.hasNext()) { Kollektivuestd kollektivuestd = (Kollektivuestd) iterator.next(); list.add(assembleKollektivuestdDto(kollektivuestd)); } } KollektivuestdDto[] returnArray = new KollektivuestdDto[list.size()]; return (KollektivuestdDto[]) list.toArray(returnArray); } public Integer createKollektivuestd50(Kollektivuestd50Dto kollektivuestd50Dto) throws EJBExceptionLP { if (kollektivuestd50Dto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("kollektivuestd50Dto == null")); } if (kollektivuestd50Dto.getTagesartIId() == null || kollektivuestd50Dto.getKollektivIId() == null || kollektivuestd50Dto.getBRestdestages() == null || kollektivuestd50Dto.getUBis() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "kollektivuestd50Dto.getTagesartIId() == null || kollektivuestd50Dto.getKollektivIId() == null || kollektivuestd50Dto.getBRestdestages() == null || kollektivuestd50Dto.getUBis() == null")); } if (Helper.short2Boolean(kollektivuestd50Dto.getBRestdestages()) == true) { kollektivuestd50Dto.setUBis(null); } else { if (kollektivuestd50Dto.getUBis() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("kollektivuestd50Dto.getUBis()")); } } try { Query query = em.createNamedQuery("Kollektivuestd50findByKollektivIIdTagesartIId"); query.setParameter(1, kollektivuestd50Dto.getKollektivIId()); query.setParameter(2, kollektivuestd50Dto.getTagesartIId()); Kollektivuestd50 doppelt = (Kollektivuestd50) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_KOLLEKTIVUESTD50.UK")); } catch (NoResultException ex1) { // nothing here } // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_KOLLEKTIVUESTD50); kollektivuestd50Dto.setIId(pk); try { Kollektivuestd50 kollektivuestd50 = new Kollektivuestd50(kollektivuestd50Dto.getIId(), kollektivuestd50Dto.getKollektivIId(), kollektivuestd50Dto.getBRestdestages(), kollektivuestd50Dto.getTagesartIId(), kollektivuestd50Dto.getUVon(), kollektivuestd50Dto.getBUnterignorieren()); em.persist(kollektivuestd50); em.flush(); setKollektivuestd50FromKollektivuestd50Dto(kollektivuestd50, kollektivuestd50Dto); return kollektivuestd50Dto.getIId(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, new Exception(e)); } } public void removeKollektivuestd50(Kollektivuestd50Dto kollektivuestd50Dto) throws EJBExceptionLP { if (kollektivuestd50Dto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("kollektivuestd50Dto == null")); } if (kollektivuestd50Dto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("kollektivuestd50Dto.getIId() == null")); } try { Kollektivuestd50 kollektivuestd50 = em.find(Kollektivuestd50.class, kollektivuestd50Dto.getIId()); em.remove(kollektivuestd50); } catch (Exception e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, e); } } public void updateKollektivuestd50(Kollektivuestd50Dto kollektivuestd50Dto) throws EJBExceptionLP { if (kollektivuestd50Dto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("kollektivuestd50Dto == null")); } if (kollektivuestd50Dto.getIId() == null || kollektivuestd50Dto.getTagesartIId() == null || kollektivuestd50Dto.getKollektivIId() == null || kollektivuestd50Dto.getBRestdestages() == null || kollektivuestd50Dto.getUBis() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception( "kollektivuestdDto.getIId() == null || kollektivuestdDto.getTagesartIId() == null || kollektivuestdDto.getKollektivIId() == null || kollektivuestdDto.getBRestdestages() == null || kollektivuestdDto.getUBis() == null")); } if (Helper.short2Boolean(kollektivuestd50Dto.getBRestdestages()) == true) { kollektivuestd50Dto.setUBis(null); } else { if (kollektivuestd50Dto.getUBis() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("kollektivuestd50Dto.getUBis()")); } } Integer iId = kollektivuestd50Dto.getIId(); // try { Query query = em.createNamedQuery("Kollektivuestd50findByKollektivIIdTagesartIId"); query.setParameter(1, kollektivuestd50Dto.getKollektivIId()); query.setParameter(2, kollektivuestd50Dto.getTagesartIId()); Integer iIdVorhanden = ((Kollektivuestd50) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_KOLLEKTIVUESTD50.UK")); } // } // catch (FinderException ex) { // // } // try { Kollektivuestd50 kollektivuestd50 = em.find(Kollektivuestd50.class, iId); if (kollektivuestd50 == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } setKollektivuestd50FromKollektivuestd50Dto(kollektivuestd50, kollektivuestd50Dto); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public Kollektivuestd50Dto kollektivuestd50FindByPrimaryKey(Integer iId) throws EJBExceptionLP { // try { Kollektivuestd50 kollektivuestd50 = em.find(Kollektivuestd50.class, iId); if (kollektivuestd50 == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assembleKollektivuestd50Dto(kollektivuestd50); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FINDBYPRIMARYKEY, // e); // } } public Kollektivuestd50Dto kollektivuestd50FindByKollektivIIdTagesartIId(Integer kollektivIId, Integer tagesartIId) throws EJBExceptionLP { try { Query query = em.createNamedQuery("Kollektivuestd50findByKollektivIIdTagesartIId"); query.setParameter(1, kollektivIId); query.setParameter(2, tagesartIId); Kollektivuestd50 kollektivuestd50 = (Kollektivuestd50) query.getSingleResult(); return assembleKollektivuestd50Dto(kollektivuestd50); } catch (NoResultException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, e); } } public Kollektivuestd50Dto[] kollektivuestd50FindByKollektivIId(Integer kollektivIId) throws EJBExceptionLP { // try { Query query = em.createNamedQuery("Kollektivuestd50findByKollektivIId"); query.setParameter(1, kollektivIId); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // null); // } return assembleKollektivuestd50Dtos(cl); // } // catch (FinderException e) { // throw new EJBExceptionLP(EJBExceptionLP. // FEHLER_BEI_FIND, // e); // } } private void setKollektivuestd50FromKollektivuestd50Dto(Kollektivuestd50 kollektivuestd50, Kollektivuestd50Dto kollektivuestd50Dto) { kollektivuestd50.setKollektivIId(kollektivuestd50Dto.getKollektivIId()); kollektivuestd50.setUVon(kollektivuestd50Dto.getUVon()); kollektivuestd50.setUBis(kollektivuestd50Dto.getUBis()); kollektivuestd50.setBRestdestages(kollektivuestd50Dto.getBRestdestages()); kollektivuestd50.setTagesartIId(kollektivuestd50Dto.getTagesartIId()); kollektivuestd50.setBUnterignorieren(kollektivuestd50Dto.getBUnterignorieren()); em.merge(kollektivuestd50); em.flush(); } private Kollektivuestd50Dto assembleKollektivuestd50Dto(Kollektivuestd50 kollektivuestd50) { return Kollektivuestd50DtoAssembler.createDto(kollektivuestd50); } private Kollektivuestd50Dto[] assembleKollektivuestd50Dtos(Collection<?> kollektivuestd50s) { List<Kollektivuestd50Dto> list = new ArrayList<Kollektivuestd50Dto>(); if (kollektivuestd50s != null) { Iterator<?> iterator = kollektivuestd50s.iterator(); while (iterator.hasNext()) { Kollektivuestd50 kollektivuestd50 = (Kollektivuestd50) iterator.next(); list.add(assembleKollektivuestd50Dto(kollektivuestd50)); } } Kollektivuestd50Dto[] returnArray = new Kollektivuestd50Dto[list.size()]; return (Kollektivuestd50Dto[]) list.toArray(returnArray); } public Integer createPersonalgruppekosten(PersonalgruppekostenDto personalgruppekostenDto) { if (personalgruppekostenDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalgruppekostenDto == null")); } if (personalgruppekostenDto.getPersonalgruppeIId() == null || personalgruppekostenDto.getNStundensatz() == null || personalgruppekostenDto.getTGueltigab() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_IN_DTO_IS_NULL, new Exception( "personalgruppekostenDto.getPersonalgruppeIId() == null || personalgruppekostenDto.getNStundensatz() == null || personalgruppekostenDto.getTGueltigab() == null")); } personalgruppekostenDto.setTGueltigab(Helper.cutTimestamp(personalgruppekostenDto.getTGueltigab())); try { Query query = em.createNamedQuery("PersonalgruppekostenfindByPersonalgruppeIIdTGueltigab"); query.setParameter(1, personalgruppekostenDto.getPersonalgruppeIId()); query.setParameter(2, personalgruppekostenDto.getTGueltigab()); Personalgruppekosten doppelt = (Personalgruppekosten) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONALGRUPPEKOSTEN.UK")); } catch (NoResultException ex1) { // nothing here } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_PERSONALGRUPPEKOSTEN); personalgruppekostenDto.setIId(pk); Personalgruppekosten personalgruppekosten = new Personalgruppekosten(personalgruppekostenDto.getIId(), personalgruppekostenDto.getPersonalgruppeIId(), personalgruppekostenDto.getTGueltigab(), personalgruppekostenDto.getNStundensatz()); em.persist(personalgruppekosten); em.flush(); setPersonalgruppekostenFromPersonalgruppekostenDto(personalgruppekosten, personalgruppekostenDto); return personalgruppekostenDto.getIId(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, e); } } public void removePersonalgruppekosten(PersonalgruppekostenDto personalgruppekostenDto) { if (personalgruppekostenDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalgruppekostenDto == null")); } if (personalgruppekostenDto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalgruppekostenDto.getIId() == null")); } Personalgruppekosten toRemove = em.find(Personalgruppekosten.class, personalgruppekostenDto.getIId()); if (toRemove == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { em.remove(toRemove); em.flush(); } catch (EntityExistsException er) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, er); } } public String getSignatur(Integer personalIId, String locale) { try { Query query = em.createNamedQuery("SignaturfindByPersonalIIdLocaleCNr"); query.setParameter(1, personalIId); query.setParameter(2, locale); Signatur signatur = (Signatur) query.getSingleResult(); return signatur.getXSignatur(); } catch (NoResultException ex) { return null; } } public void updateSignatur(Integer personalIId, String xSignatur, TheClientDto theClientDto) { try { Query query = em.createNamedQuery("SignaturfindByPersonalIIdLocaleCNr"); query.setParameter(1, personalIId); query.setParameter(2, theClientDto.getLocUiAsString()); Signatur signatur = (Signatur) query.getSingleResult(); if (xSignatur == null) { em.remove(signatur); } else { signatur.setXSignatur(xSignatur); em.merge(signatur); em.flush(); } } catch (NoResultException ex) { if (xSignatur != null) { PKGeneratorObj pkGen = new PKGeneratorObj(); Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_SIGNATUR); Signatur signatur = new Signatur(pk, theClientDto.getLocUiAsString(), personalIId, xSignatur); em.merge(signatur); em.flush(); } } } public void updatePersonalgruppekosten(PersonalgruppekostenDto personalgruppekostenDto) { if (personalgruppekostenDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalgruppekostenDto == null")); } if (personalgruppekostenDto.getIId() == null || personalgruppekostenDto.getPersonalgruppeIId() == null || personalgruppekostenDto.getNStundensatz() == null || personalgruppekostenDto.getTGueltigab() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_IN_DTO_IS_NULL, new Exception( "personalgruppekostenDto.getIId() == null || personalgruppekostenDto.getPersonalgruppeIId() == null || personalgruppekostenDto.getNStundensatz() == null || personalgruppekostenDto.getTGueltigab() == null")); } personalgruppekostenDto.setTGueltigab(Helper.cutTimestamp(personalgruppekostenDto.getTGueltigab())); Integer iId = personalgruppekostenDto.getIId(); try { Query query = em.createNamedQuery("PersonalgruppekostenfindByPersonalgruppeIIdTGueltigab"); query.setParameter(1, personalgruppekostenDto.getPersonalgruppeIId()); query.setParameter(2, personalgruppekostenDto.getTGueltigab()); Integer iIdVorhanden = ((Personalgruppekosten) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONALGRUPPEKOSTEN.UK")); } } catch (NoResultException ex) { // } try { Personalgruppekosten personalgruppekosten = em.find(Personalgruppekosten.class, iId); setPersonalgruppekostenFromPersonalgruppekostenDto(personalgruppekosten, personalgruppekostenDto); } catch (Exception e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, e); } } public PersonalgruppekostenDto personalgruppekostenFindByPrimaryKey(Integer iId) { if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } Personalgruppekosten personalgruppekosten = em.find(Personalgruppekosten.class, iId); if (personalgruppekosten == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assemblePersonalgruppekostenDto(personalgruppekosten); } public BigDecimal getPersonalgruppeKostenZumZeitpunkt(Integer personalgruppeIId, java.sql.Timestamp tDatum) { // try { Query query = em.createNamedQuery("PersonalgruppekostenfindLetzeKostenByPersonalgruppeIIdTGueltigab"); query.setParameter(1, personalgruppeIId); query.setParameter(2, tDatum); Collection<?> cl = query.getResultList(); // if (cl.isEmpty()) { // return new BigDecimal(0); // } else { PersonalgruppekostenDto[] personalgruppekostenDtos = assemblePersonalgruppekostenDtos(cl); if (personalgruppekostenDtos != null && personalgruppekostenDtos.length > 0) { return personalgruppekostenDtos[0].getNStundensatz(); } else { return new BigDecimal(0); } // } // catch (NoResultException ex) { // return new BigDecimal(0); // } } public PersonalgruppekostenDto personalgruppekostenFindByPersonalgruppeIIdTGueltigab(Integer personalgruppeIId, Timestamp tGueltigab) { try { Query query = em.createNamedQuery("PersonalgruppekostenfindByPersonalgruppeIIdTGueltigab"); query.setParameter(1, personalgruppeIId); query.setParameter(2, tGueltigab); return assemblePersonalgruppekostenDto((Personalgruppekosten) query.getSingleResult()); } catch (Exception e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FIND, e); } } private void setPersonalgruppekostenFromPersonalgruppekostenDto(Personalgruppekosten personalgruppekosten, PersonalgruppekostenDto personalgruppekostenDto) { personalgruppekosten.setPersonalgruppeIId(personalgruppekostenDto.getPersonalgruppeIId()); personalgruppekosten.setTGueltigab(personalgruppekostenDto.getTGueltigab()); personalgruppekosten.setNStundensatz(personalgruppekostenDto.getNStundensatz()); em.merge(personalgruppekosten); em.flush(); } private PersonalgruppekostenDto assemblePersonalgruppekostenDto(Personalgruppekosten personalgruppekosten) { return PersonalgruppekostenDtoAssembler.createDto(personalgruppekosten); } private PersonalgruppekostenDto[] assemblePersonalgruppekostenDtos(Collection<?> personalgruppekostens) { List<PersonalgruppekostenDto> list = new ArrayList<PersonalgruppekostenDto>(); if (personalgruppekostens != null) { Iterator<?> iterator = personalgruppekostens.iterator(); while (iterator.hasNext()) { Personalgruppekosten personalgruppekosten = (Personalgruppekosten) iterator.next(); list.add(assemblePersonalgruppekostenDto(personalgruppekosten)); } } PersonalgruppekostenDto[] returnArray = new PersonalgruppekostenDto[list.size()]; return (PersonalgruppekostenDto[]) list.toArray(returnArray); } public Integer createPersonalgruppe(PersonalgruppeDto personalgruppeDto) { if (personalgruppeDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalgruppeDto == null")); } if (personalgruppeDto.getCBez() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_IN_DTO_IS_NULL, new Exception("personalgruppeDto.getCBez() == null")); } try { Query query = em.createNamedQuery("PersonalgruppefindByCBez"); query.setParameter(1, personalgruppeDto.getCBez()); Personalgruppe doppelt = (Personalgruppe) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONALGRUPPE.C_BEZ")); } catch (NoResultException ex1) { // nothing here } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_PERSONALGRUPPE); personalgruppeDto.setIId(pk); Personalgruppe personalgruppe = new Personalgruppe(personalgruppeDto.getIId(), personalgruppeDto.getCBez()); em.persist(personalgruppe); em.flush(); setPersonalgruppeFromPersonalgruppeDto(personalgruppe, personalgruppeDto); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, e); } return personalgruppeDto.getIId(); } public void removePersonalgruppe(PersonalgruppeDto personalgruppeDto) { if (personalgruppeDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalgruppeDto == null")); } if (personalgruppeDto.getIId() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("personalgruppeDto.getIId() == null")); } Personalgruppe toRemove = em.find(Personalgruppe.class, personalgruppeDto.getIId()); if (toRemove == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { em.remove(toRemove); em.flush(); } catch (EntityExistsException er) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, er); } } public void updatePersonalgruppe(PersonalgruppeDto personalgruppeDto) { if (personalgruppeDto == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DTO_IS_NULL, new Exception("personalgruppeDto == null")); } if (personalgruppeDto.getIId() == null || personalgruppeDto.getCBez() == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FELD_IN_DTO_IS_NULL, new Exception("personalgruppeDto.getIId() == null || personalgruppeDto.getCBez() == null")); } Integer iId = personalgruppeDto.getIId(); Personalgruppe personalgruppe = em.find(Personalgruppe.class, iId); if (personalgruppe == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } try { Query query = em.createNamedQuery("PersonalgruppefindByCBez"); query.setParameter(1, personalgruppeDto.getCBez()); Integer iIdVorhanden = ((Personalgruppe) query.getSingleResult()).getIId(); if (iId.equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_PERSONALGRUPPE.C_BEZ")); } } catch (NoResultException ex) { // } setPersonalgruppeFromPersonalgruppeDto(personalgruppe, personalgruppeDto); } public PersonalgruppeDto personalgruppeFindByPrimaryKey(Integer iId) { if (iId == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PKFIELD_IS_NULL, new Exception("iId == null")); } Personalgruppe personalgruppe = em.find(Personalgruppe.class, iId); if (personalgruppe == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } return assemblePersonalgruppeDto(personalgruppe); } private void setPersonalgruppeFromPersonalgruppeDto(Personalgruppe personalgruppe, PersonalgruppeDto personalgruppeDto) { personalgruppe.setCBez(personalgruppeDto.getCBez()); em.merge(personalgruppe); em.flush(); } private PersonalgruppeDto assemblePersonalgruppeDto(Personalgruppe personalgruppe) { return PersonalgruppeDtoAssembler.createDto(personalgruppe); } private PersonalgruppeDto[] assemblePersonalgruppeDtos(Collection<?> personalgruppes) { List<PersonalgruppeDto> list = new ArrayList<PersonalgruppeDto>(); if (personalgruppes != null) { Iterator<?> iterator = personalgruppes.iterator(); while (iterator.hasNext()) { Personalgruppe personalgruppe = (Personalgruppe) iterator.next(); list.add(assemblePersonalgruppeDto(personalgruppe)); } } PersonalgruppeDto[] returnArray = new PersonalgruppeDto[list.size()]; return (PersonalgruppeDto[]) list.toArray(returnArray); } public Integer createBereitschaftart(BereitschaftartDto dto) { try { Query query = em.createNamedQuery(Bereitschaftart.QueryFindByMandantCNrCBez); query.setParameter(1, dto.getMandantCNr()); query.setParameter(2, dto.getCBez()); Bereitschaftart doppelt = (Bereitschaftart) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_BEREITSCHAFTART.UK")); } catch (NoResultException ex1) { // nothing here } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_BEREITSCHAFTART); dto.setIId(pk); Bereitschaftart bean = new Bereitschaftart(dto.getIId(), dto.getMandantCNr(), dto.getCBez()); em.persist(bean); em.flush(); setBereitschaftartFromIsBereitschaftartDto(bean, dto); return dto.getIId(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, e); } } public BereitschaftartDto bereitschaftartFindByPrimaryKey(Integer iId) { Bereitschaftart ialle = em.find(Bereitschaftart.class, iId); return BereitschaftartDtoAssembler.createDto(ialle); } public void updateBereitschaftart(BereitschaftartDto dto) { Bereitschaftart ialle = em.find(Bereitschaftart.class, dto.getIId()); try { Query query = em.createNamedQuery(Bereitschaftart.QueryFindByMandantCNrCBez); query.setParameter(1, dto.getMandantCNr()); query.setParameter(2, dto.getCBez()); // @todo getSingleResult oder getResultList ? Integer iIdVorhanden = ((Bereitschaftart) query.getSingleResult()).getIId(); if (ialle.getIId().equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("WW_WEBSHOP.UK")); } } catch (NoResultException ex) { } setBereitschaftartFromIsBereitschaftartDto(ialle, dto); } public void removeBereitschaftart(BereitschaftartDto dto) { Bereitschaftart toRemove = em.find(Bereitschaftart.class, dto.getIId()); try { em.remove(toRemove); em.flush(); } catch (EntityExistsException er) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, er); } } private void setBereitschaftartFromIsBereitschaftartDto(Bereitschaftart bean, BereitschaftartDto dto) { bean.setMandantCNr(dto.getMandantCNr()); bean.setCBez(dto.getCBez()); em.merge(bean); em.flush(); } public Integer createBereitschafttag(BereitschafttagDto dto) { try { Query query = em.createNamedQuery("BereitschafttagfindByBereitschaftartIIdTagesartIIdUBeginn"); query.setParameter(1, dto.getBereitschaftartIId()); query.setParameter(2, dto.getTagesartIId()); query.setParameter(3, dto.getUBeginn()); Bereitschafttag doppelt = (Bereitschafttag) query.getSingleResult(); throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("PERS_BEREITSCHAFTTAG.UK")); } catch (NoResultException ex1) { // nothing here } if (Helper.short2Boolean(dto.getBEndedestages()) == true) { dto.setUEnde(null); } try { // generieren von primary key PKGeneratorObj pkGen = new PKGeneratorObj(); // PKGEN Integer pk = pkGen.getNextPrimaryKey(PKConst.PK_BEREITSCHAFTTAG); dto.setIId(pk); Bereitschafttag bean = new Bereitschafttag(dto.getIId(), dto.getBereitschaftartIId(), dto.getTagesartIId(), dto.getUBeginn(), dto.getBEndedestages()); em.persist(bean); em.flush(); setBereitschafttagFromIsBereitschafttagDto(bean, dto); return dto.getIId(); } catch (EntityExistsException e) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_ANLEGEN, e); } } public BereitschafttagDto bereitschafttagFindByPrimaryKey(Integer iId) { Bereitschafttag ialle = em.find(Bereitschafttag.class, iId); return BereitschafttagDtoAssembler.createDto(ialle); } public void updateBereitschafttag(BereitschafttagDto dto) { Bereitschafttag ialle = em.find(Bereitschafttag.class, dto.getIId()); if (Helper.short2Boolean(dto.getBEndedestages()) == true) { dto.setUEnde(null); } try { Query query = em.createNamedQuery("BereitschafttagfindByBereitschaftartIIdTagesartIIdUBeginn"); query.setParameter(1, dto.getBereitschaftartIId()); query.setParameter(2, dto.getTagesartIId()); query.setParameter(3, dto.getUBeginn()); // @todo getSingleResult oder getResultList ? Integer iIdVorhanden = ((Bereitschafttag) query.getSingleResult()).getIId(); if (ialle.getIId().equals(iIdVorhanden) == false) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_DUPLICATE_UNIQUE, new Exception("WW_WEBSHOP.UK")); } } catch (NoResultException ex) { } setBereitschafttagFromIsBereitschafttagDto(ialle, dto); } public void removeBereitschafttag(BereitschafttagDto dto) { Bereitschafttag toRemove = em.find(Bereitschafttag.class, dto.getIId()); try { em.remove(toRemove); em.flush(); } catch (EntityExistsException er) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEIM_LOESCHEN, er); } } private void setBereitschafttagFromIsBereitschafttagDto(Bereitschafttag bean, BereitschafttagDto dto) { bean.setBereitschaftartIId(dto.getBereitschaftartIId()); bean.setTagesartIId(dto.getTagesartIId()); bean.setUBeginn(dto.getUBeginn()); bean.setUEnde(dto.getUEnde()); bean.setBEndedestages(dto.getBEndedestages()); em.merge(bean); em.flush(); } public BigDecimal getKMKostenInZielwaehrung(Integer fahrzeugIId, java.util.Date datGueltigkeitsdatumI, String waehrungCNrZielwaehrung, TheClientDto theClientDto) { Query query = em.createNamedQuery("FahrzeugkostenfindAktuelleKosten"); query.setParameter(1, fahrzeugIId); query.setParameter(2, new java.sql.Date(datGueltigkeitsdatumI.getTime())); query.setMaxResults(1); Collection<?> cl = query.getResultList(); FahrzeugkostenDto[] dtos = FahrzeugkostenDtoAssembler.createDtos(cl); if (dtos.length > 0) { if (!waehrungCNrZielwaehrung.equals(theClientDto.getSMandantenwaehrung())) { try { BigDecimal kosten = getLocaleFac().rechneUmInAndereWaehrungZuDatum(dtos[0].getNKmkosten(), theClientDto.getSMandantenwaehrung(), waehrungCNrZielwaehrung, new Date(System.currentTimeMillis()), theClientDto); dtos[0].setNKmkosten(kosten); } catch (RemoteException e) { throwEJBExceptionLPRespectOld(e); } } return dtos[0].getNKmkosten(); } else { return null; } } }