diff --git a/pom.xml b/pom.xml index 8122a1a65..81d11a434 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 br.com.rjconsultores ModelWeb - 1.40.7 + 1.41.0 diff --git a/src/com/rjconsultores/ventaboletos/dao/AidfDAO.java b/src/com/rjconsultores/ventaboletos/dao/AidfDAO.java index 63d8476dc..2620b2880 100644 --- a/src/com/rjconsultores/ventaboletos/dao/AidfDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/AidfDAO.java @@ -24,4 +24,6 @@ public interface AidfDAO extends GenericDAO { public boolean vaidaRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId, String folio); public Boolean validarDocFiscalPorEstadoAgencia(Long idAidf, Integer especieId, String docFiscal, String formInicial, String formFinal, Estado estado, PuntoVenta agencia); + + public List buscaAidfsPorEmpresasAgencia(List empresas, PuntoVenta pontoVenda); } diff --git a/src/com/rjconsultores/ventaboletos/dao/DetAbastoBoletoDAO.java b/src/com/rjconsultores/ventaboletos/dao/DetAbastoBoletoDAO.java index a0800b6d0..c89d4c69c 100644 --- a/src/com/rjconsultores/ventaboletos/dao/DetAbastoBoletoDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/DetAbastoBoletoDAO.java @@ -20,4 +20,6 @@ public interface DetAbastoBoletoDAO extends GenericDAO public List buscabDetAbastoBoletoToVerifyIfAidfCanBeEditable(com.rjconsultores.ventaboletos.entidad.Aidf aidf); + public DetAbastoBoleto buscarPorAidf(Long aidfId, String folioInicial, String folioFinal); + } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/AidfHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/AidfHibernateDAO.java index 334176e38..fc2fabf13 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/AidfHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/AidfHibernateDAO.java @@ -119,6 +119,17 @@ public class AidfHibernateDAO extends GenericHibernateDAO implements return (List) c.list(); } + + @Override + public List buscaAidfsPorEmpresasAgencia(List empresas, PuntoVenta pontoVenda) { + + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.in("empresa", empresas)); + c.add(Restrictions.eq("puntoVenta", pontoVenda)); + + return (List) c.list(); + } public Boolean existeAidfComCodFiscalEEstado(Long idAidf, Integer especieId, String docFiscal, Estado estado) { Criteria c = getSession().createCriteria(getPersistentClass()); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/DetAbastoBoletoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/DetAbastoBoletoHibernateDAO.java index cd05a75d6..8a4be6bbc 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/DetAbastoBoletoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/DetAbastoBoletoHibernateDAO.java @@ -127,4 +127,14 @@ public class DetAbastoBoletoHibernateDAO extends GenericHibernateDAO detAbastoBoletos = findByCriteria( + Restrictions.eq("aidf.aidfId", aidfId), + Restrictions.sqlRestriction("cast(numfolioinicial as integer) <= "+folioInicial), + Restrictions.sqlRestriction("cast(numfoliofinal as integer) >= "+folioFinal), + Restrictions.eq("activo", Boolean.TRUE)); + return detAbastoBoletos.get(0); + } + } diff --git a/src/com/rjconsultores/ventaboletos/entidad/AbastoBoleto.java b/src/com/rjconsultores/ventaboletos/entidad/AbastoBoleto.java index 8e9a0d4a3..347a495a1 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/AbastoBoleto.java +++ b/src/com/rjconsultores/ventaboletos/entidad/AbastoBoleto.java @@ -8,6 +8,7 @@ import javax.persistence.Basic; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @@ -61,22 +62,22 @@ public class AbastoBoleto implements Serializable { @Column(name = "USUARIO_ID") private Integer usuarioId; @JoinColumn(name = "PUNTOVENTACENTRAL_ID", referencedColumnName = "PUNTOVENTA_ID") - @ManyToOne + @ManyToOne(fetch = FetchType.LAZY) private PuntoVenta puntoventacentral; @JoinColumn(name = "PUNTOVENTA_ID", referencedColumnName = "PUNTOVENTA_ID") - @ManyToOne + @ManyToOne(fetch = FetchType.LAZY) private PuntoVenta puntoventa; @JoinColumn(name = "ESTACION_ID", referencedColumnName = "ESTACION_ID") - @ManyToOne + @ManyToOne(fetch = FetchType.LAZY) private Estacion estacion; @JoinColumn(name = "EMPRESA_ID", referencedColumnName = "EMPRESA_ID") - @ManyToOne + @ManyToOne(fetch = FetchType.LAZY) private Empresa empresa; @JoinColumn(name = "CLASIFICACION_ID", referencedColumnName = "CLASIFICACION_ID") - @ManyToOne + @ManyToOne(fetch = FetchType.LAZY) private Clasificacion clasificacion; @JoinColumn(name = "ARTICULO_ID", referencedColumnName = "ARTICULO_ID") - @ManyToOne + @ManyToOne(fetch = FetchType.LAZY) private Articulo articulo; @OneToMany(mappedBy = "abastoBoleto", cascade = CascadeType.ALL) private List detAbastoBoletoList; diff --git a/src/com/rjconsultores/ventaboletos/entidad/Aidf.java b/src/com/rjconsultores/ventaboletos/entidad/Aidf.java index d3eacb5da..bf1ead37e 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Aidf.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Aidf.java @@ -25,26 +25,57 @@ import org.hibernate.annotations.GenericGenerator; public class Aidf implements java.io.Serializable { private static final long serialVersionUID = 1L; - + + @Id + @GenericGenerator(name = "aidfgen_id", strategy = "com.rjconsultores.ventaboletos.dao.util.AidfGenerator") + @GeneratedValue(generator = "aidfgen_id") + @Column(name = "AIDF_ID", unique = true, nullable = false, precision = 15, scale = 0) private Long aidfId; + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "AIDFTIPO_ID") private AidfTipo aidfTipo; + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "AIDFESP_ID") private AidfEspecie aidfEspecie; + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "PUNTOVENTA_ID") private PuntoVenta puntoVenta; + @JoinColumn(name = "ESTADO_ID") + @ManyToOne private Estado estado; + @Column(name = "DOCFISCAL", length = 20) private String docfiscal; + @Column(name = "ACFISCAL", length = 20) private String acfiscal; + @Column(name = "SERIE", length = 20) private String serie; + @Column(name = "SUBSERIE", length = 20) private String subserie; + @Column(name = "FORMINICIAL", length = 12) private String forminicial; + @Column(name = "FORMFINAL", length = 12) private String formfinal; + @Temporal(TemporalType.DATE) + @Column(name = "FECADQUISICION", length = 7) private Date fecadquisicion; + @Temporal(TemporalType.DATE) + @Column(name = "FECVENCIMIENTO", length = 7) private Date fecvencimiento; + @Column(name = "INSCESTADUAL", length = 20) private String inscestadual; + @JoinColumn(name = "EMPRESA_ID") + @ManyToOne private Empresa empresa; + @Column(name = "ACTIVO", precision = 1, scale = 0) private Boolean activo; + @Temporal(TemporalType.TIMESTAMP) + @Column(name = "FECMODIF", length = 7) private Date fecmodif; + @Column(name = "USUARIO_ID", precision = 7, scale = 0) private Integer usuarioId; + @Column(name = "CNPJ", length = 20) private String cnpj; + @Column(name = "TIPOVALIDAVENTA") private String tipoValidaVenta; public Aidf() { @@ -73,8 +104,6 @@ public class Aidf implements java.io.Serializable { } - @ManyToOne(fetch = FetchType.EAGER) - @JoinColumn(name = "PUNTOVENTA_ID") public PuntoVenta getPuntoVenta() { return puntoVenta; } @@ -103,10 +132,6 @@ public class Aidf implements java.io.Serializable { return true; } - @Id - @GenericGenerator(name = "aidfgen_id", strategy = "com.rjconsultores.ventaboletos.dao.util.AidfGenerator") - @GeneratedValue(generator = "aidfgen_id") - @Column(name = "AIDF_ID", unique = true, nullable = false, precision = 15, scale = 0) public Long getAidfId() { return aidfId; } @@ -115,8 +140,6 @@ public class Aidf implements java.io.Serializable { this.aidfId = aidfId; } - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "AIDFTIPO_ID") public AidfTipo getAidfTipo() { return aidfTipo; } @@ -125,8 +148,6 @@ public class Aidf implements java.io.Serializable { this.aidfTipo = aidfTipo; } - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "AIDFESP_ID") public AidfEspecie getAidfEspecie() { return aidfEspecie; } @@ -135,8 +156,6 @@ public class Aidf implements java.io.Serializable { this.aidfEspecie = aidfEspecie; } - @JoinColumn(name = "ESTADO_ID") - @ManyToOne public Estado getEstado() { return estado; } @@ -145,7 +164,6 @@ public class Aidf implements java.io.Serializable { this.estado = estado; } - @Column(name = "DOCFISCAL", length = 20) public String getDocfiscal() { return docfiscal; } @@ -154,7 +172,6 @@ public class Aidf implements java.io.Serializable { this.docfiscal = docfiscal; } - @Column(name = "ACFISCAL", length = 20) public String getAcfiscal() { return acfiscal; } @@ -163,7 +180,6 @@ public class Aidf implements java.io.Serializable { this.acfiscal = acfiscal; } - @Column(name = "SERIE", length = 20) public String getSerie() { return serie; } @@ -172,7 +188,6 @@ public class Aidf implements java.io.Serializable { this.serie = serie; } - @Column(name = "SUBSERIE", length = 20) public String getSubserie() { return subserie; } @@ -181,7 +196,6 @@ public class Aidf implements java.io.Serializable { this.subserie = subserie; } - @Column(name = "FORMINICIAL", length = 12) public String getForminicial() { return forminicial; } @@ -190,7 +204,6 @@ public class Aidf implements java.io.Serializable { this.forminicial = forminicial; } - @Column(name = "FORMFINAL", length = 12) public String getFormfinal() { return formfinal; } @@ -199,8 +212,6 @@ public class Aidf implements java.io.Serializable { this.formfinal = formfinal; } - @Temporal(TemporalType.DATE) - @Column(name = "FECADQUISICION", length = 7) public Date getFecadquisicion() { return fecadquisicion; } @@ -209,7 +220,6 @@ public class Aidf implements java.io.Serializable { this.fecadquisicion = fecadquisicion; } - @Column(name = "CNPJ", length = 20) public String getCnpj() { return cnpj; } @@ -218,8 +228,6 @@ public class Aidf implements java.io.Serializable { this.cnpj = cnpj; } - @Temporal(TemporalType.DATE) - @Column(name = "FECVENCIMIENTO", length = 7) public Date getFecvencimiento() { return fecvencimiento; } @@ -228,7 +236,6 @@ public class Aidf implements java.io.Serializable { this.fecvencimiento = fecvencimiento; } - @Column(name = "INSCESTADUAL", length = 20) public String getInscestadual() { return inscestadual; } @@ -237,8 +244,6 @@ public class Aidf implements java.io.Serializable { this.inscestadual = inscestadual; } - @JoinColumn(name = "EMPRESA_ID") - @ManyToOne public Empresa getEmpresa() { return empresa; } @@ -247,7 +252,6 @@ public class Aidf implements java.io.Serializable { this.empresa = empresa; } - @Column(name = "ACTIVO", precision = 1, scale = 0) public Boolean getActivo() { return activo; } @@ -256,8 +260,6 @@ public class Aidf implements java.io.Serializable { this.activo = activo; } - @Temporal(TemporalType.TIMESTAMP) - @Column(name = "FECMODIF", length = 7) public Date getFecmodif() { return fecmodif; } @@ -266,7 +268,6 @@ public class Aidf implements java.io.Serializable { this.fecmodif = fecmodif; } - @Column(name = "USUARIO_ID", precision = 7, scale = 0) public Integer getUsuarioId() { return usuarioId; } @@ -275,7 +276,6 @@ public class Aidf implements java.io.Serializable { this.usuarioId = usuarioId; } - @Column(name = "TIPOVALIDAVENTA") public String getTipoValidaVenta() { return tipoValidaVenta; } @@ -283,11 +283,26 @@ public class Aidf implements java.io.Serializable { public void setTipoValidaVenta(String tipoValidaVenta) { this.tipoValidaVenta = tipoValidaVenta; } + + public String obterSerieSubserieFormatada() { + String serieInformada = this.getSerie(); + String subSerieInformada = this.getSubserie(); + + if(serieInformada == null) { + serieInformada = ""; + } + + return serieInformada + .trim() + .concat( + subSerieInformada == null || subSerieInformada.isEmpty() + ? "" + : "-".concat(subSerieInformada.trim())); + } @Override public String toString() { - return String.format("%s - %s", this.getAidfId(), (this.getSerie() == null ? "" : this.getSerie() - + this.getSubserie() == null ? "" : this.getSubserie())); + return String.format("%s - %s", this.getAidfId(), obterSerieSubserieFormatada()); } } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/entidad/DetAbastoBoleto.java b/src/com/rjconsultores/ventaboletos/entidad/DetAbastoBoleto.java index e7accb20d..9756d4ca6 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/DetAbastoBoleto.java +++ b/src/com/rjconsultores/ventaboletos/entidad/DetAbastoBoleto.java @@ -84,6 +84,10 @@ public class DetAbastoBoleto implements Serializable { public String getNumfolioinicial() { return numfolioinicial; } + + public Long getFolioInicial() { + return Long.valueOf(numfolioinicial); + } public void setNumfolioinicial(String numfolioinicial) { this.numfolioinicial = numfolioinicial; @@ -92,6 +96,10 @@ public class DetAbastoBoleto implements Serializable { public String getNumfoliofinal() { return numfoliofinal; } + + public Long getFolioFinal() { + return Long.valueOf(numfoliofinal); + } public void setNumfoliofinal(String numfoliofinal) { this.numfoliofinal = numfoliofinal; diff --git a/src/com/rjconsultores/ventaboletos/entidad/PuntoVenta.java b/src/com/rjconsultores/ventaboletos/entidad/PuntoVenta.java index 7a510a676..2f1d23bc5 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/PuntoVenta.java +++ b/src/com/rjconsultores/ventaboletos/entidad/PuntoVenta.java @@ -1082,7 +1082,7 @@ public class PuntoVenta implements Serializable, Auditavel { } public String getCep(){ - return codpostal != null ? codpostal.toString() : ""; + return codpostal != null ? codpostal : ""; } public String getLogradouro(){ diff --git a/src/com/rjconsultores/ventaboletos/entidad/TipoMovimentacion.java b/src/com/rjconsultores/ventaboletos/entidad/TipoMovimentacion.java index 5017cbdec..a6e95a1aa 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/TipoMovimentacion.java +++ b/src/com/rjconsultores/ventaboletos/entidad/TipoMovimentacion.java @@ -42,6 +42,11 @@ public class TipoMovimentacion implements java.io.Serializable { this.tipomovimentacionId = tipomovimentacionId; } + public TipoMovimentacion(Integer tipomovimentacionId, String desctipomovimentacion) { + this.tipomovimentacionId = tipomovimentacionId; + this.desctipomovimentacion = desctipomovimentacion; + } + public TipoMovimentacion(Integer tipomovimentacionId, String desctipomovimentacion, Boolean activo, Date fecmodif, Integer usuarioId) { this.tipomovimentacionId = tipomovimentacionId; this.desctipomovimentacion = desctipomovimentacion; diff --git a/src/com/rjconsultores/ventaboletos/service/AbastoBoletoService.java b/src/com/rjconsultores/ventaboletos/service/AbastoBoletoService.java index 5f06816a2..74bda2e31 100644 --- a/src/com/rjconsultores/ventaboletos/service/AbastoBoletoService.java +++ b/src/com/rjconsultores/ventaboletos/service/AbastoBoletoService.java @@ -1,6 +1,12 @@ package com.rjconsultores.ventaboletos.service; import com.rjconsultores.ventaboletos.entidad.AbastoBoleto; +import com.rjconsultores.ventaboletos.entidad.Aidf; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.exception.BusinessException; public interface AbastoBoletoService extends GenericService { + + public AbastoBoleto movimentaAbasto(AbastoBoleto abastoBoleto, PuntoVenta destino) throws BusinessException; + } diff --git a/src/com/rjconsultores/ventaboletos/service/AidfService.java b/src/com/rjconsultores/ventaboletos/service/AidfService.java index 04d9b9d3d..abb69b72f 100644 --- a/src/com/rjconsultores/ventaboletos/service/AidfService.java +++ b/src/com/rjconsultores/ventaboletos/service/AidfService.java @@ -28,6 +28,8 @@ public interface AidfService { public List obtenerTodosAdifTipo(); public List buscaAidfsPorEmpresas(List empresas); + + public List buscaAidfsPorEmpresasAgencia(List empresas, PuntoVenta pontoVenda); public Long validarDocFiscalSerieFormInicialFinal(Aidf entidad, Connection conn); diff --git a/src/com/rjconsultores/ventaboletos/service/DetAbastoBoletoService.java b/src/com/rjconsultores/ventaboletos/service/DetAbastoBoletoService.java index 1f30d8dc9..f792ad2e6 100644 --- a/src/com/rjconsultores/ventaboletos/service/DetAbastoBoletoService.java +++ b/src/com/rjconsultores/ventaboletos/service/DetAbastoBoletoService.java @@ -2,9 +2,11 @@ package com.rjconsultores.ventaboletos.service; import java.util.List; +import com.rjconsultores.ventaboletos.entidad.AbastoBoleto; import com.rjconsultores.ventaboletos.entidad.Aidf; import com.rjconsultores.ventaboletos.entidad.DetAbastoBoleto; import com.rjconsultores.ventaboletos.entidad.Estacion; +import com.rjconsultores.ventaboletos.exception.BusinessException; public interface DetAbastoBoletoService extends GenericService { @@ -15,4 +17,8 @@ public interface DetAbastoBoletoService extends GenericService buscabDetAbastoBoletoAutomatico(Estacion estacion, String numseriepreimpresa); public List buscabDetAbastoBoletoToVerifyIfAidfCanBeEditable(Aidf Aidf); + + public DetAbastoBoleto buscarPorAidf(Long aidfId, String folioInicial, String folioFinal); + + public DetAbastoBoleto movimentaDetAbasto(Aidf aidf, AbastoBoleto abasto, String folioInicial, String folioFinal) throws BusinessException; } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/AbastoBoletoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/AbastoBoletoServiceImpl.java index 366174c20..a6a73f803 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/AbastoBoletoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/AbastoBoletoServiceImpl.java @@ -9,6 +9,8 @@ import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.AbastoBoletoDAO; import com.rjconsultores.ventaboletos.entidad.AbastoBoleto; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.AbastoBoletoService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @@ -54,5 +56,40 @@ public class AbastoBoletoServiceImpl implements AbastoBoletoService { abastoBoletoDAO.actualizacion(entidad); } + + @Transactional + @Override + public AbastoBoleto movimentaAbasto( + AbastoBoleto abastoBoleto, + PuntoVenta destino) throws BusinessException { + + if( abastoBoleto == null ) { + throw new BusinessException("abastoService.msg.semOrigem"); + } + + try { + AbastoBoleto novo = new AbastoBoleto(); + novo.setArticulo(abastoBoleto.getArticulo()); + novo.setCantfajilla(abastoBoleto.getCantfajilla()); + novo.setClasificacion(abastoBoleto.getClasificacion()); + novo.setEmpresa(abastoBoleto.getEmpresa()); + novo.setEstacion(abastoBoleto.getEstacion()); + novo.setFechorfirma(abastoBoleto.getFechorfirma()); + novo.setFechorreq(abastoBoleto.getFechorreq()); + novo.setNumrequisicion(abastoBoleto.getNumrequisicion()); + novo.setNumservidor(abastoBoleto.getNumservidor()); + novo.setPuntoventacentral(abastoBoleto.getPuntoventacentral()); + novo.setStatusEnvio(abastoBoleto.getStatusEnvio()); + novo.setStatusfirma(abastoBoleto.getStatusfirma()); + novo.setUsuariogeneracionId(abastoBoleto.getUsuariogeneracionId()); + novo.setUsuarioreqId(abastoBoleto.getUsuarioreqId()); + novo.setPuntoventa(destino); + novo.setFechorgeneracion(Calendar.getInstance().getTime()); + return novo; + }catch (Exception e) { + throw new BusinessException(e.getMessage()); + } + + } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java index df5241199..09039f703 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java @@ -90,8 +90,11 @@ public class AidfServiceImpl implements AidfService { } public List buscaAidfsPorEmpresas(List empresas) { - List aidfs = aidfDAO.buscaAidfsPorEmpresas(empresas); - return aidfs; + return aidfDAO.buscaAidfsPorEmpresas(empresas); + } + + public List buscaAidfsPorEmpresasAgencia(List empresas, PuntoVenta pontoVenda){ + return aidfDAO.buscaAidfsPorEmpresasAgencia(empresas, pontoVenda); } public List obtenerAidfFromSerieDocfiscal(String serie, String docfiscal, Connection conn) { diff --git a/src/com/rjconsultores/ventaboletos/service/impl/DetAbastoBoletoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/DetAbastoBoletoServiceImpl.java index 5c1d90d53..4776f9291 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/DetAbastoBoletoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/DetAbastoBoletoServiceImpl.java @@ -8,9 +8,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.DetAbastoBoletoDAO; +import com.rjconsultores.ventaboletos.entidad.AbastoBoleto; import com.rjconsultores.ventaboletos.entidad.Aidf; import com.rjconsultores.ventaboletos.entidad.DetAbastoBoleto; import com.rjconsultores.ventaboletos.entidad.Estacion; +import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.DetAbastoBoletoService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @@ -92,4 +94,42 @@ public class DetAbastoBoletoServiceImpl implements DetAbastoBoletoService { return detAbastoBoletoDAO.buscabDetAbastoBoletoToVerifyIfAidfCanBeEditable(aidf); } + @Override + public DetAbastoBoleto movimentaDetAbasto( + Aidf aidf, + AbastoBoleto abasto, + String folioInicial, + String folioFinal) throws BusinessException { + + DetAbastoBoleto detAbasto = buscarPorAidf(aidf.getAidfId(), folioInicial, folioFinal); + + if( detAbasto == null ) { + throw new BusinessException("detAbastoService.msg.semOrigem"); + } + + try { + DetAbastoBoleto novo = new DetAbastoBoleto(); + + novo.setAidf(detAbasto.getAidf()); + novo.setIndinutiliza(detAbasto.getIndinutiliza()); + novo.setNummovimiento(detAbasto.getNummovimiento()); + novo.setNumseriepreimpresa(detAbasto.getNumseriepreimpresa()); + novo.setStatusenvio(detAbasto.getStatusenvio()); + novo.setStatusfirma(detAbasto.getStatusfirma()); + novo.setStatusoperacion(detAbasto.getStatusoperacion()); + novo.setAbastoBoleto(abasto); + novo.setNumfolioinicial(folioInicial); + novo.setNumfoliofinal(folioFinal); + return novo; + }catch (Exception e) { + throw new BusinessException(e.getMessage()); + } + + } + + @Override + public DetAbastoBoleto buscarPorAidf(Long aidfId, String folioInicial, String folioFinal) { + return detAbastoBoletoDAO.buscarPorAidf(aidfId, folioInicial, folioFinal); + } + }