<?php
require_once(dirname(__FILE__).'/autoload.php');
protegeArquivo(basename(__FILE__));
class amostras extends base{
	public function __construct($campos=array()){
		parent::__construct();
		//$this->tabela = "paineladm_usuarios";
		$this->tabela = "ficha";
		if(sizeof($campos)<=0):
			$this->campos_valores = array(
				"fic_lote" => NULL,
				"fic_amostra" => NULL,
				"fic_amostra_previa" => NULL,
				"fic_safra" => NULL,
				"fic_campo_string" => NULL,
				"fic_previa" => NULL,
				"fic_definitiva" => NULL,
				"fic_cultivar" => NULL,
				"fic_produtor" => NULL,
				"fic_amostrador" => NULL,
				"fic_id" => NULL,
				"fic_repre_unid" => NULL,
				"fic_funcao" => NULL,
				"fic_pesodet_nocivas" => NULL,
				"fic_pesodet_octv" => NULL,
				"fic_pesodet_dosn" => NULL,
				"fic_beneficiada" => NULL,
				"fic_dt_entrada" => NULL,
				"fic_analise_reanalise" => NULL,
				"fic_preparo_pureza" => NULL,
				"fic_preparo_complemento" => NULL,
				"fic_complemento" => NULL,
				"fic_preparo_analista" => NULL,
				"fic_preparo_data" => NULL,
				"fic_preparo_dosn" => NULL,
				"fic_status_finalizada" => NULL,
				"fic_finalizada_nocivas" => NULL,
				"fic_binario" => NULL,
				"fic_mix" => NULL,
				"fic_pesopureza_mistura" => NULL,
			);
		else:
			$this->campos_valores = $campos;
		endif;
		$this->campopk = "fic_id";
	}
	
	
	
    public function existeRegistro($campo=NULL,$valor=NULL)
	{
	    echo("xxxxxxx $campo  valor=$valor");
        if ($campo!=NULL && $valor!=NULL):
            is_numeric($valor) ? $valor = $valor : $valor = "'".$valor."'";
            $this->extras_select = "WHERE $campo=$valor";
            $this->selecionaTudo($this);
            if ($this->linhasafetadas > 0):
                return TRUE;
            else:
                return FALSE;
            endif;
        else:
            $this->trataerro(__FILE__,__FUNCTION__,NULL,'Faltam parâmetros para executar a função',TRUE);
        endif;
    }
 public function salvaCorpoTESOURO($amostraLong,$vetor)
	 {
	 	//$this->tabela = "ficha";
        $user = new amostras(array(
            'fic_safra'=>$vetor[1],
        ));
        $user->valorpk = $amostraLong;
		//AQUI UMA CONDICAO ESPECIAL MAS JA NAO PRECISA COLOCAR FIC_ID
		//MAS NEM PRECISA COLOCAR ESTA CONDICAO 
        $user->extras_select = "WHERE   fic_categoria== 'S1'";
        $user->atualizar($user);
	 }

	
 public function salvaCorpo($amostraLong,$vetor)
	 {
	    $r1=$vetor[8];
	    $r2=$vetor[9];
	    $r3=$vetor[10];
	    $r4=$vetor[11];
		if($r1=="-O-")$r2="-O-";
	    $objetoValidacao=new validacao();
	    $retornoRep=$objetoValidacao->validaRepresentatividade($r1,$r2,$r3,$r4);
	    if($retornoRep=='invalida'):
		   printMSG('Preencha corretamente a representatividade dentro das possibilidades, pois nenhum dado foi alterado8. ','alerta');
           $vaiGravar=FALSE;
	    else:
		   $repreGravar=$retornoRep;
	    endif; 
	    $dt_entrada=$vetor[13];
	    $retorno=$objetoValidacao->validaDataEntrada($dt_entrada);//esta data vai validar o ano e somente esta
		$vaiGravar=TRUE;
	    if($retorno=='invalida'):
		   printMSG('Atenção: Preencha corretamente a data de entrada no formato dd/mm/aaaa, e do ano corrente, pois nenhum dado foi alterado. ','alerta');
           $vaiGravar=FALSE;
	    else:
		   $dt_entrada_americana=$retorno;
	    endif;
		//$dt_entrada_americana="2016-12-12";
	    if($vaiGravar==TRUE):
	        $user = new amostras(array(
	            'fic_safra'=>$vetor[1],
	            'fic_lote'=>$vetor[2],
	            'fic_categoria'=>$vetor[3],
	            'fic_balanca'=>$vetor[4],
	            'fic_aparelho'=>$vetor[5],
	            'fic_peneira'=>$vetor[6],
	            'fic_procedencia'=>$vetor[7],
				'fic_repre_unid'=>$repreGravar,
	            'fic_tratamento'=>$vetor[12],
	            'fic_dt_entrada'=>$dt_entrada_americana,
	            'fic_beneficiada'=>$vetor[14],
	            'fic_analise_reanalise'=>$vetor[15],
	            'fic_dt_amostragem'=>$vetor[16],
	            'fic_campo_string'=>$vetor[17],
	            'fic_preparo_pureza'=>$vetor[18],
	            'fic_complemento'=>$vetor[19],
	            'fic_preparo_analista'=>$vetor[20],
	            'fic_preparo_data'=>$vetor[21],
	            'fic_pesodet_nocivas'=>$vetor[22],
	            'fic_pesodet_octv'=>$vetor[23],
	   
	        ));
	        $user->valorpk = $amostraLong;
	        $user->atualizar($user);
			
			
        endif;

	 }//fecha a funcao que salva corpo(lote,safra,peneira etc))
	 
	 
 public function salvaApenasObservacoes($amostraLong,$observacaoFicha)
	 {
        $user = new amostras(array(
            'fic_observacao'=>$observacaoFicha,
        ));
        $user->valorpk = $amostraLong;
        $user->atualizar($user);
	 }//fecha a funcao que salva observacao))




 public function salvaCorpoAssociado($amostraLong,$id_associada,$qualAssociada)
	 {
	    //$amostraLong=0;
	 	//$sessao = new sessao();
		//$amostraLong=$sessao->getVar('amostraLong');
	 
	 
	    //echo("kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk amostraLong =$amostraLong<br>");
	    if($qualAssociada=='cultivar') $user = new amostras(array('fic_cultivar'=>$id_associada));
	    if($qualAssociada=='amostrador') $user = new amostras(array('fic_amostrador'=>$id_associada));
	    if($qualAssociada=='requerente'):
		    $id_amostrador_associado=$this->achaAmostradorVinculado($id_associada);
		    //se nao achou o amostrador vinculado entao ele so vai gravar a id do requetente 
		    //mas se achar vai gravar tembem a id do amostrador
		    if($id_amostrador_associado>0):
		   	  echo("ffffffffffff $id_amostrador_associado<br>");
		      $user = new amostras(array(
			  'fic_produtor'=>$id_associada,
			  'fic_amostrador'=>$id_amostrador_associado
			  ));
	        else:
	          $user = new amostras(array('fic_produtor'=>$id_associada));
		    endif;
        endif;//testa se esta gravando requerente
		$user->valorpk = $amostraLong;
		//$user->campopk = $amostraLong;
        $user->atualizar($user);
	
		
	 }//fecha a funcao que salva corpo associado
	 
//FUNCAO retorna o id do amostrador vinculado ao requerente.
// caso nao tenha achado retorna zero o que vai
// resultar em que o sistema mantem o amostrado ja sslvado
function achaAmostradorVinculado($id_produtor)
{
    //aqui vai capturar o id do amostrador associado
    //se for numero maior que zero ele vai salvar na amostra
    //caso contrario vai ignorar  					
    //primeiro passo capturar a id_amostrador associado 
    $userReme = new remetentes();
	$userReme->extras_select = "WHERE prd_id=".$id_produtor;
    $userReme->selecionaTudo($userReme);
    $codAmostradorVinculado=0;
    $mensagemExtra="";
    while ($res = $userReme->retornaDados()):
        $codAmostradorVinculado=$res->prd_cod_amostrador;
    endwhile;
    return $codAmostradorVinculado;
}//fecha a funcao que vai achar o amostrador vinculado




}
?>