AdmMono/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java

113 lines
3.6 KiB
Java

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<Aidf> 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<AidfEspecie> obtenerTodosAdifEspecie() {
return aidfEspecieDAO.obtenerTodos();
}
public List<AidfTipo> obtenerTodosAdifTipo() {
return aidfTipoDAO.obtenerTodos();
}
public List<Aidf> buscaAidfsPorEmpresas(List<Empresa> empresas) {
List<Aidf> aidfs = aidfDAO.buscaAidfsPorEmpresas(empresas);
return aidfs;
}
public List<AidfVo> obtenerAidfFromSerieDocfiscal(String serie,String docfiscal, Connection conn){
return aidfDAO.obtenerAidfFromSerieDocfiscal( serie, docfiscal, conn );
}
public Long validarDocFiscalSerieFormInicialFinal(Aidf entidad, Connection conn){
List<AidfVo> 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;
}
}