0.18.3
This commit is contained in:
50
app.R
50
app.R
@@ -157,6 +157,7 @@ server <- function(input, output, session) {
|
||||
strong("Дополнительные опции:"),
|
||||
verticalLayout(
|
||||
actionButton("logs-show_last_actions", "Все действия", icon("scroll", lib = "font-awesome"), style = "width: 250px; margin-top: 10px"),
|
||||
downloadButton("download_data_validation_info", "Некорректно заполненные данные (.xlsx)", icon("scroll", lib = "font-awesome"), style = "width: 250px; margin-top: 10px"),
|
||||
fluid = FALSE
|
||||
)
|
||||
)
|
||||
@@ -1279,7 +1280,7 @@ server <- function(input, output, session) {
|
||||
keys_to_delete <- all_existed_keys[all_existed_keys %in% all_new_keys]
|
||||
keys_to_delete <- paste0("'", keys_to_delete, "'", collapse = ", ")
|
||||
|
||||
DBI::dbExecute(connection(), glue::glue("DELETE FROM {table_name} WHERE \"{main_key_id}\" IN ({keys_to_delete})"))
|
||||
DBI::dbExecute(con, glue::glue("DELETE FROM {table_name} WHERE \"{main_key_id}\" IN ({keys_to_delete})"))
|
||||
|
||||
}
|
||||
|
||||
@@ -1336,6 +1337,7 @@ server <- function(input, output, session) {
|
||||
"loading data",
|
||||
"creating new key",
|
||||
"exporting data to xlsx",
|
||||
"export validation dataset",
|
||||
"importing data from xlsx"
|
||||
),
|
||||
key = NA,
|
||||
@@ -1363,6 +1365,52 @@ server <- function(input, output, session) {
|
||||
# SHOW LOGS -----------------------------------
|
||||
logs$server("logs", values, scheme, mhcs)
|
||||
|
||||
# экспорт таблицы с информации о валидации данных -------------------
|
||||
output$download_data_validation_info <- downloadHandler(
|
||||
filename = function(){
|
||||
paste0("dvinfo_", isolate(scheme()), "_", format(Sys.time(), "%Y%m%d_%H%M%S"), ".xlsx")
|
||||
},
|
||||
content = function(file) {
|
||||
req(main_form_is_empty() != "empty")
|
||||
|
||||
box::use(
|
||||
R/modules/data_validation[get_table_with_data_validation_info]
|
||||
)
|
||||
|
||||
con <- db$make_db_connection(isolate(scheme()),"download_data_validation_info")
|
||||
on.exit(db$close_db_connection(con, "download_data_validation_info"), add = TRUE)
|
||||
|
||||
list_of_df <- get_table_with_data_validation_info(mhcs(), con)
|
||||
|
||||
# добавить мета информацию
|
||||
list_of_df[["meta"]] <- dplyr::tribble(
|
||||
~`Параметр` , ~`Значение`,
|
||||
"Пользователь" , values$current_user,
|
||||
"Название базы" , names(ENABLED_SCHEMES)[ENABLED_SCHEMES == scheme()],
|
||||
"id базы" , scheme(),
|
||||
"id формы" , config::get("form_id"),
|
||||
"ver формы" , config::get("form_app_version"),
|
||||
"Время выгрузки" , format(Sys.time(), "%d.%m.%Y %H:%M:%S"),
|
||||
)
|
||||
|
||||
# set date params
|
||||
options("openxlsx2.dateFormat" = "dd.mm.yyyy")
|
||||
|
||||
cli::cli_alert_success("Данные успешно экспортированы")
|
||||
showNotification("Данные успешно экспортированы", type = "message")
|
||||
log_action_to_db("export validation dataset", con = con)
|
||||
|
||||
# pass tables to export
|
||||
openxlsx2::write_xlsx(
|
||||
purrr::compact(list_of_df),
|
||||
file,
|
||||
na.strings = "",
|
||||
as_table = TRUE,
|
||||
col_widths = 20
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
app <- shiny::shinyApp(ui = ui, server = server)
|
||||
|
||||
Reference in New Issue
Block a user