Browse Source

更新

master
赵新宇 2 years ago
parent
commit
ed5ba2dbda
  1. 1
      src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/SettleAccount.HttpApi.Host.csproj
  2. 210
      src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs

1
src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/SettleAccount.HttpApi.Host.csproj

@ -12,6 +12,7 @@
<DockerfileContext>..\..\..\..</DockerfileContext>
<TargetFramework>net5.0</TargetFramework>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
<ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles>
</PropertyGroup>
<ItemGroup>

210
src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/UnSettleDiffExportService.cs

@ -70,6 +70,25 @@ namespace SettleAccount.Job.Services.Report
_dapper2 = dapper2;
// _errorListRepository = errorListRepository;
}
public int CalculatePageCount(int totalItems, int itemsPerPage)
{
return (int)Math.Ceiling((double)totalItems / itemsPerPage);
}
public List<T> GetPage<T>(List<T> source, int pageNumber, int pageSize)
{
if (source == null)
throw new ArgumentNullException(nameof(source));
if (pageNumber < 1)
throw new ArgumentOutOfRangeException(nameof(pageNumber));
if (pageSize < 1)
throw new ArgumentOutOfRangeException(nameof(pageSize));
int skip = (pageNumber - 1) * pageSize;
return source.Skip(skip).Take(pageSize).ToList();
}
public string ExportFile(Guid id, List<string> exportName, List<CustomCondition> p_list)
{
@ -237,99 +256,116 @@ equals new { ChassisNumber = itm1.BillNum, MaterialCode = itm1.CustomerMaterialC
DiffAmt = p.Sum(p => p.DiffAMT)
});
if (_ls1.Count() > 900000)
ExcelExporter _exporter = new ExcelExporter();//导出Excel
_exporter.Append(_ls, "R3大众未结对比系统未结");
_exporter.SeparateBySheet();
int pagenum = CalculatePageCount(_ls1.Count, 900000);
for (var i = 0; i < pagenum; i++)
{
if (_ls1.Count() > 2700000)
{
var _lsSheet1 = _ls1.Skip(0 * 900000).Take(900000);
var _lsSheet2 = _ls1.Skip(1* 900000).Take(900000);
var _lsSheet3 = _ls1.Skip(2 * 900000).Take(900000);
var _lsSheet4 = _ls1.Skip(3 * 900000).Take(900000);
ExcelExporter _exporter = new ExcelExporter();//导出Excel
var result = _exporter.Append(_ls, "R3大众未结对比系统未结")
.SeparateBySheet()
.Append(_lsSheet2.ToList(), "系统未结对比R3大众未结(第1页)")
.SeparateBySheet()
.Append(_lsSheet2.ToList(), "系统未结对比R3大众未结(第2页)")
.SeparateBySheet()
.Append(_lsSheet3.ToList(), "系统未结对比R3大众未结(第3页)")
.SeparateBySheet()
.Append(_lsSheet3.ToList(), "系统未结对比R3大众未结(第4页)")
.SeparateBySheet()
.Append(_lsSum.ToList(), "大众R3未结对比结算系统差异汇总")
_exporter.Append(GetPage(_ls1, i + 1, 900000), $"系统未结对比R3大众未结(第{i + 1}页)");
_exporter.SeparateBySheet();
}
_exporter.Append(_lsSum.ToList(), "大众R3未结对比结算系统差异汇总")
.SeparateBySheet()
.Append(_lsSum1.ToList(), "结算系统对比大众R3未结差异汇总")
.ExportAppendDataAsByteArray();
result.ShouldNotBeNull();
_fileContainer.SaveAsync(_first, result.Result, true);
.Append(_lsSum1.ToList(), "结算系统对比大众R3未结差异汇总");
}
else
{
if (_ls1.Count() > 18000000)
{
var _lsSheet1 = _ls1.Skip(0 * 900000).Take(900000);
var _lsSheet2 = _ls1.Skip(1 * 900000).Take(900000);
var _lsSheet3 = _ls1.Skip(2 * 900000).Take(900000);
ExcelExporter _exporter = new ExcelExporter();//导出Excel
var result = _exporter.Append(_ls, "R3大众未结对比系统未结")
.SeparateBySheet()
.Append(_lsSheet2.ToList(), "系统未结对比R3大众未结(第1页)")
.SeparateBySheet()
.Append(_lsSheet2.ToList(), "系统未结对比R3大众未结(第2页)")
.SeparateBySheet()
.Append(_lsSheet3.ToList(), "系统未结对比R3大众未结(第3页)")
.SeparateBySheet()
.Append(_lsSum.ToList(), "大众R3未结对比结算系统差异汇总")
.SeparateBySheet()
.Append(_lsSum1.ToList(), "结算系统对比大众R3未结差异汇总")
.ExportAppendDataAsByteArray();
result.ShouldNotBeNull();
_fileContainer.SaveAsync(_first, result.Result, true);
}
else
{
var _lsSheet1 = _ls1.Skip(0 * 900000).Take(900000);
var _lsSheet2 = _ls1.Skip(1 * 900000).Take(900000);
ExcelExporter _exporter = new ExcelExporter();//导出Excel
var result = _exporter.Append(_ls.ToList(), "R3大众未结对比系统未结")
.SeparateBySheet()
.Append(_lsSheet1.ToList(), "系统未结对比R3大众未结(第1页)")
.SeparateBySheet()
.Append(_lsSheet2.ToList(), "系统未结对比R3大众未结(第2页)")
.SeparateBySheet()
.Append(_lsSum.ToList(), "大众R3未结对比结算系统差异汇总")
.SeparateBySheet()
.Append(_lsSum1.ToList(), "结算系统对比大众R3未结差异汇总")
.ExportAppendDataAsByteArray();
result.ShouldNotBeNull();
_fileContainer.SaveAsync(_first, result.Result, true);
}
}
}
else
{
var result = _exporter.ExportAppendDataAsByteArray();
ExcelExporter _exporter = new ExcelExporter();//导出Excel
var result = _exporter.Append(_ls, "R3大众未结对比系统未结")
.SeparateBySheet()
.Append(_ls1.ToList(), "系统未结对比R3大众未结")
.SeparateBySheet()
.Append(_lsSum.ToList(), "大众R3未结对比结算系统差异汇总")
.SeparateBySheet()
.Append(_lsSum1.ToList(), "结算系统对比大众R3未结差异汇总")
.ExportAppendDataAsByteArray();
result.ShouldNotBeNull();
_fileContainer.SaveAsync(_first, result.Result, true);
result.ShouldNotBeNull();
_fileContainer.SaveAsync(_first, result.Result, true);
//if (_ls1.Count() > 900000)
//{
// if (_ls1.Count() > 2700000)
// {
// var _lsSheet1 = _ls1.Skip(0 * 900000).Take(900000);
// var _lsSheet2 = _ls1.Skip(1* 900000).Take(900000);
// var _lsSheet3 = _ls1.Skip(2 * 900000).Take(900000);
// var _lsSheet4 = _ls1.Skip(3 * 900000).Take(900000);
// ExcelExporter _exporter = new ExcelExporter();//导出Excel
// var result = _exporter.Append(_ls, "R3大众未结对比系统未结")
// .SeparateBySheet()
// .Append(_lsSheet2.ToList(), "系统未结对比R3大众未结(第1页)")
// .SeparateBySheet()
// .Append(_lsSheet2.ToList(), "系统未结对比R3大众未结(第2页)")
// .SeparateBySheet()
// .Append(_lsSheet3.ToList(), "系统未结对比R3大众未结(第3页)")
// .SeparateBySheet()
// .Append(_lsSheet3.ToList(), "系统未结对比R3大众未结(第4页)")
// .SeparateBySheet()
// .Append(_lsSum.ToList(), "大众R3未结对比结算系统差异汇总")
// .SeparateBySheet()
// .Append(_lsSum1.ToList(), "结算系统对比大众R3未结差异汇总")
// .ExportAppendDataAsByteArray();
// result.ShouldNotBeNull();
// _fileContainer.SaveAsync(_first, result.Result, true);
// }
// else
// {
// if (_ls1.Count() > 18000000)
// {
// var _lsSheet1 = _ls1.Skip(0 * 900000).Take(900000);
// var _lsSheet2 = _ls1.Skip(1 * 900000).Take(900000);
// var _lsSheet3 = _ls1.Skip(2 * 900000).Take(900000);
// ExcelExporter _exporter = new ExcelExporter();//导出Excel
// var result = _exporter.Append(_ls, "R3大众未结对比系统未结")
// .SeparateBySheet()
// .Append(_lsSheet2.ToList(), "系统未结对比R3大众未结(第1页)")
// .SeparateBySheet()
// .Append(_lsSheet2.ToList(), "系统未结对比R3大众未结(第2页)")
// .SeparateBySheet()
// .Append(_lsSheet3.ToList(), "系统未结对比R3大众未结(第3页)")
// .SeparateBySheet()
// .Append(_lsSum.ToList(), "大众R3未结对比结算系统差异汇总")
// .SeparateBySheet()
// .Append(_lsSum1.ToList(), "结算系统对比大众R3未结差异汇总")
// .ExportAppendDataAsByteArray();
// result.ShouldNotBeNull();
// _fileContainer.SaveAsync(_first, result.Result, true);
// }
// else
// {
// var _lsSheet1 = _ls1.Skip(0 * 900000).Take(900000);
// var _lsSheet2 = _ls1.Skip(1 * 900000).Take(900000);
// ExcelExporter _exporter = new ExcelExporter();//导出Excel
// var result = _exporter.Append(_ls.ToList(), "R3大众未结对比系统未结")
// .SeparateBySheet()
// .Append(_lsSheet1.ToList(), "系统未结对比R3大众未结(第1页)")
// .SeparateBySheet()
// .Append(_lsSheet2.ToList(), "系统未结对比R3大众未结(第2页)")
// .SeparateBySheet()
// .Append(_lsSum.ToList(), "大众R3未结对比结算系统差异汇总")
// .SeparateBySheet()
// .Append(_lsSum1.ToList(), "结算系统对比大众R3未结差异汇总")
// .ExportAppendDataAsByteArray();
// result.ShouldNotBeNull();
// _fileContainer.SaveAsync(_first, result.Result, true);
// }
// }
//}
//else
//{
// ExcelExporter _exporter = new ExcelExporter();//导出Excel
// var result = _exporter.Append(_ls, "R3大众未结对比系统未结")
// .SeparateBySheet()
// .Append(_ls1.ToList(), "系统未结对比R3大众未结")
// .SeparateBySheet()
// .Append(_lsSum.ToList(), "大众R3未结对比结算系统差异汇总")
// .SeparateBySheet()
// .Append(_lsSum1.ToList(), "结算系统对比大众R3未结差异汇总")
// .ExportAppendDataAsByteArray();
// result.ShouldNotBeNull();
// _fileContainer.SaveAsync(_first, result.Result, true);
//}
}
return id.ToString();
}

Loading…
Cancel
Save