У меня есть скрипт groovy, который извлекает несколько полей из базы данных MYSQL и вставляет данные в таблицу HTML, а также я нахожу дату lastModified()
файлов, которые извлекаются в базу данных.
Я нашел довольно похожую тему: «Сортировка файлов по lastModified ()», однако моя проблема в том, что я никогда не получаю данные в карту или список, вместо этого я строю xml и вызываю запрос, используя sql.eachRow(query)
, чтобывставьте правильные поля в таблицу и затем найдите дату lastModified()
в самом xml.
Я не могу выполнить сортировку в своем запросе, потому что мне нужно получить дату lastModified()
из скрипта groovy,Таким образом, у меня есть два вопроса, возможно ли выполнить сортировку по дате последнего изменения, используя настройки в моем коде, который я разместил?И если да, то где мне нужно будет выполнить сортировку, чтобы она правильно сортировалась в таблице HTML?Я должен сказать, что я очень плохо знаком с Groovy и Java и ужасен, когда дело доходит до попыток выяснить подобные вещи, поэтому любые намеки на то, где вы нашли эту информацию, были бы хорошими.
Подобные темы, ноте, которые не совсем то, что я ищу:
Мой код, мне пришлось изменить некоторые вещи:
sql = Sql.newInstance("location of database", "username", "password", "driver")
writer = new StringWriter()
def xml = new MarkupBuilder(writer)
rptDate = new java.util.Date()
query =
"""
query stuff
"""
xml.html(){
xml.head(){
xml.title("Title")
xml.body(){
xml.h1("Title")
xml.table(border:1, cellpadding:5){
xml.tr(){
xml.th("ID")
xml.th("Date Added")
xml.th("Hospital Name")
xml.th("Total Daily Clients")
xml.th("Total Daily Pets")
xml.th("Last Upload Date")//lastModified() date
}//end headings
//insert data from query into each row of the table
sql.eachRow(query)
{row ->
xml.tr(align:'center'){
xml.td("${row.ID}")
xml.td("${row.DateAdded}")
xml.td("${row.HospitalName}")
xml.td("${row.TotalDailyClients}")
xml.td("${row.TotalDailyPets}")
//find lastModified() dates for incoming files and format them
mod = new File("/home/me/folderforfiles/${row.ID}.zip").lastModified()
fd = new Date(mod).format("EEE MMM dd hh:mm:ss a yyyy")
//insert into table
xml.td(fd)
}//end table data
}//end loop
}//end table
}//end body
}//end title
}//end html
println writer.toString()