/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { ValidaAccesoController::validarAcceso('Proveedores', 'escritura'); $proveedor = proveedores::find($id); if (is_null($proveedor)) { echo 'Recurso no encontrado'; } $proveedor->delete(); echo 1; }
public function carrito2albaran(&$albaran, $a_stock, $lineas, &$error) { $mis_articulos = new articulos(); $mis_proveedores = new proveedores(); $retorno = true; /// comprobamos los datos if ($albaran['codproveedor'] != '') { /// obtenemos los datos del proveedor $proveedor = $mis_proveedores->get($albaran['codproveedor']); } else { $error = "Debes especificar un proveedor"; $retorno = false; } $nfecha = explode('-', $albaran['fecha']); if (!is_numeric($nfecha[0]) or !is_numeric($nfecha[1]) or !is_numeric($nfecha[2])) { $error = "Debes escribir una fecha válida"; $retorno = false; } if ($albaran['codalmacen'] == '') { $error = "No hay ningún almacén predeterminado"; $retorno = false; } if (empty($lineas)) { $error = "No hay artículos en tu carrito"; $retorno = false; } if ($albaran['codagente'] == '') { $error = "Tu usuario no está vinculado a ningún agente"; $retorno = false; } if ($albaran['tipo'] == 3) { foreach ($lineas as $linea) { if ($linea['cantidad'] > 0) { $error = "Si el albarán es de devolución, las cantidades deben ser negativas"; $retorno = false; } } } if ($retorno and $albaran['codejercicio'] != '' and $albaran['codserie'] != '') { /// obtenemos el numero de albaran $consulta = "SELECT s.valorout,s.id FROM secuencias s,secuenciasejercicios e\n WHERE s.nombre='nalbaranprov' AND s.id=e.id AND e.codserie='{$albaran['codserie']}'\n AND e.codejercicio='{$albaran['codejercicio']}';"; $resultado = $this->bd->select($consulta); if ($resultado) { $albaran['numero'] = $resultado[0]['valorout']; $albaran['secuenciaid'] = $resultado[0]['id']; } else { $retorno = false; $error = "Error al obtener el número de albarán"; } /// comprobamos si el ejercicio sigue abierto if (!$this->ejercicios->abierto($albaran['codejercicio'])) { $retorno = false; $error = "Ejercicio Cerrado"; } /// comprobamos si la serie es sin iva $sin_iva = $this->serires->sin_iva($albaran['codserie']); } else { $retorno = false; $error = "Ejercicio o serie vacíos"; } if ($retorno) { /// generamos el codigo del albaran $albaran['codigo'] = $albaran['codejercicio']; $albaran['codigo'] .= sprintf('%02s', $albaran['codserie']); $albaran['codigo'] .= sprintf('%06s', $albaran['numero']); /// obtenemos el idalbaran $resultado = $this->bd->select("SELECT last_value FROM albaranesprov_idalbaran_seq;"); if ($resultado) { $albaran['idalbaran'] = $resultado[0]['last_value'] + 1; if (!$this->bd->exec("SELECT setval('\"albaranesprov_idalbaran_seq\"',{$albaran['idalbaran']},'t');")) { $retorno = false; $error = "Error al actualizar la secuencia"; } } else { $retorno = false; $error = "Error al obtener el nuevo id del albarán"; } /// si tenemos los datos necesarios if ($albaran['idalbaran'] != '') { /// insertamos el albaran $consulta = "set datestyle = dmy;\n INSERT INTO albaranesprov (idalbaran,codigo,fecha,nombre,cifnif,codproveedor,coddivisa,codpago,\n codalmacen,numproveedor,codejercicio,codserie,numero,codagente,observaciones)\n VALUES ('{$albaran['idalbaran']}','{$albaran['codigo']}','{$albaran['fecha']}','{$proveedor['nombre']}','{$proveedor['cifnif']}',\n '{$proveedor['codproveedor']}','{$albaran['coddivisa']}','{$albaran['codpago']}','{$albaran['codalmacen']}','{$albaran['numproveedor']}',\n '{$albaran['codejercicio']}','{$albaran['codserie']}','{$albaran['numero']}','{$albaran['codagente']}','{$albaran['observaciones']}');"; $neto = 0; $iva = 0; $total = 0; /// insertamos las lineas foreach ($lineas as $linea) { /// calculamos el importe $importe = $linea['pvp'] * $linea['cantidad']; $consulta .= "INSERT INTO lineasalbaranesprov (idalbaran,referencia,descripcion,pvpunitario,cantidad,pvpsindto,pvptotal,codimpuesto,iva)\n VALUES ('{$albaran['idalbaran']}','{$linea['referencia']}','" . htmlspecialchars($linea[descripcion], ENT_QUOTES) . "',"; if ($sin_iva) { $consulta .= "'{$linea['pvp']}','{$linea['cantidad']}','{$importe}','{$importe}',NULL,'0');"; $neto += $importe; $total += $importe; } else { $consulta .= "'{$linea['pvp']}','{$linea['cantidad']}','{$importe}','{$importe}','{$linea['codimpuesto']}','{$linea['iva']}');"; $neto += $importe; $iva += $importe * $linea['iva'] / 100; $total += $importe + $importe * $linea['iva'] / 100; } } /// actualizamos el albaran $consulta .= "UPDATE albaranesprov SET neto = '{$neto}', totaliva = '{$iva}', totaleuros = '{$total}', total = '{$total}', tipo = '{$albaran['tipo']}', revisado = 'false'\n WHERE idalbaran = '{$albaran['idalbaran']}';"; /// actualizamos la secuencia $albaran['nuevonumero'] = $albaran['numero'] + 1; $consulta .= "UPDATE secuencias SET valorout='{$albaran['nuevonumero']}' WHERE nombre='nalbaranprov' AND id='{$albaran['secuenciaid']}';"; if ($this->bd->exec($consulta)) { /// añadimos a stock if ($a_stock) { foreach ($lineas as $linea) { $mis_articulos->sum_stock($linea['referencia'], $albaran['codalmacen'], $linea['cantidad'], $error); } } } else { $error = "Error al guardar el albaran: " . $consulta; $retorno = false; } } } return $retorno; }