<?php
/**
 * Model
 * 
 * Laudo final Tipo LF014 / Safra16 - Item Segurado (Classificação de Frutos)
 * 
 * @author Samir Ortiz
 * @date 14/02/2012
 *
 */
class Safra16_Model_Lf014ItensSeguradosCFAmostras extends Agro_Db_Table_Abstract {
	protected $_schema 	= 'safra16';
	protected $_name 	= 'lf014_itens_segurados_cf_amostras';
	protected $_primary = 'id';
	public 	  $_order 	= 'id_laudo_final';
		
	public function save($dados){
	    $Model_Lf014ItensSegurados = new Safra16_Model_Lf014ItensSegurados();
		$dados['vl_percent_colhido'] = null;
		$dados['vl_percent_perdas'] = null;
	    
		$idLaudoFinalItemSegurado = $Model_Lf014ItensSegurados->save($dados);

		if($idLaudoFinalItemSegurado) {

			try {
    		    $this->delete($idLaudoFinalItemSegurado, 'id_laudo_final_item_segurado');
		
				$Model_Lf014ItensSeguradosAmostras = new Safra16_Model_Lf014ItensSeguradosAmostras();
				$Model_Lf014ItensSeguradosAmostras->delete($idLaudoFinalItemSegurado, 'id_laudo_final_item_segurado');
    		    
    		    if ($dados['fl_classificacao_frutos']) {
        		    $nrAmostra = 1;
    		        foreach ($dados['amostras_validas'] as $Amostra) {
    		            $dadosInsert = array();

    		            $dadosInsert['id_laudo_final_item_segurado'] = $idLaudoFinalItemSegurado;    		            
    		            $dadosInsert['nr_amostra'] = $nrAmostra;
    		            $dadosInsert = array_merge($dadosInsert, $Amostra);
    		            $this->insert($dadosInsert);
    		            $nrAmostra++;
    		        }
    		    }

    			return $idLaudoFinalItemSegurado;
    			
    		} catch (Exception $e) {
    		    $this->setMessage($e->getMessage());
    		    return false;
    		}
	    } else {
	        return false;
	    }
	}
	
	public function getAmostras($idLaudoFinalItemSegurado) {
		$select = $this->select()->setIntegrityCheck(false);
		$select->from(array('lf'=>$this->_schema . '.' . $this->_name), '*');
		$select->where('id_laudo_final_item_segurado = ?', $idLaudoFinalItemSegurado);
		
		$Amostras = $this->fetchAll($select)->toArray();
		$AmostrasNumeradas = array();
		foreach($Amostras as $Amostra) {
		    $AmostrasNumeradas[$Amostra['nr_amostra']] = $Amostra;
		}
		
		return $AmostrasNumeradas;
	}
}