/**
 * Created by maurodouglas on 01/11/16.
 */
var ValidaConvenio = function() {
	this.mapper = mapperFactory.createMapperMult(["RcCliConv", "RcCliConvRcCli"]);
};

ValidaConvenio.prototype.validaDadosConvenio = function(json) {
	if (!json) {
		throw {
			code: 599,
			message: "Dados passados ao servidor inválido!"
		};
	}

	var isCadastrado = this.isCadastrado(json);

	if(isCadastrado){
		throw {
			code: 599,
			message: "Convenio" + json.get("cdConv") + " já Cadastrado"
		};
	}

	dadosDefault = this.dadosDefault(json);
	
	return dadosDefault;

};

ValidaConvenio.prototype.dadosDefault = function(json) {
	if (!json) {
		throw {
			code: 599,
			message: "Dados passados ao servidor inválido!"
		};
	}
	if(!json.get("bloqClassif") || json.get("bloqClassif") === null || json.get("bloqClassif") === undefined){
    	json.put("bloqClassif", " ");
    }
    if(!json.get("cdCli") || json.get("cdCli") === null || json.get("cdCli") === undefined){
    	json.put("cdCli", 0);
    }
    if(!json.get("cdConv") || json.get("cdConv") === null || json.get("cdConv") === undefined){
    	json.put("cdConv", 0);
    }
    if(!json.get("cdConvId") || json.get("cdConvId") === null || json.get("cdConvId") === undefined){
    	json.put("cdConvId", " ");
    }
    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("cdMdlCartao") || json.get("cdMdlCartao") === null || json.get("cdMdlCartao") === undefined){
    	json.put("cdMdlCartao", 0);
    }
    if(!json.get("cdMdlVd") || json.get("cdMdlVd") === null || json.get("cdMdlVd") === undefined){
    	json.put("cdMdlVd", null);
    }
    if(!json.get("cdMotBloqueio") || json.get("cdMotBloqueio") === null || json.get("cdMotBloqueio") === undefined){
    	json.put("cdMotBloqueio", 0);
    }
    if(!json.get("cdRegiConv") || json.get("cdRegiConv") === null || json.get("cdRegiConv") === undefined){
    	json.put("cdRegiConv", 0);
    }
    if(!json.get("cdUsu") || json.get("cdUsu") === null || json.get("cdUsu") === undefined){
    	json.put("cdUsu", 0);
    }
    if(!json.get("cdUsuAlt") || json.get("cdUsuAlt") === null || json.get("cdUsuAlt") === undefined){
    	json.put("cdUsuAlt", 0);
    }
    if(!json.get("convHabilitado") || json.get("convHabilitado") === null || json.get("convHabilitado") === undefined){
    	json.put("convHabilitado", 0);
    }
    if(!json.get("diaFat") || json.get("diaFat") === null || json.get("diaFat") === undefined){
    	json.put("diaFat", 0);
    }
    if(!json.get("diaFat2") || json.get("diaFat2") === null || json.get("diaFat2") === undefined){
    	json.put("diaFat2", 0);
    }
    if(!json.get("diaFat3") || json.get("diaFat3") === null || json.get("diaFat3") === undefined){
    	json.put("diaFat3", 0);
    }
    if(!json.get("diaFimFat") || json.get("diaFimFat") === null || json.get("diaFimFat") === undefined){
    	json.put("diaFimFat", 0);
    }
    if(!json.get("diaIniFat") || json.get("diaIniFat") === null || json.get("diaIniFat") === undefined){
    	json.put("diaIniFat", 0);
    }
    if(!json.get("diaVencto") || json.get("diaVencto") === null || json.get("diaVencto") === undefined){
    	json.put("diaVencto", 0);
    }
    if(!json.get("dsConv") || json.get("dsConv") === null || json.get("dsConv") === undefined){
    	json.put("dsConv", " ");
    }
    if(!json.get("dtCad") || json.get("dtCad") === null || json.get("dtCad") === undefined){
    	json.put("dtCad", " ");
    }
    if(!json.get("dtProxFechamento") || json.get("dtProxFechamento") === null || json.get("dtProxFechamento") === undefined){
    	json.put("dtProxFechamento", " ");
    }
    if(!json.get("dtUltAlt") || json.get("dtUltAlt") === null || json.get("dtUltAlt") === undefined){
    	json.put("dtUltAlt", " ");
    }
    if(!json.get("flagBlqDescVlr") || json.get("flagBlqDescVlr") === null || json.get("flagBlqDescVlr") === undefined){
    	json.put("flagBlqDescVlr", 0);
    }
    if(!json.get("flagClasConv") || json.get("flagClasConv") === null || json.get("flagClasConv") === undefined){
    	json.put("flagClasConv", 0);
    }
    if(!json.get("flagConvenioValeFuncionario") || json.get("flagConvenioValeFuncionario") === null || json.get("flagConvenioValeFuncionario") === undefined){
    	json.put("flagConvenioValeFuncionario", 0);
    }
    if(!json.get("flagDescCrm") || json.get("flagDescCrm") === null || json.get("flagDescCrm") === undefined){
    	json.put("flagDescCrm", 0);
    }
    if(!json.get("flagDifVdTitDependente") || json.get("flagDifVdTitDependente") === null || json.get("flagDifVdTitDependente") === undefined){
    	json.put("flagDifVdTitDependente", 0);
    }
    if(!json.get("flagEmitirNomeConveniadoNf") || json.get("flagEmitirNomeConveniadoNf") === null || json.get("flagEmitirNomeConveniadoNf") === undefined){
    	json.put("flagEmitirNomeConveniadoNf", 0);
    }
    if(!json.get("flagExigiEmiNaVenda") || json.get("flagExigiEmiNaVenda") === null || json.get("flagExigiEmiNaVenda") === undefined){
    	json.put("flagExigiEmiNaVenda", 0);
    }
    if(!json.get("flagFechaDiario") || json.get("flagFechaDiario") === null || json.get("flagFechaDiario") === undefined){
    	json.put("flagFechaDiario", 0);
    }
    if(!json.get("flagFechaPeriodo") || json.get("flagFechaPeriodo") === null || json.get("flagFechaPeriodo") === undefined){
    	json.put("flagFechaPeriodo", 0);
    }
    if(!json.get("flagImpCompr") || json.get("flagImpCompr") === null || json.get("flagImpCompr") === undefined){
    	json.put("flagImpCompr", 0);
    }
    if(!json.get("flagImpComprTdsParc") || json.get("flagImpComprTdsParc") === null || json.get("flagImpComprTdsParc") === undefined){
    	json.put("flagImpComprTdsParc", 0);
    }
    if(!json.get("flagImpProd") || json.get("flagImpProd") === null || json.get("flagImpProd") === undefined){
    	json.put("flagImpProd", 0);
    }
    if(!json.get("flagPossuiCartao") || json.get("flagPossuiCartao") === null || json.get("flagPossuiCartao") === undefined){
    	json.put("flagPossuiCartao", 0);
    }
    if(!json.get("flagPrecoLivre") || json.get("flagPrecoLivre") === null || json.get("flagPrecoLivre") === undefined){
    	json.put("flagPrecoLivre", 0);
    }
    if(!json.get("flagProduzirCartao") || json.get("flagProduzirCartao") === null || json.get("flagProduzirCartao") === undefined){
    	json.put("flagProduzirCartao", 0);
    }
    if(!json.get("flagRecbtoVlrSubsidio") || json.get("flagRecbtoVlrSubsidio") === null || json.get("flagRecbtoVlrSubsidio") === undefined){
    	json.put("flagRecbtoVlrSubsidio", 0);
    }
    if(!json.get("flagRecebtoVlrSubsidio") || json.get("flagRecebtoVlrSubsidio") === null || json.get("flagRecebtoVlrSubsidio") === undefined){
    	json.put("flagRecebtoVlrSubsidio", 0);
    }
    if(!json.get("flagRequerNotaFiscal") || json.get("flagRequerNotaFiscal") === null || json.get("flagRequerNotaFiscal") === undefined){
    	json.put("flagRequerNotaFiscal", 0);
    }
    if(!json.get("flagRequerRequisicao") || json.get("flagRequerRequisicao") === null || json.get("flagRequerRequisicao") === undefined){
    	json.put("flagRequerRequisicao", 0);
    }
    if(!json.get("flagRequerSenha") || json.get("flagRequerSenha") === null || json.get("flagRequerSenha") === undefined){
    	json.put("flagRequerSenha", 0);
    }
    if(!json.get("flagSomenteDescContrato") || json.get("flagSomenteDescContrato") === null || json.get("flagSomenteDescContrato") === undefined){
    	json.put("flagSomenteDescContrato", 0);
    }
    if(!json.get("flagSomenteItemConv") || json.get("flagSomenteItemConv") === null || json.get("flagSomenteItemConv") === undefined){
    	json.put("flagSomenteItemConv", 0);
    }
    if(!json.get("instrucoes") || json.get("instrucoes") === null || json.get("instrucoes") === undefined){
    	json.put("instrucoes", " ");
    }
    if(!json.get("instrucoesFormat") || json.get("instrucoesFormat") === null || json.get("instrucoesFormat") === undefined){
    	json.put("instrucoesFormat", " ");
    }
    if(!json.get("instrucoesInternas") || json.get("instrucoesInternas") === null || json.get("instrucoesInternas") === undefined){
    	json.put("instrucoesInternas", " ");
    }
    if(!json.get("limCre") || json.get("limCre") === null || json.get("limCre") === undefined){
    	json.put("limCre", 0);
    }
    if(!json.get("mesVencto") || json.get("mesVencto") === null || json.get("mesVencto") === undefined){
    	json.put("mesVencto", 0);
    }
    if(!json.get("nrFarmCcm") || json.get("nrFarmCcm") === null || json.get("nrFarmCcm") === undefined){
    	json.put("nrFarmCcm", 0);
    }
    if(!json.get("obrigReceit") || json.get("obrigReceit") === null || json.get("obrigReceit") === undefined){
    	json.put("obrigReceit", 0);
    }
    if(!json.get("percAbatimento") || json.get("percAbatimento") === null || json.get("percAbatimento") === undefined){
    	json.put("percAbatimento", 0);
    }
    if(!json.get("percConv") || json.get("percConv") === null || json.get("percConv") === undefined){
    	json.put("percConv", 0);
    }
    if(!json.get("percDesc") || json.get("percDesc") === null || json.get("percDesc") === undefined){
    	json.put("percDesc", 0);
    }
    if(!json.get("percDescCrm") || json.get("percDescCrm") === null || json.get("percDescCrm") === undefined){
    	json.put("percDescCrm", 0);
    }
    if(!json.get("percDescVlrFech") || json.get("percDescVlrFech") === null || json.get("percDescVlrFech") === undefined){
    	json.put("percDescVlrFech", 0);
    }
    if(!json.get("percRecMaxConv") || json.get("percRecMaxConv") === null || json.get("percRecMaxConv") === undefined){
    	json.put("percRecMaxConv", 0);
    }
    if(!json.get("percRecMinConv") || json.get("percRecMinConv") === null || json.get("percRecMinConv") === undefined){
    	json.put("percRecMinConv", 0);
    }
    if(!json.get("procedureDesconto") || json.get("procedureDesconto") === null || json.get("procedureDesconto") === undefined){
    	json.put("procedureDesconto", " ");
    }
    if(!json.get("qtMaxParc") || json.get("qtMaxParc") === null || json.get("qtMaxParc") === undefined){
    	json.put("qtMaxParc", 0);
    }
    if(!json.get("qtdDiasProrrog") || json.get("qtdDiasProrrog") === null || json.get("qtdDiasProrrog") === undefined){
    	json.put("qtdDiasProrrog", 0);
    }
    if(!json.get("qtdeParcela") || json.get("qtdeParcela") === null || json.get("qtdeParcela") === undefined){
    	json.put("qtdeParcela", 0);
    }
    if(!json.get("qtdeVencto") || json.get("qtdeVencto") === null || json.get("qtdeVencto") === undefined){
    	json.put("qtdeVencto", 0);
    }
    if(!json.get("stsCred") || json.get("stsCred") === null || json.get("stsCred") === undefined){
    	json.put("stsCred", 0);
    }
    if(!json.get("tipoLayoutExportacao") || json.get("tipoLayoutExportacao") === null || json.get("tipoLayoutExportacao") === undefined){
    	json.put("tipoLayoutExportacao", 0);
    }
    if(!json.get("tpConv") || json.get("tpConv") === null || json.get("tpConv") === undefined){
    	json.put("tpConv", 0);
    }
    if(!json.get("tpDescPreco") || json.get("tpDescPreco") === null || json.get("tpDescPreco") === undefined){
    	json.put("tpDescPreco", 0);
    }
    if(!json.get("tpFechamento") || json.get("tpFechamento") === null || json.get("tpFechamento") === undefined){
    	json.put("tpFechamento", 0);
    }
    if(!json.get("vlrMinParc") || json.get("vlrMinParc") === null || json.get("vlrMinParc") === undefined){
    	json.put("vlrMinParc", 0);
    }
    if(!json.get("vlrTxEntrega") || json.get("vlrTxEntrega") === null || json.get("vlrTxEntrega") === undefined){
    	json.put("vlrTxEntrega", 0);
    }

	return json;

};

ValidaConvenio.prototype.isCadastrado = function(json) {
	if (!json) {
		throw {
			code: 599,
			message: "Dados passados ao servidor inválido!"
		};
	}
	if (json.get("cdConv")) {
		var isCadastrado = true;
		variaveis = {};
		variaveis.cdConv = json.get("cdConv");
		conv = this.mapper.selectOne("RcCliConv.listarRcCliConv", variaveis);
		if (!conv) {
			isCadastrado = false;
			}
		}

		return isCadastrado;
};

ValidaConvenio.prototype.conveniadoDadosDefault = function(json) {
	if(!json.get("cdCli") || json.get("cdCli") === null || json.get("cdCli") === undefined){
		json.put("cdCli", 0);
	}
	if(!json.get("cdConv") || json.get("cdConv") === null || json.get("cdConv") === undefined){
		json.put("cdConv", 0);
	}
	if(!json.get("cdEmp") || json.get("cdEmp") === null || json.get("cdEmp") === undefined){
		json.put("cdEmp", 1);
	}
	if(!json.get("cdPlanoVenda") || json.get("cdPlanoVenda") === null || json.get("cdPlanoVenda") === undefined){
		json.put("cdPlanoVenda", 0);
	}
	if(!json.get("cdUsu") || json.get("cdUsu") === null || json.get("cdUsu") === undefined){
		json.put("cdUsu", 0);
	}
	if(!json.get("flagConveniadoDemissao") || json.get("flagConveniadoDemissao") === null || json.get("flagConveniadoDemissao") === undefined){
		json.put("flagConveniadoDemissao", 0);
	}
	if(!json.get("flagNExpVdLay") || json.get("flagNExpVdLay") === null || json.get("flagNExpVdLay") === undefined){
		json.put("flagNExpVdLay", 0);
	}
	if(!json.get("matricula") || json.get("matricula") === null || json.get("matricula") === undefined){
		json.put("matricula", " ");
	}
	if(!json.get("stsAtivo") || json.get("stsAtivo") === null || json.get("stsAtivo") === undefined){
		json.put("stsAtivo", 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);
	}

	return json;
}
