<?php
/**
 * Created by PhpStorm.
 * User: JairDev
 * Date: 5/10/2018
 * Time: 10:58 AM
 */
defined('BASEPATH') OR exit('No se permite el acceso directo al script');

class Paquete_impresion_model extends CI_Model
{
    public $ide_impresion_radicado;
    public $numero_hoja;
    public $cod_radicado_inicio;
    public $cod_radicado_final;
    public $ide_tipo_radicado;
    public $fecha_impresion;
    public $ide_radicado_final;
    public $ide_radicado_inicio;
    public $nro_resgistros;


    public function __construct()
    {
        parent::__construct();
    }

    public function set_data($data_form)
    {
        foreach ($data_form as $campo => $valor) {
            if (property_exists("Paquete_impresion_model", $campo)) {
                $this->$campo = $valor;
            }
        }
        return $this;
    }

    public function insert()
    {
        $rta = $this->db->insert('rad_impresion_radicados', $this);
        if ($rta) {
            $respuesta = [
                "error" => false,
                'msg' => "Registro guardado correctamente",
                'cd_terceros' => $this->db->insert_id()
            ];
        } else {
            $respuesta = [
                "error" => true,
                'msg' => "Error al guardar nuevo registro",
                'error_msg' => $this->error(),
                'error_num' => $this->error()
            ];
        }
        return $respuesta;
    }

    public function getPlanilla($cod_pq)
    {

        $row = $this->db->select('ide_radicado_inicio,ide_radicado_final,ide_tipo_radicado')
            ->where('ide_impresion_radicado', $cod_pq)
            ->get('rad_impresion_radicados')
            ->row(0);

        #echo '---' . $this->db->last_query();


        $this->db->reset_query();

        $this->db->select("ide_radicado as pk,cod_radicado as nro_rad,asunto_documento as asunto,fecha_radicado as fec_rad,
        numero_documento_radicado as nro_doc, fecha_documento_radicado as fec_doc, nom_unidad_administrativa_destino as ofi_dest, 
        nom_tercero_origen as dts_tercero, nom_funcionario_destino as fun_dest,nom_tipo_documental as tip_doc,fecha_respuesta as fec_rta");

        $this->db->where([
            'ide_tipo_radicado = ' => $row->ide_tipo_radicado,
            'activo_radicado' => 'S',
            'ide_radicado >=' => $row->ide_radicado_inicio,
            'ide_radicado <=' => $row->ide_radicado_final,

        ]);

        $query = $this->db->get('rad_radicados');
        #echo '---' . $this->db->last_query();
        $respuesta = [
            'data' => $query->result_array(),
            'error' => false,
            'msg' => ''
        ];
        return $respuesta;
    }

    private function error()
    {
        return $this->db->error();
    }

    public function eliminar($codigo)
    {
        $this->db->set('estado', false);
        $this->db->where('ide_impresion_radicado', $codigo);
        $rta = $this->db->update('rad_impresion_radicados');

        if ($rta) {
            return true;
        } else {
            $error = $this->db->error();
            throw new Exception($error['message'], $error['code']);
        }
    }

}