public function buscar_rutas($idempresa, $fecha, $codalmacen, $rutas) { //Convertimos la lista de rutas en un array y luego en una cadena $char_rutas = implode("','", explode(',', $rutas)); $sql = "SELECT " . $this->table_name . ".*,nombrecliente,direccion,ruta " . "FROM " . $this->table_name . ", distribucion_clientes " . "WHERE " . $this->table_name . ".codcliente = distribucion_clientes.codcliente" . " AND " . $this->table_name . ".codalmacen = " . $this->var2str($codalmacen) . " AND " . $this->table_name . ".codalmacen = distribucion_clientes.codalmacen" . " AND fecha = " . $this->var2str($fecha) . " AND distribucion_clientes.ruta IN ('" . $char_rutas . "')" . " AND anulada = false AND idfacturarect IS NULL" . " ORDER BY ruta, nombrecliente "; $data = $this->db->select($sql); if ($data) { $distrib_ordenescarga_facturas = new distribucion_ordenescarga_facturas(); $lista = array(); foreach ($data as $linea) { $value = new factura_cliente($linea); $value->ruta = $linea['ruta']; //Si la factura ya esta en una orden de carga la quitamos del listado if (!$distrib_ordenescarga_facturas->get($idempresa, $value->idfactura, $value->codalmacen)) { $lista[] = $value; } } sort($lista); return $lista; } else { return false; } }
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_facturas_ordencarga($ordencarga, $facturas) { $datos_fact = explode(",", $facturas); $facturasoc0 = new distribucion_ordenescarga_facturas(); $facturasoc0->idempresa = $ordencarga->idempresa; $facturasoc0->codalmacen = $ordencarga->codalmacen; $facturasoc0->idordencarga = $ordencarga->idordencarga; $facturasoc0->fecha = $ordencarga->fecha; $facturasoc0->usuario_creacion = $ordencarga->usuario_creacion; $facturasoc0->fecha_creacion = $ordencarga->fecha_creacion; $erroresLinea = ""; $contadorFacturas = 0; foreach ($datos_fact as $fact) { if (!empty($fact)) { $facturasoc0->idfactura = $fact; if (!$facturasoc0->save()) { $coma = isset($erroresLinea) ? ", " : ""; $erroresLinea .= $coma . $fact; } else { $contadorFacturas++; } } } if (empty($erroresLinea)) { $this->new_message($contadorFacturas . ' facturas de la Orden de carga ' . $ordencarga->idordencarga . ' guardadas correctamente'); } else { $this->new_error_msg('Facturas de la Orden de carga ' . $ordencarga->idordencarga . ' con errores al guardar las siguientes facturas: ' . $erroresLinea . ' por favor revise la información enviada.'); } }