<?php

class Atendimento_Model_ChamadoLog extends Agro_Db_Table_Abstract {
	public $_order = array('c.id','c.dt_criacao');
	protected $_schema = 'atendimento';
	protected $_name = 'chamados_logs';
	protected $_primary = 'id';

        public function save($data) {
            try {
                $Row = $this->createRow();
                $Row->id_chamado = $data['id_chamado'];
                $Row->id_departamento = $data['id_departamento'];
                $Row->id_tipo_chamado = $data['id_tipo_chamado'];
                $Row->id_responsavel = $data['id_responsavel'];
                $Row->ds_descricao = $data['ds_descricao'];
                $Row->dt_final_prazo = $data['dt_final_prazo'];
                return $Row->save();
            } catch (Exception $ex) {
                $this->setMessage($ex->getMessage());
                return false;
            }
        }

        public function getHistoricos($id_chamado) {
            $Select = $this->select()->setIntegrityCheck(false);
            $Select->from(array('cl' => 'atendimento.chamados_logs'), "to_char(cl.dt_criacao, 'DD/MM/YYYY : HH:MI:SS') as dt_criacao");
            $Select->join(array('d' => 'sistema.departamentos'), 'cl.id_departamento = d.id', 'd.ds_nome_departamento');
            $Select->join(array('tc' => 'atendimento.tipo_chamado'), 'cl.id_tipo_chamado = tc.id', 'ds_tipo_chamado');
            $Select->joinLeft(array('u_responsavel' => 'sistema.usuarios'), 'cl.id_responsavel = u_responsavel.id', 'u_responsavel.ds_nome_usuario as responsavel');
            $Select->join(array('u' => 'sistema.usuarios'), 'cl.id_usuario_criacao = u.id', 'u.ds_nome_usuario as alterado_por');
            $Select->where('cl.id_chamado = ?', $id_chamado);
            $Select->order('cl.dt_criacao DESC');

            return $this->_db->fetchAll($Select);
        }
}
