List of usage examples for java.math BigDecimal add
public BigDecimal add(BigDecimal augend)
From source file:com.lp.server.lieferschein.ejbfac.LieferscheinFacBean.java
/** * Berechnung des Gestehungswerts eines Lieferscheins. <br> * Der Gestehungswert ist die Summe ueber die Gestehungswerte der * enthaltenen Artikelpositionen. <br> * Der Gestehungswert einer Artikelposition errechnet sich aus Menge x * positionsbezogenem Gestehungspreis des enthaltenen Artikels. * /*ww w . jav a2 s.c om*/ * @param iIdLieferscheinI * PK des Lieferscheins * @param theClientDto * der aktuelle Benutzer * @throws EJBExceptionLP * Ausnahme * @return BigDecimal der Gestehungswert in der gewuenschten Waehrung */ public BigDecimal berechneGestehungswert(Integer iIdLieferscheinI, TheClientDto theClientDto) throws EJBExceptionLP { final String METHOD_NAME = "berechneGestehungswert"; myLogger.entry(); if (iIdLieferscheinI == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PARAMETER_IS_NULL, new Exception("iIdLieferscheinI == null")); } BigDecimal bdGestehungswert = Helper.getBigDecimalNull(); // alle Positionen dieses Lieferscheins Query query = em.createNamedQuery("LieferscheinpositionfindByLieferschein"); query.setParameter(1, iIdLieferscheinI); Collection<?> c = query.getResultList(); for (Iterator<?> iter = c.iterator(); iter.hasNext();) { Lieferscheinposition oPosition = ((Lieferscheinposition) iter.next()); // alle positiven mengenbehafteten Positionen beruecksichtigen if (oPosition.getNMenge() != null && oPosition.getNMenge().doubleValue() > 0) { // Grundlage ist der positionsbezogene Gestehungspreis des // Artikels. if (oPosition.getLieferscheinpositionartCNr() .equals(LieferscheinpositionFac.LIEFERSCHEINPOSITIONSART_IDENT)) { bdGestehungswert = bdGestehungswert.add(berechneGestehungswertEinerLieferscheinposition( assembleLieferscheinpositionDto(oPosition), theClientDto)); } } } bdGestehungswert = Helper.rundeKaufmaennisch(bdGestehungswert, 4); checkNumberFormat(bdGestehungswert); return bdGestehungswert; }
From source file:com.lp.server.auftrag.ejbfac.AuftragFacBean.java
/** * Aktualisieren der Kopfdaten eines Auftrags. * //from w ww .j av a2 s.c om * @param auftragDtoI * die Daten des Auftrags * @param waehrungOriCNrI * die urspruengliche Belegwaehrung aenderewaehrung: 0 * @param theClientDto * der aktuelle Benutzer * @throws EJBExceptionLP * Ausnahme */ // TODO Grosser Auftrag bei Kunden. Funktion sollte jedoch // optimiert werden @TransactionTimeout(60000) public boolean updateAuftrag(AuftragDto auftragDtoI, String waehrungOriCNrI, TheClientDto theClientDto) throws EJBExceptionLP { checkAuftragDto(auftragDtoI); boolean bMwstSatzWurdeVonNullGeaendertUndEsGibtHandeingaben = false; AuftragDto auftragOldDto = auftragFindByPrimaryKey(auftragDtoI.getIId()); try { AuftragpositionDto[] aAuftragpositionDto = getAuftragpositionFac() .auftragpositionFindByAuftrag(auftragDtoI.getIId()); if (auftragOldDto.getAuftragartCNr().equals(AuftragServiceFac.AUFTRAGART_ABRUF) && aAuftragpositionDto.length > 0) { if (auftragOldDto.getAuftragartCNr().equals(AuftragServiceFac.AUFTRAGART_ABRUF) && !auftragDtoI.getAuftragartCNr().equals(AuftragServiceFac.AUFTRAGART_ABRUF)) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_ABRUFAUFTRAG_KANN_NICHT_MEHR_VERAENDERT_WERDEN, "FEHLER_ABRUFAUFTRAG_KANN_NICHT_MEHR_VERAENDERT_WERDEN"); } if (!auftragOldDto.getAuftragIIdRahmenauftrag().equals(auftragDtoI.getAuftragIIdRahmenauftrag())) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_ABRUFAUFTRAG_KANN_NICHT_MEHR_VERAENDERT_WERDEN, "FEHLER_ABRUFAUFTRAG_KANN_NICHT_MEHR_VERAENDERT_WERDEN"); } } // SK: Fuer Voest eingebaut am 27.1.2009 if (auftragOldDto.getDFinaltermin() != null && auftragDtoI.getDFinaltermin() != null) { if (!auftragOldDto.getDFinaltermin().equals(auftragDtoI.getDFinaltermin())) { // Finaltermin hat sich geaendert... Negative Positionen // bekommen neuen Positionstermin for (int i = 0; i < aAuftragpositionDto.length; i++) { if (aAuftragpositionDto[i].getNMenge() != null) { if (aAuftragpositionDto[i].getNMenge().compareTo(new BigDecimal(0)) < 0 && aAuftragpositionDto[i].getTUebersteuerbarerLiefertermin() .equals(auftragOldDto.getDFinaltermin())) { aAuftragpositionDto[i] .setTUebersteuerbarerLiefertermin(auftragDtoI.getDFinaltermin()); getAuftragpositionFac().updateAuftragpositionOhneWeitereAktion( aAuftragpositionDto[i], theClientDto); // Artikelreservierung Liefertermin aendern if (aAuftragpositionDto[i].isIdent()) { ArtikelreservierungDto artikelreservierungDto = getReservierungFac() .artikelreservierungFindByBelegartCNrBelegartPositionIIdOhneExc( LocaleFac.BELEGART_AUFTRAG, aAuftragpositionDto[i].getIId()); if (artikelreservierungDto != null) { artikelreservierungDto.setTLiefertermin( aAuftragpositionDto[i].getTUebersteuerbarerLiefertermin()); getReservierungFac().updateArtikelreservierung(artikelreservierungDto); } } } } } } } // aenderewaehrung: 1 wenn die Waehrung geaendert wurde, muessen die // Belegwerte neu berechnet werden if (waehrungOriCNrI != null && !waehrungOriCNrI.equals(auftragDtoI.getCAuftragswaehrung())) { // aenderewaehrung: 2 die Positionswerte neu berechnen und // abspeichern BigDecimal ffWechselkurs = getLocaleFac().getWechselkurs2(waehrungOriCNrI, auftragDtoI.getCAuftragswaehrung(), theClientDto); for (int i = 0; i < aAuftragpositionDto.length; i++) { if (aAuftragpositionDto[i].getNMenge() != null && aAuftragpositionDto[i].getNEinzelpreis() != null) { BigDecimal nNettoeinzelpreisInNeuerWaehrung = aAuftragpositionDto[i].getNEinzelpreis() .multiply(ffWechselkurs); VerkaufspreisDto verkaufspreisDto = getVkPreisfindungFac().berechnePreisfelder( nNettoeinzelpreisInNeuerWaehrung, aAuftragpositionDto[i].getFRabattsatz(), aAuftragpositionDto[i].getFZusatzrabattsatz(), aAuftragpositionDto[i].getMwstsatzIId(), 4, // @todo Konstante PJ 3778 theClientDto); aAuftragpositionDto[i].setNEinzelpreis(verkaufspreisDto.einzelpreis); aAuftragpositionDto[i].setNRabattbetrag(verkaufspreisDto.rabattsumme); aAuftragpositionDto[i].setNNettoeinzelpreis(verkaufspreisDto.nettopreis); aAuftragpositionDto[i].setNMwstbetrag(verkaufspreisDto.mwstsumme); aAuftragpositionDto[i].setNBruttoeinzelpreis(verkaufspreisDto.bruttopreis); // alle Preisfelder incl. der zusaetzlichen Preisfelder // befuellen getAuftragpositionFac().updateAuftragpositionOhneWeitereAktion(aAuftragpositionDto[i], theClientDto); } } } Timestamp auftragOldLT = Helper.cutTimestamp(auftragOldDto.getDLiefertermin()); if (!auftragOldDto.getDLiefertermin().equals(auftragDtoI.getDLiefertermin())) { for (int i = 0; i < aAuftragpositionDto.length; i++) { Timestamp posLT = Helper .cutTimestamp(aAuftragpositionDto[i].getTUebersteuerbarerLiefertermin()); if (posLT.equals(auftragOldLT)) { aAuftragpositionDto[i].setTUebersteuerbarerLiefertermin( new Timestamp(auftragDtoI.getDLiefertermin().getTime())); getAuftragpositionFac().updateAuftragpositionOhneWeitereAktion(aAuftragpositionDto[i], theClientDto); // Artikelreservierung Liefertermin aendern if (aAuftragpositionDto[i].isIdent()) { ArtikelreservierungDto artikelreservierungDto = getReservierungFac() .artikelreservierungFindByBelegartCNrBelegartPositionIIdOhneExc( LocaleFac.BELEGART_AUFTRAG, aAuftragpositionDto[i].getIId()); if (artikelreservierungDto != null) { artikelreservierungDto .setTLiefertermin(new Timestamp(auftragDtoI.getDLiefertermin().getTime())); getReservierungFac().updateArtikelreservierung(artikelreservierungDto); } } } } } // Auftrag Kunde wurde geaendert ? if (!auftragOldDto.getKundeIIdAuftragsadresse().equals(auftragDtoI.getKundeIIdAuftragsadresse())) { // mwstsatz KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(auftragDtoI.getKundeIIdAuftragsadresse(), theClientDto); KundeDto kundeDtoVorher = getKundeFac() .kundeFindByPrimaryKey(auftragOldDto.getKundeIIdAuftragsadresse(), theClientDto); ParametermandantDto parameterPositionskontierung = getParameterFac().getMandantparameter( theClientDto.getMandant(), ParameterFac.KATEGORIE_KUNDEN, ParameterFac.PARAMETER_KUNDEN_POSITIONSKONTIERUNG); boolean bDefaultMwstsatzAusArtikel = (Boolean) parameterPositionskontierung.getCWertAsObject(); for (int i = 0; i < aAuftragpositionDto.length; i++) { if (aAuftragpositionDto[i].isIdent() || aAuftragpositionDto[i].isHandeingabe()) { MwstsatzDto mwstsatzDto = getMandantFac().mwstsatzFindByMwstsatzbezIIdAktuellster( kundeDto.getMwstsatzbezIId(), theClientDto); if (bDefaultMwstsatzAusArtikel && aAuftragpositionDto[i].isIdent()) { ArtikelDto artikelDto = getArtikelFac().artikelFindByPrimaryKeySmall( aAuftragpositionDto[i].getArtikelIId(), theClientDto); if (artikelDto.getMwstsatzbezIId() != null) { mwstsatzDto = getMandantFac().mwstsatzFindByMwstsatzbezIIdAktuellster( artikelDto.getMwstsatzbezIId(), theClientDto); } } // SP503 if (bDefaultMwstsatzAusArtikel && aAuftragpositionDto[i].isHandeingabe()) { // Wenn alter und neuer Kunde den gleichen MWST-Satz // haben, dann nichts tun MwstsatzDto mwstsatzDtoKundeNeu = getMandantFac() .mwstsatzFindByMwstsatzbezIIdAktuellster(kundeDto.getMwstsatzbezIId(), theClientDto); MwstsatzDto mwstsatzDtoKundeVorher = getMandantFac() .mwstsatzFindByMwstsatzbezIIdAktuellster(kundeDtoVorher.getMwstsatzbezIId(), theClientDto); if (mwstsatzDtoKundeVorher.getFMwstsatz() == 0 && mwstsatzDtoKundeNeu.getFMwstsatz() > 0) { bMwstSatzWurdeVonNullGeaendertUndEsGibtHandeingaben = true; } if (mwstsatzDtoKundeNeu.getIId().equals(mwstsatzDtoKundeVorher.getIId())) { continue; } } if (!aAuftragpositionDto[i].getMwstsatzIId().equals(mwstsatzDto.getIId())) { aAuftragpositionDto[i].setMwstsatzIId(mwstsatzDto.getIId()); BigDecimal mwstBetrag = aAuftragpositionDto[i] .getNNettoeinzelpreisplusversteckteraufschlagminusrabatte() .multiply(new BigDecimal(mwstsatzDto.getFMwstsatz().doubleValue()) .movePointLeft(2)); aAuftragpositionDto[i].setNMwstbetrag(mwstBetrag); aAuftragpositionDto[i].setNBruttoeinzelpreis(mwstBetrag.add(aAuftragpositionDto[i] .getNNettoeinzelpreisplusversteckteraufschlagminusrabatte())); getAuftragpositionFac().updateAuftragpositionOhneWeitereAktion(aAuftragpositionDto[i], theClientDto); } } } // Kopftext und Fusstext zuruecksetzen auftragDtoI.setCFusstextUebersteuert(null); auftragDtoI.setCKopftextUebersteuert(null); } auftragDtoI.setPersonalIIdAendern(theClientDto.getIDPersonal()); auftragDtoI.setTAendern(getTimestamp()); Auftrag auftrag = em.find(Auftrag.class, auftragDtoI.getIId()); if (auftrag == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_BEI_FINDBYPRIMARYKEY, ""); } if (auftrag.getAuftragartCNr().equals(AuftragServiceFac.AUFTRAGART_ABRUF)) { if (!auftragDtoI.getAuftragartCNr().equals(AuftragServiceFac.AUFTRAGART_ABRUF)) auftragDtoI.setAuftragIIdRahmenauftrag(null); } if (!auftragDtoI.getKundeIIdAuftragsadresse().equals(auftrag.getKundeIIdAuftragsadresse())) { KundeDto kundeDto = getKundeFac().kundeFindByPrimaryKey(auftragDtoI.getKundeIIdAuftragsadresse(), theClientDto); Integer iGarantie = new Integer(0); if (kundeDto.getIGarantieinmonaten() != null) { iGarantie = kundeDto.getIGarantieinmonaten(); } auftragDtoI.setIGarantie(iGarantie); } setAuftragFromAuftragDto(auftrag, auftragDtoI); // aenderewaehrung: 3 der Status des Auftrags wechselt auf Angelegt pruefeUndSetzeAuftragstatusBeiAenderung(auftragDtoI.getIId(), theClientDto); } catch (RemoteException ex) { throwEJBExceptionLPRespectOld(ex); } return bMwstSatzWurdeVonNullGeaendertUndEsGibtHandeingaben; }
From source file:com.turborep.turbotracker.banking.service.BankingServiceImpl.java
@Override public BigDecimal getpageinitialamount(int from, int to, int moaccountid) throws BankingException { String aTransactionCountStr = "SELECT (SELECT IFNULL(SUM(amount) ,0.00) FROM (SELECT amount FROM moTransaction WHERE moTransactionTypeID=0 AND moAccountID=" + moaccountid + " ORDER BY moTransactionID DESC LIMIT " + from + "," + to + ") price) AS depositamount," + "(SELECT IFNULL(SUM(amount),0.00) FROM (SELECT amount FROM moTransaction WHERE moTransactionTypeID>0 AND moAccountID=4 ORDER BY moTransactionID DESC LIMIT " + from + "," + to + ") price) AS withdrawelamount FROM DUAL"; Session aSession = null;// ww w .ja v a 2s.co m BigDecimal depositamount = new BigDecimal(0); BigDecimal withdrawelamount = new BigDecimal(0); BigDecimal returnvalue = new BigDecimal(0); itsLogger.info("getpageinitialamount==" + aTransactionCountStr); try { // Retrieve session from Hibernate aSession = itsSessionFactory.openSession(); Query aQuery = aSession.createSQLQuery(aTransactionCountStr); Iterator<?> aIterator = aQuery.list().iterator(); if (aIterator.hasNext()) { Object[] aObj = (Object[]) aIterator.next(); depositamount = (BigDecimal) aObj[0]; withdrawelamount = (BigDecimal) aObj[1]; } returnvalue = depositamount.add(withdrawelamount); } catch (Exception e) { e.printStackTrace(); BankingException aBankingException = new BankingException(e.getMessage(), e); throw aBankingException; } finally { aSession.flush(); aSession.close(); aTransactionCountStr = null; } return returnvalue; }
From source file:com.turborep.turbotracker.banking.service.BankingServiceImpl.java
@Override public boolean updateReconcileDetails(MoAccount theMoAccount) throws BankingException { Session aSession = itsSessionFactory.openSession(); MoAccount aMoAccount = null;// www . j ava 2s.c o m Transaction aTransaction; String updateMoTransaction = null; String getMoTransaction = null; Motransaction aMotransaction = null; BigDecimal sumDep = BigDecimal.ZERO; BigDecimal sumWidh = BigDecimal.ZERO; try { aTransaction = aSession.beginTransaction(); aTransaction.begin(); getMoTransaction = "Select moTransactionTypeID,Amount from moTransaction where moAccountID = " + theMoAccount.getMoAccountId() + " AND tempRec = 1 AND Void<>1"; Query aQuery = aSession.createSQLQuery(getMoTransaction); Iterator<?> aIterator = aQuery.list().iterator(); while (aIterator.hasNext()) { Object[] aObj = (Object[]) aIterator.next(); if (aObj[0] != null) { if ((Short) aObj[0] == 0) { sumDep = sumDep.add((BigDecimal) aObj[1]); } else { sumWidh = sumWidh.add((BigDecimal) aObj[1]); } } } aMoAccount = (MoAccount) aSession.get(MoAccount.class, theMoAccount.getMoAccountId()); aMoAccount.setOpenBalance(theMoAccount.getOpenBalance()); aMoAccount.setEndingBalance(theMoAccount.getEndingBalance()); aMoAccount.setAdditions(aMoAccount.getAdditions().subtract(sumDep)); aMoAccount.setSubtractions(aMoAccount.getSubtractions().add(sumWidh)); aSession.update(aMoAccount); updateMoTransaction = "UPDATE Motransaction set reconciled = 1,tempRec=0 WHERE tempRec = 1"; Query query = aSession.createQuery(updateMoTransaction); int result = query.executeUpdate(); itsLogger.info("Rows affected: " + result); aTransaction.commit(); } catch (Exception e) { itsLogger.error(e.getMessage(), e); BankingException aBankingException = new BankingException(e.getMessage(), e); throw aBankingException; } finally { aSession.flush(); aSession.close(); updateMoTransaction = null; } return true; }
From source file:com.lp.server.lieferschein.ejbfac.LieferscheinFacBean.java
/** * Berechnung des Gestehungswerts eines Lieferscheins. <br> * Der Gestehungswert ist die Summe ueber die Gestehungswerte der * enthaltenen Artikelpositionen. <br> * Der Gestehungswert einer Artikelposition errechnet sich aus Menge x * positionsbezogenem Gestehungspreis des enthaltenen Artikels. * /*from w w w.ja v a2 s .co m*/ * @param iIdLieferscheinI * PK des Lieferscheins * @param theClientDto * der aktuelle Benutzer * @throws EJBExceptionLP * Ausnahme * @return BigDecimal der Gestehungswert in der gewuenschten Waehrung */ public BigDecimal berechneGestehungswertZielLager(Integer iIdLieferscheinI, TheClientDto theClientDto) throws EJBExceptionLP { final String METHOD_NAME = "berechneGestehungswert"; myLogger.entry(); if (iIdLieferscheinI == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PARAMETER_IS_NULL, new Exception("iIdLieferscheinI == null")); } BigDecimal bdGestehungswert = Helper.getBigDecimalNull(); // alle Positionen dieses Lieferscheins Query query = em.createNamedQuery("LieferscheinpositionfindByLieferschein"); query.setParameter(1, iIdLieferscheinI); Collection<?> c = query.getResultList(); for (Iterator<?> iter = c.iterator(); iter.hasNext();) { Lieferscheinposition oPosition = ((Lieferscheinposition) iter.next()); // alle positiven mengenbehafteten Positionen beruecksichtigen if (oPosition.getNMenge() != null && oPosition.getNMenge().doubleValue() > 0) { // Grundlage ist der positionsbezogene Gestehungspreis des // Artikels. BigDecimal bdGestehungspreis = Helper.getBigDecimalNull(); BigDecimal bdWertderposition = Helper.getBigDecimalNull(); if (oPosition.getLieferscheinpositionartCNr() .equals(LieferscheinpositionFac.LIEFERSCHEINPOSITIONSART_IDENT)) { bdWertderposition = oPosition.getNMenge().multiply(oPosition.getNNettoeinzelpreis()); bdGestehungswert = bdGestehungswert.add(bdWertderposition); } } } bdGestehungswert = Helper.rundeKaufmaennisch(bdGestehungswert, 4); checkNumberFormat(bdGestehungswert); return bdGestehungswert; }
From source file:com.lp.server.auftrag.ejbfac.AuftragFacBean.java
/** * Berechnet den Nettoauftragswert fuer einen Kunden in einem bestimmten * Zeitintervall.//from w w w.j ava2s .c o m * * @param iIdKundeI * pk des Kunden * @param datVonI * von diesem Datum weg inclusive diesem Datum * @param datBisI * bis zu diesem Datum inclusive diesem Datum * @param cCurrencyI * die Zielwaehrung * @throws EJBExceptionLP * @return BigDecimal der Nettoauftragswert ohne Mwst */ public BigDecimal berechneGesamtwertAuftragProKundeProZeitintervall(Integer iIdKundeI, Date datVonI, Date datBisI, String cCurrencyI) throws EJBExceptionLP { final String METHOD_NAME = "berechneGesamtwertAuftragProKundeProZeitintervall"; if (iIdKundeI == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PARAMETER_IS_NULL, new Exception("iiKundeI == null")); } if (datVonI == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PARAMETER_IS_NULL, new Exception("datVonI == null")); } if (datVonI == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PARAMETER_IS_NULL, new Exception("datBisI == null")); } if (cCurrencyI == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PARAMETER_IS_NULL, new Exception("cCurrencyI == null")); } BigDecimal bdAuftragswertSumme = Helper.getBigDecimalNull(); Query query = em.createNamedQuery("AuftragfindByKundeBelegdatumVonBis"); query.setParameter(1, iIdKundeI); query.setParameter(2, datVonI); query.setParameter(3, datBisI); Collection<?> c = query.getResultList(); for (Iterator<?> iter = c.iterator(); iter.hasNext();) { Auftrag auftrag = ((Auftrag) iter.next()); // der gesamtwert des auftrags ist in der db hinterlegt BigDecimal bdAuftragswert = auftrag.getNGesamtauftragswertinauftragswaehrung(); // der auftragswert muss in die zielwaehrung umgerechnet werden // bdAuftragswert = getLocaleFac(). // rechneUmInAndereWaehrung(bdAuftragswert, // auftrag.getCAuftragswaehrung(), cCurrencyI); bdAuftragswertSumme = bdAuftragswertSumme.add(bdAuftragswert); } return bdAuftragswertSumme; }
From source file:com.lp.server.auftrag.ejbfac.AuftragFacBean.java
/** * Berechnet den Nettoauftragswert fuer alle Auftraege eines Kunden * innerhalb eines bestimmten Zeitintervalls, die sich in einem bestimmten * Status befinden./* www . j av a 2 s.c o m*/ * * @param sStatusI * der gewuenschte Status * @param iIdKundeI * pk des Kunden * @param datVonI * alle Auftraege ab diesem Datum inclusive * @param datBisI * alle Auftraege bis zu diesem Datum inclusive * @param cCurrencyI * die Zielwaehrung * @throws EJBExceptionLP * @return BigDecimal der Gesamtwert in Zielwaehrung */ public BigDecimal berechneGesamtwertAuftragProStatusProKundeProZeitintervall(String sStatusI, Integer iIdKundeI, Date datVonI, Date datBisI, String cCurrencyI) throws EJBExceptionLP { final String METHOD_NAME = "berechneGesamtwertAuftragProStatusProKundeProZeitintervall"; if (sStatusI == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PARAMETER_IS_NULL, new Exception("sStatusI == null")); } if (iIdKundeI == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PARAMETER_IS_NULL, new Exception("iiKundeI == null")); } if (datVonI == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PARAMETER_IS_NULL, new Exception("datVonI == null")); } if (datVonI == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PARAMETER_IS_NULL, new Exception("datBisI == null")); } if (cCurrencyI == null) { throw new EJBExceptionLP(EJBExceptionLP.FEHLER_PARAMETER_IS_NULL, new Exception("cCurrencyI == null")); } BigDecimal bdAuftragswertSumme = Helper.getBigDecimalNull(); Query query = em.createNamedQuery("AuftragfindByStatusKundeBelegdatumVonBis"); query.setParameter(1, sStatusI); query.setParameter(2, iIdKundeI); query.setParameter(3, datVonI); query.setParameter(4, datBisI); Collection<?> c = query.getResultList(); for (Iterator<?> iter = c.iterator(); iter.hasNext();) { Auftrag auftrag = ((Auftrag) iter.next()); // der gesamtwert des auftrags ist in der db hinterlegt BigDecimal bdAuftragswert = auftrag.getNGesamtauftragswertinauftragswaehrung(); // der auftragswert muss in die zielwaehrung umgerechnet werden // bdAuftragswert = getLocaleFac(). // rechneUmInAndereWaehrung(bdAuftragswert, // auftrag.getCAuftragswaehrung(), cCurrencyI); bdAuftragswertSumme = bdAuftragswertSumme.add(bdAuftragswert); } return bdAuftragswertSumme; }
From source file:com.selfsoft.business.service.impl.TbFixEntrustServiceImpl.java
public BigDecimal getTotalSellPriceByEntrustList(List<TbFixEntrust> tbfixEntrustList) { if (tbfixEntrustList == null || tbfixEntrustList.size() == 0) return new BigDecimal("0.00"); String entrustIds = ""; for (TbFixEntrust tbFixEntrust : tbfixEntrustList) { entrustIds += tbFixEntrust.getId() + ","; }/* ww w . j av a 2 s .co m*/ entrustIds = tbfixEntrustList.size() > 0 ? entrustIds.substring(0, entrustIds.length() - 1) : null; if (entrustIds != null) { StringBuilder sql = new StringBuilder(); sql.append("select sum(m.price*m.part_quantity) from tb_fix_entrust fe , tb_maintain_part_content m "); sql.append(" where fe.id = m.entrust_id and m.is_free = 1 and m.is_confirm not in (8000)"); sql.append(" and fe.id in ( " + entrustIds + ")"); sql.append(" union all"); sql.append( " select sum(sod.price*sod.quantity) from tb_fix_entrust fe , tm_stock_out so , tm_stockout_detail sod"); sql.append( " where fe.entrust_code = so.trust_bill and sod.is_free = 1 and so.id = sod.stockout_id and so.is_confirm not in (8000)"); sql.append(" and fe.id in ( " + entrustIds + ")"); List<BigDecimal> objList = tbFixEntrustDao.findByOriginSql(sql.toString(), null); BigDecimal wxSellPrice = objList.get(0) != null ? new BigDecimal(objList.get(0).toString()) : new BigDecimal("0.00"); BigDecimal xsSellPrice = objList.get(1) != null ? new BigDecimal(objList.get(1).toString()) : new BigDecimal("0.00"); BigDecimal result = wxSellPrice.add(xsSellPrice).divide(new BigDecimal("1.00"), 2, BigDecimal.ROUND_HALF_UP); return result; } return new BigDecimal("0.00"); }
From source file:com.selfsoft.business.service.impl.TbFixEntrustServiceImpl.java
public BigDecimal getTotalCostPriceByEntrustList(List<TbFixEntrust> tbfixEntrustList) { if (tbfixEntrustList == null || tbfixEntrustList.size() == 0) return new BigDecimal("0.00"); String entrustIds = ""; for (TbFixEntrust tbFixEntrust : tbfixEntrustList) { entrustIds += tbFixEntrust.getId() + ","; }/*from w w w.j av a 2 s .com*/ entrustIds = tbfixEntrustList.size() > 0 ? entrustIds.substring(0, entrustIds.length() - 1) : null; if (entrustIds != null) { StringBuilder sql = new StringBuilder(); sql.append( "select sum(pi.cost_price*m.part_quantity) from tb_fix_entrust fe , tb_maintain_part_content m , tb_part_info pi"); sql.append( " where fe.id = m.entrust_id and pi.id = m.part_id and m.is_free = 1 and m.is_confirm not in (8000) "); sql.append(" and fe.id in ( " + entrustIds + ")"); sql.append(" union all"); sql.append( " select sum(pi.cost_price*sod.quantity) from tb_fix_entrust fe , tm_stock_out so , tm_stockout_detail sod , tb_part_info pi"); sql.append( " where fe.entrust_code = so.trust_bill and pi.id = sod.partinfo_id and sod.is_free = 1 and so.id = sod.stockout_id and so.is_confirm not in (8000)"); sql.append(" and fe.id in ( " + entrustIds + ")"); List<BigDecimal> objList = tbFixEntrustDao.findByOriginSql(sql.toString(), null); BigDecimal wxCostPrice = objList.get(0) != null ? new BigDecimal(objList.get(0).toString()) : new BigDecimal("0.00"); BigDecimal xsCostPrice = objList.get(1) != null ? new BigDecimal(objList.get(1).toString()) : new BigDecimal("0.00"); BigDecimal result = wxCostPrice.add(xsCostPrice).divide(new BigDecimal("1.00"), 2, BigDecimal.ROUND_HALF_UP); return result; } return new BigDecimal("0.00"); }