diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/NopiDataToExcel.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/NopiDataToExcel.cs
index 746ead7a..7d54125f 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/NopiDataToExcel.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/NopiDataToExcel.cs
@@ -37,7 +37,7 @@ namespace SettleAccount.Job.Services.Report
/// 页签名称
/// 数据
/// 缓存文件行数
- public async Task WriteDataToExcelInParallel(string sheetName, List data, int chunkSize,string zipFileName, List sumdata)
+ public async Task WriteDataToExcelInParallel(string sheetName, List data, int chunkSize,string zipFileName, List sumdata,bool isFinish)
{
var count = data.Count / 1000000 + ((data.Count % 1000000) > 0 ? 1 : 0);
for (var i = 1; i <= count; i++)
@@ -61,54 +61,55 @@ namespace SettleAccount.Job.Services.Report
}
- string[] filePaths = excelFiles.Select(x => x.FileName).ToArray();
- string zipPath = zipFileName;
- using (var archive = ZipFile.Open(zipPath, ZipArchiveMode.Create))
+ if(isFinish)
{
- foreach (var file in filePaths)
+ string[] filePaths = excelFiles.Select(x => x.FileName).ToArray();
+ string zipPath = zipFileName;
+ using (var archive = ZipFile.Open(zipPath, ZipArchiveMode.Create))
{
- archive.CreateEntryFromFile(file, Path.GetFileName(file));
+ foreach (var file in filePaths)
+ {
+ archive.CreateEntryFromFile(file, Path.GetFileName(file));
+ }
}
- }
- for (var i = 0; i < count; i++)
- {
- var filelist = excelFiles.Select(p => p.FileName).ToList();
-
- foreach (var file in filelist)
+ for (var i = 0; i < count; i++)
{
- File.Delete(file);
+ var filelist = excelFiles.Select(p => p.FileName).ToList();
+
+ foreach (var file in filelist)
+ {
+ File.Delete(file);
+ }
}
- }
- using (FileStream fileStream = new FileStream(zipPath, FileMode.Open))
- {
- var minioClient = new MinioClient(EndPoint, AccessKey, SecretKey, "");
- try
+ using (FileStream fileStream = new FileStream(zipPath, FileMode.Open))
{
- await minioClient.PutObjectAsync(BucketName, "host/"+zipPath, fileStream, fileStream.Length, "application/zip").ConfigureAwait(false);
-
+ var minioClient = new MinioClient(EndPoint, AccessKey, SecretKey, "");
+ try
+ {
+ await minioClient.PutObjectAsync(BucketName, "host/" + zipPath, fileStream, fileStream.Length, "application/zip").ConfigureAwait(false);
- }
- catch (Exception ex)
- {
- Console.WriteLine($"上传文件到 MinIO 时发生错误: {ex.Message}");
- }
- finally
- {
- if (fileStream != null)
+
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine($"上传文件到 MinIO 时发生错误: {ex.Message}");
+ }
+ finally
{
- fileStream.Close();
- File.Delete(zipPath);
+ if (fileStream != null)
+ {
+ fileStream.Close();
+ File.Delete(zipPath);
+ }
+
}
-
+
}
}
- //using (FileStream fileStream = new FileStream(zipPath, FileMode.Open))
- //{
- // return fileStream.GetAllBytes();
- //}
+
return zipFileName;
}
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SaSeEdiCompareExportBaseService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SaSeEdiCompareExportBaseService.cs
index 89704b99..e3877eba 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SaSeEdiCompareExportBaseService.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SaSeEdiCompareExportBaseService.cs
@@ -240,7 +240,7 @@ namespace SettleAccount.Job.Services.Report
///
/// 根据单Sheel最大行数配置分Sheel页导出
///
- public string BindExcelExporter(List saSeEdiCompareDetailExports, string businessTypeDisplayName,string fileName) where T : SaSeEdiCompareDetailReport, new()
+ public string BindExcelExporter(List saSeEdiCompareDetailExports, string businessTypeDisplayName,string fileName) where T : SaSeEdiCompareDetailReport, new()
{
//详情Sheet行数
var detailMaxRowNumberOnASheet = AppConst.DefaultRowNumberOnASheet;
@@ -308,9 +308,9 @@ namespace SettleAccount.Job.Services.Report
#region 多线程生成Excel
- haveSaNotHaveSeExport.AddRange(notHaveSaHaveSeExports);
+ //haveSaNotHaveSeExport.AddRange(notHaveSaHaveSeExports);
- haveSaNotHaveSeExport.AddRange(haveSaHaveSeExport);
+ //haveSaNotHaveSeExport.AddRange(haveSaHaveSeExport);
NopiExtendExcel nopiExcel = new NopiExtendExcel();
@@ -322,8 +322,13 @@ namespace SettleAccount.Job.Services.Report
nopiExcel.EndPoint = _cfg.GetValue("MinIO:EndPoint", "localhost:10684");
- var uploadResult = nopiExcel.WriteDataToExcelInParallel($"{businessTypeDisplayName}结算数据和发货对比", haveSaNotHaveSeExport, 500000, fileName, haveSaHaveSeSumExports).ConfigureAwait(false);
+ //var uploadResult = nopiExcel.WriteDataToExcelInParallel($"{businessTypeDisplayName}结算数据和发货对比", haveSaNotHaveSeExport, 500000, fileName, haveSaHaveSeSumExports, false).ConfigureAwait(false);
+ nopiExcel.WriteDataToExcelInParallel($"{businessTypeDisplayName}结算和发货对比_有结无发", haveSaNotHaveSeExport, 500000, fileName, null, false).ConfigureAwait(false);
+
+ nopiExcel.WriteDataToExcelInParallel($"{businessTypeDisplayName}结算和发货对比_有发无结", notHaveSaHaveSeExports, 500000, fileName, null, false).ConfigureAwait(false);
+
+ nopiExcel.WriteDataToExcelInParallel($"{businessTypeDisplayName}结算和发货对比_有结有发", haveSaHaveSeExport, 500000, fileName, haveSaHaveSeSumExports, true).ConfigureAwait(false);
return fileName;
#endregion
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SeEdiCompareExportBaseService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SeEdiCompareExportBaseService.cs
index 6b4925c8..afdd5d70 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SeEdiCompareExportBaseService.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/SeEdiCompareExportBaseService.cs
@@ -232,7 +232,7 @@ namespace SettleAccount.Job.Services.Report
nopiExcelHaveEdiNotHaveSe.EndPoint = _cfg.GetValue("MinIO:EndPoint", "localhost:10684");
- var uploadResult = nopiExcelHaveEdiNotHaveSe.WriteDataToExcelInParallel($"{businessTypeDisplayName}EDI数据和发货对比", haveEdiNotHaveSeList, 500000,fileName,null).ConfigureAwait(false);
+ var uploadResult = nopiExcelHaveEdiNotHaveSe.WriteDataToExcelInParallel($"{businessTypeDisplayName}EDI数据和发货对比", haveEdiNotHaveSeList, 500000,fileName,null,true).ConfigureAwait(false);
return fileName;