|
|
@ -57,6 +57,8 @@ static string getTime() { |
|
|
|
if (!x) { \ |
|
|
|
return err::ksys_copy_file_error; \ |
|
|
|
} |
|
|
|
|
|
|
|
#define EXPORT_PATH "/mnt/exportdata/Transmit/"
|
|
|
|
err::error_t DataExportService::exportDisinfectionData(vector<string> files) { |
|
|
|
lock_guard<mutex> lock(lock_); |
|
|
|
|
|
|
@ -74,11 +76,18 @@ err::error_t DataExportService::exportDisinfectionData(vector<string> files) { |
|
|
|
IF_ERROR_RETURN(dosystem(fmt::format("mount {} /mnt/exportdata", diskpath))); |
|
|
|
// 拷贝文件
|
|
|
|
// IF_ERROR_RETURN(dosystem(fmt::format("cp -rf /app/disinfection_logs /mnt/exportdata/disinfection_logs{}", getTime())));
|
|
|
|
IF_ERROR_RETURN(dosystem(fmt::format("mkdir -p /mnt/exportdata/disinfection_logs/"))); |
|
|
|
IF_ERROR_RETURN(dosystem(fmt::format("mkdir -p {}", EXPORT_PATH))); |
|
|
|
|
|
|
|
for (auto& file : files) { |
|
|
|
logger->info("copy file: {}", file); |
|
|
|
IF_ERROR_RETURN(dosystem(fmt::format("cp -rf /app/disinfection_logs/{} /mnt/exportdata/disinfection_logs/", file))); |
|
|
|
// 拷贝文件到TMP目录
|
|
|
|
IF_ERROR_RETURN(dosystem(fmt::format("cp -rf /app/disinfection_logs/{}.csv /tmp/{}.csv", file, file))); |
|
|
|
// 编码转换
|
|
|
|
IF_ERROR_RETURN(dosystem(fmt::format("iconv -f UTF-8 -tgb18030 /tmp/{}.csv -o /tmp/{}.csv.1", file, file))); |
|
|
|
// 移动文件
|
|
|
|
IF_ERROR_RETURN(dosystem(fmt::format("mv /tmp/{}.csv.1 /tmp/{}.csv", file, file))); |
|
|
|
// 拷贝文件到U盘
|
|
|
|
IF_ERROR_RETURN(dosystem(fmt::format("cp -rf /tmp/{}.csv {}", file, EXPORT_PATH))); |
|
|
|
} |
|
|
|
|
|
|
|
// 卸载目录
|
|
|
@ -130,7 +139,8 @@ err::error_t DataExportService::exportAuditData() { |
|
|
|
// 挂载目录
|
|
|
|
IF_ERROR_RETURN(dosystem(fmt::format("mount {} /mnt/exportdata", diskpath))); |
|
|
|
// 拷贝文件
|
|
|
|
IF_ERROR_RETURN(dosystem(fmt::format("cp -rf {} /mnt/exportdata", filename))); |
|
|
|
IF_ERROR_RETURN(dosystem(fmt::format("mkdir -p /mnt/exportdata/Transmit/"))); |
|
|
|
IF_ERROR_RETURN(dosystem(fmt::format("cp -rf {} /mnt/exportdata/Transmit/", filename))); |
|
|
|
// 卸载目录
|
|
|
|
IF_ERROR_RETURN(dosystem(fmt::format("umount /mnt/exportdata"))); |
|
|
|
// 删除目录
|
|
|
|