/**
* Created by maurodouglas on 01/11/16.
*/

load('/basicos/validaCpfCnpj.js');
var ValidaCliente = function() {
  this.mapper = mapperFactory.createMapperMult(["RcCli", "RcCliConv"]);
};

ValidaCliente.prototype.validaDadosParaCadastro = function(json) {
  if (!json) {
    throw {
      code: 599,
      message: "Dados passados ao servidor inválido!"
    };
  }
  /*if (json.get("cgcCpf") && json.get("cgcCpf").length() >= 11) {
    this.validaDadosCnpj(json);
  }*/
  isCadastrado = this.isCadastrado(json);
  if (isCadastrado == true) {
    throw {
      code: 599,
      message: "Cliente " + json.get("cdCli") + " já Cadastrado."
    };
  }
  dadosDefault = this.validaDadosDefault(json);
  return dadosDefault;
};

ValidaCliente.prototype.validaDadosDefault = function(json) {
  if (!json.get("aMsg") || json.get("aMsg") === null || json.get("aMsg") === undefined) {
    json.put("aMsg", " ");
  }
  if (!json.get("aceitaServicoAtivo") || json.get("aceitaServicoAtivo") === null || json.get("aceitaServicoAtivo") === undefined) {
    json.put("aceitaServicoAtivo", 0);
  }
  if (!json.get("adicional1") || json.get("adicional1") === null || json.get("adicional1") === undefined) {
    json.put("adicional1", " ");
  }
  if (!json.get("adicional2") || json.get("adicional2") === null || json.get("adicional2") === undefined) {
    json.put("adicional2", " ");
  }
  if (!json.get("bairro") || json.get("bairro") === null || json.get("bairro") === undefined) {
    json.put("bairro", " ");
  }
  if (!json.get("bairroCob") || json.get("bairroCob") === null || json.get("bairroCob") === undefined) {
    json.put("bairroCob", " ");
  }
  if (!json.get("baseIcmsDesc") || json.get("baseIcmsDesc") === null || json.get("baseIcmsDesc") === undefined) {
    json.put("baseIcmsDesc", 0);
  }
  if (!json.get("cargo") || json.get("cargo") === null || json.get("cargo") === undefined) {
    json.put("cargo", " ");
  }
  if (!json.get("cdCid") || json.get("cdCid") === null || json.get("cdCid") === undefined) {
    json.put("cdCid", 0);
  }
  if (!json.get("cdCidCob") || json.get("cdCidCob") === null || json.get("cdCidCob") === undefined) {
    json.put("cdCidCob", 0);
  }
  if (!json.get("cdCli") || json.get("cdCli") === null || json.get("cdCli") === undefined) {
    json.put("cdCli", 0);
  }
  if (!json.get("cdCliId") || json.get("cdCliId") === null || json.get("cdCliId") === undefined) {
    json.put("cdCliId", " ");
  }
  if (!json.get("cdCondPgto") || json.get("cdCondPgto") === null || json.get("cdCondPgto") === undefined) {
    json.put("cdCondPgto", 2);
  }
  if (!json.get("cdConv1") || json.get("cdConv1") === null || json.get("cdConv1") === undefined) {
    json.put("cdConv1", 0);
  }
  if (!json.get("cdCtbCnt") || json.get("cdCtbCnt") === null || json.get("cdCtbCnt") === undefined) {
    json.put("cdCtbCnt", 0);
  }
  if (!json.get("cdCtbCntRed") || json.get("cdCtbCntRed") === null || json.get("cdCtbCntRed") === undefined) {
    json.put("cdCtbCntRed", 0);
  }
  if (!json.get("cdEmp") || json.get("cdEmp") === null || json.get("cdEmp") === undefined) {
    json.put("cdEmp", 1);
  }
  if (!json.get("cdFilial") || json.get("cdFilial") === null || json.get("cdFilial") === undefined) {
    json.put("cdFilial", 0);
  }
  if (!json.get("cdFun") || json.get("cdFun") === null || json.get("cdFun") === undefined) {
    json.put("cdFun", 0);
  }
  if (!json.get("cdOperMva") || json.get("cdOperMva") === null || json.get("cdOperMva") === undefined) {
    json.put("cdOperMva", 0);
  }
  if (!json.get("cdPlanoVenda") || json.get("cdPlanoVenda") === null || json.get("cdPlanoVenda") === undefined) {
    json.put("cdPlanoVenda", 0);
  }
  if (!json.get("cdPrecoClasCliente") || json.get("cdPrecoClasCliente") === null || json.get("cdPrecoClasCliente") === undefined) {
    json.put("cdPrecoClasCliente", 0);
  }
  if (!json.get("cdRegi") || json.get("cdRegi") === null || json.get("cdRegi") === undefined) {
    json.put("cdRegi", 0);
  }
  if (!json.get("cdTpCli") || json.get("cdTpCli") === null || json.get("cdTpCli") === undefined) {
    json.put("cdTpCli", 0);
  }
  if (!json.get("cdTpLanc") || json.get("cdTpLanc") === null || json.get("cdTpLanc") === undefined) {
    json.put("cdTpLanc", 0);
  }
  if (!json.get("cdUsu") || json.get("cdUsu") === null || json.get("cdUsu") === undefined) {
    json.put("cdUsu", 1);
  }
  if (!json.get("cep") || json.get("cep") === null || json.get("cep") === undefined) {
    json.put("cep", " ");
  }
  if (!json.get("cgcCpf") || json.get("cgcCpf") === null || json.get("cgcCpf") === undefined) {
    json.put("cgcCpf", " ");
  }
  if (!json.get("codigoClassif") || json.get("codigoClassif") === null || json.get("codigoClassif") === undefined) {
    json.put("codigoClassif", 1);
  }
  if (!json.get("comodato") || json.get("comodato") === null || json.get("comodato") === undefined) {
    json.put("comodato", 0);
  }
  if (!json.get("compleCobranca") || json.get("compleCobranca") === null || json.get("compleCobranca") === undefined) {
    json.put("compleCobranca", " ");
  }
  if (!json.get("complemento") || json.get("complemento") === null || json.get("complemento") === undefined) {
    json.put("complemento", " ");
  }
  if (!json.get("consFinal") || json.get("consFinal") === null || json.get("consFinal") === undefined) {
    json.put("consFinal", 0);
  }
  if (!json.get("contato") || json.get("contato") === null || json.get("contato") === undefined) {
    json.put("contato", " ");
  }
  if (!json.get("contatoCob") || json.get("contatoCob") === null || json.get("contatoCob") === undefined) {
    json.put("contatoCob", " ");
  }
  if (!json.get("contribuinte") || json.get("contribuinte") === null || json.get("contribuinte") === undefined) {
    json.put("contribuinte", 0);
  }
  if (!json.get("ctrCred") || json.get("ctrCred") === null || json.get("ctrCred") === undefined) {
    json.put("ctrCred", 0);
  }
  if (!json.get("dd1") || json.get("dd1") === null || json.get("dd1") === undefined) {
    json.put("dd1", " ");
  }
  if (!json.get("dd2") || json.get("dd2") === null || json.get("dd2") === undefined) {
    json.put("dd2", " ");
  }
  if (!json.get("dd3") || json.get("dd3") === null || json.get("dd3") === undefined) {
    json.put("dd3", " ");
  }
  if (!json.get("diaPgto") || json.get("diaPgto") === null || json.get("diaPgto") === undefined) {
    json.put("diaPgto", 0);
  }
  if (!json.get("email") || json.get("email") === null || json.get("email") === undefined) {
    json.put("email", " ");
  }
  if (!json.get("emailCob") || json.get("emailCob") === null || json.get("emailCob") === undefined) {
    json.put("emailCob", " ");
  }
  if (!json.get("endCli") || json.get("endCli") === null || json.get("endCli") === undefined) {
    json.put("endCli", " ");
  }
  if (!json.get("endCob") || json.get("endCob") === null || json.get("endCob") === undefined) {
    json.put("endCob", " ");
  }
  if (!json.get("enviarXmlNfe") || json.get("enviarXmlNfe") === null || json.get("enviarXmlNfe") === undefined) {
    json.put("enviarXmlNfe", 0);
  }
  if (!json.get("espCli") || json.get("espCli") === null || json.get("espCli") === undefined) {
    json.put("espCli", 0);
  }
  if (!json.get("exigeSenhaCompra") || json.get("exigeSenhaCompra") === null || json.get("exigeSenhaCompra") === undefined) {
    json.put("exigeSenhaCompra", 0);
  }
  if (!json.get("fax") || json.get("fax") === null || json.get("fax") === undefined) {
    json.put("fax", " ");
  }
  if (!json.get("faxCob") || json.get("faxCob") === null || json.get("faxCob") === undefined) {
    json.put("faxCob", " ");
  }
  if (!json.get("fixarCondPgto") || json.get("fixarCondPgto") === null || json.get("fixarCondPgto") === undefined) {
    json.put("fixarCondPgto", 0);
  }
  if (!json.get("flagCliFidel") || json.get("flagCliFidel") === null || json.get("flagCliFidel") === undefined) {
    json.put("flagCliFidel", 0);
  }
  if (!json.get("flagClienteCrediario") || json.get("flagClienteCrediario") === null || json.get("flagClienteCrediario") === undefined) {
    json.put("flagClienteCrediario", 0);
  }
  if (!json.get("flagConveniadoDemissao") || json.get("flagConveniadoDemissao") === null || json.get("flagConveniadoDemissao") === undefined) {
    json.put("flagConveniadoDemissao", 0);
  }
  if (!json.get("flagDependenteCompLimiteTitutar") || json.get("flagDependenteCompLimiteTitutar") === null || json.get("flagDependenteCompLimiteTitutar") === undefined) {
    json.put("flagDependenteCompLimiteTitutar", 0);
  }
  if (!json.get("flagMicroEmpresa") || json.get("flagMicroEmpresa") === null || json.get("flagMicroEmpresa") === undefined) {
    json.put("flagMicroEmpresa", 0);
  }
  if (!json.get("flagNTrocaPontos") || json.get("flagNTrocaPontos") === null || json.get("flagNTrocaPontos") === undefined) {
    json.put("flagNTrocaPontos", 0);
  }
  if (!json.get("flagNaoAparecerEstatisticaCompra") || json.get("flagNaoAparecerEstatisticaCompra") === null || json.get("flagNaoAparecerEstatisticaCompra") === undefined) {
    json.put("flagNaoAparecerEstatisticaCompra", 0);
  }
  if (!json.get("flagNaoCobrarTaxaEntrega") || json.get("flagNaoCobrarTaxaEntrega") === null || json.get("flagNaoCobrarTaxaEntrega") === undefined) {
    json.put("flagNaoCobrarTaxaEntrega", 0);
  }
  if (!json.get("infCplConv") || json.get("infCplConv") === null || json.get("infCplConv") === undefined) {
    json.put("infCplConv", " ");
  }
  if (!json.get("inscEst") || json.get("inscEst") === null || json.get("inscEst") === undefined) {
    json.put("inscEst", " ");
  }
  if (!json.get("inscMuni") || json.get("inscMuni") === null || json.get("inscMuni") === undefined) {
    json.put("inscMuni", " ");
  }
  if (!json.get("matricula") || json.get("matricula") === null || json.get("matricula") === undefined) {
    json.put("matricula", 0);
  }
  //if (!json.get("melhorHora") || json.get("melhorHora") === null || json.get("melhorHora") === undefined) {
  //	json.put("melhorHora", "2017-01-01 00:00:00");
  //}
  if (!json.get("microEmp") || json.get("microEmp") === null || json.get("microEmp") === undefined) {
    json.put("microEmp", 0);
  }
  if (!json.get("nmFant") || json.get("nmFant") === null || json.get("nmFant") === undefined) {
    json.put("nmFant", " ");
  }
  if (!json.get("nmMae") || json.get("nmMae") === null || json.get("nmMae") === undefined) {
    json.put("nmMae", " ");
  }
  if (!json.get("nmPai") || json.get("nmPai") === null || json.get("nmPai") === undefined) {
    json.put("nmPai", " ");
  }
  if (!json.get("notCall") || json.get("notCall") === null || json.get("notCall") === undefined) {
    json.put("notCall", 0);
  }
  if (!json.get("numero") || json.get("numero") === null || json.get("numero") === undefined) {
    json.put("numero", 0);
  }
  if (!json.get("obdDiaPgto") || json.get("obdDiaPgto") === null || json.get("obdDiaPgto") === undefined) {
    json.put("obdDiaPgto", 0);
  }
  if (!json.get("obs") || json.get("obs") === null || json.get("obs") === undefined) {
    json.put("obs", " ");
  }
  if (!json.get("percIpiBaseIcms") || json.get("percIpiBaseIcms") === null || json.get("percIpiBaseIcms") === undefined) {
    json.put("percIpiBaseIcms", 0);
  }
  if (!json.get("percRed") || json.get("percRed") === null || json.get("percRed") === undefined) {
    json.put("percRed", 0);
  }
  if (!json.get("percReduBasePmc") || json.get("percReduBasePmc") === null || json.get("percReduBasePmc") === undefined) {
    json.put("percReduBasePmc", 0);
  }
  if (!json.get("pessoa") || json.get("pessoa") === null || json.get("pessoa") === undefined) {
    json.put("pessoa", 0);
  }
  if (!json.get("pontoRef") || json.get("pontoRef") === null || json.get("pontoRef") === undefined) {
    json.put("pontoRef", " ");
  }
  if (!json.get("precoBaseSubs") || json.get("precoBaseSubs") === null || json.get("precoBaseSubs") === undefined) {
    json.put("precoBaseSubs", 0);
  }
  if (!json.get("ramalCob") || json.get("ramalCob") === null || json.get("ramalCob") === undefined) {
    json.put("ramalCob", " ");
  }
  if (!json.get("recebeemail") || json.get("recebeemail") === null || json.get("recebeemail") === undefined) {
    json.put("recebeemail", 0);
  }
  if (!json.get("red") || json.get("red") === null || json.get("red") === undefined) {
    json.put("red", 0);
  }
  if (!json.get("revCad") || json.get("revCad") === null || json.get("revCad") === undefined) {
    json.put("revCad", 0);
  }
  if (!json.get("rg") || json.get("rg") === null || json.get("rg") === undefined) {
    json.put("rg", " ");
  }
  if (!json.get("rgOrgExp") || json.get("rgOrgExp") === null || json.get("rgOrgExp") === undefined) {
    json.put("rgOrgExp", " ");
  }
  if (!json.get("rzCli") || json.get("rzCli") === null || json.get("rzCli") === undefined) {
    json.put("rzCli", " ");
  }
  if (!json.get("senha") || json.get("senha") === null || json.get("senha") === undefined) {
    json.put("senha", "81dc9bdb52d04dc20036dbd8313ed055");
  }
  if (!json.get("sexoCli") || json.get("sexoCli") === null || json.get("sexoCli") === undefined) {
    json.put("sexoCli", 0);
  }
  if (!json.get("sofaltcad") || json.get("sofaltcad") === null || json.get("sofaltcad") === undefined) {
    json.put("sofaltcad", 0);
  }
  if (!json.get("stsCli") || json.get("stsCli") === null || json.get("stsCli") === undefined) {
    json.put("stsCli", 0);
  }
  if (!json.get("stsCred") || json.get("stsCred") === null || json.get("stsCred") === undefined) {
    json.put("stsCred", 0);
  }
  if (!json.get("stsEnd") || json.get("stsEnd") === null || json.get("stsEnd") === undefined) {
    json.put("stsEnd", 0);
  }
  if (!json.get("stsMsg") || json.get("stsMsg") === null || json.get("stsMsg") === undefined) {
    json.put("stsMsg", 0);
  }
  if (!json.get("suframa") || json.get("suframa") === null || json.get("suframa") === undefined) {
    json.put("suframa", " ");
  }
  if (!json.get("tel") || json.get("tel") === null || json.get("tel") === undefined) {
    json.put("tel", " ");
  }
  if (!json.get("telCob") || json.get("telCob") === null || json.get("telCob") === undefined) {
    json.put("telCob", " ");
  }
  if (!json.get("telefone1") || json.get("telefone1") === null || json.get("telefone1") === undefined) {
    json.put("telefone1", " ");
  }
  if (!json.get("telefone2") || json.get("telefone2") === null || json.get("telefone2") === undefined) {
    json.put("telefone2", " ");
  }
  if (!json.get("telefone3") || json.get("telefone3") === null || json.get("telefone3") === undefined) {
    json.put("telefone3", " ");
  }
  if (!json.get("tpCad") || json.get("tpCad") === null || json.get("tpCad") === undefined) {
    json.put("tpCad", 0);
  }
  if (!json.get("tpConsFinal") || json.get("tpConsFinal") === null || json.get("tpConsFinal") === undefined) {
    json.put("tpConsFinal", 0);
  }
  if (!json.get("vlrCred") || json.get("vlrCred") === null || json.get("vlrCred") === undefined) {
    json.put("vlrCred", 0);
  }
  if (!json.get("vlrDeb") || json.get("vlrDeb") === null || json.get("vlrDeb") === undefined) {
    json.put("vlrDeb", 0);
  }
  if (!json.get("zonaFrancaManaus") || json.get("zonaFrancaManaus") === null || json.get("zonaFrancaManaus") === undefined) {
    json.put("zonaFrancaManaus", 0);
  }
  return json;
};

ValidaCliente.prototype.isCadastrado = function(json) {
  if (!json) {
    throw {
      code: 599,
      message: "Dados passados ao servidor inválido!"
    };
  }
  var isCadastrado = false;
  if (json.get("cdCli")) {
    variaveis = {};
    variaveis.cdCli = json.get("cdCli");
    cliente = this.mapper.selectOne("RcCli.listarRcCli", variaveis);
    if (cliente) {
      isCadastrado = true;
    }
  }
  if (json.get("cgcCpf") && json.get("cgcCpf").length() >= 11) {
    variaveis = {};
    variaveis.cgcCpf = json.get("cgcCpf");
    cliente = this.mapper.selectOne("RcCli.listarRcCli", variaveis);
    if (cliente) {
      isCadastrado = true;
    }
  }

  return isCadastrado;
};
