package com.rjconsultores.ventaboletos.service.impl; import java.sql.Connection; import java.util.Calendar; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.AidfDAO; import com.rjconsultores.ventaboletos.dao.AidfEspecieDAO; import com.rjconsultores.ventaboletos.dao.AidfTipoDAO; import com.rjconsultores.ventaboletos.entidad.Aidf; import com.rjconsultores.ventaboletos.entidad.AidfEspecie; import com.rjconsultores.ventaboletos.entidad.AidfTipo; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.service.AidfService; import com.rjconsultores.ventaboletos.service.MovimentacionBilhetesService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.vo.aidf.AidfVo; @Service("aidfService") public class AidfServiceImpl implements AidfService { @Autowired private AidfDAO aidfDAO; @Autowired private AidfEspecieDAO aidfEspecieDAO; @Autowired private AidfTipoDAO aidfTipoDAO; @Autowired private MovimentacionBilhetesService movimentacionBilhetesService; public List obtenerTodos() { return aidfDAO.obtenerTodos(); } @Transactional public Aidf obtenerID(Long id) { return aidfDAO.obtenerID(id); } @Transactional public Aidf suscribir(Aidf entidad) { setUsuarioFecmodifActivo(entidad); Aidf aidf = aidfDAO.suscribir(entidad); if(aidf != null) movimentacionBilhetesService.realizaAdquisicionBilhetes(aidf); return aidf; } @Transactional public Aidf actualizacion(Aidf entidad) { setUsuarioFecmodifActivo(entidad); return aidfDAO.actualizacion(entidad); } @Transactional public void borrar(Aidf entidad) { setUsuarioFecmodifActivo(entidad); entidad.setActivo(Boolean.FALSE); aidfDAO.borrar(entidad); } private void setUsuarioFecmodifActivo(Aidf entidad){ entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setActivo(Boolean.TRUE); } public List obtenerTodosAdifEspecie() { return aidfEspecieDAO.obtenerTodos(); } public List obtenerTodosAdifTipo() { return aidfTipoDAO.obtenerTodos(); } public List buscaAidfsPorEmpresas(List empresas) { List aidfs = aidfDAO.buscaAidfsPorEmpresas(empresas); return aidfs; } public List obtenerAidfFromSerieDocfiscal(String serie,String docfiscal, Connection conn){ return aidfDAO.obtenerAidfFromSerieDocfiscal( serie, docfiscal, conn ); } public Long validarDocFiscalSerieFormInicialFinal(Aidf entidad, Connection conn){ List list = obtenerAidfFromSerieDocfiscal(entidad.getSerie() , entidad.getDocfiscal().replaceAll("[^a-zA-Z0-9]+","") , conn); for(AidfVo e : list){ if(e.getDocfiscal().trim().equals(entidad.getDocfiscal().replaceAll("[^a-zA-Z0-9]+","").trim())){ if(e.getSerie().trim().equals(entidad.getSerie().trim())){ if( ( Long.parseLong(entidad.getForminicial()) >= Long.parseLong(e.getForminicial()) && Long.parseLong(entidad.getForminicial()) <= Long.parseLong(e.getFormfinal()) ) || ( Long.parseLong(entidad.getFormfinal()) >= Long.parseLong(e.getForminicial()) && Long.parseLong(entidad.getFormfinal()) <= Long.parseLong(e.getFormfinal()) ) ){ return e.getAidfId(); } } } } return -1l; } }