responseController = new ResponseController(); $this->encController = new EncryptionController(); $this->resourcesController = new ResourcesController(); } // Crear Artículo en Stock public function createArtitle(Request $request) { $validator = Validator::make($request->all(), [ 'CODIGO_ARTICULO' => 'required|string', 'ARTICULO' => 'required|string', 'MODELO' => 'required|string', 'CODIGO_MODELO' => 'required|string', 'CODIGO_BARRA' => 'required|integer', 'CANTIDAD' => 'required|integer', 'STOCK_MINIMO' => 'required|integer', 'STOCK_MAXIMO' => 'required|integer', 'REPARALE' => 'required|string', 'CONSUMIBLE' => 'required|string', 'FECHA_VENCIMIENTO' => 'required|string', 'ID_SUBCATEGORIA' => 'required|string', 'ID_UNIDAD' => 'required|string', 'PELIGROSO' => 'required|boolean', 'IMAGEN' => 'required|string', 'TASA_ROTACION' => 'required|double', 'TIPO_ADQUISICION' => 'required|string', 'PROVEEDOR' => 'required|string', 'NUMERO_LINEA' => 'required|integer', 'USUARIO' => 'required|string', ]); if ($validator->fails()) { return $this->responseController->makeResponse( true, "ERR_STOCK_REG000: Se encontraron uno o más errores.", $this->responseController->makeErrors($validator->errors()->messages()), 401 ); } $request = $request->all(); // Se consulta si el código existe en la base de datos try { $existCode = DB::table('S002V01TSTOC') ->where('STOC_CODI', '=', $request['CODIGO_ARTICULO']) ->where('STOC_NULI', '=', $request['NUMERO_LINEA']) ->exists(); } catch(\Exception $ex) { return $this->responseController->makeResponse( true, "ERR_STOCK_REG001: Ocurrió un error al consultar el código del artículo.", $request['CODIGO_ARTITULO'], 500 ); } // Se valida la respuesta de la consulta if ($existCode) { return $this->responseController->makeResponse(true,"ERR_STOCK_REG002: El código del artículo ya se encuentra registrado."); } $numberLine = $request['NUMERO_LINEA']; // Se crea y guarda la imagen $responseImage = $this->resourcesController->makeImage( $request['IMAGEN'], $request['MODELO'], 'jpeg', 'FO', $numberLine, 'GEIN' ); // Se verifica que todo se encuentre en orden if ($responseImage['error']) { return $this->responseController->makeResponse( true, $responseImage['msg'], [], 500); } // Se obtiene el nombre de la imagen creada $nameImage = $responseImage['response']; // Se obtiene la fecha del día de hoy $currentDate = Carbon::now()->timezone('America/Mazatlan')->toDateTimeString(); // Se obtiene el número de usuario $numberUser = $this->encController->decrypt($request['USUARIO']); // Se inicializa el objecto a insertar $objectInsert = [ 'STOC_CODI' => $request['CODIGO_ARTICULO'], 'STOC_ARTI' => $request['ARTICULO'], 'STOC_MODE' => $request['MODELO'], 'STOC_COAR' => $request['CODIGO_MODELO'], 'STOC_COBA' => $request['CODIGO_BARRA'], 'STOC_CANT' => $request['CANTIDAD'], 'STOC_STMI' => $request['STOCK_MINIMO'], 'STOC_STMA' => $request['STOCK_MAXIMO'], 'STOC_REPA' => $request['REPARALE'], 'STOC_CONS' => $request['CONSUMIBLE'], 'STOC_FEVE' => $request['FECHA_VENCIMIENTO'], 'STOC_IDSU' => $request['ID_SUBCATEGORIA'], 'STOC_IDUN' => $request['ID_UNIDAD'], 'STOC_PELI' => $request['PELIGROSO'], 'STOC_IMAG' => $nameImage, 'STOC_TARO' => $request['TASA_ROTACION'], 'STOC_TIAD' => $request['TIPO_ADQUISICION'], 'STOC_PROV' => $request['PROVEEDOR'], 'STOC_NULI' => $numberLine, 'STOC_USRE' => $numberUser, 'STOC_FERE' => $currentDate, 'STOC_FEAR' => DB::raw('CURRENT_TIMESTAMP') ]; // Se realiza la inserción a la base de datos try { $responseInsert = DB::table('S002V01TSTOC')->insert($objectInsert); } catch (\Exception $ex){ return $this->responseController->makeResponse( true, "ERR_STOCK_REG003: Ocurrió un error al momento de insertar los datos", [], 500 ); } // Se verifica que la inserción sea exitosa if ( $responseInsert ) { return $this->responseController->makeResponse(true,"ERR_STOCK_REG004: No se pudo insertar los datos",[],500); } return $this->responseController->makeResponse( false, 'ÉXITO: Registro Exitoso'); } }