<?php
class Sinistro2_Model_LaudoXMLImportacao extends Agro_Db_Table_Abstract {
    protected $_schema = 'sinistro';
    protected $_name = 'laudo_xml_importacao';
    protected $_primary = 'id';
    public $_order = 'id_vistoria'; 
    
    public function save($data) {
        try {
            $row = $this->fetchRow('id_vistoria = '.$data['id_vistoria'].' and id_proposta = '.$data['id_proposta']);
      
            if ($row) return $row->id;
            $row = $this->createRow();
            $row->id_vistoria = $data['id_vistoria'];
            $row->ds_nome_arquivo_xml = $data['ds_nome_arquivo_xml'];
            $row->id_proposta = $data['id_proposta'];
            $row->id_laudo_final = $data['id_laudo_final'];

            if ($row->save()) return $row->id;
        } catch (Exception $e) {
            return $e->getMessage();
        }

        return false;
    }

    public function getResumoItens(int $idProposta, int $idVistoria) : array {
        $sql = $this->select()->setIntegrityCheck(false)
            ->from(['its' => 'seguro.itens_segurados'], 
                ['nr_item_segurado', 'ds_item_segurado', 'vl_area'])
            ->joinLeft(['lxii' => 'sinistro.laudo_xml_importacao_item'], 
                'its.id = lxii.id_item_segurado', ['id_item_segurado','id_status','id_motivo_nao_vistoriado'])
            ->joinLeft(['lxi' => 'sinistro.laudo_xml_importacao'], 
                'lxi.id = lxii.id_laudo_xml_importacao and lxi.id_vistoria = '.$idVistoria,'id_vistoria')
            ->joinLeft(['ss' => 'sistema.status'], 'ss.id = lxii.id_status', 'ds_status, id_status')
            ->joinLeft(['mqnv' => 'sinistro.motivos_quadra_nao_vistoriada'], 
                'mqnv.id = lxii.id_motivo_nao_vistoriado', 'ds_motivo')
            ->where('its.id_proposta = ?', $idProposta);
           
        return $this->fetchAll($sql)->toArray();
    }
}