[code]package br.com.catequese.dao;
import br.com.caelum.vraptor.ioc.Component;
import br.com.catequese.to.Solicitacao;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
@Component
public class SolicitacaoDao {
private final Session session;
private Object r;
private Object JPAUtil;
public SolicitacaoDao(Session session) {
this.session = session;
}
public void salva(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatus("Ativo");
solicitacao.setSoliDataAtendimento(new Date());
solicitacao.setSoliDataContato(new Date());
solicitacao.setSoliDataSolicitacao(new Date());
solicitacao.setSoliStatusSolicitacaoNome("CAC - ENTRADA NA SOLICITAÇÃO - 1");
session.save(solicitacao);
tx.commit();
}
public void status(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatusSolicitacaoNome("DIMEE - RETORNO PARA CAC - 2");
this.session.update(solicitacao);
tx.commit();
}
public void atualizadimee(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatusSolicitacaoNome("DIMEE - RETORNO PARA CAC - 2");
this.session.update(solicitacao);
tx.commit();
}
public void atualizadimat(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatusSolicitacaoNome("DIMAT - RETORNO PARA CAC - 3");
this.session.update(solicitacao);
tx.commit();
}
public void atualizaditalq(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatusSolicitacaoNome("DITALQ - RETORNO PARA CAC - 4");
this.session.update(solicitacao);
tx.commit();
}
public void atualizanit(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatusSolicitacaoNome("NIT - RETORNO PARA CAC - 5");
this.session.update(solicitacao);
tx.commit();
}
public void atualizaasqua(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatusSolicitacaoNome("ASQUA - RETORNO PARA CAC - 6");
this.session.update(solicitacao);
tx.commit();
}
public void atualizacac(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatusSolicitacaoNome("CAC - RETORNO DE DIVISÃO - 7");
this.session.update(solicitacao);
tx.commit();
}
public void atualizajuridico(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatusSolicitacaoNome("JURIDÍCO - RETORNO DO CAC - 8");
this.session.update(solicitacao);
tx.commit();
}
public void atualizacancela(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatusSolicitacaoNome("Cancelado - 9");
this.session.update(solicitacao);
tx.commit();
}
public void atualizaconcluido(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatusSolicitacaoNome("Concluido - 10");
this.session.update(solicitacao);
tx.commit();
}
public void desativar(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatus("Inativo");
solicitacao.setSoliDataDesativacao(new Date());
session.update(solicitacao);
tx.commit();
}
public void ativar(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatus("Ativo");
solicitacao.setSoliDataDesativacao(null);
session.update(solicitacao);
tx.commit();
}
public List<Solicitacao> listaTudo() {
return this.session.createCriteria(Solicitacao.class).addOrder(Order.asc("soliNegociacao")).setMaxResults(20).list();
}
//=====================================Lista Geral Serviços
public List<Solicitacao> listaServico() throws SQLException, ClassNotFoundException {
return this.session.createCriteria(Solicitacao.class, "S").createAlias("S.soliFkIntermediariaSolicitacaoId", "i").createAlias("i.inteFkServicoId", "s").add(Restrictions.eqProperty("i.intePkId", "S.soliFkIntermediariaSolicitacaoId.intePkId")).add(Restrictions.eqProperty("s.servPkId", "i.inteFkServicoId.servPkId")).add(Restrictions.eq("s.serPkId", 1L)).list();
}
//======================================SELECT para Processos
public Solicitacao carregaProcesso(Integer soliPkId) throws SQLException, ClassNotFoundException {
Connection con = getConexao();
Statement stmt = con.createStatement();
stmt.executeUpdate("UPDATE sigi.solicitacao SET soli_soma_servicos = "
+ "(SELECT sum(servicos.serv_preco) FROM sigi.intermediariasolicitacao, sigi.servicos "
+ "WHERE intermediariasolicitacao.inte_fk_solicitacao_id = " + soliPkId
+ " AND intermediariasolicitacao.inte_fk_servico_id = servicos.serv_pk_id) WHERE solicitacao.soli_pk_id = " + soliPkId);
return (Solicitacao) this.session.load(Solicitacao.class, soliPkId);
}
//***************************************Get para Conecção
private Connection getConexao() {
Connection con = null;
return con;
}
//****************************************fim do get
public List<Solicitacao> listaSolicitacoesDitalq() {
return this.session.createCriteria(Solicitacao.class).addOrder(Order.asc("soliDescricao"))
.add(Restrictions.eq("soliStatus", "Ativo"))
.add(Restrictions.eq("soliFkDivisoes4Id.diviPkId", 4)).setMaxResults(20).list();
}
public List<Solicitacao> listaSolicitacoesDimat() {
return this.session.createCriteria(Solicitacao.class).addOrder(Order.asc("soliDescricao"))
.add(Restrictions.eq("soliStatus", "Ativo"))
.add(Restrictions.eq("soliFkDivisoes2Id.diviPkId", 2)).setMaxResults(20).list();
}
public List<Solicitacao> listaSolicitacoesDimee() {
return this.session.createCriteria(Solicitacao.class).addOrder(Order.asc("soliDescricao"))
.add(Restrictions.eq("soliStatus", "Ativo"))
.add(Restrictions.eq("soliFkDivisoes3Id.diviPkId", 3)).setMaxResults(20).list();
}
public List<Solicitacao> listaSolicitacoesNit() {
return this.session.createCriteria(Solicitacao.class).addOrder(Order.asc("soliDescricao"))
.add(Restrictions.eq("soliStatus", "Ativo"))
.add(Restrictions.eq("soliFkDivisoes5Id.diviPkId", 5)).setMaxResults(20).list();
}
public List<Solicitacao> listaTudoativo() {
return this.session.createCriteria(Solicitacao.class).addOrder(Order.asc("soliNegociacao")).setMaxResults(20)
.add(Restrictions.eq("soliStatus", "Ativo")).list();
}
public List<Solicitacao> listaTudoinativo() {
return this.session.createCriteria(Solicitacao.class).addOrder(Order.asc("soliNegociacao"))
.add(Restrictions.eq("soliStatus", "Inativo")).setMaxResults(20).list();
}
public List<Solicitacao> listaTudoativocac() {
return this.session.createCriteria(Solicitacao.class).addOrder(Order.asc("soliNegociacao")).setMaxResults(20)
.add(Restrictions.eq("soliStatus", "Ativo")).list();
}
public Solicitacao carrega(Integer soliPkId) {
return (Solicitacao) this.session.load(Solicitacao.class, soliPkId);
}
public void atualiza(Solicitacao solicitacao) {
Transaction tx = session.beginTransaction();
solicitacao.setSoliStatus("Ativo");
this.session.update(solicitacao);
tx.commit();
}
public List<Solicitacao> busca(Integer soliPkId) {
return session.createCriteria(Solicitacao.class)
.add(Restrictions.eq("soliPkId", soliPkId))
.add(Restrictions.eq("soliStatus", "Ativo"))
.list();
}
public List<Solicitacao> buscaSolicitacoesNit(Integer soliPkId) {
return session.createCriteria(Solicitacao.class)
.add(Restrictions.eq("soliPkId", soliPkId))
.add(Restrictions.eq("soliStatus", "Ativo"))
.add(Restrictions.eq("soliFkDivisoes5Id.diviPkId", 5))
.list();
}
public List<Solicitacao> buscaSolicitacoesDimat(Integer soliPkId) {
return session.createCriteria(Solicitacao.class)
.add(Restrictions.eq("soliPkId", soliPkId))
.add(Restrictions.eq("soliStatus", "Ativo"))
.add(Restrictions.eq("soliFkDivisoes2Id.diviPkId", 2))
.list();
}
public List<Solicitacao> buscaSolicitacoesDimee(Integer soliPkId) {
return session.createCriteria(Solicitacao.class)
.add(Restrictions.eq("soliPkId", soliPkId))
.add(Restrictions.eq("soliStatus", "Ativo"))
.add(Restrictions.eq("soliFkDivisoes3Id.diviPkId", 3))
.list();
}
public List<Solicitacao> buscaSolicitacoesDitalq(Integer soliPkId) {
return session.createCriteria(Solicitacao.class)
.add(Restrictions.eq("soliPkId", soliPkId))
.add(Restrictions.eq("soliStatus", "Ativo"))
.add(Restrictions.eq("soliFkDivisoes4Id.diviPkId", 4))
.list();
}
}
[/code]