public function registrar(Request $request) { $data = $request->all(); $usuario = Auth::user()->id; $deposito = Auth::user()->deposito; $validator = Validator::make($data, ['documento' => 'required|numeric|documento_entrada', 'tercero' => 'numeric|tercero:documento', 'insumos' => 'required|insumos'], $this->menssage); if ($validator->fails()) { return Response()->json(['status' => 'danger', 'menssage' => $validator->errors()->first()]); } else { if (!isset($data['tercero']) || empty($data['tercero'])) { $tipo = Documento::where('id', $data['documento'])->value('tipo'); if ($tipo == 'interno') { $data['tercero'] = $deposito; } else { return Response()->json(['status' => 'danger', 'menssage' => 'Seleccione un tercero']); } } $insumos = $data['insumos']; //Codigo para la entrada $code = $this->generateCode('E', $deposito); $entrada = Entrada::create(['codigo' => $code, 'tercero' => $data['tercero'], 'documento' => $data['documento'], 'usuario' => $usuario, 'deposito' => $deposito])['id']; foreach ($insumos as $insumo) { $existencia = inventarioController::almacenaInsumo($insumo['id'], $insumo['cantidad'], $deposito, 'entrada', $entrada); $lote = isset($insumo['lote']) && !empty($insumo['lote']) ? $insumo['lote'] : NULL; $fecha = isset($insumo['fecha']) && !empty($insumo['fecha']) ? $insumo['fecha'] : NULL; Insumos_entrada::create(['entrada' => $entrada, 'insumo' => $insumo['id'], 'cantidad' => $insumo['cantidad'], 'lote' => $lote, 'fechaV' => $fecha, 'deposito' => $deposito, 'existencia' => $existencia]); } return Response()->json(['status' => 'success', 'menssage' => 'Entrada completada satisfactoriamente', 'codigo' => $code]); } }