<?php

class Sinistro_Model_CobrancaRelatorioVistorias extends Agro_Db_Table_Abstract {
	protected $_schema = 'sinistro';
	protected $_name = 'cobranca_relatorio_vistorias';
	protected $_primary = 'id';

	public function save($data) {

		$Row = $this->getRow($data['id_cobranca_relatorio_vistoria']);

		$Row->id_cobranca_relatorio = $data['id_cobranca_relatorio'];
		$Row->id_vistoria = $data['id_vistoria'];
		//$Row->id_laudo = $data['id_laudo'];
		$Row->vl_honorarios = $data['honorarios'] ? Agro_Util::formatCurrencyDb($data['honorarios']) : 0;
		$Row->vl_quilometragem = $data['km_quantidade'] ? Agro_Util::formatCurrencyDb($data['km_quantidade']) : 0;
		$Row->vl_custo_quilometragem = $data['km_valor'] ? Agro_Util::formatCurrencyDb($data['km_valor']) : 0;
		$Row->vl_pedagio = $data['pedagio'] ? Agro_Util::formatCurrencyDb($data['pedagio']) : 0;
		$Row->vl_hotel = $data['hotel'] ? Agro_Util::formatCurrencyDb($data['hotel']) : 0;
		$Row->vl_alimentacao = $data['alimentacao'] ? Agro_Util::formatCurrencyDb($data['alimentacao']) : 0;
		$Row->vl_despesas = $data['despesas'] ? Agro_Util::formatCurrencyDb($data['despesas']) : 0;
		
		return $Row->save();
	}

	//retorna true se o relatório ainda não foi enviado
	public function checkStatus($idVistoria){

		$select = $this->select()->setIntegrityCheck(false);
		$select->from("{$this->_schema}.{$this->_name}");
		$select->join(array('cr'=>'sinistro.cobranca_relatorio'),'cr.id = id_cobranca_relatorio',false);
		$select->join(array('s'=>'sistema.status'),'s.id = cr.id_status',false);
		$select->where('id_vistoria = ?', $idVistoria);
		$select->where('s.ds_chave = ?', 'NAO_ENVIADO');

		if($this->_db->fetchOne($select)){
			return true;
		}

		return false;
	}
	
}