@SuppressWarnings("unchecked")
 public void executeKullaniciRapor() {
   if (getKisiRaporlamaFilter().getKullanicirapor() != null) {
     logYaz(
         "Calistirilacak rapor adi = "
             + getKisiRaporlamaFilter().getKullanicirapor().getRaporadi());
     Kullanicirapor rapor =
         (Kullanicirapor)
             getDBOperator()
                 .find(
                     Kullanicirapor.class.getSimpleName(),
                     "rID",
                     getKisiRaporlamaFilter().getKullanicirapor().getRID() + "")
                 .get(0);
     setList(getDBOperator().load(Kisi.class.getSimpleName(), rapor.getWherecondition(), "o.rID"));
   }
   if (isEmpty(getList())) {
     createGenericMessage(KeyUtil.getMessageValue("kayit.bulunamadi"), FacesMessage.SEVERITY_WARN);
   }
   getKisiRaporlamaFilter().setKullanicirapor(null);
 }
  @SuppressWarnings("unchecked")
  public void filterKisi() throws DBException {

    if (getCalistirilacakRaporRID() != null && getCalistirilacakRaporRID() != 0L) {
      logYaz("Calistirilacak rapor id = " + getCalistirilacakRaporRID());
      Kullanicirapor rapor =
          (Kullanicirapor)
              getDBOperator()
                  .find(
                      Kullanicirapor.class.getSimpleName(), "rID", getCalistirilacakRaporRID() + "")
                  .get(0);
      setList(getDBOperator().load(Kisi.class.getSimpleName(), rapor.getWherecondition(), "o.rID"));
      return;
    }

    getKisiRaporlamaFilter().setKullanicirapor(null);
    StringBuilder whereCon = new StringBuilder(" 1 = 1 ");

    if (getKisiRaporlamaFilter().getKurumadi() != null) {
      whereCon.append(
          " AND (SELECT COUNT(krmkisi.rID) FROM KurumKisi AS krmkisi WHERE krmkisi.kisiRef.rID = o.rID AND "
              + "(UPPER(krmkisi.kurumRef.ad) LIKE UPPER('%"
              + getKisiRaporlamaFilter().getKurumadi()
              + "%')))>0");
    }

    if (getKisiRaporlamaFilter().getCinsiyet() != null
        && getKisiRaporlamaFilter().getCinsiyet() != Cinsiyet._NULL) {
      whereCon.append(
          " AND (SELECT COUNT(kmlk.rID) FROM Kisikimlik AS kmlk WHERE kmlk.kisiRef.rID = o.rID AND kmlk.cinsiyet="
              + getKisiRaporlamaFilter().getCinsiyet().getCode()
              + " ) > 0 ");
    }
    if (getKisiRaporlamaFilter().getYasadigiIl() != null) {
      whereCon.append(
          " AND (SELECT COUNT(evadres.rID) FROM Adres AS evadres WHERE evadres.kisiRef.rID = o.rID AND evadres.adresturu="
              + AdresTuru._EVADRESI.getCode()
              + " AND evadres.sehirRef.rID="
              + getKisiRaporlamaFilter().getYasadigiIl().getRID()
              + ") > 0 ");
    }
    if (getKisiRaporlamaFilter().getCalistigiIl() != null) {
      whereCon.append(
          " AND (SELECT COUNT(adrs.rID) FROM Adres AS adrs WHERE adrs.kisiRef.rID = o.rID AND adrs.adresturu="
              + AdresTuru._ISADRESI.getCode()
              + " AND adrs.sehirRef.rID="
              + getKisiRaporlamaFilter().getCalistigiIl().getRID()
              + " ) > 0 ");
    }

    if (getKisiRaporlamaFilter().getDogumtarih() != null
        && getKisiRaporlamaFilter().getDogumtarihMax() != null) {
      whereCon.append(
          " AND (SELECT COUNT(kisikmlk.rID) FROM Kisikimlik AS kisikmlk WHERE kisikmlk.kisiRef.rID = o.rID  AND"
              + " to_char(kisikmlk.dogumtarih, 'yyyy-mm-dd') >= '"
              + DateUtil.dateToYMD(getKisiRaporlamaFilter().getDogumtarih())
              + "' AND to_char(kisikmlk.dogumtarih, 'yyyy-mm-dd') <= '"
              + DateUtil.dateToYMD(getKisiRaporlamaFilter().getDogumtarihMax())
              + "') > 0 ");
    }

    if (getKisiRaporlamaFilter().getTelefonYok()) {
      whereCon.append(
          " AND (SELECT COUNT(tlfn.rID) FROM Telefon AS tlfn WHERE tlfn.kisiRef.rID=o.rID AND tlfn.varsayilan="
              + EvetHayir._EVET.getCode()
              + ") = 0");
    }

    if (getKisiRaporlamaFilter().getEpostaYok()) {
      whereCon.append(
          " AND (SELECT COUNT(eposta.rID) FROM Internetadres AS eposta WHERE eposta.kisiRef.rID=o.rID AND eposta.varsayilan="
              + EvetHayir._EVET.getCode()
              + ") = 0");
    }

    //		logYaz("SORGU KRITERI : " + whereCon.toString());
    int count = getDBOperator().recordCount(Kisi.class.getSimpleName(), whereCon.toString());
    //		logYaz("BULUNAN UYE SAYISI :" + count);
    if (count > 1500) {
      createGenericMessage(
          "DIKKAT! C*k fazla kayit (" + count + ") bulundu! Lutfen daha fazla kriter giriniz!",
          FacesMessage.SEVERITY_ERROR);
      return;
    }
    setList(getDBOperator().load(Kisi.class.getSimpleName(), whereCon.toString(), "o.rID"));

    if (isEmpty(getList())) {
      createGenericMessage(KeyUtil.getMessageValue("kayit.bulunamadi"), FacesMessage.SEVERITY_WARN);
    } else {
      setWhereCondition(whereCon.toString());
    }
  }