<?
/**
 * 
 * Liquidação Fitossanitária
 *
 */
class Safra15_Model_LIQ08 extends Agro_Db_Table_Abstract {
	protected $_schema = 'sinistro';
	protected $_name = 'tipo_liquidacao';
	protected $_primary = 'id';
	public $_order = 'ds_nome_tipo_liquidacao';
	
	
	public function liquidar($dados){
		$result = array("status"=>true, "message"=>"", "execute"=>"");
		
		$ModelLiquidacoes = new Sinistro_Model_Liquidacoes();
		
		$ModelItemSegurado = new Seguro_Model_ItensSegurados();
		
		$ModelPropostasCoberturas = new Seguro_Model_PropostasCoberturas();
		
		$ModelLiquidacoesItensSeguradosCoberturas = new Sinistro_Model_LiquidacoesItensSeguradosCoberturas();
		
		$ItemSegurado = $ModelItemSegurado->find($dados['id_item_segurado'])->current();
		
		$this->getAdapter()->beginTransaction();
		
		try {			
			$ModelLiquidacoesItensSeguradosCoberturas->save(
				array(
					"id_liquidacao" 		=> $dados["id_liquidacao"],
					"id_item_segurado" 		=> $dados["id_item_segurado"],
					"id_cobertura" 			=> $dados["id_cobertura"],
					"vl_percent_franquia" 	=> 0,
					"vl_franquia" 			=> 0,
					"vl_indenizacao" 		=> round(($ItemSegurado->vl_area * 100), 2), 
					"vl_prejuizo_total" 	=> 0
				)
			);
			
			$result['message'] = "Liquidação realizada com sucesso";
			
			$this->getAdapter()->commit();
			
		} catch (Exception $e) {
			$this->getAdapter()->rollBack();
			$result['status'] = false;
			$result['message'] = "Não foi possível realizar a liquidação. \n {$e->getMessage()}";
			
		}
		
		return $result; 
	}
}
