Totvs - WS Fornecedor / WS Cliente / WS Pedido Compra (bug #6127)

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@42766 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2015-04-06 21:38:57 +00:00
parent 00404cbfeb
commit dd4970d159
2 changed files with 89 additions and 11 deletions

View File

@ -164,6 +164,9 @@ public class PuntoVenta implements Serializable {
@Column(name = "NUMIEPUNTOVENTA") @Column(name = "NUMIEPUNTOVENTA")
private String numIEPuntoVenta; private String numIEPuntoVenta;
@Column(name = "INDINTEGRACION")
private Integer indIntegracion;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoventaId") @OneToMany(cascade = CascadeType.ALL, mappedBy = "puntoventaId")
@LazyCollection(LazyCollectionOption.FALSE) @LazyCollection(LazyCollectionOption.FALSE)
private List<PtovtaEmpresaBloqueada> ptovtaEmpresaBloqueadaList; private List<PtovtaEmpresaBloqueada> ptovtaEmpresaBloqueadaList;
@ -789,4 +792,12 @@ public class PuntoVenta implements Serializable {
public void setIncProgConcessaoCredito(Boolean incProgConcessaoCredito) { public void setIncProgConcessaoCredito(Boolean incProgConcessaoCredito) {
this.incProgConcessaoCredito = incProgConcessaoCredito; this.incProgConcessaoCredito = incProgConcessaoCredito;
} }
public Integer getIndIntegracion() {
return indIntegracion;
}
public void setIndIntegracion(Integer indIntegracion) {
this.indIntegracion = indIntegracion;
}
} }

View File

@ -32,6 +32,8 @@ import com.rjconsultores.ws.utileria.Atributos;
import com.rjconsultores.ws.utileria.Atributos.CodPaisBanco; import com.rjconsultores.ws.utileria.Atributos.CodPaisBanco;
import com.rjconsultores.ws.utileria.Atributos.ContribuinteICMS; import com.rjconsultores.ws.utileria.Atributos.ContribuinteICMS;
import com.rjconsultores.ws.utileria.Atributos.ContribuinteSimplesNacional; import com.rjconsultores.ws.utileria.Atributos.ContribuinteSimplesNacional;
import com.rjconsultores.ws.utileria.Atributos.InscricaoMunicipal;
import com.rjconsultores.ws.utileria.Atributos.RetornoTotvs;
import com.rjconsultores.ws.utileria.Atributos.TipoCliente; import com.rjconsultores.ws.utileria.Atributos.TipoCliente;
import com.rjconsultores.ws.utileria.Atributos.TipoEntidade; import com.rjconsultores.ws.utileria.Atributos.TipoEntidade;
import com.rjconsultores.ws.utileria.Atributos.TipoFornecedor; import com.rjconsultores.ws.utileria.Atributos.TipoFornecedor;
@ -75,9 +77,31 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.TRUE); entidad.setActivo(Boolean.TRUE);
IntegracionException respEx = null;
try {
if (entidad.getIndIntegracion() == TipoRetornoTotvs.CONCLUIDA.getValor()) {
String resp = integracionTotvs(entidad);
entidad.setIndIntegracion(TipoRetornoTotvs.CONCLUIDA.getValor());
if (resp.equals(RetornoTotvs.CNPJ_JA_CADASTRADO.getValor())) {
entidad.setIndIntegracion(TipoRetornoTotvs.JA_CADASTRADA.getValor());
respEx = new IntegracionException("integracion.totvs.ja.cadastrado");
}
}
} catch (Exception e) {
entidad.setIndIntegracion(TipoRetornoTotvs.ERRO.getValor());
log.error("", e);
respEx = new IntegracionException("integracion.totvs");
}
entidad = puntoVentaDAO.suscribir(entidad); entidad = puntoVentaDAO.suscribir(entidad);
integracionTotvs(entidad); if (respEx != null) {
throw respEx;
}
return entidad; return entidad;
} }
@ -86,9 +110,30 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.TRUE); entidad.setActivo(Boolean.TRUE);
IntegracionException respEx = null;
try {
if (entidad.getIndIntegracion() != TipoRetornoTotvs.CONCLUIDA.getValor()) {
String resp = integracionTotvs(entidad);
entidad.setIndIntegracion(TipoRetornoTotvs.CONCLUIDA.getValor());
if (resp.equals(RetornoTotvs.CNPJ_JA_CADASTRADO.getValor())) {
respEx = new IntegracionException("integracion.totvs.ja.cadastrado");
}
}
} catch (Exception e) {
entidad.setIndIntegracion(TipoRetornoTotvs.ERRO.getValor());
log.error("", e);
respEx = new IntegracionException("integracion.totvs");
}
entidad = puntoVentaDAO.actualizacion(entidad); entidad = puntoVentaDAO.actualizacion(entidad);
integracionTotvs(entidad); if (respEx != null) {
throw respEx;
}
return entidad; return entidad;
} }
@ -189,7 +234,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
return resp; return resp;
} }
private void integracionTotvs(PuntoVenta puntoVenta) throws IntegracionException { private String integracionTotvs(PuntoVenta puntoVenta) throws Exception {
if (ApplicationProperties.getInstance().integracionTotvs()) { if (ApplicationProperties.getInstance().integracionTotvs()) {
boolean clienteValido = validaCanalVenta(puntoVenta.getTipoPuntoVenta().getTipoptovtaId().intValue()); boolean clienteValido = validaCanalVenta(puntoVenta.getTipoPuntoVenta().getTipoptovtaId().intValue());
@ -233,6 +278,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
String email = puntoVenta.getDescCorreo(); String email = puntoVenta.getDescCorreo();
String fax = puntoVenta.getNumfax(); String fax = puntoVenta.getNumfax();
String inscr = puntoVenta.getNumIEPuntoVenta(); String inscr = puntoVenta.getNumIEPuntoVenta();
String inscrm = InscricaoMunicipal.ISENTO.name();
String nreduz = puntoVenta.getRazonSocial() != null ? puntoVenta.getRazonSocial() : puntoVenta.getNombpuntoventa(); String nreduz = puntoVenta.getRazonSocial() != null ? puntoVenta.getRazonSocial() : puntoVenta.getNombpuntoventa();
@ -251,7 +297,6 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
obs = StringUtils.isBlank(obs) ? "sem obs." : obs; obs = StringUtils.isBlank(obs) ? "sem obs." : obs;
String conta = "1110101001001"; // DEVE SER REVISADO COM A GUANABARA String conta = "1110101001001"; // DEVE SER REVISADO COM A GUANABARA
String inscrm = "ISENTO"; // DEVE SER REVISADO COM A GUANABARA
String naturez = ""; String naturez = "";
String cnae = ""; String cnae = "";
@ -271,11 +316,12 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
String ctacorr = puntoVenta.getAgenciaId() == null ? "" : puntoVenta.getAgenciaId().getNumconta(); String ctacorr = puntoVenta.getAgenciaId() == null ? "" : puntoVenta.getAgenciaId().getNumconta();
String dgverct = puntoVenta.getAgenciaId() == null ? "" : puntoVenta.getAgenciaId().getDigito(); String dgverct = puntoVenta.getAgenciaId() == null ? "" : puntoVenta.getAgenciaId().getDigito();
String resp = null;
Exception respEx = null; Exception respEx = null;
if (fornecedorValido) { if (fornecedorValido) {
try { try {
TotvsService.cadastrarFornecedor(endpointFornecedor, bairro, cep, cgc, cnae, codmun, codpais, complemen, conta, ddd, email, endereco, resp = TotvsService.cadastrarFornecedor(endpointFornecedor, bairro, cep, cgc, cnae, codmun, codpais, complemen, conta, ddd, email, endereco,
est, inscr, inscrm, naturez, nome, nreduz, simpnac, tel, tipoPessoa, tppessoa, cnpjEmpresaProtheus, xidsvp, agencia, banco, est, inscr, inscrm, naturez, nome, nreduz, simpnac, tel, tipoPessoa, tppessoa, cnpjEmpresaProtheus, xidsvp, agencia, banco,
dgverag, ctacorr, dgverct); dgverag, ctacorr, dgverct);
} catch (Exception e) { } catch (Exception e) {
@ -292,7 +338,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
if (clienteValido) { if (clienteValido) {
try { try {
TotvsService.cadastrarCliente(endpointCliente, bairro, cep, cgc, codmun, codpais, complemen, conta, contrib, ddd, email, cnpjEmpresaProtheus, resp = TotvsService.cadastrarCliente(endpointCliente, bairro, cep, cgc, codmun, codpais, complemen, conta, contrib, ddd, email, cnpjEmpresaProtheus,
endereco, entid, fator, fax, inscr, inscrm, naturez, nome, nreduz, obs, pais, tppessoaCliente, tel, tipoPessoa, est, xidsvp); endereco, entid, fator, fax, inscr, inscrm, naturez, nome, nreduz, obs, pais, tppessoaCliente, tel, tipoPessoa, est, xidsvp);
} catch (Exception e) { } catch (Exception e) {
log.error("", e); log.error("", e);
@ -300,10 +346,13 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
} }
if (respEx != null) { if (respEx != null) {
throw new IntegracionException("integracion.totvs"); throw respEx;
} }
} }
return resp;
} }
return null;
} }
private String getEndpointFornecedor() { private String getEndpointFornecedor() {
@ -336,4 +385,22 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
vlr = somenteNumeros(vlr); vlr = somenteNumeros(vlr);
return vlr.length() > 11; return vlr.length() > 11;
} }
public enum TipoRetornoTotvs {
CONCLUIDA(1), ERRO(-1), JA_CADASTRADA(2), PENDENTE(0);
private Integer valor;
private TipoRetornoTotvs(Integer valor) {
this.setValor(valor);
}
public Integer getValor() {
return valor;
}
public void setValor(Integer valor) {
this.valor = valor;
}
}
} }