com.isdemu.dao.impl.TB_MovimientoDaoImp.java Source code

Java tutorial

Introduction

Here is the source code for com.isdemu.dao.impl.TB_MovimientoDaoImp.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.isdemu.dao.impl;

import com.isdemu.dao.TB_MovimientoDao;
import com.isdemu.model.TbInventario;

import com.isdemu.model.TbMovimiento;
import com.isdemu.model.TbrMovimientoInventario;
import com.isdemu.model.TbtVerificarInventario;
import java.io.Serializable;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import org.hibernate.FetchMode;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

/**
 *
 * @author AlejandroPC
 */

@Repository
public class TB_MovimientoDaoImp implements TB_MovimientoDao {

    @Autowired
    private SessionFactory sessionFactory;

    private Session getCurrentSession() {
        return sessionFactory.getCurrentSession();
    }

    @Override
    public List getAll() {
        // TODO Auto-generated method stub
        DetachedCriteria dc = DetachedCriteria.forClass(TbMovimiento.class);
        // System.out.println("criteria="+dc.getExecutableCriteria(sessionFactory.getCurrentSession()).list().get(0));
        // dc.addOrder(Order.asc("codigo_inventario"));
        return dc.getExecutableCriteria(sessionFactory.getCurrentSession()).list();
    }

    @Override
    public List getTop() {
        // TODO Auto-generated method stub
        DetachedCriteria dc = DetachedCriteria.forClass(TbMovimiento.class, "movimiento");
        //dc.setFetchMode("TbrMovimientoInventario", FetchMode.JOIN);

        Date fecha_finalHoy = new Date();
        Date fecha_inicial = new Date();

        //restar dias a la fecha
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(fecha_finalHoy);
        calendar.add(Calendar.DAY_OF_YEAR, -7); // numero de das a aadir, o restar en caso de das<0
        fecha_inicial = calendar.getTime();

        dc.add(Restrictions.between("fechaMovimiento", fecha_inicial, fecha_finalHoy));
        System.out.println("fecha inicial:" + fecha_inicial + "fecha final:" + fecha_finalHoy);

        // dc.add(Restrictions.ge("fechaMovimiento", highestDate));
        // dc.add(Restrictions.lt("fechaMovimiento", highestDate));

        return dc.getExecutableCriteria(sessionFactory.getCurrentSession()).list();

    }

    @Override
    public List getMovInv(Serializable id) {

        DetachedCriteria dc = DetachedCriteria.forClass(TbrMovimientoInventario.class, "movimientoInventario");

        dc.createAlias("movimientoInventario.tbMovimiento", "movi");
        dc.add(Restrictions.eq("movi.idMovimiento", id));

        return dc.getExecutableCriteria(sessionFactory.getCurrentSession()).list();

    }

    @Override
    public void save(Object obj) {
        // TODO Auto-generated method stub

        TbMovimiento movimiento = (TbMovimiento) obj;
        getCurrentSession().save(movimiento);
    }

    @Override
    public void delete(Serializable id) {
        // TODO Auto-generated method stub
        TbMovimiento movimiento = (TbMovimiento) getCurrentSession().get(TbMovimiento.class, id);
        if (movimiento != null)
            getCurrentSession().delete(movimiento);
    }

    @Override
    public Object findByKey(Serializable id) {
        // TODO Auto-generated method stub
        TbMovimiento movimiento = (TbMovimiento) getCurrentSession().get(TbMovimiento.class, id);
        return movimiento;
    }

    @Override
    public void update(Object obj) {
        // TODO Auto-generated method stub
        System.out.println("ingresa antes de enviar con la sesion el objeto para update");
        getCurrentSession().update(obj);
    }

    @Override
    public List LastIdMovimiento() {
        DetachedCriteria dc = DetachedCriteria.forClass(TbMovimiento.class, "mov");

        dc.addOrder(Order.desc("idMovimiento"));

        return dc.getExecutableCriteria(sessionFactory.getCurrentSession()).list();
    }

    @Override
    public List getAllInvPer() {
        System.out.println("ingresa al getAllInvPer");
        Session session = null;
        session = sessionFactory.getCurrentSession();
        SQLQuery query = session.createSQLQuery("  \n"
                + "  select TB_MOVIMIENTO.ID_MOVIMIENTO,TB_MOVIMIENTO.FECHA_MOVIMIENTO,TB_MOVIMIENTO.RAZON_CAMBIO,TBC_PERSONA.NOMBRE_PERSONA  from TB_MOVIMIENTO inner join TBC_PERSONA on  TB_MOVIMIENTO.ID_PERSONA_NUEVA=TBC_PERSONA.ID_PERSONA where [ID_MOVIMIENTO] in (select b.ID_MOVIMIENTO from [dbo].[TBR_MOVIMIENTO_INVENTARIO] as b )");
        List mov = query.list();
        return mov;
    }

}