<?php
/**
 * Model
 * 
 * Laudo final Tipo LF015 / Safra15 - Cítricos / Granizo
 * 
 * @author Samir Ortiz	
 * @date 27/02/2012
 *
 */
class Safra15_Model_Lf015ItensSegurados extends Agro_Db_Table_Abstract {

	protected $_schema 	= 'safra15';
	protected $_name 	= 'lf015_itens_segurados';
	protected $_primary = 'id_laudo_final_item_segurado';
	public 	  $_order 	= 'id_laudo_final_item_segurado';
		
	public function save($dados) {

	    $Model_LaudosFinaisItensSegurados = new Sinistro_Model_LaudosFinaisItensSegurados();
	    
	    $idLaudoFinalItemSegurado = $Model_LaudosFinaisItensSegurados->save($dados);

	    if($idLaudoFinalItemSegurado) {
    		try {
    		    
    		    $Row = $this->getRow($idLaudoFinalItemSegurado);
    		    
    		    $Row->id_laudo_final_item_segurado 			= $idLaudoFinalItemSegurado;
    		    $Row->total_cat1_cat1 						= $dados["total_cat1_cat1"];
				$Row->total_cat1_cat1_depre 				= $dados["total_cat1_cat1_depre"];
				$Row->total_cat1_cat2 						= $dados["total_cat1_cat2"];
				$Row->total_cat1_cat2_depre	 				= $dados["total_cat1_cat2_depre"];
				$Row->total_cat1_cat3 						= $dados["total_cat1_cat3"];
				$Row->total_cat1_cat3_depre	 				= $dados["total_cat1_cat3_depre"];
				$Row->total_cat1_cat4 						= $dados["total_cat1_cat4"];
				$Row->total_cat1_cat4_depre	 				= $dados["total_cat1_cat4_depre"];								
				$Row->total_cat1_descarte 					= $dados["total_cat1_descarte"];
				$Row->total_cat1_descarte_depre 			= $dados["total_cat1_descarte_depre"];
				$Row->total_cat2_cat2 						= $dados["total_cat2_cat2"];
				$Row->total_cat2_cat2_depre 				= $dados["total_cat2_cat2_depre"];
				$Row->total_cat2_cat3 						= $dados["total_cat2_cat3"];
				$Row->total_cat2_cat3_depre 				= $dados["total_cat2_cat3_depre"];
				$Row->total_cat2_cat4 						= $dados["total_cat2_cat4"];
				$Row->total_cat2_cat4_depre 				= $dados["total_cat2_cat4_depre"];								
				$Row->total_cat2_descarte 					= $dados["total_cat2_descarte"];
				$Row->total_cat2_descarte_depre 			= $dados["total_cat2_descarte_depre"];
				$Row->total_cat3_cat3 						= $dados["total_cat3_cat3"];
				$Row->total_cat3_cat3_depre 				= $dados["total_cat3_cat3_depre"];
				$Row->total_cat3_cat4 						= $dados["total_cat3_cat4"];
				$Row->total_cat3_cat4_depre 				= $dados["total_cat3_cat4_depre"];								
				$Row->total_cat3_descarte 					= $dados["total_cat3_descarte"];
				$Row->total_cat3_descarte_depre 			= $dados["total_cat3_descarte_depre"];
				$Row->total_cat4_cat4 						= $dados["total_cat4_cat4"];
				$Row->total_cat4_cat4_depre 				= $dados["total_cat4_cat4_depre"];								
				$Row->total_cat4_descarte 					= $dados["total_cat4_descarte"];
				$Row->total_cat4_descarte_depre 			= $dados["total_cat4_descarte_depre"];								
				$Row->total_descarte_descarte 				= $dados["total_descarte_descarte"];
				$Row->total_descarte_descarte_depre 		= $dados["total_descarte_descarte_depre"];
				$Row->total 								= $dados["total"];
				$Row->total_depre 							= $dados["total_depre"];
    		    
    			$Row->save();
				
    			return $idLaudoFinalItemSegurado;
    			
    		} catch (Exception $e) {
    		    $this->setMessage($e->getMessage());
    		    return false;
    		}
	    } else {
	    	$this->setMessage($Model_LaudosFinaisItensSegurados->getMessages());
	        return false;
	    }
	}

    public function getDataLaudoFinalItemSegurado($idLaudoFinalItemSegurado) {
        
        $Model_LaudosFinaisItensSegurados = new Sinistro_Model_LaudosFinaisItensSegurados();
		$Model_ItensSegurados = new Seguro_Model_ItensSegurados();
        $DataGeneralizacao = $Model_LaudosFinaisItensSegurados->getDataLaudoFinalItemSegurado($idLaudoFinalItemSegurado);
        
        if (!$DataGeneralizacao['fl_nao_vistoriada']) {
            $select = $this->select()->setIntegrityCheck(false);
            $select->from(array('lfis015'=>$this->_schema.'.'.$this->_name), 'vl_percent_perda_qualidade');
            $select->where('id_laudo_final_item_segurado = ?', $idLaudoFinalItemSegurado);
        }

        $DataEspecializacao = $this->fetchRow($select)->toArray();
		
		// Nesse laudo o valor do campo vl_area_sinistrada deve ser igual a área total da quadra
		$DataGeneralizacao['vl_area_sinistrada'] = $Model_ItensSegurados->getArea($DataGeneralizacao['id_item_segurado']);
        
		$data = array_merge($DataGeneralizacao, $DataEspecializacao); 
		
		return $data;
        
    }
	
	public function delete($id_laudo_final){
		parent::delete($id_laudo_final, "id_laudo_final");
	}


}
