Examples of Umsatz


Examples of de.willuhn.jameica.hbci.rmi.Umsatz

      Map<String,UmsatzTreeNode> lookup = new HashMap<String,UmsatzTreeNode>();
      lookup.put(null,new UmsatzTreeNode(null)); // Pseudo-Kategorie "Nicht zugeordnet"
     
      while (list.hasNext())
      {
        Umsatz u = (Umsatz) list.next();
        getNode(lookup,u.getUmsatzTyp()).add(u);
      }
      ////////////////////////////////////////////////////////////////

      ////////////////////////////////////////////////////////////////
      // Jetzt kopieren wir das noch in ein Array, damit wir es
      // nach Nummer sortieren koennen. Wir nehmen aber nur die Root-Elemente
      Iterator<UmsatzTreeNode> it = lookup.values().iterator();
      List<UmsatzTreeNode> items = new ArrayList<UmsatzTreeNode>();
      while (it.hasNext())
      {
        UmsatzTreeNode u = it.next();
        if (u.getParent() == null)
          items.add(u);
      }
      Collections.sort(items);
      ////////////////////////////////////////////////////////////////
View Full Code Here

Examples of de.willuhn.jameica.hbci.rmi.Umsatz

        Object name = BeanUtil.toString(objects[i]);
       
        if (name != null && monitor != null)
          monitor.log(i18n.tr("Speichere Datensatz {0}",name.toString()));
       
        Umsatz u    = (Umsatz) objects[i];
        Konto k     = u.getKonto();
        String curr = k.getWaehrung();

        out.write(NL + ":20:Hibiscus" + NL);
        out.write(":25:" + k.getBLZ() + "/" + k.getKontonummer() + curr + NL);
       
        if (showSaldo)
        {
          //(Schlusssaldo - Umsatzbetrag) > 0 -> Soll-Haben-Kennung f�r den Anfangssaldo = C
          //(Credit), sonst D (Debit)
          double anfangsSaldo = u.getSaldo() - u.getBetrag();
         
          //Anfangssaldo aus dem Schlusssaldo ermitteln sowie Soll-Haben-Kennung
          //Valuta Datum des Kontosaldos leider nicht verf�gbar, deswegen wird Datum der Umsatzwertstellung genommen
          out.write(":60F:");
          out.write(anfangsSaldo >= 0.0d ? "C" : "D");
          out.write(DF_YYMMDD.format(u.getDatum()) + curr + df.format(anfangsSaldo).replace("-","") + NL);
        }

        out.write(":61:" + DF_YYMMDD.format(u.getValuta()) + DF_MMDD.format(u.getDatum()));

        // Soll-Haben-Kennung f�r den Betrag ermitteln
        double betrag = u.getBetrag();
        out.write(betrag >= 0.0d ? "CR" : "DR");
        out.write(df.format(betrag).replace("-",""));
       
        String ref = StringUtils.trimToNull(u.getCustomerRef());
        out.write("NTRF" + (ref != null ? ref : "NONREF") + NL);

        String gvcode = u.getGvCode();
       
        // Fallback, wenn wir keinen GV-Code haben. Das trifft u.a. bei Alt-Umsaetzen
        // auf, als Hibiscus das Feld noch nicht unterstuetzte.
        if (StringUtils.trimToNull(gvcode) == null)
          gvcode = betrag >= 0.0d? "051" : "020";
       
        out.write(":86:" + gvcode + "?00" + StringUtils.trimToEmpty(u.getArt()) + "?10" + StringUtils.trimToEmpty(u.getPrimanota()));
       
        //Verwendungszweck
        String[] lines = VerwendungszweckUtil.toArray(u);
        for (int m=0;m<lines.length;++m)
        {
          // in MT940 sind nur max. 10 Zeilen zugelassen. Die restlichen muessen wir
          // ignorieren. Siehe FinTS_3.0_Messages_Finanzdatenformate_2010-08-06_final_version.pdf
          // (Seite 179, strukturierte Belegung des Feldes 86)
          if (m > 9)
            break;
          out.write("?2" + Integer.toString(m) + lines[m]);
        }

        String blz = StringUtils.trimToNull(u.getGegenkontoBLZ());
        String kto = StringUtils.trimToNull(u.getGegenkontoNummer());
        String nam = StringUtils.trimToNull(u.getGegenkontoName());
        String add = StringUtils.trimToNull(u.getAddKey());
        if (blz != null) out.write("?30" + blz);
        if (kto != null) out.write("?31" + kto);
        if (nam != null) out.write("?32" + nam);
        if (add != null) out.write("?34" + add);

        out.write(NL);
       

        if (showSaldo)
        {
          out.write(":62F:");
          //Soll-Haben-Kennung f�r den Schlusssaldo ermitteln
          double schlussSaldo = u.getSaldo();
          out.write(schlussSaldo >= 0.0d ? "C" : "D");
          out.write(DF_YYMMDD.format(u.getDatum()) + curr + df.format(schlussSaldo).replace("-","") + NL);
        }
       
        out.write("-" + NL);
      }
    }
View Full Code Here

Examples of de.willuhn.jameica.hbci.rmi.Umsatz

      {
        Konto k = (Konto) context;
        if (!k.hasFlag(Konto.FLAG_OFFLINE))
          return; // ist kein Offline-Konto
       
        Umsatz u = (Umsatz) Settings.getDBService().createObject(Umsatz.class,null);
        u.setKonto(k);
        Date d = new Date();
        u.setValuta(d);
        u.setDatum(d);
        context = u;
      }
      catch (RemoteException re)
      {
        Logger.error("unable to create umsatz",re);
View Full Code Here

Examples of de.willuhn.jameica.hbci.rmi.Umsatz

   * @see de.willuhn.jameica.hbci.io.AbstractDTAUSImporter#create(de.willuhn.datasource.rmi.DBObject, java.lang.Object, de.jost_net.OBanToo.Dtaus.CSatz, de.jost_net.OBanToo.Dtaus.ASatz)
   */
  void create(DBObject skel, Object context, CSatz csatz, ASatz asatz)
    throws RemoteException, ApplicationException
  {
    Umsatz u = (Umsatz) skel;

    // Konto suchen
    String kontonummer = Long.toString(asatz.getKonto());
    String blz         = Long.toString(asatz.getBlz());

    u.setKonto(findKonto(kontonummer,blz));

    Date date = asatz.getAusfuehrungsdatum();
    if (date == null)
      date = new Date();
   
    u.setDatum(date);
    u.setValuta(date);
     
    u.setArt(Long.toString(csatz.getTextschluessel()));
    u.setCustomerRef(Long.toString(csatz.getInterneKundennummer()));
    u.setBetrag(csatz.getBetragInEuro());
    u.setGegenkontoBLZ(Long.toString(csatz.getBlzEndbeguenstigt()));
    u.setGegenkontoName(csatz.getNameEmpfaenger());
    u.setGegenkontoNummer(Long.toString(csatz.getKontonummer()));
   
    List<String> lines = new ArrayList<String>();
    for (int i=1;i<=csatz.getAnzahlVerwendungszwecke();++i)
    {
      lines.add(csatz.getVerwendungszweck(i));
    }
    VerwendungszweckUtil.apply(u,lines.toArray(new String[lines.size()]));
   
    u.store();
 
  }
View Full Code Here

Examples of de.willuhn.jameica.hbci.rmi.Umsatz

            UmsatzList.this.removeAll();

            // Wir holen uns den aktuellen Text
            String text = (String) search.getValue();

            Umsatz u  = null;
            Date date = null;

            // BUGZILLA 217
            Date limit = null;
            int t = ((Integer) days.getValue()).intValue();
            if (t > 0)
            {
              cal.setTime(new Date());
              cal.add(Calendar.DAY_OF_YEAR,-t);
              cal.set(Calendar.HOUR_OF_DAY,0);
              cal.set(Calendar.MINUTE,0);
              cal.set(Calendar.SECOND,0);
              cal.set(Calendar.MILLISECOND,0);
              limit = cal.getTime();
            }
           
            boolean empty = text == null || text.length() == 0;

            if (!empty)
            {
              typ.setPattern(text);
              typ.setRegex(((Boolean)regex.getValue()).booleanValue());
            }
           
            for (int i=0;i<umsaetze.size();++i)
            {
              u = (Umsatz) umsaetze.get(i);
              if (u.getID() == null) // Wurde zwischenzeitlich geloescht
              {
                umsaetze.remove(i);
                i--;
                continue;
              }
              date = u.getDatum();

              // Wenn der Umsatz ein Datum hat, welches vor dem Limit liegt. Dann raus damit
              if (date != null && limit != null && date.before(limit))
                continue;
View Full Code Here

Examples of de.willuhn.jameica.hbci.rmi.Umsatz

   
    if (!(o instanceof Umsatz))
      return; // interessiert uns nicht
   
    // wir haben einen Umsatz, den es zu bearbeiten gilt...
    Umsatz u = (Umsatz) o;
   
    // Vormerkbuchungen ignorieren wir. Zum einen, weil wir sie in dem
    // Offline-Konto nicht wieder automatisch loeschen, zum anderen, weil
    // der User sie auch nicht loeschen kann
    if (u.hasFlag(Umsatz.FLAG_NOTBOOKED))
      return;
   
    // Wenn der Umsatz schon von einem Offline-Konto kommt, legen
    // wir keine Gegenbuchung mehr an. Das fuehrt sonst zu einem Ping-Pong-Spiel ;)
    Konto k = u.getKonto();
    if (k.hasFlag(Konto.FLAG_OFFLINE))
      return;

    // Checken, ob wir ein lokal passendes Offline-Konto haben
    Konto gegenkonto = null;
    if (StringUtils.trimToEmpty(u.getGegenkontoNummer()).length() > 10)
    {
      // Das ist eine IBAN
      gegenkonto = KontoUtil.findByIBAN(u.getGegenkontoNummer(),Konto.FLAG_OFFLINE);
    }
    else
    {
      // Konto mit Kto und BLZ
      gegenkonto = KontoUtil.find(u.getGegenkontoNummer(), u.getGegenkontoBLZ(),Konto.FLAG_OFFLINE);
    }
   
    if (gegenkonto == null)
      return; // Das Konto haben wir nicht
   
    // Checken, ob fuer das Konto automatisch Umsaetze angelegt werden sollen
    SynchronizeOptions options = new SynchronizeOptions(gegenkonto);
    if (!options.getSyncOffline())
      return;

    // Kopie der Buchung erzeugen
    Umsatz gegenbuchung = u.duplicate();

    // Betrag negieren
    gegenbuchung.setBetrag(-gegenbuchung.getBetrag());

    // Konten tauschen
    gegenbuchung.setKonto(gegenkonto);
    gegenbuchung.setGegenkontoNummer(k.getKontonummer());
    gegenbuchung.setGegenkontoBLZ(k.getBLZ());
    gegenbuchung.setGegenkontoName(k.getName());
   
    // Art des Umsatzes setzen, Laenge ggf. auf DB-Feldlaenge k�uerzen
    String art = i18n.tr("Auto-Buchung Offline-Konto");
    if (art.length()>100) art = art.substring(0, 100);
    gegenbuchung.setArt(art);
   
    // Saldo berechnen
    gegenbuchung.setSaldo(gegenkonto.getSaldo() + gegenbuchung.getBetrag());
   
    // Umsatztyp loeschen
    gegenbuchung.setUmsatzTyp(null);

    gegenbuchung.store(); // Umsatz speichern
   
    // neuen Umsatz bekannt geben
    Application.getMessagingFactory().sendMessage(new ImportMessage(gegenbuchung));
  }
View Full Code Here

Examples of de.willuhn.jameica.hbci.rmi.Umsatz

      GUI.getDisplay().syncExec(new Runnable() {
        public void run()
        {
          try
          {
            Umsatz newUmsatz = (Umsatz) o;
           
            // BUGZILLA 692 haben wir den schon?
            for (Object u:umsaetze)
            {
              if (BeanUtil.equals(u,newUmsatz))
                return;
            }
           
            // Checken, ob er Umsatz ueberhaupt zum Konto passt
            // Wenn man waehrend der Synchronisierung in ein anderes Konto klickt, koennte es sonst
            // passieren, dass ein Umsatz hier temporaer in der Liste landet, weil halt zufaellig grad
            // diese View offen ist.
            if (konto != null)
            {
              if (!BeanUtil.equals(konto,newUmsatz.getKonto())) // ist von einem anderen Konto
                return;
            }

            umsaetze.add(newUmsatz);
            if (filter && kl != null)
View Full Code Here

Examples of de.willuhn.jameica.hbci.rmi.Umsatz

      }
     
      int created = 0;
      int error   = 0;

      Umsatz umsatz = null;
      while ((umsatz = (Umsatz) reader.read()) != null)
      {
        if (monitor != null)
        {
          monitor.log(i18n.tr("Datensatz {0}", "" + (created+1)));
          if (created > 0 && created % 10 == 0) // nur geschaetzt
            monitor.addPercentComplete(1);
        }

        try
        {
          if (konto != null)
            umsatz.setKonto(konto);
         
          umsatz.store();
          created++;
          try
          {
            Application.getMessagingFactory().sendMessage(new ImportMessage(umsatz));
          }
View Full Code Here

Examples of de.willuhn.jameica.hbci.rmi.Umsatz

  public boolean equals(GenericObject o) throws RemoteException {
    if (o == null || !(o instanceof Umsatz))
      return false;
    try
    {
      Umsatz other = (Umsatz) o;

      // Wenn beide eine ID haben, brauchen wir nur anhand der ID vergleichen
      // Die Pruefung via Checksumme ist nur noetig, wenn neue Datensaetze
      // gespeichert werden sollen
      String id1 = this.getID();
      String id2 = other.getID();
      if (id1 != null && id2 != null)
        return id1.equals(id2);
       
      return other.getChecksum() == getChecksum();
    }
    catch (Exception e)
    {
      Logger.error("error while comparing objects",e);
      return false;
View Full Code Here

Examples of de.willuhn.jameica.hbci.rmi.Umsatz

  /**
   * @see de.willuhn.jameica.hbci.rmi.Duplicatable#duplicate()
   */
  public Umsatz duplicate() throws RemoteException
  {
    Umsatz copy = (Umsatz) this.getService().createObject(Umsatz.class,null);
    copy.setArt(this.getArt());
    copy.setBetrag(this.getBetrag());
    copy.setCustomerRef(this.getCustomerRef());
    copy.setDatum(this.getDatum());
    copy.setFlags(this.getFlags());
    copy.setGegenkontoBLZ(this.getGegenkontoBLZ());
    copy.setGegenkontoName(this.getGegenkontoName());
    copy.setGegenkontoNummer(this.getGegenkontoNummer());
    copy.setKommentar(this.getKommentar());
    copy.setKonto(this.getKonto());
    copy.setPrimanota(this.getPrimanota());
    copy.setSaldo(this.getSaldo());
    copy.setUmsatzTyp(this.getUmsatzTyp());
    copy.setValuta(this.getValuta());
    copy.setZweck(this.getZweck());
    copy.setZweck2(this.getZweck2());
    copy.setWeitereVerwendungszwecke(this.getWeitereVerwendungszwecke());
    copy.setGvCode(this.getGvCode());
    return copy;
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.