<?php

class Sinistro_Model_ProcessosObservacoesArquivos extends Agro_Db_Table_Abstract {
	protected $_schema = 'sinistro';
	protected $_name = 'processos_observacoes_arquivos';
	protected $_primary = array('id');
	public $_order = 'id_processo';
	
	public function getObservacoesArquivosByProcesso($idProcesso) {
		if ($idProcesso) {
			$select = $this->select();
			$select->setIntegrityCheck(false);
			$select->from(array('po' => 'sinistro.processos_observacoes_arquivos'), array('po.id as id_observacao','po.ds_observacao_arquivos',"to_char(po.dt_criacao, 'DD/MM/YYYY HH24:MI:SS') as dt_entrada", 'id_tipo_observacao'));
			$select->join(array('f'  => 'sistema.funcionarios'),'f.id_usuario = po.id_usuario_criacao','f.ds_nome_funcionario');
			$select->where("po.id_processo = ?", $idProcesso);
			$select->where("po.fl_ativo = true");
			$select->order(array('po.dt_criacao desc'));
			
			return $this->_db->fetchAll($select);
		} else {
			return false;			
		}
	}
	
	public function saveObservacaoExclusao($dados){
		try{
			$observacao = 'Arquivo '.$dados['ds_nome_arquivo'].' foi excluído por '.$dados['ds_nome_usuario'].'.';
	
			$Row = $this->createRow();
			$Row->id_processo = $dados['id_processo'];
			$Row->ds_observacao_arquivos = $observacao;
	
			$Row->save();
		}catch (Exception $e){
			die($e);
		}
	}
	
	public function saveObservacaoAlteracaoStatus($idProcesso, $idStatus, $nomeRevisor){
		try{
			$observacao = 'Arquivos alterados para o status "'.Agro_Util::getStatus($idStatus).'" por '.$nomeRevisor.'.';

			$Row = $this->createRow();
			$Row->id_processo = $idProcesso;
			$Row->ds_observacao_arquivos = $observacao;
	
			$Row->save();
		}catch (Exception $e){
			die($e);
		}
	}
	
}