<?php
/**
 * Model
 * 
 * Laudo final Tipo LF001 / Safra13 - Item Segurado (Classificação de Frutos)
 * 
 * @author Fernando Nunes
 * @date 17/02/2011
 *
 */
class Safra13_Model_Lf001ItensSeguradosCFAmostras extends Agro_Db_Table_Abstract {
	protected $_schema 	= 'safra13';
	protected $_name 	= 'lf001_itens_segurados_cf_amostras';
	protected $_primary = 'id';
	public 	  $_order 	= 'id_laudo_final';
		
	public function save($dados){
	    $Model_Lf001ItensSegurados = new Safra13_Model_Lf001ItensSegurados();
		$dados['vl_percent_colhido'] = null;
		$dados['vl_percent_perdas'] = null;
	    
		$idLaudoFinalItemSegurado = $Model_Lf001ItensSegurados->save($dados);
		if($idLaudoFinalItemSegurado) {
    		try {
    		    
    		    $this->delete($idLaudoFinalItemSegurado, 'id_laudo_final_item_segurado');
				
				$Model_Lf001ItensSeguradosAmostras = new Safra13_Model_Lf001ItensSeguradosAmostras();
				$Model_Lf001ItensSeguradosAmostras->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;
	}
}