Package kasa.manager

Source Code of kasa.manager.KasaManager

package kasa.manager;

import hibernateSwingApi.hibernate.HibernateManager;

import java.util.Date;

import kasa.pojos.Kasa;
import kasa.pojos.KasaBakiyeHareket;
import satis.pojos.Satis;
import satis.pojos.YapilanSatis;
import satisBilgi.pojos.OdemeBilgileri;
import banka.pojos.POSBilgileri;
import banka.pojos.POSHareketleri;
import cari.pojos.Musteri;
import cari.pojos.MusteriHareketleri;

public class KasaManager {

  private static Kasa satisKasasi;
  private static Kasa bankaKasasi;
  private static OdemeBilgileri satisOdemeBilgisi;
  private static MusteriHareketleri musteriHareketi;
  private static POSHareketleri posHareketi;
  private static YapilanSatis satisBilgi;

  private static final String NAKIT = "NAKİT";
  private static final String KREDI_KART = "KREDİ KART";
  private static final String PARCALI_ODEME = "PARÇALI ÖDEME";
  private static final String VERESIYE = "VERESİYE";
  private static final String SATIS_KASA = "SATIŞ KASASI";
  private static final String BANKA_KASA = "BANKA KASASI";
  private static final String YATIRMA = "YATIRMA";
  private static final String CEKME = "ÇEKME";
  private static final String SATIS = "SATIŞ";

  public static void addSatisHareket(YapilanSatis satis) {

    satisBilgi = satis;
    satisOdemeBilgisi = satis.getOdemeBilgisi();
    String islemTipi = null;
    String aciklama = null;
    double borc = 0;

    switch (satis.getOdemeTur()) {
    case NAKIT:
      islemTipi = "NAKİT SATIŞ";
      aciklama = "-";
      addMusteriHareket(satisBilgi, islemTipi, aciklama, borc,
          satisOdemeBilgisi.getNakitTutar());
      changeKasaBakiye(satisKasasi, satisOdemeBilgisi.getNakitTutar());
      break;

    case KREDI_KART:
      islemTipi = "KREDİ KARTI İLE SATIŞ";
      aciklama = "-";
      addBankaHareket(satisOdemeBilgisi.getPos(), SATIS, "", "",
          satisOdemeBilgisi.getKrediKartTutar(), satis.getTarih(),
          satis);
      break;

    case PARCALI_ODEME:
      islemTipi = "PARÇALI ÖDEME İLE SATIŞ";
      aciklama = satisBilgi.getTutar() + " TL' den NAKİT : "
          + satisOdemeBilgisi.getNakitTutar() + "/ KREDİ KART : "
          + satisOdemeBilgisi.getKrediKartTutar();
      addMusteriHareket(satisBilgi, islemTipi, aciklama, borc,
          satisOdemeBilgisi.getNakitTutar());
      addBankaHareket(satisOdemeBilgisi.getPos(), SATIS, "", "",
          satisOdemeBilgisi.getKrediKartTutar(), satis.getTarih(),
          satis);
      changeKasaBakiye(satisKasasi, satisOdemeBilgisi.getNakitTutar());
      break;

    case VERESIYE:
      islemTipi = "VERESİYE SATIŞ";
      aciklama = satisBilgi.getTutar() + " TL' den NAKİT : "
          + satisOdemeBilgisi.getNakitTutar() + "/ KALAN BORC : "
          + satisOdemeBilgisi.getTaksitTutar();
      borc = satisOdemeBilgisi.getTaksitTutar();
      addMusteriHareket(satisBilgi, islemTipi, aciklama, borc,
          satisOdemeBilgisi.getNakitTutar());
      changeKasaBakiye(satisKasasi, satisOdemeBilgisi.getNakitTutar());
      addMusteriBorc(satis, borc);
      break;

    default:
      break;
    }
  }

  private static void addMusteriHareket(YapilanSatis satis, String islemTipi,
      String aciklama, double borc, double tutar) {
    satisKasasi = (Kasa) HibernateManager.getInstance()
        .getObjectWithUniqueColumn(Kasa.class, "kasaAd", SATIS_KASA,
            false);

    musteriHareketi = new MusteriHareketleri();
    musteriHareketi.setTarih(satis.getTarih());
    musteriHareketi.setIslemTipi(islemTipi);
    musteriHareketi.setAciklama(aciklama);
    musteriHareketi.setMusteri(satis.getMusteri());
    musteriHareketi.setOdemeTuru(NAKIT);
    musteriHareketi.setBorc(borc);
    musteriHareketi.setTutar(tutar);
    musteriHareketi.setSatis(satis);
    musteriHareketi.setKasa(satisKasasi);

    HibernateManager.getInstance().save(musteriHareketi);
  }

  private static void addMusteriBorc(Satis satis, double borc) {
    Musteri musteri = satis.getMusteri();
    musteri.setMusteriBorc(musteri.getMusteriBorc() + borc);
    HibernateManager.getInstance().update(musteri);
  }

  private static boolean changeKasaBakiye(Kasa kasa, double tutar) {
    kasa.setBakiye(kasa.getBakiye() + tutar);
    return HibernateManager.getInstance().update(kasa);
  }

  public static boolean addBankaHareket(POSBilgileri pos, String islemTuru,
      String dekontNo, String aciklama, double tutar, Date tarih,
      YapilanSatis satis) {

    bankaKasasi = (Kasa) HibernateManager.getInstance()
        .getObjectWithUniqueColumn(Kasa.class, "kasaAd", BANKA_KASA,
            false);

    posHareketi = new POSHareketleri();
    switch (islemTuru) {
    case YATIRMA:
      islemTuru = "PARA " + YATIRMA;
      if (aciklama.equals(""))
        aciklama = "PARA YATIRMA İŞLEMİ";
      changePOSBakiye(pos, tutar);
      changeKasaBakiye(bankaKasasi, tutar);
      break;

    case CEKME:
      tutar = tutar * -1;
      islemTuru = "PARA " + CEKME;
      if (aciklama.equals(""))
        aciklama = "PARA ÇEKME İŞLEMİ";
      changePOSBakiye(pos, tutar * -1);
      changeKasaBakiye(bankaKasasi, tutar * -1);
      break;

    case SATIS:
      String odemeTuru = satisBilgi.getOdemeTur();
      islemTuru = odemeTuru + " İLE SATIŞ";
      aciklama = pos.getBankaAd() + " POS";
      posHareketi.setOdemeTuru(KREDI_KART);
      posHareketi.setSatis(satis);
      changePOSTutar(pos, tutar);
      changeKasaBakiye(bankaKasasi, tutar);
      break;

    default:
      break;
    }

    posHareketi.setTarih(new Date());
    posHareketi.setPos(pos);
    posHareketi.setIslemTipi(islemTuru);
    posHareketi.setAciklama(aciklama);
    if (!dekontNo.equals(""))
      posHareketi.setDekontNo(dekontNo);
    posHareketi.setTutar(tutar);
    posHareketi.setBorc(0);
    posHareketi.setKasa(bankaKasasi);

    boolean control = HibernateManager.getInstance().save(posHareketi);
    if (control) {
      return HibernateManager.getInstance().update(pos);
    }
    return control;
  }

  private static void changePOSBakiye(POSBilgileri pos, double tutar) {
    pos.setBakiye(pos.getBakiye() + tutar);
    HibernateManager.getInstance().update(pos);

  }

  private static void changePOSTutar(POSBilgileri pos, double tutar) {
    pos.setPosTutar(pos.getPosTutar() + tutar);
    HibernateManager.getInstance().update(pos);
  }

  public static boolean transfer(POSBilgileri cekilecekBanka,
      POSBilgileri yatirilacakBanka, String dekontNo, String aciklama,
      double tutar, double havaleMasrafi, Date tarih) {
    bankaKasasi = (Kasa) HibernateManager.getInstance()
        .getObjectWithUniqueColumn(Kasa.class, "kasaAd", BANKA_KASA,
            false);

    posHareketi = new POSHareketleri();

    String islemTipi = cekilecekBanka.toString() + "'DAN "
        + yatirilacakBanka.toString() + "'A TRANSFER";

    posHareketi.setTarih(tarih);
    posHareketi.setPos(cekilecekBanka);
    posHareketi.setPosTransfer(yatirilacakBanka);
    posHareketi.setIslemTipi(islemTipi);

    if (!aciklama.equals(""))
      posHareketi.setAciklama(aciklama);

    if (!dekontNo.equals(""))
      posHareketi.setDekontNo(dekontNo);

    posHareketi.setTutar(tutar);
    posHareketi.setBorc(0);
    posHareketi.setKasa(bankaKasasi);
    boolean control = HibernateManager.getInstance().save(posHareketi);
    if (control) {
      changePOSBakiye(cekilecekBanka, tutar * -1);
      changePOSBakiye(cekilecekBanka, havaleMasrafi * -1);
      changePOSBakiye(yatirilacakBanka, tutar);
      changeKasaBakiye(bankaKasasi, havaleMasrafi * -1);
    }
    return control;
  }

  public static boolean addKasaHareket(Kasa kasaBilgisi, String islemTuru,
      String odemeTur, String aciklama, double tutar, Date tarih) {

    if (aciklama.equals(""))
      aciklama = kasaBilgisi.getAdi() + " PARA " + islemTuru;

    if (islemTuru.equals(CEKME))
      tutar = tutar * -1;

    KasaBakiyeHareket kasaHareketi = new KasaBakiyeHareket();
    kasaHareketi.setIslemTipi(islemTuru);
    kasaHareketi.setOdemeTuru(odemeTur);
    kasaHareketi.setKasa(kasaBilgisi);
    kasaHareketi.setTarih(tarih);
    kasaHareketi.setTutar(tutar);
    kasaHareketi.setAciklama(aciklama);

    boolean control = HibernateManager.getInstance().save(kasaHareketi);
    if (control) {
      return changeKasaBakiye(kasaBilgisi, tutar);
    }
    return false;
  }

  public static void addIadeHareket(YapilanSatis satis, double tutar) {
    satisBilgi = satis;
    satisOdemeBilgisi = satis.getOdemeBilgisi();
    String islemTipi = "ÜRÜN İADE";
    String aciklama = "ÜRÜN PARA İADE";

    addMusteriHareket(satis, islemTipi, aciklama, 0, tutar);
    changeKasaBakiye(satisKasasi, tutar);
  }
}
TOP

Related Classes of kasa.manager.KasaManager

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.