Adição de Estoque Simplificado macon feat bug #AL-3865' (!400) from AL-3865 into master

Reviewed-on: adm/VentaBoletosAdm#400
Reviewed-by: Valdir Cordeiro <valdir.cordeiro@totvs.com.br>
master 1.53.0
fabio 2024-02-23 17:03:17 +00:00
commit c704299598
2 changed files with 112 additions and 67 deletions

View File

@ -4,12 +4,12 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId>
<version>1.52.3</version>
<version>1.53.0</version>
<packaging>war</packaging>
<properties>
<modelWeb.version>1.39.1</modelWeb.version>
<flyway.version>1.29.0</flyway.version>
<modelWeb.version>1.40.0</modelWeb.version>
<flyway.version>1.30.0</flyway.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>

View File

@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.gr;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.sql.DataSource;
@ -13,7 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Messagebox;
import org.zkoss.zul.Messagebox;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.WrongValueException;
@ -27,9 +28,13 @@ import org.zkoss.zul.Datebox;
import org.zkoss.zul.Row;
import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.entidad.AbastoBoleto;
import com.rjconsultores.ventaboletos.entidad.Aidf;
import com.rjconsultores.ventaboletos.entidad.AidfEspecie;
import com.rjconsultores.ventaboletos.entidad.AidfTipo;
import com.rjconsultores.ventaboletos.entidad.Articulo;
import com.rjconsultores.ventaboletos.entidad.Clasificacion;
import com.rjconsultores.ventaboletos.entidad.DetAbastoBoleto;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Estado;
import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual;
@ -37,6 +42,7 @@ import com.rjconsultores.ventaboletos.entidad.PerfilFuncion;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.entidad.UsuarioPerfil;
import com.rjconsultores.ventaboletos.service.AbastoBoletoService;
import com.rjconsultores.ventaboletos.service.AbastoCentralService;
import com.rjconsultores.ventaboletos.service.AbastoHistoService;
import com.rjconsultores.ventaboletos.service.AidfService;
@ -55,11 +61,16 @@ import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
@Scope("prototype")
public class EditarAidfController extends MyGenericForwardComposer {
private static final String TITULO = "editarAidfController.window.title";
private static final long serialVersionUID = 1L;
@Autowired
private AidfService aidfService;
@Autowired
private AbastoBoletoService abastoBoletoService;
@Autowired
private AbastoHistoService abastoHistoService;
@ -100,13 +111,10 @@ public class EditarAidfController extends MyGenericForwardComposer {
private Textbox txtAcFiscal;
private Textbox txtSerie;
private Textbox txtSubSerie;
private Textbox txtFormInicial;
private Textbox txtFormFinal;
private Textbox txtFecAquisicao;
private Textbox txtFecVencimento;
private Textbox txtForminicial;
private Textbox txtFormfinal;
private Textbox txtFecAquisicao;
private Textbox txtFecVencimento;
private Button btnApagar;
private Button btnSalvar;
@ -121,6 +129,8 @@ public class EditarAidfController extends MyGenericForwardComposer {
@Autowired
private DataSource dataSourceRead;
private PuntoVenta puntoVenta;
private boolean isEstoqueSimplificado;
@Override
public void doAfterCompose(Component comp) throws Exception {
@ -136,20 +146,37 @@ public class EditarAidfController extends MyGenericForwardComposer {
lsAidfEspecie = aidfService.obtenerTodosAdifEspecie();
lsEstado = estadoService.obtenerTodos();
lsEmpresas = UsuarioLogado.getUsuarioLogado().getEmpresa();
isEstoqueSimplificado = ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.VALIDA_ESTOQUE_SIMPLIFICADO.getDescricao(), true) ;
lsInscestadual = new ArrayList<InscricaoEstadual>();
if (aidf.getAidfId() == null) {
btnApagar.setVisible(Boolean.FALSE);
if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.EXIBIR_PUNTO_VENTA_CADASTRO_AIDF.getDescricao())
|| isEstoqueSimplificado) {
if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.IS_PUNTOVENTA_CADASTRO_AIDF_OBRIGATORIO.getDescricao())) {
cmbPuntoVenta.setConstraint("no empty");
}
rowPuntoVenta.setVisible(true);
PuntoVenta pv = aidf.getPuntoVenta();
if (pv != null) {
List<PuntoVenta> ls = new ArrayList<PuntoVenta>();
ls.add(pv);
cmbPuntoVenta.setModel(new BindingListModelList(ls, false));
cmbPuntoVenta.setText(pv.getNombpuntoventa());
}
}
if (aidf.getAidfId() != null) {
if (aidf.getAidfId() == null) {
btnApagar.setVisible(Boolean.FALSE);
}else{
isEstoqueSimplificado = false;
if (temPermissao("ADM.AIDF.EDITARJACRIADA")) {
btnSalvar.setDisabled(Boolean.TRUE);
} else {
if (detAbastoBoletoService.buscabDetAbastoBoletoToVerifyIfAidfCanBeEditable(aidf).size() > 0) {
Messagebox.show(
Labels.getLabel("editarAidfController.MSG.noWrite"),
Labels.getLabel("editarAidfController.window.title"),
Labels.getLabel(TITULO),
Messagebox.OK, Messagebox.INFORMATION);
btnApagar.setVisible(Boolean.FALSE);
@ -157,22 +184,11 @@ public class EditarAidfController extends MyGenericForwardComposer {
}
}
}
if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.EXIBIR_PUNTO_VENTA_CADASTRO_AIDF.getDescricao())) {
if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.IS_PUNTOVENTA_CADASTRO_AIDF_OBRIGATORIO.getDescricao())) {
cmbPuntoVenta.setConstraint("no empty");
}
rowPuntoVenta.setVisible(true);
PuntoVenta puntoVenta = aidf.getPuntoVenta();
if (puntoVenta != null) {
List<PuntoVenta> ls = new ArrayList<PuntoVenta>();
ls.add(puntoVenta);
cmbPuntoVenta.setModel(new BindingListModelList(ls, false));
cmbPuntoVenta.setText(puntoVenta.getNombpuntoventa());
}
if( aidf.getFecadquisicion() == null && isEstoqueSimplificado){
aidf.setFecadquisicion(Calendar.getInstance().getTime());
}
}
private boolean temPermissao(String permissao) {
Usuario usuario = usuarioService.obtenerID(UsuarioLogado.getUsuarioLogado().getUsuarioId());
@ -194,7 +210,7 @@ public class EditarAidfController extends MyGenericForwardComposer {
int opcao = Messagebox.show(
Labels.getLabel("editarAidfController.btnApagar.MSG.Deseja.Borrar"),
Labels.getLabel("editarAidfController.window.title"),
Labels.getLabel(TITULO),
Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);
if (opcao == Messagebox.YES) {
@ -210,7 +226,7 @@ public class EditarAidfController extends MyGenericForwardComposer {
Messagebox.show(
Labels.getLabel("editarAidfController.btnApagar.MSG.borrarOK"),
Labels.getLabel("editarAidfController.window.title"),
Labels.getLabel(TITULO),
Messagebox.OK, Messagebox.INFORMATION);
closeWindow();
}
@ -220,7 +236,7 @@ public class EditarAidfController extends MyGenericForwardComposer {
Messagebox.show(
Labels.getLabel("MSG.Error"),
Labels.getLabel("editarAidfController.window.title"),
Labels.getLabel(TITULO),
Messagebox.OK, Messagebox.EXCLAMATION);
}
@ -254,7 +270,7 @@ public class EditarAidfController extends MyGenericForwardComposer {
if (idIdf != -1) {
Messagebox.show(
Labels.getLabel("editarAidfController.btnSalvar.MSG.conflitoFormIniFin", new Object[] { idIdf }),
Labels.getLabel("editarAidfController.window.title"),
Labels.getLabel(TITULO),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
@ -264,6 +280,7 @@ public class EditarAidfController extends MyGenericForwardComposer {
if (aidf.getAidfEspecie() != null) {
especieId = aidf.getAidfEspecie().getAidfespId();
}
if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.EXIBIR_PUNTO_VENTA_CADASTRO_AIDF.getDescricao())) {
if(ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.IS_PUNTOVENTA_CADASTRO_AIDF_OBRIGATORIO.getDescricao())){
PuntoVenta puntoVenta = (PuntoVenta) cmbPuntoVenta.getSelectedItem().getValue();
@ -271,7 +288,7 @@ public class EditarAidfController extends MyGenericForwardComposer {
if (!validarDocFiscalPorEstadoAgencia(aidf.getAidfId(), especieId, txtDocFiscal.getValue(), aidf.getForminicial(), aidf.getFormfinal(), aidf.getEstado(), aidf.getPuntoVenta())) {
Messagebox.show(
Labels.getLabel("editarAidfController.btnSalvar.MSG.conflitoDocFiscalEstadoAgencia"),
Labels.getLabel("editarAidfController.window.title"),
Labels.getLabel(TITULO),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
@ -280,7 +297,7 @@ public class EditarAidfController extends MyGenericForwardComposer {
if (!validarDocFiscalEstado(aidf.getAidfId(), especieId, txtDocFiscal.getValue(), aidf.getEstado())) {
Messagebox.show(
Labels.getLabel("editarAidfController.btnSalvar.MSG.conflitoDocFiscalEstado"),
Labels.getLabel("editarAidfController.window.title"),
Labels.getLabel(TITULO),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
@ -289,7 +306,7 @@ public class EditarAidfController extends MyGenericForwardComposer {
if (!validarTipoVenda(aidf.getTipoValidaVenta(), aidf.getSerie(), aidf.getAidfTipo().getAidftipoId())) {
Messagebox.show(
Labels.getLabel("editarAidfController.btnSalvar.MSG.serieUNICTipoFormularioContinuoVendaMotoristaNaoPermitido"),
Labels.getLabel("editarAidfController.window.title"),
Labels.getLabel(TITULO),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
@ -297,7 +314,7 @@ public class EditarAidfController extends MyGenericForwardComposer {
if (!validarVendaManual(aidf.getAidfTipo().getAidftipoId(), aidf.getSerie())) {
Messagebox.show(
Labels.getLabel("editarAidfController.btnSalvar.MSG.serieUNICTipoVendaManualNaoPermitido"),
Labels.getLabel("editarAidfController.window.title"),
Labels.getLabel(TITULO),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
@ -313,10 +330,14 @@ public class EditarAidfController extends MyGenericForwardComposer {
aidfService.actualizacion(aidf);
aidfList.updateItem(aidf);
}
if(isEstoqueSimplificado && aidf.getTipoValidaVenta().equals("M")) {
gravarDetAbastoAutomatico();
}
Messagebox.show(
Labels.getLabel("editarMensajeController.MSG.suscribirOK"),
Labels.getLabel("editarAidfController.window.title"),
Labels.getLabel(TITULO),
Messagebox.OK, Messagebox.INFORMATION);
closeWindow();
@ -325,7 +346,7 @@ public class EditarAidfController extends MyGenericForwardComposer {
Messagebox.show(
Labels.getLabel("MSG.Error"),
Labels.getLabel("editarAidfController.window.title"),
Labels.getLabel(TITULO),
Messagebox.OK, Messagebox.EXCLAMATION);
log.error("", e);
@ -335,25 +356,25 @@ public class EditarAidfController extends MyGenericForwardComposer {
Messagebox.show(
Labels.getLabel("MSG.Error"),
Labels.getLabel("editarAidfController.window.title"),
Labels.getLabel(TITULO),
Messagebox.OK, Messagebox.EXCLAMATION);
}
}
private Boolean validarDocFiscalEstado(Long idAidf, Integer especieId, String docFiscal, Estado estado) {
private boolean validarDocFiscalEstado(Long idAidf, Integer especieId, String docFiscal, Estado estado) {
return aidfService.validarDocFiscalPorEstado(idAidf, especieId, docFiscal, estado);
}
private Boolean validarDocFiscalPorEstadoAgencia(Long idAidf, Integer especieId, String docFiscal, String formInicial, String formFinal, Estado estado, PuntoVenta puntoVenta) {
private boolean validarDocFiscalPorEstadoAgencia(Long idAidf, Integer especieId, String docFiscal, String formInicial, String formFinal, Estado estado, PuntoVenta puntoVenta) {
return aidfService.validarDocFiscalPorEstadoAgencia(idAidf, especieId, docFiscal, formInicial, formFinal, estado, puntoVenta);
}
private Boolean validarTipoVenda(String tipoVenda, String serie, Integer tipo) {
private boolean validarTipoVenda(String tipoVenda, String serie, Integer tipo) {
return aidfService.validarTipoVenda(tipoVenda, serie, tipo);
}
private Boolean validarVendaManual(Integer tipo, String serie) {
private boolean validarVendaManual(Integer tipo, String serie) {
return aidfService.validarVendaManual(tipo, serie);
}
@ -386,6 +407,46 @@ public class EditarAidfController extends MyGenericForwardComposer {
}
}
private AbastoBoleto gravarAbastoAutomatico() {
Date now = Calendar.getInstance().getTime();
AbastoBoleto abastoboleto = new AbastoBoleto();
abastoboleto.setNumservidor(1);
abastoboleto.setCantfajilla( 1L );
abastoboleto.setArticulo( new Articulo(Articulo.TIPO_VENDA_MANUAL) );
abastoboleto.setClasificacion(new Clasificacion(38));
abastoboleto.setPuntoventa(aidf.getPuntoVenta());
abastoboleto.setPuntoventacentral(aidf.getPuntoVenta());
abastoboleto.setEmpresa(aidf.getEmpresa());
abastoboleto.setStatusfirma(2);
abastoboleto.setStatusEnvio(1);
abastoboleto.setUsuarioreqId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
abastoboleto.setFechorfirma(now);
abastoboleto.setFechorgeneracion(now);
abastoboleto.setUsuariogeneracionId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
return abastoBoletoService.suscribir(abastoboleto);
}
private DetAbastoBoleto gravarDetAbastoAutomatico() {
AbastoBoleto abastoBoleto = gravarAbastoAutomatico();
Long nummovimiento = detAbastoBoletoService.getSecuencia();
DetAbastoBoleto detAbastoBoleto = new DetAbastoBoleto();
detAbastoBoleto.setAbastoBoleto(abastoBoleto);
detAbastoBoleto.setAidf(aidf);
detAbastoBoleto.setNummovimiento(nummovimiento);
detAbastoBoleto.setNumseriepreimpresa(aidf.getSerie());
detAbastoBoleto.setNumfolioinicial(aidf.getForminicial());
detAbastoBoleto.setNumfoliofinal(aidf.getFormfinal());
detAbastoBoleto.setStatusfirma(Boolean.TRUE);
detAbastoBoleto.setStatusoperacion(0);
detAbastoBoleto.setStatusenvio(Boolean.TRUE);
return detAbastoBoletoService.suscribir(detAbastoBoleto);
}
public Aidf getAidf() {
return aidf;
}
@ -514,20 +575,20 @@ public class EditarAidfController extends MyGenericForwardComposer {
this.txtSubSerie = txtSubSerie;
}
public Textbox getTxtFormInicial() {
return txtFormInicial;
public Textbox getTxtForminicial() {
return txtForminicial;
}
public void setTxtFormInicial(Textbox txtFormInicial) {
this.txtFormInicial = txtFormInicial;
public void setTxtForminicial(Textbox txtForminicial) {
this.txtForminicial = txtForminicial;
}
public Textbox getTxtFormFinal() {
return txtFormFinal;
public Textbox getTxtFormfinal() {
return txtFormfinal;
}
public void setTxtFormFinal(Textbox txtFormFinal) {
this.txtFormFinal = txtFormFinal;
public void setTxtFormfinal(Textbox txtFormfinal) {
this.txtFormfinal = txtFormfinal;
}
public Textbox getTxtFecAquisicao() {
@ -546,22 +607,6 @@ public class EditarAidfController extends MyGenericForwardComposer {
this.txtFecVencimento = txtFecVencimento;
}
public Textbox getTxtForminicial() {
return txtForminicial;
}
public void setTxtForminicial(Textbox txtForminicial) {
this.txtForminicial = txtForminicial;
}
public Textbox getTxtFormfinal() {
return txtFormfinal;
}
public void setTxtFormfinal(Textbox txtFormfinal) {
this.txtFormfinal = txtFormfinal;
}
public Button getBtnApagar() {
return btnApagar;
}