|
|
@ -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(); |
|
|
|
} |
|
|
|
|
|
|
|