com.demo.impl.MarcajeCreditoImpl.java Source code

Java tutorial

Introduction

Here is the source code for com.demo.impl.MarcajeCreditoImpl.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.demo.impl;

import com.demo.dao.MarcajeCreditoDAO;
import com.demo.model.CreditoSfLtNtCt;
import com.demo.model.MarcajeCredito;
import com.demo.util.HibernateUtil;
import com.demo.util.LogSistema;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;

/**
 *
 * @author brionvega
 */
public class MarcajeCreditoImpl implements MarcajeCreditoDAO, Serializable {

    @Override
    public List<MarcajeCredito> getMarcajes() {
        try {
            Session session = HibernateUtil.getSessionFactory().openSession();
            Transaction t = session.beginTransaction();
            List<MarcajeCredito> lista = session.createSQLQuery("select * from marcaje_credito;")
                    .addEntity(MarcajeCredito.class).list();
            t.commit();
            if (session.isOpen()) {
                session.close();
            }
            return lista;
        } catch (HibernateException he) {
            LogSistema
                    .guardarlog(this.getClass().getName() + " Method:getMarcajes , Exception: " + he.getMessage());
            List<MarcajeCredito> lista = new ArrayList<>();
            return lista;
        }
    }

    @Override
    public MarcajeCredito getMarcajePorId(int idMarcaje) {
        MarcajeCredito marcaje;
        try {
            Session session = HibernateUtil.getSessionFactory().openSession();
            Transaction t = session.beginTransaction();
            marcaje = (MarcajeCredito) session
                    .createSQLQuery(
                            "select * from marcaje_credito d where d.idmarcaje_credito = " + idMarcaje + ";")
                    .addEntity(MarcajeCredito.class).uniqueResult();
            t.commit();

            if (session.isOpen()) {
                session.close();
            }
            return marcaje;
        } catch (HibernateException he) {
            LogSistema.guardarlog(
                    this.getClass().getName() + " Method:getMarcajePorId , Exception: " + he.getMessage());
            return null;
        }
    }

    @Override // Devuelve la cantidad de crditos marcados, -1 si hubo un error
    public int marcar(int mesesInicio, int mesesFin) {
        try {
            Session session = HibernateUtil.getSessionFactory().openSession();
            Transaction t = session.beginTransaction();
            MarcajeCredito marcaje = new MarcajeCredito();
            marcaje.setIdmarcajeCredito(1); // 1: Meses vencidos
            int creditosMarcados = 0;

            String consulta = "SELECT cr.* ";
            consulta += "FROM credito_sf_lt_nt_ct cr ";
            consulta += "JOIN actu_sf_lt_nt_ct ac ";
            consulta += "ON cr.CreditosII = ac.Credito_SF_LT_NT_CT_CreditosII ";
            consulta += "WHERE ac.Consecutivo = (SELECT MAX(actu.Consecutivo) ";
            consulta += "FROM actu_sf_lt_nt_ct actu ";
            consulta += "WHERE actu.Credito_SF_LT_NT_CT_CreditosII = cr.CreditosII) ";
            consulta += "AND ac.MesVenLineas >= " + mesesInicio + " AND ac.MesVenLineas <= " + mesesFin + " ";
            consulta += "AND cr.Cat_Estatus_Cuenta_Estatus_Cve = 1 AND cr.Cat_Subestatus_Cuenta_Subestatus_Clv = 5;";

            System.out.println(consulta);
            // Lista que contiene a los crditos            
            List<CreditoSfLtNtCt> lista = session.createSQLQuery(consulta).addEntity(CreditoSfLtNtCt.class).list();

            System.out.println("TAM LISTA " + lista.size());

            for (CreditoSfLtNtCt credito : lista) {
                credito.setMarcajeCredito(marcaje);
                System.out.println("se mando a actualizar el credito " + credito.getCreditosIi());
                session.update(credito); ///
                System.out.println("se actualizo cred " + credito.getCreditosIi());
                creditosMarcados++;
            }

            t.commit();
            if (session.isOpen()) {
                session.close();
            }
            return creditosMarcados;
        } catch (HibernateException he) {
            LogSistema.guardarlog(this.getClass().getName() + " Method:marcar , Exception: " + he.getMessage());
            return -1;
        }

    }

    @Override // Devuelve la cantidad de crditos marcados, -1 si hubo un error
    public int marcar(float saldoInicio, float saldoFin, int opcion) {
        try {
            Session session = HibernateUtil.getSessionFactory().openSession();
            Transaction t = session.beginTransaction();
            MarcajeCredito marcaje = new MarcajeCredito();
            String consulta = "";

            marcaje.setIdmarcajeCredito(opcion); // 2:Monto; 3:Mensualidad; 4:Saldo capital; 5:Saldo vencido; 6:Tasa.
            int creditosMarcados = 0;

            switch (opcion) {
            case 2: // Eligi la opcin 2: Monto
                consulta = "SELECT * ";
                consulta += "FROM credito_sf_lt_nt_ct cr ";
                consulta += "WHERE cr.ImpCred >= " + saldoInicio + " AND cr.ImpCred <= " + saldoFin + " ";
                consulta += "AND cr.Cat_Estatus_Cuenta_Estatus_Cve = 1 AND cr.Cat_Subestatus_Cuenta_Subestatus_Clv = 5;";
                System.out.println(consulta);
                break;
            case 3: // Eligi la opcin 3: Mensualidad
                consulta = "SELECT * ";
                consulta += "FROM credito_sf_lt_nt_ct cr ";
                consulta += "WHERE cr.ImpMens >= " + saldoInicio + " AND cr.ImpMens <= " + saldoFin + " ";
                consulta += "AND cr.Cat_Estatus_Cuenta_Estatus_Cve = 1 AND cr.Cat_Subestatus_Cuenta_Subestatus_Clv = 5;";
                System.out.println(consulta);
                break;
            case 4: // Eligi la opcin 4: Saldo capital
                consulta = "SELECT cr.* ";
                consulta += "FROM credito_sf_lt_nt_ct cr ";
                consulta += "JOIN actu_sf_lt_nt_ct ac ON cr.CreditosII = ac.Credito_SF_LT_NT_CT_CreditosII ";
                consulta += "WHERE ac.Consecutivo =  (SELECT MAX(actu.Consecutivo) ";
                consulta += "FROM actu_sf_lt_nt_ct actu ";
                consulta += "WHERE actu.Credito_SF_LT_NT_CT_CreditosII = cr.CreditosII) ";
                consulta += "AND ac.SdoTotal >= " + saldoInicio + " AND ac.SdoTotal <= " + saldoFin + " ";
                consulta += "AND cr.Cat_Estatus_Cuenta_Estatus_Cve = 1 AND cr.Cat_Subestatus_Cuenta_Subestatus_Clv = 5;";
                System.out.println(consulta);
                break;
            case 5: // Eligi la opcin 5: Saldo vencido
                consulta = "SELECT cr.* ";
                consulta += "FROM credito_sf_lt_nt_ct cr ";
                consulta += "JOIN actu_sf_lt_nt_ct ac ON cr.CreditosII = ac.Credito_SF_LT_NT_CT_CreditosII ";
                consulta += "WHERE ac.Consecutivo =  (SELECT MAX(actu.Consecutivo) ";
                consulta += "FROM actu_sf_lt_nt_ct actu ";
                consulta += "WHERE actu.Credito_SF_LT_NT_CT_CreditosII = cr.CreditosII) ";
                consulta += "AND ac.SdoVen >= " + saldoInicio + " AND ac.SdoVen <= " + saldoFin + " ";
                consulta += "AND cr.Cat_Estatus_Cuenta_Estatus_Cve = 1 AND cr.Cat_Subestatus_Cuenta_Subestatus_Clv = 5;";
                System.out.println(consulta);
                break;
            case 6: // Eligi la opcin 6: Tasa
                consulta = "SELECT * ";
                consulta += "FROM credito_sf_lt_nt_ct cr ";
                consulta += "WHERE cr.TasaOrd >= " + saldoInicio + " AND cr.TasaOrd <= " + saldoFin + " ";
                consulta += "AND cr.Cat_Estatus_Cuenta_Estatus_Cve = 1 AND cr.Cat_Subestatus_Cuenta_Subestatus_Clv = 5;";
                System.out.println(consulta);
                break;
            }

            // Lista que contiene a los crditos            
            List<CreditoSfLtNtCt> lista = session.createSQLQuery(consulta).addEntity(CreditoSfLtNtCt.class).list();

            System.out.println("TAM LISTA " + lista.size());

            for (CreditoSfLtNtCt credito : lista) {
                credito.setMarcajeCredito(marcaje);
                System.out.println("se mando a actualizar el credito " + credito.getCreditosIi());
                session.update(credito); ///
                System.out.println("se actualizo cred " + credito.getCreditosIi());
                creditosMarcados++;
            }

            t.commit();
            if (session.isOpen()) {
                session.close();
            }
            return creditosMarcados;
        } catch (HibernateException he) {
            LogSistema.guardarlog(this.getClass().getName() + " Method:marcar2 , Exception: " + he.getMessage());
            return -1;
        }
    }

    public String dateToMySQLDate(Date fecha) {
        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd");
        return sdf.format(fecha);
    }

    @Override // Devuelve la cantidad de crditos marcados, -1 si hubo un error
    public int marcar(Date fechaInicio, Date fechaFin) {
        try {
            Session session = HibernateUtil.getSessionFactory().openSession();
            Transaction t = session.beginTransaction();
            MarcajeCredito marcaje = new MarcajeCredito();
            marcaje.setIdmarcajeCredito(7); // 7: Fecha ltimo pago
            int creditosMarcados = 0;

            String fechaInicioString = dateToMySQLDate(fechaInicio);
            String fechaFinString = dateToMySQLDate(fechaFin);

            String consulta = "SELECT * FROM credito_sf_lt_nt_ct cr ";
            consulta += "WHERE cr.FechUltPag between '" + fechaInicioString + "' AND '" + fechaFinString + "' ";
            consulta += "AND cr.Cat_Estatus_Cuenta_Estatus_Cve = 1 AND cr.Cat_Subestatus_Cuenta_Subestatus_Clv = 5;";

            System.out.println(consulta);
            // Lista que contiene a los crditos            
            List<CreditoSfLtNtCt> lista = session.createSQLQuery(consulta).addEntity(CreditoSfLtNtCt.class).list();

            System.out.println("TAM LISTA " + lista.size());

            for (CreditoSfLtNtCt credito : lista) {
                credito.setMarcajeCredito(marcaje);
                System.out.println("se mando a actualizar el credito " + credito.getCreditosIi());
                session.update(credito); ///
                System.out.println("se actualizo cred " + credito.getCreditosIi());
                creditosMarcados++;
            }

            t.commit();
            if (session.isOpen()) {
                session.close();
            }
            return creditosMarcados;
        } catch (HibernateException he) {
            LogSistema.guardarlog(this.getClass().getName() + " Method:marcar3 , Exception: " + he.getMessage());
            return -1;
        }
    }

    @Override // Devuelve la cantidad de crditos marcados, -1 si hubo un error
    public int marcar(String estado, String municipio) {
        try {
            Session session = HibernateUtil.getSessionFactory().openSession();
            Transaction t = session.beginTransaction();
            MarcajeCredito marcaje = new MarcajeCredito();
            marcaje.setIdmarcajeCredito(9); // 9: Lugar
            int creditosMarcados = 0;

            String consulta = "SELECT cr.* FROM credito_sf_lt_nt_ct cr JOIN direcciones dir ";
            consulta += "ON cr.Datos_primarios_Folio = dir.Datos_primarios_Folio ";
            if (municipio.equals("NoEligeMunicipio"))
                consulta += "WHERE dir.EdoDeu = '" + estado + "' ";
            else
                consulta += "WHERE dir.EdoDeu = '" + estado + "' AND dir.Entdeu = '" + municipio + "' ";
            consulta += "AND cr.Cat_Estatus_Cuenta_Estatus_Cve = 1 AND cr.Cat_Subestatus_Cuenta_Subestatus_Clv = 5;";

            System.out.println(consulta);
            List<CreditoSfLtNtCt> lista = session.createSQLQuery(consulta).addEntity(CreditoSfLtNtCt.class).list();

            System.out.println("TAM LISTA " + lista.size());

            for (CreditoSfLtNtCt credito : lista) {
                credito.setMarcajeCredito(marcaje);
                System.out.println("se mando a actualizar el credito " + credito.getCreditosIi());
                session.update(credito); ///
                System.out.println("se actualizo cred " + credito.getCreditosIi());
                creditosMarcados++;
            }
            t.commit();
            if (session.isOpen()) {
                session.close();
            }
            return creditosMarcados;
        } catch (HibernateException he) {
            LogSistema.guardarlog(this.getClass().getName() + " Method:marcar4 , Exception: " + he.getMessage());
            return -1;
        }
    }

    @Override // Devuelve la cantidad de crditos marcados, -1 si hubo un error
    public int marcar() {
        try {
            Session session = HibernateUtil.getSessionFactory().openSession();
            Transaction t = session.beginTransaction();
            MarcajeCredito marcaje = new MarcajeCredito();
            marcaje.setIdmarcajeCredito(13); // 13: Sin marcaje
            int creditosMarcados = 0;

            String consulta = "SELECT * ";
            consulta += "FROM credito_sf_lt_nt_ct cr ";
            consulta += "WHERE cr.Cat_Estatus_Cuenta_Estatus_Cve = 1 AND cr.Cat_Subestatus_Cuenta_Subestatus_Clv = 5;";

            System.out.println(consulta);
            // Lista que contiene a los crditos            
            List<CreditoSfLtNtCt> lista = session.createSQLQuery(consulta).addEntity(CreditoSfLtNtCt.class).list();

            System.out.println("TAM LISTA " + lista.size());

            for (CreditoSfLtNtCt credito : lista) {
                credito.setMarcajeCredito(marcaje);
                System.out.println("se mando a actualizar el credito " + credito.getCreditosIi());
                session.update(credito); ///
                System.out.println("se actualizo cred " + credito.getCreditosIi());
                creditosMarcados++;
            }

            t.commit();
            if (session.isOpen()) {
                session.close();
            }
            return creditosMarcados;
        } catch (HibernateException he) {
            LogSistema.guardarlog(this.getClass().getName() + " Method:marcar5 , Exception: " + he.getMessage());
            return -1;
        }

    }

}