113 lines
3.6 KiB
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;
|
|
}
|
|
}
|