250 lines
8.0 KiB
Java
250 lines
8.0 KiB
Java
/*
|
|
* To change this template, choose Tools | Templates
|
|
* and open the template in the editor.
|
|
*/
|
|
package com.rjconsultores.ventaboletos.service.impl;
|
|
|
|
import java.util.Calendar;
|
|
import java.util.List;
|
|
|
|
import org.apache.logging.log4j.LogManager;
|
|
import org.apache.logging.log4j.Logger;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import com.rjconsultores.ventaboletos.dao.EmpresaDAO;
|
|
import com.rjconsultores.ventaboletos.dao.EsquemaCorridaDAO;
|
|
import com.rjconsultores.ventaboletos.dao.RutaEmpresaDAO;
|
|
import com.rjconsultores.ventaboletos.entidad.ComEmpCategoria;
|
|
import com.rjconsultores.ventaboletos.entidad.ComEmpConferencia;
|
|
import com.rjconsultores.ventaboletos.entidad.ComEmpFormapago;
|
|
import com.rjconsultores.ventaboletos.entidad.ComEmpTipoEventoExtra;
|
|
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
|
import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual;
|
|
import com.rjconsultores.ventaboletos.entidad.Marca;
|
|
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
|
import com.rjconsultores.ventaboletos.exception.BusinessException;
|
|
import com.rjconsultores.ventaboletos.service.EmpresaService;
|
|
import com.rjconsultores.ventaboletos.service.LogAuditoriaService;
|
|
import com.rjconsultores.ventaboletos.service.MarcaService;
|
|
import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException;
|
|
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
|
|
|
|
/**
|
|
*
|
|
* @author Administrador
|
|
*/
|
|
@Service("empresaService")
|
|
public class EmpresaServiceImpl implements EmpresaService {
|
|
|
|
@Autowired
|
|
private EmpresaDAO empresaDAO;
|
|
|
|
@Autowired
|
|
private MarcaService marcaService;
|
|
|
|
@Autowired
|
|
private RutaEmpresaDAO rutaEmpresaDAO;
|
|
|
|
@Autowired
|
|
private EsquemaCorridaDAO esquemaCorridaDAO;
|
|
@Autowired
|
|
private LogAuditoriaService logAuditoriaService;
|
|
private static final Logger log = LogManager.getLogger(EmpresaServiceImpl.class);
|
|
|
|
|
|
public List<Empresa> obtenerTodos() {
|
|
return empresaDAO.obtenerTodos();
|
|
}
|
|
|
|
public Empresa obtenerID(Integer id) {
|
|
|
|
Empresa empresa = empresaDAO.obtenerID(id);
|
|
try {
|
|
empresa.clonar();
|
|
} catch (Exception e) {
|
|
log.error(e.getMessage(), e);
|
|
}
|
|
return empresa;
|
|
|
|
}
|
|
|
|
@Transactional
|
|
public Empresa suscribirActualizacion(Empresa entidad) throws BusinessException {
|
|
ComEmpConferencia comEmpConferencia = null;
|
|
if (entidad.getComEmpConferencias() != null && !entidad.getComEmpConferencias().isEmpty()) {
|
|
comEmpConferencia = entidad.getComEmpConferencias().iterator().next();
|
|
}
|
|
|
|
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
|
entidad.setFecmodif(Calendar.getInstance().getTime());
|
|
entidad.setActivo(Boolean.TRUE);
|
|
|
|
if (entidad.getEmpresaId() == null) {
|
|
|
|
entidad = empresaDAO.suscribir(entidad);
|
|
logAuditoriaService.auditar(null, entidad, null);
|
|
|
|
|
|
gerarMarca(entidad);
|
|
|
|
} else {
|
|
try {
|
|
Empresa empresaClone = entidad.getCloneObject();
|
|
entidad = empresaDAO.actualizacion(entidad);
|
|
logAuditoriaService.auditar(empresaClone, entidad, entidad.getEmpresaId());
|
|
} catch (Exception e) {
|
|
log.error(e);
|
|
}
|
|
}
|
|
|
|
if (comEmpConferencia != null) {
|
|
comEmpConferencia.setEmpresa(entidad);
|
|
suscribirOrActualizacion(comEmpConferencia);
|
|
}
|
|
|
|
return entidad;
|
|
}
|
|
|
|
private void gerarMarca(Empresa empresa) {
|
|
|
|
Marca marca = new Marca();
|
|
|
|
marca.setEmpresa(empresa);
|
|
marca.setDescmarca(empresa.getNombempresa());
|
|
|
|
marcaService.suscribir(marca);
|
|
|
|
}
|
|
|
|
@Transactional
|
|
public void borrar(Empresa entidad) throws RegistroConDependenciaException {
|
|
if ((rutaEmpresaDAO.obtenerPorEmpresa(entidad).size() > 0) ||
|
|
(esquemaCorridaDAO.buscarPorEmpresaCorrida(entidad).size() > 0)) {
|
|
throw new RegistroConDependenciaException();
|
|
}
|
|
|
|
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
|
entidad.setFecmodif(Calendar.getInstance().getTime());
|
|
entidad.setActivo(Boolean.FALSE);
|
|
|
|
empresaDAO.actualizacion(entidad);
|
|
logAuditoriaService.auditarExclusao(entidad,null);
|
|
|
|
}
|
|
|
|
public List<Empresa> buscar(String nombempresa, Boolean indExterna, Short indTipo) {
|
|
return empresaDAO.buscar(nombempresa, indExterna, indTipo);
|
|
}
|
|
|
|
public List<Empresa> buscarTodosExceto(List<Empresa> empresa, Integer... idEmpresa) {
|
|
return empresaDAO.buscarTodosExceto(empresa, idEmpresa);
|
|
}
|
|
|
|
public List<Empresa> obtenerIndExternoFalse() {
|
|
return empresaDAO.obtenerIndExternoFalse();
|
|
}
|
|
|
|
public List<Empresa> obtenerIndTipo2() {
|
|
return empresaDAO.obtenerIndTipo2();
|
|
}
|
|
|
|
/*
|
|
* (non-Javadoc)
|
|
*
|
|
* @see com.rjconsultores.ventaboletos.service.EmpresaService#buscarNotInPuntoVtaComissao(com.rjconsultores.ventaboletos.entidad.PuntoVenta)
|
|
*/
|
|
@Override
|
|
public List<Empresa> buscarNotInPuntoVtaComissao(PuntoVenta puntoVenta) {
|
|
return empresaDAO.buscarNotInPuntoVtaComissao(puntoVenta);
|
|
|
|
}
|
|
|
|
@Override
|
|
public List<InscricaoEstadual> buscaInscricoesEstaduais(Empresa empresa) {
|
|
return empresaDAO.buscaInscricoesEstaduais(empresa);
|
|
}
|
|
|
|
@Override
|
|
public void actualizaInscEstadual(InscricaoEstadual inscricaoEstadual) {
|
|
empresaDAO.actualizaInscEstadual(inscricaoEstadual);
|
|
}
|
|
|
|
@Override
|
|
public List<Empresa> buscaLike(String nombempresa) {
|
|
return empresaDAO.buscaLike(nombempresa);
|
|
}
|
|
|
|
@Override
|
|
public ComEmpCategoria adicionarComissaoCategoria(ComEmpCategoria comEmpCategoria) {
|
|
comEmpCategoria.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
|
comEmpCategoria.setFecmodif(Calendar.getInstance().getTime());
|
|
comEmpCategoria.setActivo(Boolean.TRUE);
|
|
return empresaDAO.adicionarComissaoCategoria(comEmpCategoria);
|
|
}
|
|
|
|
@Override
|
|
public void removerComissaoCategoria(ComEmpCategoria comEmpCategoria) {
|
|
comEmpCategoria.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
|
comEmpCategoria.setFecmodif(Calendar.getInstance().getTime());
|
|
comEmpCategoria.setActivo(Boolean.FALSE);
|
|
empresaDAO.removerComissaoCategoria(comEmpCategoria);
|
|
}
|
|
|
|
@Override
|
|
public ComEmpFormapago adicionarComissaoFormapago(ComEmpFormapago comEmpFormapago) {
|
|
comEmpFormapago.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
|
comEmpFormapago.setFecmodif(Calendar.getInstance().getTime());
|
|
comEmpFormapago.setActivo(Boolean.TRUE);
|
|
return empresaDAO.adicionarComissaoFormapago(comEmpFormapago);
|
|
}
|
|
|
|
@Override
|
|
public void removerComissaoFormapago(ComEmpFormapago comEmpFormapago) {
|
|
comEmpFormapago.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
|
comEmpFormapago.setFecmodif(Calendar.getInstance().getTime());
|
|
comEmpFormapago.setActivo(Boolean.FALSE);
|
|
empresaDAO.removerComissaoFormapago(comEmpFormapago);
|
|
}
|
|
|
|
@Override
|
|
public ComEmpTipoEventoExtra adicionarComissaoTipoEventoExtra(ComEmpTipoEventoExtra comEmpTipoEventoExtra) {
|
|
comEmpTipoEventoExtra.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
|
comEmpTipoEventoExtra.setFecmodif(Calendar.getInstance().getTime());
|
|
comEmpTipoEventoExtra.setActivo(Boolean.TRUE);
|
|
return empresaDAO.adicionarComissaoTipoEventoExtra(comEmpTipoEventoExtra);
|
|
}
|
|
|
|
@Override
|
|
public void removerComissaoTipoEventoExtra(ComEmpTipoEventoExtra comEmpTipoEventoExtra) {
|
|
comEmpTipoEventoExtra.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
|
comEmpTipoEventoExtra.setFecmodif(Calendar.getInstance().getTime());
|
|
comEmpTipoEventoExtra.setActivo(Boolean.FALSE);
|
|
empresaDAO.removerComissaoTipoEventoExtra(comEmpTipoEventoExtra);
|
|
}
|
|
|
|
@Override
|
|
public List<Empresa> obtenerTodosIncluindoEmpresaTodas() {
|
|
return empresaDAO.obtenerTodosIncluindoEmpresaTodas();
|
|
}
|
|
|
|
@Override
|
|
@Transactional
|
|
public ComEmpConferencia suscribirOrActualizacion(ComEmpConferencia comEmpConferencia) {
|
|
comEmpConferencia.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
|
comEmpConferencia.setFecmodif(Calendar.getInstance().getTime());
|
|
comEmpConferencia.setActivo(Boolean.TRUE);
|
|
if (comEmpConferencia.getComempconferenciaId() == null) {
|
|
return empresaDAO.suscribir(comEmpConferencia);
|
|
} else {
|
|
return empresaDAO.actualizacion(comEmpConferencia);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public List<Empresa> buscarEmpresaPtoVtaComissao() {
|
|
return empresaDAO.buscarEmpresaPtoVtaComissao();
|
|
}
|
|
}
|