Example #1
0
    /**
     * validação de numeros com casas decimais
     *
     * @param mixed $var numero a ser validado.
     * @return bool.
	 * 
     */
		function isFloat($var){
		  $var = Formatacao::formatFloat($var);
		  return ereg('^[\+-]{0,1}[0-9]+(\.[0-9]+){0,1}$', trim(strval($var)));
		}
Example #2
0
    /**
     * realiza descontos nos valoes dos exames deste convenio de acordo com outro convênio
	 * 
     * @param string $desconto
	 * @param string $convenio_origem
     */
	function descontaValores($desconto, $convenio_origem){
		if (($convenio_origem != $this->get("con_id")) && ($convenio_origem != "") && (floatval(Formatacao::formatFloat($desconto)) > 0)){
			$desconto = Formatacao::formatFloat($desconto);
			$sql = "select * from valor_exame where con_id = ".$this->get("con_id");
			$rs	 = Db::sql($sql, "convenio::descontaValores() - busca todos os valores do convenio que sofrerá o desconto.");
			if (mysql_num_rows($rs)){
				$exames_convenio_origem_equivalentes = "0";
				//para cada valor existente, ele buscará o valor do mesmo exame no convenio de origem para aplicar o desconto
				while ($r = mysql_fetch_assoc($rs)){
					$sql = "select * from valor_exame where con_id = ".$convenio_origem." and exa_id = ".$r["exa_id"]." and vex_valor_absoluto > 0 limit 1";
					$rs2 = Db::sql($sql, "convenio::descontaValores() - busca o valor do convenio base para cada exame do convenio que sofrerá o desconto");
					if (mysql_num_rows($rs2)){
						$r2 = mysql_fetch_assoc($rs2);
						$sql = "update valor_exame set vex_valor_absoluto = ((".$r2["vex_valor_absoluto"].") - ((".$r2["vex_valor_absoluto"]." * ".$desconto.") / 100) ) where exa_id = ".$r["exa_id"]." and con_id = ".$this->get("con_id")." and vex_valor_absoluto > 0";
						$upd = Db::sql($sql, "convenio::descontaValores() -  aplica o desconto no convênio");
						$exames_convenio_origem_equivalentes .= ",".$r2["vex_id"];
					}
				}
				//depois de aplicar o desconto nos exames que existem nos dosi convênios, realiza uma busca nos exames existentes somente no convenio de origem, inserindo o valor com desconto para o convênio atual
				$sql = "select * from valor_exame where con_id = ".$convenio_origem." and vex_valor > 0 and vex_id not in (".$exames_convenio_origem_equivalentes.")";
				$rs	 = Db::sql($sql, "convenio::descontaValores() - busca os valores de exames que so existem no convenio de origem");
				while ($r = mysql_fetch_assoc($rs)){
					$sql = "insert into valor_exame (vex_valor_absoluto, exa_id, con_id) values (((".$r["vex_valor_absoluto"].") - ((".$r["vex_valor_absoluto"]." * ".$desconto.") / 100) ),".$r["exa_id"].",".$this->get("con_id").")";
					$upd = Db::sql($sql, "convenio::descontaValores() -  aplica o desconto no convênio");
				}
			} else {
				//esta rotina acontecerá caso o convenio alvo não possua nenhum valor de exame
				//busca todos o valores de exames do convenio de origem e insere no conveni alvo, aplicando o desconto.
				$sql = "select * from valor_exame where con_id = ".$convenio_origem." and vex_valor_absoluto > 0";
				$rs	 = Db::sql($sql, "convenio::descontaValores() - busca os valores de exames do convenio de origem");
				while ($r = mysql_fetch_assoc($rs)){
					$sql = "insert into valor_exame (vex_valor_absoluto, exa_id, con_id) values (((".$r["vex_valor_absoluto"].") - ((".$r["vex_valor_absoluto"]." * ".$desconto.") / 100) ),".$r["exa_id"].",".$this->get("con_id").")";
					$upd = Db::sql($sql, "convenio::descontaValores() -  aplica o desconto no convênio");
				}
			}
		}
	}