br.com.hslife.imobiliaria.dao.impl.ContratoDao.java Source code

Java tutorial

Introduction

Here is the source code for br.com.hslife.imobiliaria.dao.impl.ContratoDao.java

Source

/*** 
    
Copyright (c) 2011, 2014 Hrcules S. S. Jos
    
    
Este arquivo  parte do programa Imobiliria Web.
    
Imobiliria Web  um software livre; voc pode redistribui-lo e/ou 
    
modific-lo dentro dos termos da Licena Pblica Geral Menor GNU como 
    
publicada pela Fundao do Software Livre (FSF); na verso 2.1 da 
    
Licena.
    
    
Este programa  distribudo na esperana que possa ser util, 
    
mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAO a qualquer
    
MERCADO ou APLICAO EM PARTICULAR. Veja a Licena Pblica Geral Menor GNU em 
    
portugus para maiores detalhes.
    
    
Voc deve ter recebido uma cpia da Licena Pblica Geral Menor GNU sob o 
    
nome de "LICENSE.TXT" junto com este programa, se no, acesse o site HSlife no 
    
endereco www.hslife.com.br ou escreva para a Fundao do Software Livre(FSF) Inc., 
    
51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA.
    
    
Para mais informaes sobre o programa Imobiliria Web e seus autores acesso o 
    
endereo www.hslife.com.br, pelo e-mail contato@hslife.com.br ou escreva para 
    
Hrcules S. S. Jos, Av. Ministro Lafaeyte de Andrade, 1683 - Bl. 3 Apt 404, 
    
Marco II - Nova Iguau, RJ, Brasil.
    
 ***/

package br.com.hslife.imobiliaria.dao.impl;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Restrictions;

import br.com.hslife.imobiliaria.dao.IContratoDao;
import br.com.hslife.imobiliaria.model.Contrato;

public class ContratoDao extends HibernateGenericDao implements IContratoDao {

    @Override
    public void save(Object objeto) {
        Contrato c = (Contrato) objeto;
        c.setDataCadastro(new Date());
        super.save(c);
    }

    @Override
    public List<Contrato> buscarPorNumContrato(String numContrato) {
        Map<String, Object> parametros = new HashMap<String, Object>();
        parametros.put("numContrato", numContrato);
        return queryList("contrato.buscarPorNumContrato", parametros);
    }

    public List<Contrato> buscarTodosEmVigor() {
        return queryList("contrato.buscarTodosEmVigor");
    }

    @Override
    public void vigorarContrato(Long id) {
        Map<String, Object> parametros = new HashMap<String, Object>();
        parametros.put("id", id);
        parametros.put("data", new Date());
        queryNoResult("contrato.vigorarContrato", parametros);
    }

    @Override
    public void renovarContrato(Long id) {
        Map<String, Object> parametros = new HashMap<String, Object>();
        parametros.put("id", id);
        parametros.put("data", new Date());
        queryNoResult("contrato.renovarContrato", parametros);
    }

    @Override
    public void encerrarContrato(Long id) {
        Map<String, Object> parametros = new HashMap<String, Object>();
        parametros.put("id", id);
        parametros.put("data", new Date());
        queryNoResult("contrato.encerrarContrato", parametros);
    }

    @Override
    public List<Contrato> contratosEmVigorImovel(Long id) {
        Map<String, Object> parametros = new HashMap<String, Object>();
        parametros.put("idImovel", id);
        return queryList("contrato.contratosEmVigorImovel", parametros);
    }

    @Override
    public List listByExample(Object example) {
        Contrato c = (Contrato) example;
        List<Criterion> restricoes = new ArrayList<Criterion>();
        if (c.getNumContrato() != null && !c.getNumContrato().isEmpty()) {
            restricoes.add(Restrictions.ilike("numContrato", c.getNumContrato(), MatchMode.ANYWHERE));
        }
        if (c.getInicioContrato() != null) {
            restricoes.add(Restrictions.ge("inicioContrato", c.getInicioContrato()));
        }
        if (c.getTerminoContrato() != null) {
            restricoes.add(Restrictions.le("terminoContrato", c.getTerminoContrato()));
        }
        if (c.getImovel() != null && c.getImovel().getId() != null && c.getImovel().getId() > 0) {
            restricoes.add(Restrictions.eq("imovel.id", c.getImovel().getId()));
        }
        if (c.getLocatario() != null && c.getLocatario().getId() != null && c.getLocatario().getId() > 0) {
            restricoes.add(Restrictions.eq("locatario.id", c.getLocatario().getId()));
        }
        if (c.getLocatarioPJ() != null && c.getLocatarioPJ().getId() != null && c.getLocatarioPJ().getId() > 0) {
            restricoes.add(Restrictions.eq("locatarioPJ.id", c.getLocatarioPJ().getId()));
        }
        if (c.getFiador() != null && c.getFiador().getId() != null && c.getFiador().getId() > 0) {
            restricoes.add(Restrictions.eq("fiador.id", c.getFiador().getId()));
        }
        if (c.getSituacao() != null && c.getSituacao() > 0) {
            restricoes.add(Restrictions.eq("situacao", c.getSituacao()));
        }
        return super.listByCriteria(Contrato.class, restricoes);
    }

    @Override
    public void vigorarEncerrarContratos() {
        Map<String, Object> parametros = new HashMap<String, Object>();
        parametros.put("data", new Date());
        queryNoResult("contrato.vigorarContratosAutomaticamente", parametros);
        queryNoResult("contrato.encerrarContratosAutomaticamente", parametros);
    }
}