public function delete()
 {
     //Liberamos las facturas asociadas a la orden de carga
     $ford0 = new distribucion_ordenescarga_facturas();
     $ford0->idempresa = $this->idempresa;
     $ford0->idordencarga = $this->idordencarga;
     $ford0->codalmacen = $this->codalmacen;
     $ford0->delete();
     //Eliminamos las lineas de la orden de carga
     $lord0 = new distribucion_lineasordenescarga();
     $lord0->idempresa = $this->idempresa;
     $lord0->idordencarga = $this->idordencarga;
     $lord0->codalmacen = $this->codalmacen;
     $lord0->delete();
     //Por ultimo borramos la Orden de Carga
     // @to-do Cascade delete
     $sql = "DELETE FROM distribucion_ordenescarga WHERE " . "idempresa = " . $this->intval($this->idempresa) . " AND " . "codalmacen = " . $this->var2str($this->codalmacen) . " AND " . "idordencarga = " . $this->intval($this->idordencarga) . ";";
     return $this->db->exec($sql);
 }
 public function guardar_lineas_ordencarga($ordencarga, $lineas)
 {
     $this->template = 'distrib_ordencarga';
     $lineasOrdenCarga0 = new distribucion_lineasordenescarga();
     $erroresLinea = "";
     foreach ($lineas as $values) {
         $lineasOrdenCarga0->idempresa = $this->empresa->id;
         $lineasOrdenCarga0->codalmacen = $ordencarga->codalmacen;
         $lineasOrdenCarga0->idordencarga = $ordencarga->idordencarga;
         $lineasOrdenCarga0->fecha = $ordencarga->fecha;
         $lineasOrdenCarga0->referencia = $values['referencia'];
         $lineasOrdenCarga0->cantidad = $values['cantidad'];
         //a ser implementado el peso
         $lineasOrdenCarga0->peso = 0;
         $lineasOrdenCarga0->estado = true;
         $lineasOrdenCarga0->usuario_creacion = $this->user->nick;
         $lineasOrdenCarga0->fecha_creacion = $ordencarga->fecha_creacion;
         if (!$lineasOrdenCarga0->save()) {
             $coma = isset($erroresLinea) ? ", " : "";
             $erroresLinea .= $coma . $values['referencia'];
         }
     }
     if (empty($erroresLinea)) {
         $this->new_message('Orden de carga ' . $ordencarga->idordencarga . ' guardada correctamente');
     } else {
         $this->new_error_msg('Orden de carga ' . $ordencarga->idordencarga . ' guardada con errores en los siguientes articulos: ' . $erroresLinea . ' por favor revise la información enviada.');
     }
     $this->resultados = $this->distrib_ordenescarga->all($this->empresa->id);
 }